admin/src/constant/routes.ts

187 lines
7.7 KiB
TypeScript

export const API_GATE_WAY = "https://apimznstg.aireview.ir";
export const ADMIN_API_PREFIX = "api/v1/admin";
export const REQUEST_TIMEOUT = 30000;
export const API_ROUTES = {
// Auth APIs
ADMIN_LOGIN: "auth/login",
// Draft APIs (non-admin)
GET_DISCOUNT_DETAIL: (id: string) => `api/v1/discount-drafts/${id}`,
GET_DRAFT_DETAIL: (id: string) => `api/v1/drafts/${id}`,
// Admin Users APIs
GET_ADMIN_USERS: "admin-users",
GET_ADMIN_USER: (id: string) => `admin-users/${id}`,
CREATE_ADMIN_USER: "admin-users",
UPDATE_ADMIN_USER: (id: string) => `admin-users/${id}`,
DELETE_ADMIN_USER: (id: string) => `admin-users/${id}`,
// Roles APIs
GET_ROLES: "roles",
GET_ROLE: (id: string) => `roles/${id}`,
CREATE_ROLE: "roles",
UPDATE_ROLE: (id: string) => `roles/${id}`,
DELETE_ROLE: (id: string) => `roles/${id}`,
GET_ROLE_PERMISSIONS: (id: string) => `roles/${id}/permissions`,
ASSIGN_ROLE_PERMISSION: (roleId: string, permissionId: string) =>
`roles/${roleId}/permissions/${permissionId}`,
REMOVE_ROLE_PERMISSION: (roleId: string, permissionId: string) =>
`roles/${roleId}/permissions/${permissionId}`,
// Permissions APIs
GET_PERMISSIONS: "permissions",
GET_PERMISSION: (id: string) => `permissions/${id}`,
CREATE_PERMISSION: "permissions",
UPDATE_PERMISSION: (id: string) => `permissions/${id}`,
DELETE_PERMISSION: (id: string) => `permissions/${id}`,
// Product Options APIs (non-admin)
GET_PRODUCT_OPTIONS: "products/options",
GET_PRODUCT_OPTION: (id: string) => `products/options/${id}`,
CREATE_PRODUCT_OPTION: "products/options",
UPDATE_PRODUCT_OPTION: (id: string) => `products/options/${id}`,
DELETE_PRODUCT_OPTION: (id: string) => `products/options/${id}`,
// Categories APIs (non-admin)
GET_CATEGORIES: "api/v1/products/categories",
GET_CATEGORY: (id: string) => `api/v1/products/categories/${id}`,
CREATE_CATEGORY: "api/v1/products/categories",
UPDATE_CATEGORY: (id: string) => `api/v1/products/categories/${id}`,
DELETE_CATEGORY: (id: string) => `api/v1/products/categories/${id}`,
// Products APIs (non-admin)
GET_PRODUCTS: "api/v1/products",
GET_PRODUCT: (id: string) => `api/v1/products/${id}`,
CREATE_PRODUCT: "api/v1/products",
UPDATE_PRODUCT: (id: string) => `products/${id}`,
DELETE_PRODUCT: (id: string) => `api/v1/products/${id}`,
GET_PRODUCT_VARIANTS: (id: string) => `api/v1/products/${id}/variants`,
CREATE_PRODUCT_VARIANT: (id: string) => `api/v1/products/${id}/variants`,
UPDATE_PRODUCT_VARIANT: (variantId: string) =>
`api/v1/products/variants/${variantId}`,
DELETE_PRODUCT_VARIANT: (variantId: string) =>
`api/v1/products/variants/${variantId}`,
// Files APIs
GET_FILES: "files",
UPLOAD_FILE: "files",
GET_FILE: (id: string) => `files/${id}`,
UPDATE_FILE: (id: string) => `files/${id}`,
DELETE_FILE: (id: string) => `files/${id}`,
DOWNLOAD_FILE: (serveKey: string) => `api/v1/files/${serveKey}`, // non-admin
// Images APIs (non-admin)
GET_IMAGES: "api/v1/images",
CREATE_IMAGE: "api/v1/images",
UPDATE_IMAGE: (imageId: string) => `api/v1/products/images/${imageId}`,
DELETE_IMAGE: (imageId: string) => `api/v1/products/images/${imageId}`,
// Landing Hero APIs
GET_LANDING_HERO: "settings/landing/hero", // non-admin
UPDATE_LANDING_HERO: "settings/landing/hero", // admin
// Discount Codes APIs
GET_DISCOUNT_CODES: "discount/",
GET_DISCOUNT_CODE: (id: string) => `discount/${id}/`,
CREATE_DISCOUNT_CODE: "discount/",
UPDATE_DISCOUNT_CODE: (id: string) => `discount/${id}/`,
DELETE_DISCOUNT_CODE: (id: string) => `discount/${id}/`,
// Orders APIs
GET_ORDERS: "checkout/orders",
GET_ORDER: (id: string) => `checkout/orders/${id}`,
GET_ORDER_STATS: "checkout/orders/statistics",
UPDATE_ORDER_STATUS: (id: string) => `checkout/orders/${id}/status`,
// Shipping Methods APIs
GET_SHIPPING_METHODS: "checkout/shipping-methods",
GET_SHIPPING_METHOD: (id: string) => `checkout/shipping-methods/${id}`,
CREATE_SHIPPING_METHOD: "checkout/shipping-methods",
UPDATE_SHIPPING_METHOD: (id: string) => `checkout/shipping-methods/${id}`,
DELETE_SHIPPING_METHOD: (id: string) => `checkout/shipping-methods/${id}`,
// User Admin APIs
GET_USERS: "users",
GET_USER: (id: string) => `users/${id}`,
SEARCH_USERS: "users/search",
CREATE_USER: "users",
UPDATE_USER: (id: string) => `users/${id}`,
UPDATE_USER_PROFILE: (id: string) => `users/${id}/profile`,
UPDATE_USER_AVATAR: (id: string) => `users/${id}/avatar`,
DELETE_USER: (id: string) => `users/${id}`,
VERIFY_USER: (id: string) => `users/${id}/verify`,
UNVERIFY_USER: (id: string) => `users/${id}/unverify`,
GET_TICKETS: "tickets",
GET_TICKET: (id: string) => `tickets/${id}`,
CREATE_TICKET_REPLY: (id: string) => `tickets/${id}/messages`,
UPDATE_TICKET_STATUS: (id: string) => `tickets/${id}/status`,
ASSIGN_TICKET: (id: string) => `tickets/${id}/assign`,
GET_TICKET_DEPARTMENTS: "tickets/config/departments",
GET_TICKET_DEPARTMENT: (id: string) => `tickets/config/departments/${id}`,
CREATE_TICKET_DEPARTMENT: "tickets/config/departments",
UPDATE_TICKET_DEPARTMENT: (id: string) => `tickets/config/departments/${id}`,
DELETE_TICKET_DEPARTMENT: (id: string) => `tickets/config/departments/${id}`,
GET_TICKET_STATUSES: "tickets/config/statuses",
GET_TICKET_STATUS: (id: string) => `tickets/config/statuses/${id}`,
CREATE_TICKET_STATUS: "tickets/config/statuses",
UPDATE_TICKET_STATUS_CONFIG: (id: string) => `tickets/config/statuses/${id}`,
DELETE_TICKET_STATUS: (id: string) => `tickets/config/statuses/${id}`,
GET_TICKET_SUBJECTS: "tickets/config/subjects",
GET_TICKET_SUBJECT: (id: string) => `tickets/config/subjects/${id}`,
CREATE_TICKET_SUBJECT: "tickets/config/subjects",
UPDATE_TICKET_SUBJECT: (id: string) => `tickets/config/subjects/${id}`,
DELETE_TICKET_SUBJECT: (id: string) => `tickets/config/subjects/${id}`,
// Contact Us APIs
GET_CONTACT_US_MESSAGES: "contact-us",
DELETE_CONTACT_US_MESSAGE: (id: string) => `contact-us/${id}`,
// Payment IPG APIs
GET_IPG_STATUS: "payment/ipg/status",
UPDATE_IPG_STATUS: "payment/ipg/status",
// Payment Card APIs
GET_PAYMENT_CARD: "payment/card",
UPDATE_PAYMENT_CARD: "payment/card",
// Wallet APIs
GET_WALLET_STATUS: "wallet/status",
UPDATE_WALLET_STATUS: "wallet/status",
// Reports APIs
DISCOUNT_REPORTS: "reports/discounts",
DISCOUNT_USAGE_REPORT: "reports/discounts/usage",
CUSTOMER_DISCOUNT_USAGE_REPORT: "reports/discounts/customer-usage",
PAYMENT_METHODS_REPORT: "reports/payments/methods",
PAYMENT_TRANSACTIONS_REPORT: "reports/payments/transactions",
SHIPMENTS_BY_METHOD_REPORT: "reports/shipments/by-method",
SALES_GROWTH_REPORT: "reports/sales/growth",
USER_REGISTRATION_GROWTH_REPORT: "reports/user-registration/growth",
SALES_BY_CATEGORY_REPORT: "reports/sales/by-category",
SALES_SUMMARY_REPORT: "reports/sales/summary",
PROFIT_LOSS_REPORT: "reports/profit-loss",
INVENTORY_VALUE_REPORT: "reports/inventory/value",
VARIANT_COMPARISON_REPORT: "reports/variants/comparison",
// Product Comments APIs
GET_PRODUCT_COMMENTS: "products/comments",
UPDATE_COMMENT_STATUS: (commentId: string) => `products/comments/${commentId}/status`,
DELETE_COMMENT: (commentId: string) => `products/comments/${commentId}`,
// Admin Notifications APIs
GET_ADMIN_NOTIFICATIONS: "notifications",
GET_ADMIN_NOTIFICATIONS_UNREAD: "notifications/unread",
GET_ADMIN_NOTIFICATIONS_COUNT: "notifications/count",
MARK_NOTIFICATION_READ: (id: string) => `notifications/${id}/read`,
MARK_ALL_NOTIFICATIONS_READ: "notifications/read-all",
// System Settings APIs
GET_AUTO_VERIFY_SETTING: "settings/auto-verify-new-users",
UPDATE_AUTO_VERIFY_SETTING: "settings/auto-verify-new-users",
// Wallet Credit APIs
WALLET_CREDIT: "wallet/credit",
};