Files
road-monitoring-ui/src/constants/apiRoutes.ts

98 lines
3.7 KiB
TypeScript

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`,
ANNOTATION_FRAMES: (id: string) =>
`/biz/api/v1/results/${id}/annotation-frames`,
DETECTIONS: (id: string) => `/biz/api/v1/results/${id}/detections`,
COORDINATES: (id: string) => `/biz/api/v1/results/${id}/coordinates`,
},
DETECTIONS: {
DISCARD: (id: number) => `/biz/api/v1/detections/${id}/discard`,
},
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`,
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_DETECTION_REPAIR_PROOF: (ticketId: string, detectionId: number) =>
`/biz/api/v1/tickets/${ticketId}/detections/${detectionId}/repair-proof/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;