Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
113 lines
5.3 KiB
TypeScript
113 lines
5.3 KiB
TypeScript
/**
|
|
* Legacy routes still used by generic dashboard list components.
|
|
* Domain services must use the Orval-generated clients instead.
|
|
*/
|
|
export const API_ROUTES = {
|
|
AUDIT_LOGS: { ADMIN_LIST: 'admin/audit-logs' },
|
|
CHAT_OVERSIGHT: {
|
|
ADMIN_LIST: 'admin/conversations',
|
|
ADMIN_DETAIL: (id: string) => `admin/conversations/${id}`,
|
|
ADMIN_MESSAGES: (id: string) => `admin/conversations/${id}/messages`,
|
|
ADMIN_PARTICIPANTS: (id: string) => `admin/conversations/${id}/participants`,
|
|
},
|
|
BLOG_ARTICLES: { ADMIN_LIST: 'admin/blog-articles' },
|
|
BOOKINGS: { ADMIN_LIST: 'admin/bookings' },
|
|
EVENTS: {
|
|
ADMIN_LIST: 'admin/events',
|
|
ADMIN_DETAIL: (id: string) => `admin/events/${id}`,
|
|
ADMIN_COMMISSION: (id: string) => `admin/events/${id}/commission`,
|
|
ADMIN_DELETE: (id: string) => `admin/events/${id}`,
|
|
ADMIN_REVISION_PENDING: (id: string) => `admin/events/${id}/revisions/pending`,
|
|
ADMIN_REVISION_APPROVE: (id: string, revisionId: string) => `admin/events/${id}/revisions/${revisionId}/approve`,
|
|
ADMIN_REVISION_REJECT: (id: string, revisionId: string) => `admin/events/${id}/revisions/${revisionId}/reject`,
|
|
DETAIL: (id: string) => `events/${id}`,
|
|
FOR_EDIT: (id: string) => `events/${id}/for-edit`,
|
|
DELETE: (id: string) => `events/${id}`,
|
|
OWNER_INSIGHTS: (id: string) => `events/${id}/owner-insights`,
|
|
RESERVED_CAPACITY: (id: string) => `events/${id}/reserved-capacity`,
|
|
ADMIN_RESERVED_CAPACITY: (id: string) => `admin/events/${id}/reserved-capacity`,
|
|
REVISION_SUBMIT: (id: string) => `events/${id}/revisions`,
|
|
REVISION_PENDING: (id: string) => `events/${id}/revisions/pending`,
|
|
REVISION_WITHDRAW: (id: string) => `events/${id}/revisions/pending`,
|
|
},
|
|
EVENT_CATEGORIES: { ADMIN_FLAT: 'admin/event-categories/flat' },
|
|
GEOGRAPHY: { ALL_CITIES: 'geography/cities', PROVINCES: 'geography/provinces' },
|
|
GUEST_LISTS: { ADMIN_LIST: 'admin/guest-lists', ADMIN_ITEMS: (id: string) => `admin/guest-lists/${id}/items` },
|
|
IDENTITY: {
|
|
ADMIN_LIST: 'admin/identity/verifications',
|
|
ADMIN_APPROVE: (id: string) => `admin/identity/verifications/${id}/approve`,
|
|
ADMIN_REJECT: (id: string) => `admin/identity/verifications/${id}/reject`,
|
|
ADMIN_JIBIT_INQUIRY: (id: string) => `admin/identity/verifications/${id}/jibit-inquiry`,
|
|
REJECTION_REASONS: 'identity/rejection-reasons',
|
|
REQUEST_OTP: 'identity/verifications/request-otp',
|
|
CONFIRM_OTP: 'identity/verifications/confirm-otp',
|
|
},
|
|
PAYMENTS: { ADMIN_LIST: 'admin/payments' },
|
|
WALLET_DEPOSITS: { ADMIN_LIST: 'admin/wallet-deposits' },
|
|
REVIEWS: {
|
|
ADMIN_LIST: 'admin/reviews',
|
|
ADMIN_HIDE: (id: string) => `admin/reviews/${id}/hide`,
|
|
ADMIN_RESTORE: (id: string) => `admin/reviews/${id}/restore`,
|
|
ADMIN_DELETE: (id: string) => `admin/reviews/${id}`,
|
|
},
|
|
SETTLEMENTS: {
|
|
ADMIN_LIST: 'admin/settlements',
|
|
ADMIN_DETAIL: (id: string) => `admin/settlements/${id}`,
|
|
ADMIN_COMPLETE: (id: string) => `admin/settlements/${id}/complete`,
|
|
ADMIN_CREATE: 'admin/settlements',
|
|
},
|
|
BANK_ACCOUNTS: {
|
|
ADMIN_LIST: 'admin/bank-accounts',
|
|
ADMIN_JIBIT_INQUIRY: (id: string) => `admin/bank-accounts/${id}/jibit-inquiry`,
|
|
ADMIN_APPROVE: (id: string) => `admin/bank-accounts/${id}/approve`,
|
|
ADMIN_REJECT: (id: string) => `admin/bank-accounts/${id}/reject`,
|
|
},
|
|
SMS_MESSAGES: { ADMIN_LIST: 'admin/sms-messages' },
|
|
IN_APP_NOTIFICATIONS: { ADMIN_LIST: 'admin/in-app-notifications' },
|
|
MANUAL_NOTIFICATIONS: {
|
|
ADMIN_CREATE: 'admin/manual-notifications',
|
|
ADMIN_REQUEST_OTP: 'admin/manual-notifications/request-otp',
|
|
},
|
|
NOTIFICATION_RULES: {
|
|
ADMIN_LIST: 'admin/notification-rules',
|
|
ADMIN_UPDATE: (eventKey: string) => `admin/notification-rules/${eventKey}`,
|
|
},
|
|
PUSH_DELIVERIES: { ADMIN_LIST: 'admin/push-deliveries' },
|
|
USER_REPORTS: {
|
|
ADMIN_LIST: 'admin/user-reports',
|
|
ADMIN_REVIEW: (id: string) => `admin/user-reports/${id}/review`,
|
|
ADMIN_DISMISS: (id: string) => `admin/user-reports/${id}/dismiss`,
|
|
ADMIN_BLOCK: (id: string) => `admin/user-reports/${id}/block`,
|
|
},
|
|
CONTACT_MESSAGES: {
|
|
CREATE: 'contact-messages',
|
|
ADMIN_LIST: 'admin/contact-messages',
|
|
ADMIN_READ: (id: string) => `admin/contact-messages/${id}/read`,
|
|
},
|
|
TRAFFIC_VISITS: {
|
|
CREATE: 'traffic-visits',
|
|
},
|
|
SUPPORT_TICKETS: {
|
|
ADMIN_LIST: 'admin/support-tickets',
|
|
ADMIN_DETAIL: (id: string) => `admin/support-tickets/${id}`,
|
|
},
|
|
USERS: {
|
|
ADMIN_LIST: 'admin/users',
|
|
ADMIN_HOSTED_EVENTS: (id: string) => `admin/users/${id}/hosted-events`,
|
|
ADMIN_BOOKINGS: (id: string) => `admin/users/${id}/bookings`,
|
|
ADMIN_PAYMENTS: (id: string) => `admin/users/${id}/payments`,
|
|
ADMIN_REVIEWS: (id: string) => `admin/users/${id}/reviews`,
|
|
ADMIN_FOLLOWS: (id: string) => `admin/users/${id}/follows`,
|
|
ADMIN_REPORTS: (id: string) => `admin/users/${id}/reports`,
|
|
ADMIN_BLOCKS: (id: string) => `admin/users/${id}/blocks`,
|
|
ADMIN_WALLET_CREDIT: (id: string) => `admin/users/${id}/wallet/credit`,
|
|
ADMIN_IDENTITY_ATTEST: (id: string) => `admin/users/${id}/identity/attest`,
|
|
},
|
|
WITHDRAWAL_REQUESTS: {
|
|
ADMIN_LIST: 'admin/withdrawal-requests',
|
|
ADMIN_PROCESS: (id: string) => `admin/withdrawal-requests/${id}/process`,
|
|
ADMIN_COMPLETE: (id: string) => `admin/withdrawal-requests/${id}/complete`,
|
|
ADMIN_REJECT: (id: string) => `admin/withdrawal-requests/${id}/reject`,
|
|
},
|
|
} as const
|