Add authentification
This commit is contained in:
@@ -4,33 +4,53 @@ import src.models as models
|
||||
from src.database import get_session
|
||||
from sqlmodel import Session
|
||||
import src.templates.service as service
|
||||
from src.auth.auth import get_current_user
|
||||
|
||||
router = APIRouter(prefix='/templates')
|
||||
|
||||
@router.get('/', response_model=list[models.TemplatePublic])
|
||||
def get_templates(session: Session = Depends(get_session)):
|
||||
def get_templates(
|
||||
user: models.User = Depends(get_current_user),
|
||||
session: Session = Depends(get_session)
|
||||
):
|
||||
return service.get_all(session)
|
||||
|
||||
@router.get('/{id}', response_model=models.TemplatePublic)
|
||||
def get_template(id: int, session: Session = Depends(get_session)):
|
||||
def get_template(
|
||||
id: int,
|
||||
user: models.User = Depends(get_current_user),
|
||||
session: Session = Depends(get_session)
|
||||
):
|
||||
result = service.get_one(session, id)
|
||||
if result is None:
|
||||
raise HTTPException(status_code=404, detail=messages.notfound)
|
||||
return result
|
||||
|
||||
@router.post('/', response_model=models.TemplatePublic)
|
||||
def create_template(template: models.TemplateCreate, session: Session = Depends(get_session)):
|
||||
def create_template(
|
||||
template: models.TemplateCreate,
|
||||
user: models.User = Depends(get_current_user),
|
||||
session: Session = Depends(get_session)
|
||||
):
|
||||
return service.create_one(session, template)
|
||||
|
||||
@router.put('/{id}', response_model=models.TemplatePublic)
|
||||
def update_template(id: int, template: models.TemplateUpdate, session: Session = Depends(get_session)):
|
||||
def update_template(
|
||||
id: int, template: models.TemplateUpdate,
|
||||
user: models.User = Depends(get_current_user),
|
||||
session: Session = Depends(get_session)
|
||||
):
|
||||
result = service.update_one(session, id, template)
|
||||
if result is None:
|
||||
raise HTTPException(status_code=404, detail=messages.notfound)
|
||||
return result
|
||||
|
||||
@router.delete('/{id}', response_model=models.TemplatePublic)
|
||||
def delete_template(id: int, session: Session = Depends(get_session)):
|
||||
def delete_template(
|
||||
id: int,
|
||||
user: models.User = Depends(get_current_user),
|
||||
session: Session = Depends(get_session)
|
||||
):
|
||||
result = service.delete_one(session, id)
|
||||
if result is None:
|
||||
raise HTTPException(status_code=404, detail=messages.notfound)
|
||||
|
||||
Reference in New Issue
Block a user