from fastapi import APIRouter, Request from services.clinicServices import ClinicServices from schemas.UpdateSchemas import ClinicStatusUpdate from schemas.ApiResponse import ApiResponse from schemas.BaseSchemas import CreateSuperAdmin, ResetPasswordBase from services.authService import AuthService from utils.constants import DEFAULT_LIMIT, DEFAULT_PAGE router = APIRouter() @router.put("/clinic/status") def update_clinic_status(req:Request, data: ClinicStatusUpdate): response = ClinicServices().update_clinic_status(req.state.user, data.clinic_id, data.status, data.documentStatus, data.rejection_reason) return ApiResponse(data=response, message="Clinic status updated successfully") @router.post("/user") def create_user(req:Request, user_data: CreateSuperAdmin): AuthService().create_super_admin(req.state.user, user_data) return ApiResponse(data="OK", message="User created successfully") @router.get("/") def get_users(req:Request, limit:int = DEFAULT_LIMIT, page:int = DEFAULT_PAGE, search:str = ""): if page < 1: page = 1 offset = (page - 1) * limit users = AuthService().get_admins(req.state.user, limit, offset, search) return ApiResponse(data=users, message="Users retrieved successfully")