UNPKG

@upv/ushi-shared

Version:

Shared DTOs, types, and utilities for the USHI platform (LMS, Trials, Social, Wallet).

68 lines (67 loc) 2.39 kB
export declare const ApiRoutes: { readonly auth: { readonly login: "/auth/login"; readonly register: "/auth/register"; readonly refresh: "/auth/refresh"; readonly verifyEmail: "/auth/verify-email"; readonly sendVerificationEmail: "/auth/send-verification-email"; readonly forgotPassword: "/auth/forgot-password"; readonly resetPassword: "/auth/reset-password"; readonly logout: "/auth/logout"; }; readonly user: { readonly get: "/user/profile"; readonly update: "/user/profile"; readonly preferences: "/user/preferences"; readonly deactivate: "/user/deactivate"; readonly regions: "/user/regions"; }; readonly lms: { readonly progress: "/lms/progress"; readonly enroll: "/lms/enroll"; readonly track: "/lms/track"; readonly courseList: "/lms/courses"; readonly courseDetail: "/lms/courses/:id"; }; readonly social: { readonly feed: "/social/feed"; readonly post: "/social/post"; readonly comment: "/social/comment"; readonly like: "/social/like"; readonly profile: "/social/profile/:userId"; }; readonly trial: { readonly enroll: "/trial/enroll"; readonly consent: "/trial/consent"; readonly surveys: "/trial/surveys"; readonly participationStatus: "/trial/status"; }; readonly role: { readonly assign: "/role/assign"; readonly revoke: "/role/revoke"; readonly list: "/role/list"; readonly current: "/role/current"; }; readonly admin: { readonly users: "/admin/users"; readonly userDetail: "/admin/users/:userId"; readonly metrics: "/admin/metrics"; readonly systemStatus: "/admin/system-status"; }; readonly notifications: { readonly list: "/notifications"; readonly read: "/notifications/read/:id"; readonly markAllRead: "/notifications/mark-all-read"; }; readonly system: { readonly ping: "/system/ping"; readonly version: "/system/version"; readonly health: "/system/health"; }; }; /** * Flatten nested route object to get a union of all route paths as strings. */ type Flatten<T> = T extends object ? T[keyof T] : never; export type ApiRoute = Flatten<typeof ApiRoutes>; export {};