from fastapi import APIRouter

from app.api.v1 import (
    attendance,
    attendance_gateways,
    booking,
    branches,
    catalog,
    coaches,
    competitions,
    configurations,
    courts,
    device_providers,
    devices,
    events,
    facilities,
    locker_rooms,
    lockers,
    members,
    membership_types,
    memberships,
    permissions,
    roles,
    rooms,
    settings,
    sports,
    sports_centers,
    staff,
    training,
)

api_router = APIRouter()
api_router.include_router(sports_centers.router, prefix="/sports-centers", tags=["sports-centers"])
api_router.include_router(branches.router, prefix="/branches", tags=["branches"])
api_router.include_router(sports.router, prefix="/sports", tags=["sports"])
api_router.include_router(membership_types.router, prefix="/membership-types", tags=["membership-types"])
api_router.include_router(memberships.router, prefix="/memberships", tags=["memberships"])
api_router.include_router(members.members_router, prefix="/members", tags=["members"])
api_router.include_router(members.family_members_router, prefix="/family-members", tags=["family-members"])
api_router.include_router(members.emergency_contacts_router, prefix="/emergency-contacts", tags=["emergency-contacts"])
api_router.include_router(members.medical_router, prefix="/medical-information", tags=["medical-information"])
api_router.include_router(members.cards_router, prefix="/membership-cards", tags=["membership-cards"])
api_router.include_router(members.digital_router, prefix="/digital-memberships", tags=["digital-memberships"])
api_router.include_router(members.waivers_router, prefix="/waivers", tags=["waivers"])
api_router.include_router(members.documents_router, prefix="/member-documents", tags=["member-documents"])
api_router.include_router(catalog.sport_categories_router, prefix="/sport-categories", tags=["sport-categories"])
api_router.include_router(catalog.age_groups_router, prefix="/age-groups", tags=["age-groups"])
api_router.include_router(catalog.pricing_models_router, prefix="/pricing-models", tags=["pricing-models"])
api_router.include_router(catalog.membership_packages_router, prefix="/membership-packages", tags=["membership-packages"])
api_router.include_router(catalog.membership_plans_router, prefix="/membership-plans", tags=["membership-plans"])
api_router.include_router(catalog.membership_rules_router, prefix="/membership-rules", tags=["membership-rules"])
api_router.include_router(catalog.renewal_policies_router, prefix="/renewal-policies", tags=["renewal-policies"])
api_router.include_router(catalog.freezing_rules_router, prefix="/freezing-rules", tags=["freezing-rules"])
api_router.include_router(catalog.expiration_policies_router, prefix="/expiration-policies", tags=["expiration-policies"])
api_router.include_router(coaches.router, prefix="/coaches", tags=["coaches"])
api_router.include_router(roles.router, prefix="/roles", tags=["roles"])
api_router.include_router(permissions.router, prefix="/permissions", tags=["permissions"])
api_router.include_router(facilities.router, prefix="/facilities", tags=["facilities"])
api_router.include_router(courts.router, prefix="/courts", tags=["courts"])
api_router.include_router(rooms.router, prefix="/rooms", tags=["rooms"])
api_router.include_router(locker_rooms.router, prefix="/locker-rooms", tags=["locker-rooms"])
api_router.include_router(lockers.router, prefix="/lockers", tags=["lockers"])
api_router.include_router(device_providers.router, prefix="/device-providers", tags=["device-providers"])
api_router.include_router(devices.router, prefix="/devices", tags=["devices"])
api_router.include_router(attendance_gateways.router, prefix="/attendance-gateways", tags=["attendance-gateways"])
api_router.include_router(configurations.router, prefix="/configurations", tags=["configurations"])
api_router.include_router(events.router, prefix="/events", tags=["events"])
api_router.include_router(settings.router, prefix="/settings", tags=["settings"])
api_router.include_router(staff.certificates_router, prefix="/staff-certificates", tags=["staff-certificates"])
api_router.include_router(staff.skills_router, prefix="/staff-skills", tags=["staff-skills"])
api_router.include_router(staff.working_hours_router, prefix="/staff-working-hours", tags=["staff-working-hours"])
api_router.include_router(staff.availability_router, prefix="/staff-availability", tags=["staff-availability"])
api_router.include_router(staff.assignments_router, prefix="/staff-assignments", tags=["staff-assignments"])
api_router.include_router(booking.equipment_router, prefix="/equipment", tags=["equipment"])
api_router.include_router(booking.sessions_router, prefix="/sessions", tags=["sessions"])
api_router.include_router(booking.bookings_router, prefix="/bookings", tags=["bookings"])
api_router.include_router(booking.waiting_list_router, prefix="/waiting-list", tags=["waiting-list"])
api_router.include_router(booking.reservations_router, prefix="/resource-reservations", tags=["resource-reservations"])
api_router.include_router(attendance.check_in_router, prefix="/check-in", tags=["check-in"])
api_router.include_router(attendance.check_out_router, prefix="/check-out", tags=["check-out"])
api_router.include_router(attendance.attendance_router, prefix="/attendance-records", tags=["attendance-records"])
api_router.include_router(attendance.access_logs_router, prefix="/access-logs", tags=["access-logs"])
api_router.include_router(training.programs_router, prefix="/training-programs", tags=["training-programs"])
api_router.include_router(training.exercises_router, prefix="/exercises", tags=["exercises"])
api_router.include_router(training.workout_plans_router, prefix="/workout-plans", tags=["workout-plans"])
api_router.include_router(training.workout_assignments_router, prefix="/workout-assignments", tags=["workout-assignments"])
api_router.include_router(training.goals_router, prefix="/training-goals", tags=["training-goals"])
api_router.include_router(training.measurements_router, prefix="/measurements", tags=["measurements"])
api_router.include_router(training.progress_router, prefix="/progress-records", tags=["progress-records"])
api_router.include_router(training.nutrition_router, prefix="/nutrition-plans", tags=["nutrition-plans"])
api_router.include_router(training.assessments_router, prefix="/assessments", tags=["assessments"])
api_router.include_router(training.performance_router, prefix="/performance-records", tags=["performance-records"])
api_router.include_router(training.body_composition_router, prefix="/body-compositions", tags=["body-compositions"])
api_router.include_router(competitions.competitions_router, prefix="/competitions", tags=["competitions"])
api_router.include_router(competitions.teams_router, prefix="/competition-teams", tags=["competition-teams"])
api_router.include_router(competitions.groups_router, prefix="/competition-groups", tags=["competition-groups"])
api_router.include_router(competitions.registrations_router, prefix="/competition-registrations", tags=["competition-registrations"])
api_router.include_router(competitions.matches_router, prefix="/competition-matches", tags=["competition-matches"])
api_router.include_router(competitions.results_router, prefix="/competition-results", tags=["competition-results"])
api_router.include_router(competitions.rankings_router, prefix="/competition-rankings", tags=["competition-rankings"])
api_router.include_router(competitions.medals_router, prefix="/competition-medals", tags=["competition-medals"])
api_router.include_router(competitions.judges_router, prefix="/competition-judges", tags=["competition-judges"])
api_router.include_router(competitions.certificates_router, prefix="/competition-certificates", tags=["competition-certificates"])
