Files
Crm-Backend/routers/project.py

56 lines
1.2 KiB
Python

from fastapi import APIRouter, Path
from backend.dependecies import SessionDependency
from schemas.project import *
from services import ProjectService
router = APIRouter(tags=["project"])
@router.get(
"/",
response_model=GetProjectsResponse,
operation_id="get_projects",
)
async def get_projects(
session: SessionDependency,
):
return await ProjectService(session).get_all()
@router.post(
"/",
response_model=CreateProjectResponse,
operation_id="create_project",
)
async def create_project(
session: SessionDependency,
request: CreateProjectRequest,
):
return await ProjectService(session).create(request)
@router.patch(
"/{pk}",
response_model=UpdateProjectResponse,
operation_id="update_project",
)
async def update_project(
session: SessionDependency,
request: UpdateProjectRequest,
pk: int = Path(),
):
return await ProjectService(session).update(pk, request)
@router.delete(
"/{pk}",
response_model=DeleteProjectResponse,
operation_id="delete_project",
)
async def delete_project(
session: SessionDependency,
pk: int = Path(),
):
return await ProjectService(session).delete(pk)