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

View File

@ -2,10 +2,30 @@ from fastapi import APIRouter, Depends, status
from sqlalchemy.orm import Session
from app import database, schemas
from .. import schemas
from ..database import get_db
from ..repositories import auth
from ..security import get_user
from app.repositories import auth
from app.security import get_user
router = APIRouter(prefix="", tags=["auth"])
get_db = database.get_db
@router.post(
"/register",
response_model=schemas.BaseResponse,
status_code=status.HTTP_201_CREATED,
)
def register(
request: schemas.RegistrationRequest, db: Session = Depends(get_db)
):
return auth.register(request, db)
@router.post("/login", response_model=schemas.LoginResponse)
def login(request: schemas.LoginRequest, db: Session = Depends(get_db)):
return auth.login(request, db)
@router.get("/me", response_model=schemas.User)
def current_user(user: schemas.User = Depends(get_user)):
return user

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)