admin/src/constant/routes.ts

117 lines
4.6 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) => `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`,
};