"""
Endpoints API para gestión de clases de activos fijos (FA)
"""

from typing import Any, Dict
from fastapi import Depends, Query
from sqlalchemy.orm import Session

from core.database import get_core_db
from core.security import get_current_user
from api.v1.common.tenant_crud_routes import TenantCRUDRoutes, validate_access_to_resource

from .dto import FAClassCreateDTO, FAClassResponseDTO, FAClassUpdateDTO
from .service import FAClassService

# Create router with generic CRUD routes
crud_routes = TenantCRUDRoutes(
    service=FAClassService,
    create_schema=FAClassCreateDTO,
    update_schema=FAClassUpdateDTO,
    response_schema=FAClassResponseDTO,
    prefix="/fa/classes",
    tags=["a24 / fa / classes"],
    resource_name="Fixed Asset Class",
    id_name="fa_class_id",
    enable_list=True,
    enable_filters=True,
    default_page_size=50,
    max_page_size=100,
)

router = crud_routes.router
