generated from pptx704/fastapi-template
Added recruitment task
This commit is contained in:
@ -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
61
app/routers/post.py
Normal 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)
|
||||
Reference in New Issue
Block a user