refactor: Simplify company routes by removing redundant CRUD router and improving code readability
This commit is contained in:
@@ -9,29 +9,15 @@ from sqlalchemy.orm import Session
|
||||
|
||||
from core.database import get_core_db
|
||||
from core.security import get_current_user, validate_access_to_resource
|
||||
from api.v1.common.tenant_crud_routes import TenantCRUDRoutes
|
||||
from .....common.tenant_crud_routes import TenantCRUDRoutes
|
||||
from .dto import CompanyCreateDTO, CompanyResponseDTO, CompanyUpdateDTO
|
||||
from .models import Company
|
||||
from .service import CompanyService
|
||||
|
||||
# Create CRUD router
|
||||
crud_router = TenantCRUDRoutes(
|
||||
service=CompanyService,
|
||||
create_schema=CompanyCreateDTO,
|
||||
update_schema=CompanyUpdateDTO,
|
||||
response_schema=CompanyResponseDTO,
|
||||
prefix="/company",
|
||||
tags=["a76.general_catalogs.company"],
|
||||
resource_name="Company",
|
||||
enable_list=True,
|
||||
enable_filters=True,
|
||||
).router
|
||||
|
||||
router = crud_router
|
||||
# Main router that includes base CRUD
|
||||
router = APIRouter(prefix="/company")
|
||||
|
||||
# Custom endpoints
|
||||
|
||||
|
||||
@router.get(
|
||||
"/my-companies",
|
||||
response_model=List[CompanyResponseDTO],
|
||||
@@ -97,8 +83,7 @@ async def get_basic_info(
|
||||
db, tenant_id, company_id_from_user, Company, company_id, "id"
|
||||
)
|
||||
|
||||
company = CompanyService.get_by_id(
|
||||
db, company_id, tenant_id, company_id_from_user)
|
||||
company = CompanyService.get_by_id(db, company_id, tenant_id, company_id_from_user)
|
||||
if not company:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
@@ -132,8 +117,7 @@ async def get_responsible_info(
|
||||
db, tenant_id, company_id_from_user, Company, company_id, "id"
|
||||
)
|
||||
|
||||
company = CompanyService.get_by_id(
|
||||
db, company_id, tenant_id, company_id_from_user)
|
||||
company = CompanyService.get_by_id(db, company_id, tenant_id, company_id_from_user)
|
||||
if not company:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
@@ -169,8 +153,7 @@ async def get_program_info(
|
||||
db, tenant_id, company_id_from_user, Company, company_id, "id"
|
||||
)
|
||||
|
||||
company = CompanyService.get_by_id(
|
||||
db, company_id, tenant_id, company_id_from_user)
|
||||
company = CompanyService.get_by_id(db, company_id, tenant_id, company_id_from_user)
|
||||
if not company:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
@@ -183,7 +166,7 @@ async def get_program_info(
|
||||
"prosec": company.prosec,
|
||||
"prosec_authorization": company.prosec_authorization,
|
||||
}
|
||||
|
||||
|
||||
# Base CRUD routes using TenantCRUDRoutes
|
||||
base_router = TenantCRUDRoutes(
|
||||
service=CompanyService,
|
||||
@@ -196,4 +179,4 @@ base_router = TenantCRUDRoutes(
|
||||
enable_list=True,
|
||||
enable_filters=True,
|
||||
).router
|
||||
router.include_router(base_router)
|
||||
router.include_router(base_router)
|
||||
Reference in New Issue
Block a user