"""
Routes for managing Customs Broker Concepts.
"""

from api.v1.common.tenant_crud_routes import TenantCRUDRoutes

from .dto import CustomsBrokerConceptCreate, CustomsBrokerConceptResponse, CustomsBrokerConceptUpdate
from .service import CustomsBrokerConceptService

# Create router using TenantCRUDRoutes factory
router = TenantCRUDRoutes(
    service=CustomsBrokerConceptService,
    create_schema=CustomsBrokerConceptCreate,
    update_schema=CustomsBrokerConceptUpdate,
    response_schema=CustomsBrokerConceptResponse,
    prefix="/customs-broker-concepts",
    tags=["a76 / customs_broker_concepts"],
    resource_name="Customs Broker Concept",
    id_name="concept_id",
    enable_list=True,  # Enable GET /customs-broker-concepts with pagination
    enable_filters=True,  # Enable filtering
    default_page_size=50,
    max_page_size=100,
    list_permissions=["cat_broker_concepts.view"],
    get_permissions=["cat_broker_concepts.view"],
    create_permissions=["cat_broker_concepts.create"],
    update_permissions=["cat_broker_concepts.edit"],
    delete_permissions=["cat_broker_concepts.delete"],
).router


