export const API_ROUTES = { AUTH: { LOGIN: 'api/auth/login', REFRESH: 'api/auth/refresh', LOGOUT: 'api/auth/logout', ME: 'api/auth/me', FORGOT_PASSWORD: 'api/auth/forget-password', RESET_PASSWORD: 'api/auth/reset-password', SET_PASSWORD: 'api/auth/set-password', }, PERMISSIONS: { MY_PERMISSIONS: 'api/permissions/my-permissions', ORGANIZATION_TREE: 'api/permissions/organization-tree', }, ROLES: { BASE: 'api/roles', DETAIL: (id: number) => `api/roles/${id}`, STATUS: (id: number) => `api/roles/${id}/status`, }, USERS: { BASE: 'api/users', STATUS: (id: number) => `api/users/${id}/status`, }, CLIENTS: { BASE: 'api/clients', DETAIL: (id: number) => `api/clients/${id}`, STATUS: (id: number) => `api/clients/${id}/status`, }, PLANS: { BASE: 'api/superadmin/plans', DETAIL: (id: number) => `api/superadmin/plans/${id}`, STATUS: (id: number) => `api/superadmin/plans/${id}/status`, }, TENANTS: { BASE: 'api/superadmin/tenants', DETAIL: (id: number) => `api/superadmin/tenants/${id}`, }, PROJECTS: { BASE: 'biz/api/v1/projects', DETAIL: (id: string) => `biz/api/v1/projects/${id}`, }, PACKAGES: { BASE: 'biz/api/v1/packages', DETAIL: (id: string) => `biz/api/v1/packages/${id}`, }, CHAINAGES: { BASE: 'biz/api/v1/chainages', DETAIL: (id: string) => `biz/api/v1/chainages/${id}`, }, VIDEOS: { UPLOAD: '/biz/api/v1/upload', UPLOADS: '/biz/api/v1/uploads', UPLOAD_EVENTS_TOKEN: '/biz/api/v1/uploads/events/token', UPLOAD_EVENTS: (token: string) => `/biz/api/v1/uploads/events?sse_token=${encodeURIComponent(token)}`, RESULTS: (id: string) => `/biz/api/v1/results/${id}/completed`, }, TICKETS: { BASE: '/biz/api/v1/tickets', DETAIL: (id: string) => `/biz/api/v1/tickets/${id}`, CLASS_DETAIL: (id: string, defectClass: string) => `/biz/api/v1/tickets/${id}/class-detail?defect_class=${defectClass}`, DEFECT_CLASSES: (id: string) => `/biz/api/v1/tickets/${id}/defect-classes`, ASSIGN: (id: string) => `/biz/api/v1/tickets/${id}/assign`, SUBMIT_REPAIR: (id: string) => `/biz/api/v1/tickets/${id}/submit-repair`, SUBMIT_REPAIR_UPLOAD: (id: string) => `/biz/api/v1/tickets/${id}/repair-proof`, REQUEST_EXTENSION: (ticketId: string, assignmentId: number) => `/biz/api/v1/tickets/${ticketId}/assignments/${assignmentId}/extension-requests`, EXTENSION_REQUESTS: (ticketId: string) => `/biz/api/v1/tickets/${ticketId}/extension-requests`, REVIEW_EXTENSION_REQUEST: (ticketId: string, assignmentId: number) => `/biz/api/v1/tickets/${ticketId}/assignments/${assignmentId}/extension-request/decision`, REVIEW: (id: string) => `/biz/api/v1/tickets/${id}/review`, CLOSE: (id: string) => `/biz/api/v1/tickets/${id}/close`, DETAIL_EVENTS_TOKEN: (id: string) => `/biz/api/v1/tickets/${id}/events/token`, DETAIL_EVENTS: (id: string, token: string) => `/biz/api/v1/tickets/${id}/events?sse_token=${encodeURIComponent(token)}`, ASSIGNABLE_USERS: '/biz/api/v1/tickets/assignable-users', }, TICKET_EVENTS: { TENANT_TOKEN: '/biz/api/v1/tenants/me/tickets/events/token', TENANT: (token: string) => `/biz/api/v1/tenants/me/tickets/events?sse_token=${encodeURIComponent( token, )}`, USER_TOKEN: '/biz/api/v1/users/me/events/token', USER: (token: string) => `/biz/api/v1/users/me/events?sse_token=${encodeURIComponent(token)}`, }, } as const;