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) => `api/v1/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`, };