feat: clinic doc api
This commit is contained in:
@@ -3,23 +3,34 @@ from schemas.ApiResponse import ApiResponse
|
||||
from schemas.CreateSchemas import ClinicDoctorCreate
|
||||
from schemas.UpdateSchemas import ClinicDoctorUpdate
|
||||
from services.clinicDoctorsServices import ClinicDoctorsServices
|
||||
from fastapi import Request
|
||||
from utils.constants import DEFAULT_ORDER, DEFAULT_ORDER_BY, DEFAULT_PAGE, DEFAULT_LIMIT
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/")
|
||||
async def get_clinic_doctors():
|
||||
clinic_doctors = await ClinicDoctorsServices().get_clinic_doctors()
|
||||
async def get_clinic_doctors(
|
||||
limit:int= DEFAULT_LIMIT,
|
||||
page:int = DEFAULT_PAGE,
|
||||
search:str = "",
|
||||
sort_by:str = DEFAULT_ORDER,
|
||||
sort_order:str = DEFAULT_ORDER_BY
|
||||
):
|
||||
if page < 1:
|
||||
page = 1
|
||||
offset = (page - 1) * limit
|
||||
clinic_doctors = await ClinicDoctorsServices().get_clinic_doctors(limit, offset, search, sort_by, sort_order)
|
||||
return ApiResponse(data=clinic_doctors, message="Clinic doctors retrieved successfully")
|
||||
|
||||
@router.post("/")
|
||||
async def create_clinic_doctor(clinic_doctor: ClinicDoctorCreate):
|
||||
clinic_doctor = await ClinicDoctorsServices().create_clinic_doctor(clinic_doctor)
|
||||
return ApiResponse(data=clinic_doctor, message="Clinic doctor created successfully")
|
||||
async def create_clinic_doctor(req:Request, clinic_doctor: ClinicDoctorCreate):
|
||||
await ClinicDoctorsServices().create_clinic_doctor(req.state.user, clinic_doctor)
|
||||
return ApiResponse(data="OK", message="Clinic doctor created successfully")
|
||||
|
||||
@router.put("/{clinic_doctor_id}")
|
||||
async def update_clinic_doctor(clinic_doctor_id: int, clinic_doctor: ClinicDoctorUpdate):
|
||||
clinic_doctor = await ClinicDoctorsServices().update_clinic_doctor(clinic_doctor_id, clinic_doctor)
|
||||
return ApiResponse(data=clinic_doctor, message="Clinic doctor updated successfully")
|
||||
async def update_clinic_doctor(req:Request, clinic_doctor_id: int, clinic_doctor: ClinicDoctorUpdate):
|
||||
await ClinicDoctorsServices().update_clinic_doctor(req.state.user, clinic_doctor_id, clinic_doctor)
|
||||
return ApiResponse(data="OK", message="Clinic doctor updated successfully")
|
||||
|
||||
@router.delete("/{clinic_doctor_id}")
|
||||
async def delete_clinic_doctor(clinic_doctor_id: int):
|
||||
|
||||
Reference in New Issue
Block a user