Added recruitment task

This commit is contained in:
pptx704
2025-07-03 10:01:56 +03:00
parent bcb64faf74
commit 60c5ba5e70
15 changed files with 705 additions and 75 deletions

61
app/routers/post.py Normal file
View File

@ -0,0 +1,61 @@
import uuid
from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from app import database, schemas
from app.repositories import auth, post
from app.security import get_user, get_user_strict
router = APIRouter(prefix="/post", tags=["posts"])
get_db = database.get_db
@router.get("/all", response_model=list[schemas.PostView])
def get_all_posts(
user: schemas.User = Depends(get_user), db: Session = Depends(get_db)
):
return post.get_all_posts(user, db)
@router.post(
"/create",
response_model=schemas.PostView,
status_code=status.HTTP_201_CREATED,
)
def create_post(
content: schemas.PostCreate,
user: schemas.User = Depends(get_user_strict),
db: Session = Depends(get_db),
):
return post.create_post(user, content, db)
@router.post("/edit", response_model=schemas.PostView)
def edit_post(
info: schemas.PostEdit,
user: schemas.User = Depends(get_user_strict),
db: Session = Depends(get_db),
):
return post.edit_post(user, info, db)
@router.post("/delete", response_model=schemas.BaseResponse)
def delete_post(
info: schemas.PostAction,
user: schemas.User = Depends(get_user_strict),
db: Session = Depends(get_db),
):
return post.delete_post(user, info, db)
@router.post(
"/like", response_model=schemas.BaseResponse, name="Like or unlike post"
)
def like_post(
info: schemas.PostAction,
user: schemas.User = Depends(get_user_strict),
db: Session = Depends(get_db),
):
return post.toggle_like(user, info, db)