@helpdice/sdk 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +10 -12
- package/dist/index.js.map +1 -1
- package/dist/types/config/index.d.ts +2 -28
- package/dist/types/config/state.d.ts +31 -0
- package/package.json +9 -9
- package/dist/cjs/account/endpoint.js +0 -8
- package/dist/cjs/account/index.js +0 -17
- package/dist/cjs/account/types.js +0 -2
- package/dist/cjs/account/update_profile.js +0 -17
- package/dist/cjs/accounting/createInvoice.js +0 -17
- package/dist/cjs/accounting/endpoint.js +0 -14
- package/dist/cjs/accounting/index.js +0 -25
- package/dist/cjs/accounting/submitInvoice.js +0 -17
- package/dist/cjs/accounting/types.js +0 -2
- package/dist/cjs/accounting/updateInvoice.js +0 -17
- package/dist/cjs/apis/cities.js +0 -17
- package/dist/cjs/apis/countries.js +0 -17
- package/dist/cjs/apis/index.js +0 -14
- package/dist/cjs/apis/states.js +0 -17
- package/dist/cjs/assets/endpoint.js +0 -9
- package/dist/cjs/assets/index.js +0 -11
- package/dist/cjs/auth/authWithKey.js +0 -17
- package/dist/cjs/auth/authWithToken.js +0 -17
- package/dist/cjs/auth/endpoint.js +0 -15
- package/dist/cjs/auth/index.js +0 -94
- package/dist/cjs/auth/logout.js +0 -22
- package/dist/cjs/auth/register.js +0 -17
- package/dist/cjs/auth/resetPassword.js +0 -17
- package/dist/cjs/auth/signInWithGoogle.js +0 -56
- package/dist/cjs/auth/signin.js +0 -17
- package/dist/cjs/auth/signup.js +0 -17
- package/dist/cjs/auth/types.js +0 -2
- package/dist/cjs/config/axios.js +0 -120
- package/dist/cjs/config/constants.js +0 -12
- package/dist/cjs/config/fetch.js +0 -37
- package/dist/cjs/config/handler.js +0 -32
- package/dist/cjs/config/index.js +0 -37
- package/dist/cjs/config/local-storage.js +0 -29
- package/dist/cjs/config/route.js +0 -47
- package/dist/cjs/config/validate.js +0 -15
- package/dist/cjs/content/endpoint.js +0 -17
- package/dist/cjs/content/index.js +0 -29
- package/dist/cjs/hooks/index.js +0 -10
- package/dist/cjs/hooks/useAuth.js +0 -23
- package/dist/cjs/hooks/usePrivate.js +0 -15
- package/dist/cjs/hooks/useUser.js +0 -15
- package/dist/cjs/index.js +0 -59
- package/dist/cjs/inventory/endpoint.js +0 -9
- package/dist/cjs/inventory/index.js +0 -26
- package/dist/cjs/linkie/endpoint.js +0 -8
- package/dist/cjs/linkie/index.js +0 -20
- package/dist/cjs/linkie/shortUrl.js +0 -17
- package/dist/cjs/linkie/types.js +0 -2
- package/dist/cjs/order/create.js +0 -17
- package/dist/cjs/order/endpoint.js +0 -8
- package/dist/cjs/order/index.js +0 -10
- package/dist/cjs/order/types.js +0 -2
- package/dist/cjs/payment/components/ProcessPayment.js +0 -266
- package/dist/cjs/payment/endpoint.js +0 -9
- package/dist/cjs/payment/index.js +0 -12
- package/dist/cjs/payment/start.js +0 -38
- package/dist/cjs/payment/types.js +0 -2
- package/dist/cjs/payment/verify.js +0 -17
- package/dist/cjs/sales/endpoint.js +0 -8
- package/dist/cjs/sales/index.js +0 -7
- package/dist/cjs/sales/lead.js +0 -22
- package/dist/cjs/sales/types.js +0 -17
- package/dist/cjs/support/endpoint.js +0 -10
- package/dist/cjs/support/index.js +0 -15
- package/dist/cjs/support/newsletter.js +0 -17
- package/dist/cjs/support/ticket.js +0 -17
- package/dist/cjs/tools/endpoint.js +0 -8
- package/dist/cjs/tools/exchangeRates.js +0 -30
- package/dist/cjs/tools/index.js +0 -10
- package/dist/cjs/types.js +0 -9
- package/dist/cjs/utils/auth.js +0 -23
- package/dist/cjs/utils/handler.js +0 -35
- package/dist/cjs/utils/localStorage.js +0 -137
- package/dist/cjs/utils/share.js +0 -25
- package/dist/types/config/local-storage.d.ts +0 -0
- package/dist/types/config/validate.d.ts +0 -4
- package/dist/types/hooks/index.d.ts +0 -1
- package/dist/types/hooks/useAuth.d.ts +0 -0
- package/dist/types/hooks/usePrivate.d.ts +0 -0
- package/dist/types/hooks/useUser.d.ts +0 -8
- package/dist/types/payment/components/ProcessPayment.d.ts +0 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/config/validate.ts","../src/config/index.ts","../src/utils/auth.ts","../src/utils/localStorage.ts","../src/config/constants.ts","../src/config/axios.ts","../src/config/handler.ts","../src/account/endpoint.ts","../src/accounting/endpoint.ts","../src/assets/endpoint.ts","../src/auth/endpoint.ts","../src/content/endpoint.ts","../src/hr/endpoint.ts","../src/inventory/endpoint.ts","../src/linkie/endpoint.ts","../src/lms/endpoint.ts","../src/payment/endpoint.ts","../src/sales/endpoint.ts","../src/support/endpoint.ts","../src/tools/endpoint.ts","../src/config/route.ts","../src/auth/logout.ts","../src/auth/register.ts","../src/auth/signup.ts","../src/auth/signInWithGoogle.ts","../src/auth/signin.ts","../src/auth/authWithToken.ts","../src/auth/authWithKey.ts","../src/auth/resetPassword.ts","../src/auth/index.ts","../src/order/create.ts","../src/order/index.ts","../src/utils/handler.ts","../src/payment/start.ts","../src/payment/verify.ts","../src/payment/index.ts","../src/content/index.ts","../src/accounting/createInvoice.ts","../src/accounting/submitInvoice.ts","../src/accounting/updateInvoice.ts","../src/accounting/index.ts","../src/support/feedback.ts","../src/support/newsletter.ts","../src/support/ticket.ts","../src/support/index.ts","../src/assets/index.ts","../src/account/update_profile.ts","../src/account/verify_subsciption.ts","../src/account/index.ts","../src/utils/share.ts","../src/sales/lead.ts","../src/sales/index.ts","../src/inventory/index.ts","../src/tools/exchangeRates.ts","../src/tools/uploadMultiple.ts","../src/tools/uploadSingle.ts","../src/tools/index.ts","../src/linkie/shortUrl.ts","../src/linkie/index.ts","../src/apis/cities.ts","../src/apis/countries.ts","../src/apis/states.ts","../src/apis/index.ts","../src/hr/add_resume.ts","../src/hr/post_job.ts","../src/hr/index.ts","../src/lms/enroll_course.ts","../src/lms/post_course.ts","../src/lms/post_module.ts","../src/lms/post_progress.ts","../src/lms/post_session.ts","../src/lms/index.ts"],"sourcesContent":["// validateConfig\r\nimport { getConfig } from './index';\r\n\r\ntype Config = ReturnType<typeof getConfig>;\r\n\r\nfunction validateConfig(requiredKeys: (keyof Config)[]): Boolean {\r\n const config = getConfig();\r\n\r\n const missingKeys = requiredKeys.filter((key) => {\r\n return !config[key]; // null, undefined, empty string → treated as missing\r\n });\r\n\r\n if (missingKeys.length > 0) {\r\n throw new Error(\r\n `SDK configuration error: Missing required config value(s): ${missingKeys.join(', ')}\\n` +\r\n '👉 Please ensure these keys are set using setConfig({ ... }) before making requests.'\r\n );\r\n }\r\n return true;\r\n}\r\n\r\nexport default validateConfig;\r\n","import { default as firebase } from \"firebase/compat/app\";\r\nimport validateConfig from \"./validate\";\r\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from \"axios\";\r\n\r\n// config.ts\r\nexport type Config = {\r\n apiKey: string | null;\r\n apiUrl: string;\r\n lmsUrl: string;\r\n linkieUrl?: string;\r\n appUrl: string;\r\n apisUrl: string;\r\n tokenKey: string;\r\n environment: string;\r\n firebase?: FirebaseConfig;\r\n lmsRequestInceptor?: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig,\r\n lmsResponseInterceptor?: (response: AxiosResponse) => AxiosResponse,\r\n lmsErrorInterceptor?: (error: AxiosError) => Promise<any>\r\n};\r\n\r\nexport interface FirebaseConfig {\r\n apiKey?: string;\r\n authDomain?: string;\r\n projectId?: string;\r\n storageBucket?: string;\r\n messagingSenderId?: string;\r\n appId?: string;\r\n measurementId?: string;\r\n}\r\n\r\nlet config: Config = {\r\n tokenKey: '',\r\n apiKey: null,\r\n apiUrl: 'https://api.helpdice.com',\r\n appUrl: '',\r\n apisUrl: 'https://apis.helpdice.com',\r\n lmsUrl: 'https://lms.helpdice.com',\r\n environment: 'production',\r\n firebase: undefined\r\n};\r\n\r\nexport function initializeSDK(newConfig: Partial<Config>) {\r\n config = { ...config, ...newConfig };\r\n validateConfig(['apiKey', 'tokenKey']);\r\n}\r\n\r\nexport function getFirebase() {\r\n validateConfig(['firebase']);\r\n const appConfig = getConfig();\r\n if (appConfig.firebase) {\r\n // if (firebase?.default != undefined) {\r\n // return firebase.default.initializeApp(appConfig.firebase)\r\n // }\r\n return firebase.initializeApp(appConfig.firebase)\r\n }\r\n throw new Error(\r\n `SDK configuration error: Firebase is not configured properly`\r\n );\r\n}\r\n\r\nexport function getConfig(): Config {\r\n return config;\r\n}\r\n","import Cookies from \"js-cookie\";\n// import type { NextPageContext } from \"next\";\n// import { parseCookies } from \"nookies\";\nimport { getConfig } from \"../config\";\n\nexport const getCookie = (\n\tkey = getConfig().tokenKey,\n): string | undefined => {\n\t// console.log(Cookies.get(key));\n\tif (key) return Cookies.get(key);\n\treturn \"\";\n};\n\nexport const isAuth = () => !!getCookie();\n\n// export const getServerSideToken = (ctx: NextPageContext) => {\n// \tconst { token } = parseCookies(ctx);\n// \treturn token;\n// };\n","import CryptoJS from \"crypto-js\";\n\n/**\n * Function to set encryption key\n * @param {string} key - encryption key name\n * @param {string} value string value to be set as encryption key\n */\nexport function setEncryptionKey(key: string, value: string) {\n\tif (key && value) {\n\t\tconst sha256Key = CryptoJS.SHA256(key).toString();\n\t\t// console.log('setting key: ', key, value);\n\t\tconst sha256Data = CryptoJS.SHA256(value).toString();\n\n\t\tlocalStorage.setItem(sha256Key, JSON.stringify(sha256Data));\n\t} else {\n\t\tconsole.error(\"No data provided\");\n\t}\n}\n\n/**\n * function to get the encryption key\n * @param {string} - name of the key to get encryption key for\n * @returns {string}\n */\n// eslint-disable-next-line consistent-return\nexport function getEncryptionKey(key: string) {\n\ttry {\n\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n\t\t// console.log('getting key: ', key, localStorage.getItem(shaKey));\n\t\treturn localStorage.getItem(shaKey);\n\t} catch (err) {\n\t\tconsole.error(\"something went wrong man hoho\");\n\t}\n}\n\nexport function daysCountInMonth(month: number, year: number) {\n\treturn new Date(year, month, 0).getDate();\n}\n\n/**\n * Funtion to store data in local storage\n * Pass second argument as true if setting data for employee side\n * @param {string} key key for the value to be stored\n * @param {*} data actual data to be stored with the provided key\n * @param {boolean} [useEmployeeKey] - flag to decide which encyption key to use, (employee's or admin's)\n */\nexport function setDataInStorage(key: string, data: string | object) {\n\t// Encrypt key\n\tconst shaKey = CryptoJS.SHA256(key).toString();\n\n\tconst encKeyName = \"account_key\";\n\n\tconst encryptionKey = getEncryptionKey(encKeyName);\n\n\t// console.log('setting data: ', encryption_key, key, shaKey, data);\n\n\tif (encryptionKey) {\n\t\t// Encrypt data\n\t\tconst dataCipher = CryptoJS.AES.encrypt(\n\t\t\tJSON.stringify(data),\n\t\t\tencryptionKey,\n\t\t).toString();\n\n\t\tlocalStorage.setItem(shaKey, JSON.stringify(dataCipher));\n\t}\n}\n\n/**\n * Function to get data from local storage\n * Pass second argument as true if getting data for employee side\n * @param {string} key - key of the item to fetch from local storage\n * @param {boolean} [useEmployeeKey] - flag to decide which encyption key to use, (employee's or admin's)\n * @returns {*} value associated with the key\n */\n// eslint-disable-next-line consistent-return\nexport function getDataFromStorage(key: string) {\n\ttry {\n\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n\n\t\tconst encKeyName = \"account_key\";\n\n\t\tconst encryptionKey = getEncryptionKey(encKeyName);\n\n\t\t// console.log(\n\t\t// 'from getting data: ',\n\t\t// key,\n\t\t// 'encryption-key',\n\t\t// typeof encryption_key,\n\t\t// encryption_key\n\t\t// );\n\t\tif (encryptionKey && shaKey) {\n\t\t\tconst ciphertext = JSON.parse(String(localStorage.getItem(shaKey)));\n\t\t\tif (ciphertext) {\n\t\t\t\t// Decrypt\n\t\t\t\tconst bytes = CryptoJS.AES.decrypt(ciphertext, encryptionKey);\n\t\t\t\tconst originalData = bytes.toString(CryptoJS.enc.Utf8);\n\t\t\t\t// console.log('getting data: ', key, shaKey, originalData);\n\t\t\t\treturn JSON.parse(originalData);\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t// console.error('Error getting data from storage boi boi');\n\t}\n}\n\n/**\n * Function to clear items from local storage\n * @param {(string|string[])} keys - key to remove or array of keys\n */\n// export function clearStorage(keys: string[]) {\n// \ttry {\n// \t\tif (Array.isArray(keys)) {\n// \t\t\tkeys.forEach((key) => {\n// \t\t\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n// \t\t\t\tlocalStorage.removeItem(shaKey);\n// \t\t\t});\n// \t\t} else if (typeof keys === \"string\") {\n// \t\t\tconst shaKey = CryptoJS.SHA256(keys).toString();\n// \t\t\tlocalStorage.removeItem(shaKey);\n// \t\t}\n// \t} catch (err) {\n// \t\tconsole.error(\"Error clearing storage\", err);\n// \t}\n// }\nexport function clearStorage(keys: string[]) {\n\ttry {\n\t\tif (Array.isArray(keys)) {\n\t\t\tfor (const key of keys) {\n\t\t\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n\t\t\t\tlocalStorage.removeItem(shaKey);\n\t\t\t}\n\t\t} else if (typeof keys === \"string\") {\n\t\t\tconst shaKey = CryptoJS.SHA256(keys).toString();\n\t\t\tlocalStorage.removeItem(shaKey);\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(\"Error clearing storage\", err);\n\t}\n}\n","export const SITE_NAME = \"Helpdice\";\nexport const TOKEN_KEY = \"access-token\";\nexport const REFRESH_TOKEN_KEY = \"refresh-token\";\nexport const TOKEN_THRESHOLD_KEY = \"access-token-threshold\";\n\nexport const AD_CLIENT = \"ca-pub-7034818195807373\";\n\n/* eslint-disable */\nexport const EMAIL_REGEX =\n\t/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\nexport const PASSWORD_REGEX = /.{8,}/;\n/* eslint-enable */\n","import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport axios from \"axios\";\n\nimport {\n\tREFRESH_TOKEN_KEY,\n\tTOKEN_KEY,\n\t// TOKEN_THRESHOLD_KEY,\n} from \"./constants\";\n\n// import { handleItem, setThreshold } from './local-storage';\n// import { handleItem, setThreshold } from './local-storage';\nimport type { AuthRequest, SignupRequest } from \"../auth/types\";\nimport { getCookie } from \"../utils/auth\";\nimport { getConfig } from \"./index\";\nimport validateConfig from \"./validate\";\n\nfunction YYYY_MM_DD(timestamp: number | string) {\n const date = new Date(timestamp);\n\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n\n return `${year}-${month}-${day}`;\n}\n\nexport function createAxiosWithRetry(\n retries = 3,\n retryDelay = 500\n): AxiosInstance {\n const instance = axios.create();\n\n instance.interceptors.response.use(\n (res) => res,\n async (error) => {\n let config = error.config;\n\n if (!config || !retries) return Promise.reject(error);\n\n config.__retryCount = config.__retryCount || 0;\n\n if (config.__retryCount >= retries) {\n return Promise.reject(error);\n }\n\n config.__retryCount++;\n\n // Exponential backoff\n const delay = retryDelay * Math.pow(2, config.__retryCount);\n\n await new Promise((resolve) => setTimeout(resolve, delay));\n\n return instance(config);\n }\n );\n return instance;\n}\n\nexport const http = axios.create({\n\twithCredentials: true,\n\theaders: {\n\t\t\"Access-Control-Allow-Origin\": \"*\",\n\t\t\"Content-Type\": \"application/json\",\n\t},\n});\n\nhttp.interceptors.request.use((config) => {\n\tvalidateConfig(['apiKey', 'apiUrl']);\n\tconst { apiUrl } = getConfig();\n\tconfig.baseURL = apiUrl;\n\tif (config.headers) {\n\t\tconfig.headers[\"Content-Type\"] = \"application/json\";\n\t\tconfig.headers['TODAY'] = YYYY_MM_DD(Date.now());\n\t\tconfig.headers.Authorization = `Bearer ${getCookie()}` || \"\";\n\t\tconfig.headers[\"HB-API-KEY\"] =\n\t\t\t`Bearer ${getConfig().apiKey}` || \"\";\n\t}\n\treturn config;\n}, Promise.reject);\n\nexport const post = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.post(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const put = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.put(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const get = (\n\tendpoint: string,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> => {\n\t// console.log('Get Request Config :', config);\n\treturn new Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.get(endpoint, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n};\n\nexport const patch = <T>(endpoint: string, data: T): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.patch(endpoint, data)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response.data)),\n\t);\n\nexport const login = (data: AuthRequest): Promise<AxiosResponse> =>\n\tpost(\"passport/basic/login\", data);\n\nexport const logout = (): Promise<AxiosResponse> => post(\"user/logout\");\n\nexport const passwordReset = (\n\tdata: Partial<AuthRequest>,\n): Promise<AxiosResponse> => post(\"user/reset-password\", data);\n\nexport const signup = (data: SignupRequest): Promise<AxiosResponse> =>\n\tpost(\"passport/basic/signup\", data);\n\n\n\n/* ======================================================================================================= */\n/* ------------------------------------ For Linkie App --------------------------------------------------- */\n/* ======================================================================================================= */\n\nexport const chttp = axios.create({\n\twithCredentials: true,\n\theaders: {\n\t\t\"Access-Control-Allow-Origin\": \"*\",\n\t\t\"Content-Type\": \"application/json\",\n\t},\n});\n\nchttp.interceptors.request.use((config) => {\n\tvalidateConfig(['apiKey', 'tokenKey', 'linkieUrl']);\n\tconst { linkieUrl } = getConfig();\n\tconfig.baseURL = linkieUrl;\n\tif (config.headers) {\n\t\tconfig.headers[\"Content-Type\"] = \"application/json\";\n\t\tconfig.headers['TODAY'] = YYYY_MM_DD(Date.now());\n\t\tconfig.headers.Authorization = localStorage.getItem(TOKEN_KEY) || \"\";\n\t\tconfig.headers[\"HB-API-KEY\"] = `Bearer ${getConfig().apiKey}` || \"\";\n\t}\n\treturn config;\n}, Promise.reject);\n\n\n// chttp.interceptors.response.use(\n// \t(response) => response,\n// \tasync (error) => {\n// \t\tif (error.code === \"ERR_NETWORK\") {\n// \t\t\treturn Promise.reject(error);\n// \t\t}\n\n// \t\tconst refreshToken = localStorage.getItem(REFRESH_TOKEN_KEY);\n\n// \t\tif (!refreshToken) {\n// \t\t\treturn Promise.reject(error);\n// \t\t}\n\n// \t\t// const originalRequest = error.config;\n\n// \t\t// if (error.response.status === 401 && !originalRequest._retry) {\n// \t\t// originalRequest._retry = true;\n\n// \t\t// if (http.defaults.headers) {\n// \t\t// http.defaults.headers.Authorization = `Bearer ${refreshToken}`;\n// \t\t// }\n\n// \t\t// try {\n// \t\t// const res = await post('auth/token');\n// \t\t// const { access_token, threshold } = res.data;\n\n// \t\t// // handleItem(TOKEN_KEY, access_token);\n// \t\t// // handleItem(TOKEN_THRESHOLD_KEY, setThreshold(threshold));\n\n// \t\t// if (http.defaults.headers) {\n// \t\t// http.defaults.headers.Authorization = access_token;\n// \t\t// }\n// \t\t// return await http(originalRequest);\n// \t\t// } catch (reason) {\n// \t\t// return Promise.reject(reason);\n// \t\t// }\n// \t\t// }\n\n// \t\treturn Promise.reject(error);\n// \t},\n// );\n\nexport const linkiePost = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tchttp\n\t\t\t.post(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\n\n/* ======================================================================================================= */\n/* ------------------------------------ For LMS App --------------------------------------------------- */\n/* ======================================================================================================= */\n\nexport const lhttp = axios.create({\n\twithCredentials: true,\n\theaders: {\n\t\t\"Access-Control-Allow-Origin\": \"*\",\n\t\t\"Content-Type\": \"application/json\",\n\t},\n});\n\nlhttp.interceptors.request.use((config) => {\n\tvalidateConfig(['apiKey', 'tokenKey', 'lmsUrl']);\n\tlet reqConfig = null;\n\tconst { lmsUrl, lmsRequestInceptor } = getConfig();\n\tconfig.baseURL = lmsUrl;\n\t// if (config.headers) {\n\t// \tconfig.headers[\"Content-Type\"] = \"application/json\";\n\t// \tconfig.headers['TODAY'] = YYYY_MM_DD(Date.now());\n\t// \tconfig.headers.Authorization = localStorage.getItem(TOKEN_KEY) || \"\";\n\t// \tconfig.headers[\"HB-API-KEY\"] = `Bearer ${getConfig().apiKey}` || \"\";\n\t// }\n\tif (lmsRequestInceptor) {\n\t\treqConfig = lmsRequestInceptor(config);\n\t} else {\n\t\treqConfig = config;\n\t}\n\treturn reqConfig;\n}, Promise.reject);\n\nlhttp.interceptors.response.use(\n (response: AxiosResponse): AxiosResponse => {\n\tlet resConfig = null;\n\tconst { lmsResponseInterceptor } = getConfig();\n\tif (lmsResponseInterceptor) {\n\t\tresConfig = lmsResponseInterceptor(response);\n\t} else {\n\t\tresConfig = response;\n\t}\n return resConfig;\n },\n async (error: AxiosError): Promise<any> => {\n\tlet resError = null;\n\tconst { lmsErrorInterceptor } = getConfig();\n\tif (lmsErrorInterceptor) {\n\t\tresError = lmsErrorInterceptor(error);\n\t} else {\n\t\tresError = error;\n\t}\n return Promise.reject(resError);\n }\n);\n\nexport const lmsPost = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.post(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const lmsPut = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.put(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const lmsGet = (\n\tendpoint: string,\n\tconfig?: AxiosRequestConfig<unknown>\n): Promise<AxiosResponse> => {\n\t// console.log('Get Request Config :', config);\n\treturn new Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.get(endpoint, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n};\n\nexport const lmsPatch = <T>(endpoint: string, data: T): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.patch(endpoint, data)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response.data)),\n\t);\n\nexport const App = {\n\tget,\n\tpost,\n\tput,\n\tpatch\n};\n","import type { AxiosResponse } from \"axios\";\n\n// Define the type for the callbacks object\nexport interface Callbacks {\n\tonFetching?: () => void;\n\tonSuccess?: (response: {\n\t\tdata: object;\n\t\tstatus: number;\n\t\tstatusText: string;\n\t}) => void;\n\tonError?: (error: string) => void;\n\tonSettled?: () => void;\n}\n\n// The fetchDataWithCallbacks function that accepts a Promise and a callbacks object\nasync function handler(promise: Promise<AxiosResponse>, callbacks?: Callbacks) {\n\t// Destructure callbacks from the object\n\tconst { onFetching, onSuccess, onError, onSettled } = callbacks ?? {};\n\n\t// Call the onFetching callback before making the request\n\tif (onFetching) onFetching();\n\n\t// Handle the Promise passed as an argument\n\tpromise\n\t\t.then(\n\t\t\t(response: {\n\t\t\t\tdata: object;\n\t\t\t\tstatus: number;\n\t\t\t\tstatusText: string;\n\t\t\t}) => {\n\t\t\t\t// Call the onSuccess callback if the Promise resolves successfully\n\t\t\t\tif (onSuccess)\n\t\t\t\t\tonSuccess({\n\t\t\t\t\t\tdata: response.data,\n\t\t\t\t\t\tstatus: response.status,\n\t\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\t});\n\t\t\t},\n\t\t)\n\t\t.catch((error) => {\n\t\t\t// Call the onError callback if the Promise is rejected\n\t\t\tif (onError) onError(error);\n\t\t})\n\t\t.finally(() => {\n\t\t\t// Call the onSettled callback after the Promise is settled\n\t\t\tif (onSettled) onSettled();\n\t\t});\n}\n\nexport default handler;\n","const account = {\n\tv1: {\n\t\tprofile: \"profile\",\n\t\tverify_subscription: \"subscription/status\"\n\t},\n};\n\nexport default account;\n","const accounting = {\n\tv1: {\n\t\titem: \"item\",\n\t\titems: \"items\",\n\t\tinvoice: \"invoice\",\n\t\tsubmit_invoice: \"invoice/submit\",\n\t\tinvoices: \"invoices\",\n\t\titem_categories: \"item/category\",\n\t\titem_brands: \"item/brand\",\n\t},\n};\n\nexport default accounting;\n","const assets = {\n\tv1: {\n\t\timagePlaceholder: \"images/image-placeholder.webp\",\n\t\tavatar: \"images/avatar.webp\",\n\t},\n};\n\nexport default assets;\n","const auth = {\n\tv1: {\n\t\tsignin: \"signin\",\n\t\tregister: \"signup\",\n\t\tsignup: \"register\",\n\t\tlogout: \"logout\",\n\t\tauth_with_token: \"authenticate\",\n\t\tauth_with_key: \"verify\",\n\t\treset_password: \"recovery-password\",\n\t\tchange_password: \"change-password\"\n\t},\n};\n\nexport default auth;\n","const cms = {\n\tv1: {\n\t\tarticle: \"article\",\n\t\tarticles: \"articles\",\n\t\tarticleCategories: \"article/categories\",\n\t\tmcq: \"mcq\",\n\t\tmcqs: \"mcqs\",\n\t\tall_mcqs: \"mcqs/all\",\n\t\tmcqCategories: \"mcq/categories\",\n\t\tqna: \"qna\",\n\t\tqnas: \"qnas\",\n\t\tqnaCategories: \"qna/categories\",\n\t},\n};\n\nexport default cms;\n","const hr = {\n\tv1: {\n\t\tjob: \"job\",\n\t\tjobs: \"jobs\",\n\t\tresume: \"resume\"\n\t},\n};\n\nexport default hr;\n","const inventory = {\n\tv1: {\n\t\tstore: \"store\",\n\t\tstore_products: \"store/products\",\n\t},\n};\n\nexport default inventory;\n","const linkie = {\n\tv1: {\n\t\tshorten: \"shorten\",\n\t},\n};\n\nexport default linkie;\n","const lms = {\n\tv1: {\n\t\tcourses: \"courses\",\n\t\tmodule: \"courses/module\",\n\t\tmodules: \"courses/modules\",\n\t\tcourseSlug: \"courses/slug\",\n\t\tprogress: \"courses/progress\",\n\t\tsession: \"session\",\n\t\tcourse: \"courses/course\",\n\t\tmyCourses: \"enrollments/my-courses\",\n\t\tenrollCourse: \"enrollments\",\n\t\tgetEnrollStudents: \"enrollments/course\"\n\t}\n};\n\nexport default lms;\n","const payment = {\n\tv1: {\n\t\tcreate: \"\",\n\t\tverify: \"verify\",\n\t},\n};\n\nexport default payment;\n","const sales = {\r\n\tv1: {\r\n\t\taddLead: \"lead\"\r\n\t},\r\n};\r\n\r\nexport default sales;\r\n","const support = {\n\tv1: {\n\t\tticket: \"ticket\",\n\t\ttickets: \"tickets\",\n\t\tnewsletter: \"newsletter\",\n\t\tfeedback: \"feedback\"\n\t}\n};\n\nexport default support;\n","const tools = {\n\tv1: {\n\t\texchangeRates: \"exchange-rates\",\n\t},\n};\n\nexport default tools;\n","import account from \"../account/endpoint\";\nimport accounting from \"../accounting/endpoint\";\nimport assets from \"../assets/endpoint\";\nimport auth from \"../auth/endpoint\";\nimport cms from \"../content/endpoint\";\nimport hr from \"../hr/endpoint\";\nimport inventory from \"../inventory/endpoint\";\nimport linkie from \"../linkie/endpoint\";\nimport lms from \"../lms/endpoint\";\nimport payment from \"../payment/endpoint\";\nimport sales from \"../sales/endpoint\";\nimport support from \"../support/endpoint\";\nimport tools from \"../tools/endpoint\";\n\ninterface CategoryUrls {\n\t[version: string]: {\n\t\t[action: string]: string;\n\t};\n}\n\ninterface Urls {\n\t[category: string]: CategoryUrls;\n}\n\nconst urls: Urls = {\n\tauth,\n\tcms,\n\taccount,\n\taccounting,\n\tsupport,\n\tassets,\n\tpayment,\n\tinventory,\n\ttools,\n\tsales,\n\tlinkie,\n\thr,\n\tlms\n};\n\n// Function to get the URL dynamically based on category, version, and action\nexport function getUrl(\n\tcategory: string,\n\tversion: string,\n\taction: string,\n\tomitCategory: boolean = false\n): string {\n\tconst categoryData = urls[category]; // Access the correct category dynamically\n\tif (categoryData) {\n\t\tconst versionData = categoryData[version]; // Access the correct version dynamically\n\t\t// console.log(versionData?.[action]);\n\t\tif (versionData !== undefined) {\n\t\t\t// console.log(versionData[action]);\n\t\t\tif (omitCategory) {\n\t\t\t\treturn `/api/${version}/${versionData[action]}`;\n\t\t\t}\n\t\t\treturn `/api/${version}/${category}/${versionData[action]}`; // Construct the URL\n\t\t}\n\t\tthrow new Error(\n\t\t\t`Invalid action: ${action} for version: ${version} in category: ${category}`,\n\t\t);\n\t}\n\tthrow new Error(`Invalid category: ${category}`);\n}\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport { clearStorage, getDataFromStorage } from \"../utils/localStorage\";\n\nconst logout = (\n\tdata: { data?: unknown },\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: unknown };\n\t},\n) => {\n\treturn handler(\n\t\tpost(\n\t\t\tgetUrl(\"auth\", \"v1\", \"logout\"),\n\t\t\t{ ...data, fcm_token: getDataFromStorage(\"fcm_token\") },\n\t\t\tconfig,\n\t\t),\n\t\t{\n\t\t\tonFetching: () => onFetching?.(),\n\t\t\tonError: (error) => onError?.(error),\n\t\t\tonSuccess: (data) => {\n\t\t\t\tclearStorage([\"accountAccessToken\", \"accountInfo\", \"account_key\"]);\n\t\t\t\tonSuccess?.(data);\n\t\t\t\twindow.location.href = \"/\";\n\t\t\t},\n\t\t\tonSettled: () => onSettled?.(),\n\t\t},\n\t);\n};\n\nexport default logout;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { AuthRequestParams, SignupRequest } from \"./types\";\n\nconst register = (\n\tdata: SignupRequest,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"register\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default register;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { AuthRequestParams, SignupRequest } from \"./types\";\n\nconst signup = (\n\tdata: SignupRequest,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"signup\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default signup;\n","// import signin from \"./signin\";\nimport { GoogleAuthProvider, getAuth, signInWithPopup } from \"firebase/auth\";\nimport signup from \"./signup\";\nimport { getFirebase } from \"../config/index\";\n\ntype SignInGoogleProps = {\n\tonFetching?: () => void;\n\tonSuccess?: (data: object) => void;\n\tonError?: (error: unknown | string) => void;\n\tonSettled?: () => void;\n};\n\n// Function to handle Google Sign-In\nasync function signInWithGoogle({\n\tonSuccess,\n\tonError,\n\tonFetching,\n\tonSettled,\n}: SignInGoogleProps): Promise<void> {\n\ttry {\n\t\tconst provider = new GoogleAuthProvider();\n\t\tconst auth = getAuth(getFirebase());\n\t\tsignInWithPopup(auth, provider)\n\t\t\t.then((result) => {\n\t\t\t\t// This gives you a Google Access Token. You can use it to access the Google API.\n\t\t\t\tconst credential = GoogleAuthProvider.credentialFromResult(result);\n\t\t\t\t// const token = credential?.accessToken;\n\t\t\t\t// The signed-in user info.\n\t\t\t\tconst user = result.user;\n\t\t\t\t// console.log(user);\n\t\t\t\treturn signup(\n\t\t\t\t\t{\n\t\t\t\t\t\tprovider: \"Google\",\n\t\t\t\t\t\tuid: user.uid,\n\t\t\t\t\t\tname: String(user.displayName),\n\t\t\t\t\t\temail: String(user.email),\n\t\t\t\t\t\tusername: String(user.email),\n\t\t\t\t\t\tpassword: user.uid.substring(0, user.uid.length / 2),\n\t\t\t\t\t\t// token: token,\n\t\t\t\t\t\ttoday: new Date(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tonFetching: () => onFetching?.(),\n\t\t\t\t\t\tonError: (error) => onError?.(error),\n\t\t\t\t\t\tonSuccess: (data) => onSuccess?.(data),\n\t\t\t\t\t\tonSettled: () => onSettled?.(),\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tonError?.(error);\n\t\t\t\treturn Promise.reject(\"Something Went Wrong\");\n\t\t\t\t// Handle Errors here.\n\t\t\t\t// const errorCode = error.code;\n\t\t\t\t// const errorMessage = error.message;\n\t\t\t\t// The email of the user's account used.\n\t\t\t\t// const email = error.customData.email;\n\t\t\t\t// The AuthCredential type that was used.\n\t\t\t\t// const credential = GoogleAuthProvider.credentialFromError(error);\n\t\t\t\t// ...\n\t\t\t});\n\t} catch (err) {\n\t\tonError?.(err);\n\t}\n}\n\nexport default signInWithGoogle;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { AuthRequest, AuthRequestParams } from \"./types\";\n\nconst signin = (\n\tdata: AuthRequest,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"signin\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default signin;\n","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { TokenRequest, AuthRequestParams } from \"./types\";\r\n\r\nconst authWithToken = (\r\n\tdata: TokenRequest,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"auth_with_token\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default authWithToken;","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { APIRequest, AuthRequestParams } from \"./types\";\r\n\r\nconst authWithKey = (\r\n\tdata: APIRequest,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"auth_with_key\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default authWithKey","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { AuthRequest, AuthRequestParams } from \"./types\";\r\n\r\nconst resetPassword = (\r\n data: AuthRequest,\r\n {\r\n config,\r\n onFetching,\r\n onSuccess,\r\n onError,\r\n onSettled,\r\n }: {\r\n onFetching?: () => void;\r\n onSuccess?: (data: object) => void;\r\n onError?: (error: string) => void;\r\n onSettled?: () => void;\r\n config?: { params: AuthRequestParams };\r\n },\r\n) => {\r\n return handler(post(getUrl(\"auth\", \"v1\", \"reset_password\"), data, config), {\r\n onFetching: () => onFetching?.(),\r\n onError: (error) => onError?.(error),\r\n onSuccess: (data) => onSuccess?.(data),\r\n onSettled: () => onSettled?.(),\r\n });\r\n};\r\n\r\nexport default resetPassword;\r\n","import cookie from \"js-cookie\";\nimport { jwtDecode } from \"jwt-decode\";\n// import type { NextPageContext } from \"next\";\nimport { getConfig } from \"../config/index\";\nimport { isAuth } from \"../utils/auth\";\nimport {\n\tgetDataFromStorage,\n\tsetDataInStorage,\n\tsetEncryptionKey,\n} from \"../utils/localStorage\";\nimport logout from \"./logout\";\nimport register from \"./register\";\nimport signInWithGoogle from \"./signInWithGoogle\";\nimport signIn from \"./signin\";\nimport signUp from \"./signup\";\nimport validateConfig from \"../config/validate\";\nimport authWithToken from \"./authWithToken\";\nimport authWithKey from \"./authWithKey\";\nimport resetPassword from \"./resetPassword\";\n\nconst Auth = {\n\tsignIn,\n\tsignUp,\n\tregister,\n\tresetPassword,\n\tsignInWithGoogle,\n\tsaveTokenToCookie: (token: string) => {\n\t\tvalidateConfig(['tokenKey']);\n\t\tconst { tokenKey } = getConfig();\n\t\tif (tokenKey) {\n\t\t\tcookie.set(tokenKey, token, { expires: 900000 });\n\t\t}\n\t\twindow.location.href = \"/\";\n\t},\n\tsaveTokenToStorage: (token: string) => {\n\t\tconst accountInfo: {\n\t\t\t_id: string;\n\t\t\tcreatedAt: string;\n\t\t} = jwtDecode(token);\n\t\tif (accountInfo) {\n\t\t\tsetEncryptionKey(\"account_key\", accountInfo._id + accountInfo.createdAt);\n\t\t\tsetDataInStorage(\"accountAccessToken\", token);\n\t\t\tsetDataInStorage(\"accountInfo\", accountInfo);\n\t\t}\n\t},\n\tgetTokenFromStorage: () => {\n\t\treturn getDataFromStorage(\"accountAccessToken\");\n\t},\n\tgetUserFromStrorage: () => {\n\t\treturn getDataFromStorage(\"accountInfo\");\n\t},\n\t/**\n\t * Action to update stored admin info in the redux\n\t * @param {string | object} key key or an object with key: value of the fields to be updated\n\t * @param {any} value value of the field to be updated (only if the key passed is of type string)\n\t */\n\tupdateUserInfo: (key?: string | object, value?: any) => () => {\n\t\tconsole.log(\"typeof key: \", typeof key, key);\n\t\ttry {\n\t\t\t// console.log(key);\n\t\t\tconst accountInfo = getDataFromStorage(\"accountInfo\");\n\t\t\tif (typeof key === \"object\") {\n\t\t\t\tlet updatedInfo = { ...accountInfo };\n\t\t\t\t// for..of\n\t\t\t\tfor (const [ky, value] of Object.entries(key)) {\n\t\t\t\t\tupdatedInfo = { ...updatedInfo, [ky]: value };\n\t\t\t\t}\n\t\t\t\t// console.log(updatedInfo);\n\t\t\t\tsetDataInStorage(\"accountInfo\", updatedInfo);\n\t\t\t} else if (typeof key === \"string\") {\n\t\t\t\tif (value) {\n\t\t\t\t\tsetDataInStorage(\"accountInfo\", { ...accountInfo, [key]: value });\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\"Value is not provided for the given key to update admin info\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(\"update logo action \", error);\n\t\t}\n\t},\n\tisAuthenticated: (cookie?: boolean) => {\n\t\tif (cookie) {\n\t\t\treturn isAuth();\n\t\t}\n\t\treturn getDataFromStorage(\"accountAccessToken\") !== undefined;\n\t},\n\t// getServerToken: (ctx: NextPageContext) => getServerSideToken(ctx),\n\tlogout,\n\tServer: {\n\t\tauthWithToken,\n\t\tauthWithKey\n\t}\n};\n\nexport default Auth;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Order } from \"./types\";\n\nconst create = (\n\tdata: Order,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: object;\n\t},\n) => {\n\treturn handler(post(getUrl(\"order\", \"v1\", \"create\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default create;\n","import create from \"./create\";\n\nconst Order = {\n\tcreate,\n};\n\nexport default Order;\n","import type { AxiosResponse } from \"axios\";\n\n// Define type for the handler options\ninterface AxiosRequestHandlerOptions {\n\tdebug?: boolean,\n\tpromise: Promise<AxiosResponse<any>>; // The promise that resolves with Axios response\n\tonLoading?: (isLoading: boolean) => void; // Callback to show/hide loading state\n\tonSuccess?: (data: any) => void; // Callback for success response\n\tonError?: (error: any, response?: any) => void; // Callback for error response\n\tonSettled?: () => void; // Callback for when request finishes (either success or failure)\n\tonProgress?: (progress: string) => void; // Callback for progress updates\n}\n\nconst handler = ({\n\tdebug = false,\n\tpromise,\n\tonLoading = () => {},\n\tonSuccess = () => {},\n\tonError = () => {},\n\tonSettled = () => {},\n\tonProgress = () => {},\n}: AxiosRequestHandlerOptions): void => {\n\t// Call onLoading at the start to show loading state\n\tonLoading(true);\n\n\t// Handling the passed promise\n\tpromise\n\t\t.then((response: AxiosResponse) => {\n\t\t\tonLoading(false);\n\t\t\t// Show success state\n\t\t\tif (debug) {\n\t\t\t\tconsole.log(\"Request Success:\", response);\n\t\t\t}\n\t\t\t// Execute success callback if provided\n\t\t\tif (onSuccess) {\n\t\t\t\tonSuccess(response);\n\t\t\t}\n\t\t})\n\t\t.catch((error: any) => {\n\t\t\tonLoading(false);\n\n\t\t\t// Show error state\n\t\t\tif (debug) {\n\t\t\t\tconsole.error(\"Request Error:\", error?.response);\n\t\t\t}\n\n\t\t\t// Execute error callback if provided\n\t\t\tif (onError) {\n\t\t\t\tonError(error, error?.response);\n\t\t\t}\n\t\t})\n\t\t.finally(() => {\n\t\t\t// Execute settled callback (on success or error)\n\t\t\tif (onSettled) {\n\t\t\t\tonSettled();\n\t\t\t}\n\n\t\t\t// Call onLoading to hide loading indicator after completion\n\t\t\tonLoading(false);\n\n\t\t\t// Hide loading indicator\n\t\t\tconsole.log(\"Request Completed\");\n\t\t});\n};\n\nexport default handler;\n","import type { AxiosRequestConfig } from \"axios\";\nimport { post } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport handler from \"../utils/handler\";\n\n// Optional: if you have defined Order/VerifyPayment types\n// import type { Order } from \"../order/types\";\n// import type { VerifyPayment } from \"./types\";\n\ndeclare global {\n\tinterface Window {\n\t\tRazorpay: any; // Ideally, use proper types from @types/razorpay\n\t}\n}\n\ninterface PaymentData {\n\tamount: number;\n\tcurrency: string;\n\tpaymentService: string;\n\t[key: string]: any;\n}\n\ninterface StartOptions {\n\tconfig?: AxiosRequestConfig | null;\n\tonLoading?: (isLoading: boolean) => void;\n\tonSuccess?: (data: any) => void;\n\tonError?: (error: any) => void;\n\tonSettled?: () => void;\n}\n\nfunction start(\n\tdata: PaymentData,\n\t{\n\t\tconfig = null,\n\t\tonLoading = () => { },\n\t\tonSuccess = () => { },\n\t\tonError = () => { },\n\t\tonSettled = () => { },\n\t}: StartOptions = {},\n) {\n\treturn handler({\n\t\tpromise: post(\n\t\t\tgetUrl(\"payment\", \"v1\", \"create\"),\n\t\t\t{\n\t\t\t\t...data,\n\t\t\t\tmethod: {\n\t\t\t\t\tlabel: data.paymentService,\n\t\t\t\t\tcurrency: data.currency,\n\t\t\t\t},\n\t\t\t},\n\t\t\tconfig || undefined,\n\t\t),\n\t\tonLoading,\n\t\tonError: (error) => onError(error),\n\t\tonSuccess: (responseData: any) => {\n\t\t\tconsole.log(responseData);\n\t\t\tif (responseData?.method === \"Razor Pay\") {\n\t\t\t\tconst options = responseData.options;\n\t\t\t\toptions.handler = async (response: any) => {\n\t\t\t\t\tonSuccess(response);\n\t\t\t\t};\n\t\t\t\tconst rzp1 = new window.Razorpay(options);\n\t\t\t\trzp1.on(\"payment.failed\", (response: any) => {\n\t\t\t\t\tonError(response);\n\t\t\t\t});\n\t\t\t\trzp1.open();\n\t\t\t} else if (responseData?.method === \"Paypal\") {\n\t\t\t\tconsole.log('Paypal response data :', responseData);\n\t\t\t\twindow.location.href = responseData.links[1].href;\n\t\t\t}\n\t\t},\n\t\tonSettled,\n\t});\n}\n\nexport default start;\n","import type { AxiosRequestConfig } from \"axios\";\nimport { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { SuccessProps } from \"./types\";\nimport type { VerifyPayment } from \"./types\";\n\nconst verify = (\n\tdata: VerifyPayment,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: SuccessProps) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: AxiosRequestConfig<unknown>;\n\t},\n) => {\n\treturn handler(post(getUrl(\"payment\", \"v1\", \"verify\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default verify;\n","import start from \"./start\";\nimport verify from \"./verify\";\n\nconst Payment = {\n\tstart,\n\tverify,\n};\n\nexport default Payment;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\n\nconst Content = {\n\tarticle: (slug: string) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"article\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tarticles: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"articles\"), config),\n\tarticleCategories: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"articleCategories\"), config),\n\tmcq: (slug: string) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"mcq\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tmcqs: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"mcqs\"), config),\n\tallMcqs: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"all_mcqs\"), config),\n\tmcqsCategories: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"mcqCategories\"), config),\n\tqna: (slug: string) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"qna\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tqnas: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"qnas\"), config),\n\tqnasCategories: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"qnaCategories\"), config),\n};\n\nexport default Content;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Invoice } from \"./types\";\n\nconst createInvoice = (\n\tdata: Invoice,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"accounting\", \"v1\", \"invoice\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default createInvoice;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { SubmitInvoice } from \"./types\";\n\nconst submitInvoice = (\n\tdata: SubmitInvoice,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(\n\t\tpost(getUrl(\"accounting\", \"v1\", \"submit_invoice\"), data, config),\n\t\t{\n\t\t\tonFetching: () => onFetching?.(),\n\t\t\tonError: (error) => onError?.(error),\n\t\t\tonSuccess: (data) => onSuccess?.(data),\n\t\t\tonSettled: () => onSettled?.(),\n\t\t},\n\t);\n};\n\nexport default submitInvoice;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { put } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Invoice } from \"./types\";\n\nconst updateInvoice = (\n\tdata: Invoice,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(put(getUrl(\"accounting\", \"v1\", \"invoice\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default updateInvoice;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport createInvoice from \"./createInvoice\";\nimport submitInvoice from \"./submitInvoice\";\nimport updateInvoice from \"./updateInvoice\";\n\nconst Accounting = {\n\titem: (slug: string) =>\n\t\tget(getUrl(\"accounting\", \"v1\", \"item\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\titems: (config?: object | undefined) =>\n\t\tget(getUrl(\"accounting\", \"v1\", \"items\"), config),\n\tcreateInvoice,\n\tupdateInvoice,\n\tinvoices: (config?: object | undefined) =>\n\t\tget(getUrl(\"accounting\", \"v1\", \"invoices\"), config),\n\tsubmitInvoice,\n\titemCategories: () => get(getUrl(\"accounting\", \"v1\", \"item_categories\")),\n\titemBrands: () => get(getUrl(\"accounting\", \"v1\", \"item_brands\")),\n};\n\n\nexport type { Invoice, SubmitInvoice, PaymentInfo, Tax, Item } from \"./types\";\nexport default Accounting;\n","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\n\r\nconst feedback = (\r\n\tdata: unknown,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: unknown };\r\n\t},\r\n) => {\r\n\treturn handler(post(getUrl(\"support\", \"v1\", \"feedback\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default feedback;\r\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\n\nconst newsletter = (\n\tdata: unknown,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: unknown };\n\t},\n) => {\n\treturn handler(post(getUrl(\"support\", \"v1\", \"newsletter\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default newsletter;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\n\nconst ticket = (\n\tdata: unknown,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: unknown };\n\t},\n) => {\n\treturn handler(post(getUrl(\"support\", \"v1\", \"ticket\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default ticket;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport feedback from \"./feedback\";\nimport newsletter from \"./newsletter\";\nimport ticket from \"./ticket\";\n\nconst Support = {\n\tticket,\n\tnewsletter,\n\ttickets: (config?: object | undefined) =>\n\t\tget(getUrl(\"support\", \"v1\", \"tickets\"), config),\n\tfeedback\n};\n\nexport default Support;\n\n\n","import { getConfig } from \"../config/index\";\nimport { getUrl } from \"../config/route\";\n\nconst Assets = {\n\timages: {\n\t\timagePlaceholder: getConfig().apiUrl + getUrl(\"assets\", \"v1\", \"imagePlaceholder\"),\n\t\tavatar: getConfig().apiUrl + getUrl(\"assets\", \"v1\", \"avatar\"),\n\t},\n};\n\nexport default Assets;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { put } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Profile } from \"./types\";\n\nconst updateProfile = (\n\tdata: Profile,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(put(getUrl(\"account\", \"v1\", \"profile\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default updateProfile;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\n\r\nconst verifySubscription = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { param?: AuthRequestParams, signal?: any, timeout?: number };\r\n\t},\r\n) => {\r\n\treturn handler(get(getUrl(\"account\", \"v1\", \"verify_subscription\"), config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default verifySubscription;","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport updateProfile from \"./update_profile\";\nimport verifySubscription from \"./verify_subsciption\";\n\nconst Account = {\n\tprofile: (id: string) =>\n\t\tget(getUrl(\"account\", \"v1\", \"profile\"), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tupdateProfile,\n\tverifySubscription\n};\n\n\nexport type { Profile } from \"./types\";\nexport default Account;\n","export default function shareUrl(title: string, url: string) {\n\t// URL encoding to ensure special characters are handled properly\n\tconst encodedTitle = encodeURIComponent(title);\n\tconst encodedUrl = encodeURIComponent(url);\n\tconst target = \"_blank\";\n\tconst dimension = \"width=600,height=400\";\n\t// Social media share URLs\n\tconst shareLinks = {\n\t\tfacebook: `https://www.facebook.com/sharer/sharer.php?u=${encodedUrl}`,\n\t\ttwitter: `https://twitter.com/intent/tweet?text=${encodedTitle}&url=${encodedUrl}`,\n\t\tlinkedin: `https://www.linkedin.com/sharing/share-offsite/?url=${encodedUrl}`,\n\t\twhatsapp: `https://api.whatsapp.com/send?text=${encodedTitle} ${encodedUrl}`,\n\t\tpinterest: `https://www.pinterest.com/pin/create/button/?url=${encodedUrl}&description=${encodedTitle}`,\n\t};\n\n\treturn {\n\t\tfacebook: () => window.open(shareLinks.facebook, target, dimension),\n\t\ttwitter: () => window.open(shareLinks.twitter, target, dimension),\n\t\tlinkedin: () => window.open(shareLinks.linkedin, target, dimension),\n\t\twhatsapp: () => window.open(shareLinks.whatsapp, target, dimension),\n\t\tpinterest: () => window.open(shareLinks.pinterest, target, dimension),\n\t};\n}\n","import type { AxiosRequestConfig } from \"axios\";\r\nimport { post } from \"../config/axios\";\r\nimport { getUrl } from \"../config/route\";\r\nimport handler from \"../utils/handler\";\r\nimport type { Lead } from \"./types\";\r\n\r\ninterface StartOptions {\r\n\tconfig?: AxiosRequestConfig | null;\r\n\tonLoading?: (isLoading: boolean) => void;\r\n\tonSuccess?: (data: any) => void;\r\n\tonError?: (error: any) => void;\r\n\tonSettled?: () => void;\r\n}\r\n\r\nexport function addLead(\r\n\tdata: Lead,\r\n\t{\r\n\t\tconfig = null,\r\n\t\tonLoading = () => { },\r\n\t\tonSuccess = () => { },\r\n\t\tonError = () => { },\r\n\t\tonSettled = () => { },\r\n\t}: StartOptions = {},\r\n) {\r\n\treturn handler({\r\n\t\tpromise: post(\r\n\t\t\tgetUrl(\"sales\", \"v1\", \"addLead\"),\r\n\t\t\t{\r\n\t\t\t\t...data\r\n\t\t\t},\r\n\t\t\tconfig || undefined,\r\n\t\t),\r\n\t\tonLoading,\r\n\t\tonError: (error) => onError(error),\r\n\t\tonSuccess: (responseData: any) => {\r\n\t\t\tonSuccess(responseData);\r\n\t\t},\r\n\t\tonSettled,\r\n\t});\r\n}\r\n","import { addLead } from \"./lead\";\r\nimport { Lead, LeadSource, LeadStatus } from \"./types\";\r\n\r\nconst Sales = {\r\n\taddLead,\r\n};\r\n\r\nexport type { \r\n\tLeadSource,\r\n\tLeadStatus,\r\n\tLead\r\n}\r\n\r\nexport default Sales;","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\n\nconst Inventory = {\n\tgetStoreById: (id: string) =>\n\t\tget(getUrl(\"inventory\", \"v1\", \"store\"), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetStoreBySlug: (slug: string) =>\n\t\tget(getUrl(\"inventory\", \"v1\", \"store\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tgetStoreProducts: (\n\t\tslug: string,\n\t\tcategory: string,\n\t\tbrand: string,\n\t\tprice: string,\n\t\tsearch: string,\n\t) =>\n\t\tget(getUrl(\"inventory\", \"v1\", \"store_products\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t\tcategory,\n\t\t\t\tbrand,\n\t\t\t\tprice,\n\t\t\t\tsearch,\n\t\t\t},\n\t\t}),\n};\n\nexport default Inventory;\n","import { get, post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\n\nconst exchangeRates = (\n\tdata: unknown,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: {\n\t\t\tparams: {\n\t\t\t\tfrom?: string;\n\t\t\t\tto?: string;\n\t\t\t};\n\t\t};\n\t},\n) => {\n\treturn handler(get(getUrl(\"tools\", \"v1\", \"exchangeRates\"), config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default exchangeRates;\n\n// export async function convertCurrency(amount: number, fromCurrency?: string, toCurrency?: string) {\n// try {\n// const rates = await getExchangeRates(fromCurrency);\n// if (!rates[toCurrency]) {\n// throw new Error(`Currency ${toCurrency} is not available.`);\n// }\n// const convertedAmount = (amount * rates[toCurrency]).toFixed(2);\n// return convertedAmount;\n// } catch (error) {\n// console.error('Error converting currency:', error);\n// throw error;\n// }\n// }\n","import { AxiosProgressEvent } from \"axios\";\r\nimport { createAxiosWithRetry } from \"../config/axios\";\r\n\r\nexport async function uploadMultipleFiles(\r\n url: string,\r\n files: (File | Blob)[],\r\n onProgress?: (percent: number) => void\r\n) {\r\n const formData = new FormData();\r\n\r\n files.forEach((file, i) => {\r\n formData.append(\"files\", file); // name \"files\" must match backend\r\n });\r\n\r\n const axiosInstance = createAxiosWithRetry(3, 500);\r\n\r\n return axiosInstance.post(url, formData, {\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n onUploadProgress: (e: AxiosProgressEvent) => {\r\n if (!e.total) return;\r\n const percent = Math.round((e.loaded * 100) / e.total);\r\n onProgress?.(percent);\r\n },\r\n });\r\n}\r\n","import { AxiosProgressEvent } from \"axios\";\r\nimport { createAxiosWithRetry } from \"../config/axios\";\r\n\r\nexport async function uploadFile(\r\n url: string,\r\n file: File | Blob,\r\n onProgress?: (percent: number) => void\r\n) {\r\n const formData = new FormData();\r\n formData.append(\"file\", file);\r\n const axiosInstance = createAxiosWithRetry(3, 500);\r\n return axiosInstance.post(url, formData, {\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n onUploadProgress: (e: AxiosProgressEvent) => {\r\n if (e.total) {\r\n const percent = Math.round((e.loaded * 100) / e.total);\r\n onProgress?.(percent);\r\n }\r\n },\r\n });\r\n}","import exchangeRates from \"./exchangeRates\";\nimport { uploadMultipleFiles } from \"./uploadMultiple\";\nimport { uploadFile } from \"./uploadSingle\";\n\nconst Tools = {\n\texchangeRates,\n\tuploadFile,\n\tuploadMultipleFiles\n};\n\nexport default Tools;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { linkiePost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { ShortenRequest } from \"./types\";\r\n\r\nconst shortUrl = (\r\n\tdata: ShortenRequest,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(linkiePost(getUrl(\"linkie\", \"v1\", \"shorten\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default shortUrl;","// import cookie from \"js-cookie\";\n// import { jwtDecode } from \"jwt-decode\";\n// import type { NextPageContext } from \"next\";\n// import { getConfig } from \"../config/index\";\n// import { isAuth } from \"../utils/auth\";\n// import {\n// \tgetDataFromStorage,\n// \tsetDataInStorage,\n// \tsetEncryptionKey,\n// } from \"../utils/localStorage\";\nimport shortUrl from \"./shortUrl\";\n\nconst Linkie = {\n\tshortUrl\n};\n\nexport default Linkie;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getConfig } from \"../config\";\r\n\r\nconst getCities = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(get(`${getConfig().apisUrl}/api/countries/v1/city`, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default getCities;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getConfig } from \"../config\";\r\n\r\nconst getCountries = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(get(`${getConfig().apisUrl}/api/countries/v1`, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default getCountries;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getConfig } from \"../config/index\";\r\n\r\nconst getStates = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(get(`${getConfig().apisUrl}/api/countries/v1/state`, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default getStates;\r\n","import getCities from \"./cities\";\r\nimport getCountries from \"./countries\";\r\nimport getStates from \"./states\";\r\n\r\nconst Apis = {\r\n getCountries,\r\n getStates,\r\n getCities\r\n};\r\n\r\nexport default Apis;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\n\r\nconst addResume = (\r\n\tdata: any,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(post(getUrl(\"hr\", \"v1\", \"resume\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default addResume;\r\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { put } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Job } from \"./types\";\n\nconst postJob = (\n\tdata: Job,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t}\n) => {\n\treturn handler(put(getUrl(\"hr\", \"v1\", \"job\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default postJob;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport postResume from \"./add_resume\";\nimport postJob from \"./post_job\";\n\nconst Hr = {\n\tgetJobById: (id: string) =>\n\t\tget(getUrl(\"hr\", \"v1\", \"job\"), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetJobs: (title?: string, experience?: string, skills?: Array<string>, locations?: Array<string>) =>\n\t\tget(getUrl(\"hr\", \"v1\", \"jobs\"), {\n\t\t\tparams: {\n\t\t\t\ttitle,\n\t\t\t\texperience,\n\t\t\t\tskills,\n\t\t\t\tlocations,\n\t\t\t},\n\t\t}),\n\tpostJob,\n\tpostResume\n};\n\n\nexport type { Job } from \"./types\";\nexport default Hr;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPut } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { Enroll } from \"./types\";\r\n\r\nconst enrollCourse = (\r\n\tdata: Enroll,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPut(getUrl(\"lms\", \"v1\", \"enrollCourse\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default enrollCourse;\r\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { lmsPost } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Course } from \"./types\";\n\nconst postCourse = (\n\tdata: Course,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t}\n) => {\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"courses\", true), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default postCourse;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { Module } from \"./types\";\r\n\r\nconst postModule = (\r\n\tdata: Module,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"module\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default postModule;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { ModuleProgress } from \"./types\";\r\n\r\nconst postProgress = (\r\n\tdata: ModuleProgress,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"progress\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default postProgress;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { Session } from \"./types\";\r\n\r\nconst postSession = (\r\n\tdata: Session,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"session\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default postSession;\r\n","import { lmsGet } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport enrollCourse from \"./enroll_course\";\nimport postCourse from \"./post_course\";\nimport postModule from \"./post_module\";\nimport postProgress from \"./post_progress\";\nimport postSession from \"./post_session\";\n\nconst LMS = {\n\tgetCourseById: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"course\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetCourseBySlug: (slug: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"courseSlug\", true), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tgetCourses: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"courses\", true), {\n\t\t\tparams: {\n\t\t\t},\n\t\t}),\n\tgetModules: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"modules\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetMyCourses: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"myCourses\", true), {\n\t\t\tparams: {\n\t\t\t},\n\t\t}),\n\tgetEnrollStudents: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"getEnrollStudents\", true), {\n\t\t\tparams: {\n\t\t\t},\n\t\t}),\n\tgetCourseProgress: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"progress\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetUserSession: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"session\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tpostCourse,\n\tpostModule,\n\tpostProgress,\n\tenrollCourse,\n\tpostSession\n};\n\nexport type { Enroll } from \"./types\";\nexport default LMS;\n"],"names":["handler","signIn","signUp","cookie","postResume"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/config/state.ts","../src/utils/auth.ts","../src/utils/localStorage.ts","../src/config/constants.ts","../src/config/axios.ts","../src/config/handler.ts","../src/account/endpoint.ts","../src/accounting/endpoint.ts","../src/assets/endpoint.ts","../src/auth/endpoint.ts","../src/content/endpoint.ts","../src/hr/endpoint.ts","../src/inventory/endpoint.ts","../src/linkie/endpoint.ts","../src/lms/endpoint.ts","../src/payment/endpoint.ts","../src/sales/endpoint.ts","../src/support/endpoint.ts","../src/tools/endpoint.ts","../src/config/route.ts","../src/auth/logout.ts","../src/auth/register.ts","../src/auth/signup.ts","../src/auth/signInWithGoogle.ts","../src/auth/signin.ts","../src/auth/authWithToken.ts","../src/auth/authWithKey.ts","../src/auth/resetPassword.ts","../src/auth/index.ts","../src/order/create.ts","../src/order/index.ts","../src/utils/handler.ts","../src/payment/start.ts","../src/payment/verify.ts","../src/payment/index.ts","../src/content/index.ts","../src/accounting/createInvoice.ts","../src/accounting/submitInvoice.ts","../src/accounting/updateInvoice.ts","../src/accounting/index.ts","../src/support/feedback.ts","../src/support/newsletter.ts","../src/support/ticket.ts","../src/support/index.ts","../src/assets/index.ts","../src/account/update_profile.ts","../src/account/verify_subsciption.ts","../src/account/index.ts","../src/utils/share.ts","../src/sales/lead.ts","../src/sales/index.ts","../src/inventory/index.ts","../src/tools/exchangeRates.ts","../src/tools/uploadMultiple.ts","../src/tools/uploadSingle.ts","../src/tools/index.ts","../src/linkie/shortUrl.ts","../src/linkie/index.ts","../src/apis/cities.ts","../src/apis/countries.ts","../src/apis/states.ts","../src/apis/index.ts","../src/hr/add_resume.ts","../src/hr/post_job.ts","../src/hr/index.ts","../src/lms/enroll_course.ts","../src/lms/post_course.ts","../src/lms/post_module.ts","../src/lms/post_progress.ts","../src/lms/post_session.ts","../src/lms/index.ts"],"sourcesContent":["import { default as firebase } from \"firebase/compat/app\";\r\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from \"axios\";\r\n\r\n// config.ts\r\nexport type Config = {\r\n apiKey: string | null;\r\n apiUrl: string;\r\n lmsUrl: string;\r\n linkieUrl?: string;\r\n appUrl: string;\r\n apisUrl: string;\r\n tokenKey: string;\r\n environment: string;\r\n firebase?: FirebaseConfig;\r\n lmsRequestInceptor?: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig,\r\n lmsResponseInterceptor?: (response: AxiosResponse) => AxiosResponse,\r\n lmsErrorInterceptor?: (error: AxiosError) => Promise<any>\r\n};\r\n\r\nexport interface FirebaseConfig {\r\n apiKey?: string;\r\n authDomain?: string;\r\n projectId?: string;\r\n storageBucket?: string;\r\n messagingSenderId?: string;\r\n appId?: string;\r\n measurementId?: string;\r\n}\r\n\r\nlet config: Config = {\r\n tokenKey: '',\r\n apiKey: null,\r\n apiUrl: 'https://api.helpdice.com',\r\n appUrl: '',\r\n apisUrl: 'https://apis.helpdice.com',\r\n lmsUrl: 'https://lms.helpdice.com',\r\n environment: 'production',\r\n firebase: undefined\r\n};\r\n\r\ntype ConfigReturn = ReturnType<typeof getConfig>;\r\n\r\nexport function validateConfig(requiredKeys: (keyof ConfigReturn)[]): Boolean {\r\n const config = getConfig();\r\n\r\n const missingKeys = requiredKeys.filter((key) => {\r\n return !config[key]; // null, undefined, empty string → treated as missing\r\n });\r\n\r\n if (missingKeys.length > 0) {\r\n throw new Error(\r\n `SDK configuration error: Missing required config value(s): ${missingKeys.join(', ')}\\n` +\r\n '👉 Please ensure these keys are set using setConfig({ ... }) before making requests.'\r\n );\r\n }\r\n return true;\r\n}\r\n\r\nexport function initializeSDK(newConfig: Partial<Config>) {\r\n config = { ...config, ...newConfig };\r\n validateConfig(['apiKey', 'tokenKey']);\r\n}\r\n\r\nexport function getFirebase() {\r\n validateConfig(['firebase']);\r\n const appConfig = getConfig();\r\n if (appConfig.firebase) {\r\n // if (firebase?.default != undefined) {\r\n // return firebase.default.initializeApp(appConfig.firebase)\r\n // }\r\n return firebase.initializeApp(appConfig.firebase)\r\n }\r\n throw new Error(\r\n `SDK configuration error: Firebase is not configured properly`\r\n );\r\n}\r\n\r\nexport function getConfig(): Config {\r\n return config;\r\n}\r\n","import Cookies from \"js-cookie\";\n// import type { NextPageContext } from \"next\";\n// import { parseCookies } from \"nookies\";\nimport { getConfig } from \"../config\";\n\nexport const getCookie = (\n\tkey = getConfig().tokenKey,\n): string | undefined => {\n\t// console.log(Cookies.get(key));\n\tif (key) return Cookies.get(key);\n\treturn \"\";\n};\n\nexport const isAuth = () => !!getCookie();\n\n// export const getServerSideToken = (ctx: NextPageContext) => {\n// \tconst { token } = parseCookies(ctx);\n// \treturn token;\n// };\n","import CryptoJS from \"crypto-js\";\n\n/**\n * Function to set encryption key\n * @param {string} key - encryption key name\n * @param {string} value string value to be set as encryption key\n */\nexport function setEncryptionKey(key: string, value: string) {\n\tif (key && value) {\n\t\tconst sha256Key = CryptoJS.SHA256(key).toString();\n\t\t// console.log('setting key: ', key, value);\n\t\tconst sha256Data = CryptoJS.SHA256(value).toString();\n\n\t\tlocalStorage.setItem(sha256Key, JSON.stringify(sha256Data));\n\t} else {\n\t\tconsole.error(\"No data provided\");\n\t}\n}\n\n/**\n * function to get the encryption key\n * @param {string} - name of the key to get encryption key for\n * @returns {string}\n */\n// eslint-disable-next-line consistent-return\nexport function getEncryptionKey(key: string) {\n\ttry {\n\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n\t\t// console.log('getting key: ', key, localStorage.getItem(shaKey));\n\t\treturn localStorage.getItem(shaKey);\n\t} catch (err) {\n\t\tconsole.error(\"something went wrong man hoho\");\n\t}\n}\n\nexport function daysCountInMonth(month: number, year: number) {\n\treturn new Date(year, month, 0).getDate();\n}\n\n/**\n * Funtion to store data in local storage\n * Pass second argument as true if setting data for employee side\n * @param {string} key key for the value to be stored\n * @param {*} data actual data to be stored with the provided key\n * @param {boolean} [useEmployeeKey] - flag to decide which encyption key to use, (employee's or admin's)\n */\nexport function setDataInStorage(key: string, data: string | object) {\n\t// Encrypt key\n\tconst shaKey = CryptoJS.SHA256(key).toString();\n\n\tconst encKeyName = \"account_key\";\n\n\tconst encryptionKey = getEncryptionKey(encKeyName);\n\n\t// console.log('setting data: ', encryption_key, key, shaKey, data);\n\n\tif (encryptionKey) {\n\t\t// Encrypt data\n\t\tconst dataCipher = CryptoJS.AES.encrypt(\n\t\t\tJSON.stringify(data),\n\t\t\tencryptionKey,\n\t\t).toString();\n\n\t\tlocalStorage.setItem(shaKey, JSON.stringify(dataCipher));\n\t}\n}\n\n/**\n * Function to get data from local storage\n * Pass second argument as true if getting data for employee side\n * @param {string} key - key of the item to fetch from local storage\n * @param {boolean} [useEmployeeKey] - flag to decide which encyption key to use, (employee's or admin's)\n * @returns {*} value associated with the key\n */\n// eslint-disable-next-line consistent-return\nexport function getDataFromStorage(key: string) {\n\ttry {\n\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n\n\t\tconst encKeyName = \"account_key\";\n\n\t\tconst encryptionKey = getEncryptionKey(encKeyName);\n\n\t\t// console.log(\n\t\t// 'from getting data: ',\n\t\t// key,\n\t\t// 'encryption-key',\n\t\t// typeof encryption_key,\n\t\t// encryption_key\n\t\t// );\n\t\tif (encryptionKey && shaKey) {\n\t\t\tconst ciphertext = JSON.parse(String(localStorage.getItem(shaKey)));\n\t\t\tif (ciphertext) {\n\t\t\t\t// Decrypt\n\t\t\t\tconst bytes = CryptoJS.AES.decrypt(ciphertext, encryptionKey);\n\t\t\t\tconst originalData = bytes.toString(CryptoJS.enc.Utf8);\n\t\t\t\t// console.log('getting data: ', key, shaKey, originalData);\n\t\t\t\treturn JSON.parse(originalData);\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t// console.error('Error getting data from storage boi boi');\n\t}\n}\n\n/**\n * Function to clear items from local storage\n * @param {(string|string[])} keys - key to remove or array of keys\n */\n// export function clearStorage(keys: string[]) {\n// \ttry {\n// \t\tif (Array.isArray(keys)) {\n// \t\t\tkeys.forEach((key) => {\n// \t\t\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n// \t\t\t\tlocalStorage.removeItem(shaKey);\n// \t\t\t});\n// \t\t} else if (typeof keys === \"string\") {\n// \t\t\tconst shaKey = CryptoJS.SHA256(keys).toString();\n// \t\t\tlocalStorage.removeItem(shaKey);\n// \t\t}\n// \t} catch (err) {\n// \t\tconsole.error(\"Error clearing storage\", err);\n// \t}\n// }\nexport function clearStorage(keys: string[]) {\n\ttry {\n\t\tif (Array.isArray(keys)) {\n\t\t\tfor (const key of keys) {\n\t\t\t\tconst shaKey = CryptoJS.SHA256(key).toString();\n\t\t\t\tlocalStorage.removeItem(shaKey);\n\t\t\t}\n\t\t} else if (typeof keys === \"string\") {\n\t\t\tconst shaKey = CryptoJS.SHA256(keys).toString();\n\t\t\tlocalStorage.removeItem(shaKey);\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(\"Error clearing storage\", err);\n\t}\n}\n","export const SITE_NAME = \"Helpdice\";\nexport const TOKEN_KEY = \"access-token\";\nexport const REFRESH_TOKEN_KEY = \"refresh-token\";\nexport const TOKEN_THRESHOLD_KEY = \"access-token-threshold\";\n\nexport const AD_CLIENT = \"ca-pub-7034818195807373\";\n\n/* eslint-disable */\nexport const EMAIL_REGEX =\n\t/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\nexport const PASSWORD_REGEX = /.{8,}/;\n/* eslint-enable */\n","import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport axios from \"axios\";\n\nimport {\n\tREFRESH_TOKEN_KEY,\n\tTOKEN_KEY,\n\t// TOKEN_THRESHOLD_KEY,\n} from \"./constants\";\n\n// import { handleItem, setThreshold } from './local-storage';\n// import { handleItem, setThreshold } from './local-storage';\nimport type { AuthRequest, SignupRequest } from \"../auth/types\";\nimport { getCookie } from \"../utils/auth\";\nimport { getConfig, validateConfig } from \"./state\";\n\nfunction YYYY_MM_DD(timestamp: number | string) {\n const date = new Date(timestamp);\n\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n\n return `${year}-${month}-${day}`;\n}\n\nexport function createAxiosWithRetry(\n retries = 3,\n retryDelay = 500\n): AxiosInstance {\n const instance = axios.create();\n\n instance.interceptors.response.use(\n (res) => res,\n async (error) => {\n let config = error.config;\n\n if (!config || !retries) return Promise.reject(error);\n\n config.__retryCount = config.__retryCount || 0;\n\n if (config.__retryCount >= retries) {\n return Promise.reject(error);\n }\n\n config.__retryCount++;\n\n // Exponential backoff\n const delay = retryDelay * Math.pow(2, config.__retryCount);\n\n await new Promise((resolve) => setTimeout(resolve, delay));\n\n return instance(config);\n }\n );\n return instance;\n}\n\nexport const http = axios.create({\n\twithCredentials: true,\n\theaders: {\n\t\t\"Access-Control-Allow-Origin\": \"*\",\n\t\t\"Content-Type\": \"application/json\",\n\t},\n});\n\nhttp.interceptors.request.use((config) => {\n\tvalidateConfig(['apiKey', 'apiUrl']);\n\tconst { apiUrl } = getConfig();\n\tconfig.baseURL = apiUrl;\n\tif (config.headers) {\n\t\tconfig.headers[\"Content-Type\"] = \"application/json\";\n\t\tconfig.headers['TODAY'] = YYYY_MM_DD(Date.now());\n\t\tconfig.headers.Authorization = `Bearer ${getCookie()}` || \"\";\n\t\tconfig.headers[\"HB-API-KEY\"] =\n\t\t\t`Bearer ${getConfig().apiKey}` || \"\";\n\t}\n\treturn config;\n}, Promise.reject);\n\nexport const post = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.post(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const put = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.put(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const get = (\n\tendpoint: string,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> => {\n\t// console.log('Get Request Config :', config);\n\treturn new Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.get(endpoint, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n};\n\nexport const patch = <T>(endpoint: string, data: T): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\thttp\n\t\t\t.patch(endpoint, data)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response.data)),\n\t);\n\nexport const login = (data: AuthRequest): Promise<AxiosResponse> =>\n\tpost(\"passport/basic/login\", data);\n\nexport const logout = (): Promise<AxiosResponse> => post(\"user/logout\");\n\nexport const passwordReset = (\n\tdata: Partial<AuthRequest>,\n): Promise<AxiosResponse> => post(\"user/reset-password\", data);\n\nexport const signup = (data: SignupRequest): Promise<AxiosResponse> =>\n\tpost(\"passport/basic/signup\", data);\n\n\n\n/* ======================================================================================================= */\n/* ------------------------------------ For Linkie App --------------------------------------------------- */\n/* ======================================================================================================= */\n\nexport const chttp = axios.create({\n\twithCredentials: true,\n\theaders: {\n\t\t\"Access-Control-Allow-Origin\": \"*\",\n\t\t\"Content-Type\": \"application/json\",\n\t},\n});\n\nchttp.interceptors.request.use((config) => {\n\tvalidateConfig(['apiKey', 'tokenKey', 'linkieUrl']);\n\tconst { linkieUrl } = getConfig();\n\tconfig.baseURL = linkieUrl;\n\tif (config.headers) {\n\t\tconfig.headers[\"Content-Type\"] = \"application/json\";\n\t\tconfig.headers['TODAY'] = YYYY_MM_DD(Date.now());\n\t\tconfig.headers.Authorization = localStorage.getItem(TOKEN_KEY) || \"\";\n\t\tconfig.headers[\"HB-API-KEY\"] = `Bearer ${getConfig().apiKey}` || \"\";\n\t}\n\treturn config;\n}, Promise.reject);\n\n\n// chttp.interceptors.response.use(\n// \t(response) => response,\n// \tasync (error) => {\n// \t\tif (error.code === \"ERR_NETWORK\") {\n// \t\t\treturn Promise.reject(error);\n// \t\t}\n\n// \t\tconst refreshToken = localStorage.getItem(REFRESH_TOKEN_KEY);\n\n// \t\tif (!refreshToken) {\n// \t\t\treturn Promise.reject(error);\n// \t\t}\n\n// \t\t// const originalRequest = error.config;\n\n// \t\t// if (error.response.status === 401 && !originalRequest._retry) {\n// \t\t// originalRequest._retry = true;\n\n// \t\t// if (http.defaults.headers) {\n// \t\t// http.defaults.headers.Authorization = `Bearer ${refreshToken}`;\n// \t\t// }\n\n// \t\t// try {\n// \t\t// const res = await post('auth/token');\n// \t\t// const { access_token, threshold } = res.data;\n\n// \t\t// // handleItem(TOKEN_KEY, access_token);\n// \t\t// // handleItem(TOKEN_THRESHOLD_KEY, setThreshold(threshold));\n\n// \t\t// if (http.defaults.headers) {\n// \t\t// http.defaults.headers.Authorization = access_token;\n// \t\t// }\n// \t\t// return await http(originalRequest);\n// \t\t// } catch (reason) {\n// \t\t// return Promise.reject(reason);\n// \t\t// }\n// \t\t// }\n\n// \t\treturn Promise.reject(error);\n// \t},\n// );\n\nexport const linkiePost = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>,\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tchttp\n\t\t\t.post(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\n\n/* ======================================================================================================= */\n/* ------------------------------------ For LMS App --------------------------------------------------- */\n/* ======================================================================================================= */\n\nexport const lhttp = axios.create({\n\twithCredentials: true,\n\theaders: {\n\t\t\"Access-Control-Allow-Origin\": \"*\",\n\t\t\"Content-Type\": \"application/json\",\n\t},\n});\n\nlhttp.interceptors.request.use((config) => {\n\tvalidateConfig(['apiKey', 'tokenKey', 'lmsUrl']);\n\tlet reqConfig = null;\n\tconst { lmsUrl, lmsRequestInceptor } = getConfig();\n\tconfig.baseURL = lmsUrl;\n\t// if (config.headers) {\n\t// \tconfig.headers[\"Content-Type\"] = \"application/json\";\n\t// \tconfig.headers['TODAY'] = YYYY_MM_DD(Date.now());\n\t// \tconfig.headers.Authorization = localStorage.getItem(TOKEN_KEY) || \"\";\n\t// \tconfig.headers[\"HB-API-KEY\"] = `Bearer ${getConfig().apiKey}` || \"\";\n\t// }\n\tif (lmsRequestInceptor) {\n\t\treqConfig = lmsRequestInceptor(config);\n\t} else {\n\t\treqConfig = config;\n\t}\n\treturn reqConfig;\n}, Promise.reject);\n\nlhttp.interceptors.response.use(\n (response: AxiosResponse): AxiosResponse => {\n\tlet resConfig = null;\n\tconst { lmsResponseInterceptor } = getConfig();\n\tif (lmsResponseInterceptor) {\n\t\tresConfig = lmsResponseInterceptor(response);\n\t} else {\n\t\tresConfig = response;\n\t}\n return resConfig;\n },\n async (error: AxiosError): Promise<any> => {\n\tlet resError = null;\n\tconst { lmsErrorInterceptor } = getConfig();\n\tif (lmsErrorInterceptor) {\n\t\tresError = lmsErrorInterceptor(error);\n\t} else {\n\t\tresError = error;\n\t}\n return Promise.reject(resError);\n }\n);\n\nexport const lmsPost = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.post(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const lmsPut = (\n\tendpoint: string,\n\tdata?: unknown,\n\tconfig?: AxiosRequestConfig<unknown>\n): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.put(endpoint, data, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n\nexport const lmsGet = (\n\tendpoint: string,\n\tconfig?: AxiosRequestConfig<unknown>\n): Promise<AxiosResponse> => {\n\t// console.log('Get Request Config :', config);\n\treturn new Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.get(endpoint, config)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response?.data)),\n\t);\n};\n\nexport const lmsPatch = <T>(endpoint: string, data: T): Promise<AxiosResponse> =>\n\tnew Promise((resolve, reject) =>\n\t\tlhttp\n\t\t\t.patch(endpoint, data)\n\t\t\t.then(resolve)\n\t\t\t.catch((e) => reject(e.response.data)),\n\t);\n\nexport const App = {\n\tget,\n\tpost,\n\tput,\n\tpatch\n};\n","import type { AxiosResponse } from \"axios\";\n\n// Define the type for the callbacks object\nexport interface Callbacks {\n\tonFetching?: () => void;\n\tonSuccess?: (response: {\n\t\tdata: object;\n\t\tstatus: number;\n\t\tstatusText: string;\n\t}) => void;\n\tonError?: (error: string) => void;\n\tonSettled?: () => void;\n}\n\n// The fetchDataWithCallbacks function that accepts a Promise and a callbacks object\nasync function handler(promise: Promise<AxiosResponse>, callbacks?: Callbacks) {\n\t// Destructure callbacks from the object\n\tconst { onFetching, onSuccess, onError, onSettled } = callbacks ?? {};\n\n\t// Call the onFetching callback before making the request\n\tif (onFetching) onFetching();\n\n\t// Handle the Promise passed as an argument\n\tpromise\n\t\t.then(\n\t\t\t(response: {\n\t\t\t\tdata: object;\n\t\t\t\tstatus: number;\n\t\t\t\tstatusText: string;\n\t\t\t}) => {\n\t\t\t\t// Call the onSuccess callback if the Promise resolves successfully\n\t\t\t\tif (onSuccess)\n\t\t\t\t\tonSuccess({\n\t\t\t\t\t\tdata: response.data,\n\t\t\t\t\t\tstatus: response.status,\n\t\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\t});\n\t\t\t},\n\t\t)\n\t\t.catch((error) => {\n\t\t\t// Call the onError callback if the Promise is rejected\n\t\t\tif (onError) onError(error);\n\t\t})\n\t\t.finally(() => {\n\t\t\t// Call the onSettled callback after the Promise is settled\n\t\t\tif (onSettled) onSettled();\n\t\t});\n}\n\nexport default handler;\n","const account = {\n\tv1: {\n\t\tprofile: \"profile\",\n\t\tverify_subscription: \"subscription/status\"\n\t},\n};\n\nexport default account;\n","const accounting = {\n\tv1: {\n\t\titem: \"item\",\n\t\titems: \"items\",\n\t\tinvoice: \"invoice\",\n\t\tsubmit_invoice: \"invoice/submit\",\n\t\tinvoices: \"invoices\",\n\t\titem_categories: \"item/category\",\n\t\titem_brands: \"item/brand\",\n\t},\n};\n\nexport default accounting;\n","const assets = {\n\tv1: {\n\t\timagePlaceholder: \"images/image-placeholder.webp\",\n\t\tavatar: \"images/avatar.webp\",\n\t},\n};\n\nexport default assets;\n","const auth = {\n\tv1: {\n\t\tsignin: \"signin\",\n\t\tregister: \"signup\",\n\t\tsignup: \"register\",\n\t\tlogout: \"logout\",\n\t\tauth_with_token: \"authenticate\",\n\t\tauth_with_key: \"verify\",\n\t\treset_password: \"recovery-password\",\n\t\tchange_password: \"change-password\"\n\t},\n};\n\nexport default auth;\n","const cms = {\n\tv1: {\n\t\tarticle: \"article\",\n\t\tarticles: \"articles\",\n\t\tarticleCategories: \"article/categories\",\n\t\tmcq: \"mcq\",\n\t\tmcqs: \"mcqs\",\n\t\tall_mcqs: \"mcqs/all\",\n\t\tmcqCategories: \"mcq/categories\",\n\t\tqna: \"qna\",\n\t\tqnas: \"qnas\",\n\t\tqnaCategories: \"qna/categories\",\n\t},\n};\n\nexport default cms;\n","const hr = {\n\tv1: {\n\t\tjob: \"job\",\n\t\tjobs: \"jobs\",\n\t\tresume: \"resume\"\n\t},\n};\n\nexport default hr;\n","const inventory = {\n\tv1: {\n\t\tstore: \"store\",\n\t\tstore_products: \"store/products\",\n\t},\n};\n\nexport default inventory;\n","const linkie = {\n\tv1: {\n\t\tshorten: \"shorten\",\n\t},\n};\n\nexport default linkie;\n","const lms = {\n\tv1: {\n\t\tcourses: \"courses\",\n\t\tmodule: \"courses/module\",\n\t\tmodules: \"courses/modules\",\n\t\tcourseSlug: \"courses/slug\",\n\t\tprogress: \"courses/progress\",\n\t\tsession: \"session\",\n\t\tcourse: \"courses/course\",\n\t\tmyCourses: \"enrollments/my-courses\",\n\t\tenrollCourse: \"enrollments\",\n\t\tgetEnrollStudents: \"enrollments/course\"\n\t}\n};\n\nexport default lms;\n","const payment = {\n\tv1: {\n\t\tcreate: \"\",\n\t\tverify: \"verify\",\n\t},\n};\n\nexport default payment;\n","const sales = {\r\n\tv1: {\r\n\t\taddLead: \"lead\"\r\n\t},\r\n};\r\n\r\nexport default sales;\r\n","const support = {\n\tv1: {\n\t\tticket: \"ticket\",\n\t\ttickets: \"tickets\",\n\t\tnewsletter: \"newsletter\",\n\t\tfeedback: \"feedback\"\n\t}\n};\n\nexport default support;\n","const tools = {\n\tv1: {\n\t\texchangeRates: \"exchange-rates\",\n\t},\n};\n\nexport default tools;\n","import account from \"../account/endpoint\";\nimport accounting from \"../accounting/endpoint\";\nimport assets from \"../assets/endpoint\";\nimport auth from \"../auth/endpoint\";\nimport cms from \"../content/endpoint\";\nimport hr from \"../hr/endpoint\";\nimport inventory from \"../inventory/endpoint\";\nimport linkie from \"../linkie/endpoint\";\nimport lms from \"../lms/endpoint\";\nimport payment from \"../payment/endpoint\";\nimport sales from \"../sales/endpoint\";\nimport support from \"../support/endpoint\";\nimport tools from \"../tools/endpoint\";\n\ninterface CategoryUrls {\n\t[version: string]: {\n\t\t[action: string]: string;\n\t};\n}\n\ninterface Urls {\n\t[category: string]: CategoryUrls;\n}\n\nconst urls: Urls = {\n\tauth,\n\tcms,\n\taccount,\n\taccounting,\n\tsupport,\n\tassets,\n\tpayment,\n\tinventory,\n\ttools,\n\tsales,\n\tlinkie,\n\thr,\n\tlms\n};\n\n// Function to get the URL dynamically based on category, version, and action\nexport function getUrl(\n\tcategory: string,\n\tversion: string,\n\taction: string,\n\tomitCategory: boolean = false\n): string {\n\tconst categoryData = urls[category]; // Access the correct category dynamically\n\tif (categoryData) {\n\t\tconst versionData = categoryData[version]; // Access the correct version dynamically\n\t\t// console.log(versionData?.[action]);\n\t\tif (versionData !== undefined) {\n\t\t\t// console.log(versionData[action]);\n\t\t\tif (omitCategory) {\n\t\t\t\treturn `/api/${version}/${versionData[action]}`;\n\t\t\t}\n\t\t\treturn `/api/${version}/${category}/${versionData[action]}`; // Construct the URL\n\t\t}\n\t\tthrow new Error(\n\t\t\t`Invalid action: ${action} for version: ${version} in category: ${category}`,\n\t\t);\n\t}\n\tthrow new Error(`Invalid category: ${category}`);\n}\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport { clearStorage, getDataFromStorage } from \"../utils/localStorage\";\n\nconst logout = (\n\tdata: { data?: unknown },\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: unknown };\n\t},\n) => {\n\treturn handler(\n\t\tpost(\n\t\t\tgetUrl(\"auth\", \"v1\", \"logout\"),\n\t\t\t{ ...data, fcm_token: getDataFromStorage(\"fcm_token\") },\n\t\t\tconfig,\n\t\t),\n\t\t{\n\t\t\tonFetching: () => onFetching?.(),\n\t\t\tonError: (error) => onError?.(error),\n\t\t\tonSuccess: (data) => {\n\t\t\t\tclearStorage([\"accountAccessToken\", \"accountInfo\", \"account_key\"]);\n\t\t\t\tonSuccess?.(data);\n\t\t\t\twindow.location.href = \"/\";\n\t\t\t},\n\t\t\tonSettled: () => onSettled?.(),\n\t\t},\n\t);\n};\n\nexport default logout;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { AuthRequestParams, SignupRequest } from \"./types\";\n\nconst register = (\n\tdata: SignupRequest,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"register\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default register;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { AuthRequestParams, SignupRequest } from \"./types\";\n\nconst signup = (\n\tdata: SignupRequest,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"signup\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default signup;\n","// import signin from \"./signin\";\nimport { GoogleAuthProvider, getAuth, signInWithPopup } from \"firebase/auth\";\nimport signup from \"./signup\";\nimport { getFirebase } from \"../config/index\";\n\ntype SignInGoogleProps = {\n\tonFetching?: () => void;\n\tonSuccess?: (data: object) => void;\n\tonError?: (error: unknown | string) => void;\n\tonSettled?: () => void;\n};\n\n// Function to handle Google Sign-In\nasync function signInWithGoogle({\n\tonSuccess,\n\tonError,\n\tonFetching,\n\tonSettled,\n}: SignInGoogleProps): Promise<void> {\n\ttry {\n\t\tconst provider = new GoogleAuthProvider();\n\t\tconst auth = getAuth(getFirebase());\n\t\tsignInWithPopup(auth, provider)\n\t\t\t.then((result) => {\n\t\t\t\t// This gives you a Google Access Token. You can use it to access the Google API.\n\t\t\t\tconst credential = GoogleAuthProvider.credentialFromResult(result);\n\t\t\t\t// const token = credential?.accessToken;\n\t\t\t\t// The signed-in user info.\n\t\t\t\tconst user = result.user;\n\t\t\t\t// console.log(user);\n\t\t\t\treturn signup(\n\t\t\t\t\t{\n\t\t\t\t\t\tprovider: \"Google\",\n\t\t\t\t\t\tuid: user.uid,\n\t\t\t\t\t\tname: String(user.displayName),\n\t\t\t\t\t\temail: String(user.email),\n\t\t\t\t\t\tusername: String(user.email),\n\t\t\t\t\t\tpassword: user.uid.substring(0, user.uid.length / 2),\n\t\t\t\t\t\t// token: token,\n\t\t\t\t\t\ttoday: new Date(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tonFetching: () => onFetching?.(),\n\t\t\t\t\t\tonError: (error) => onError?.(error),\n\t\t\t\t\t\tonSuccess: (data) => onSuccess?.(data),\n\t\t\t\t\t\tonSettled: () => onSettled?.(),\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tonError?.(error);\n\t\t\t\treturn Promise.reject(\"Something Went Wrong\");\n\t\t\t\t// Handle Errors here.\n\t\t\t\t// const errorCode = error.code;\n\t\t\t\t// const errorMessage = error.message;\n\t\t\t\t// The email of the user's account used.\n\t\t\t\t// const email = error.customData.email;\n\t\t\t\t// The AuthCredential type that was used.\n\t\t\t\t// const credential = GoogleAuthProvider.credentialFromError(error);\n\t\t\t\t// ...\n\t\t\t});\n\t} catch (err) {\n\t\tonError?.(err);\n\t}\n}\n\nexport default signInWithGoogle;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { AuthRequest, AuthRequestParams } from \"./types\";\n\nconst signin = (\n\tdata: AuthRequest,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"signin\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default signin;\n","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { TokenRequest, AuthRequestParams } from \"./types\";\r\n\r\nconst authWithToken = (\r\n\tdata: TokenRequest,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"auth_with_token\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default authWithToken;","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { APIRequest, AuthRequestParams } from \"./types\";\r\n\r\nconst authWithKey = (\r\n\tdata: APIRequest,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(post(getUrl(\"auth\", \"v1\", \"auth_with_key\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default authWithKey","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { AuthRequest, AuthRequestParams } from \"./types\";\r\n\r\nconst resetPassword = (\r\n data: AuthRequest,\r\n {\r\n config,\r\n onFetching,\r\n onSuccess,\r\n onError,\r\n onSettled,\r\n }: {\r\n onFetching?: () => void;\r\n onSuccess?: (data: object) => void;\r\n onError?: (error: string) => void;\r\n onSettled?: () => void;\r\n config?: { params: AuthRequestParams };\r\n },\r\n) => {\r\n return handler(post(getUrl(\"auth\", \"v1\", \"reset_password\"), data, config), {\r\n onFetching: () => onFetching?.(),\r\n onError: (error) => onError?.(error),\r\n onSuccess: (data) => onSuccess?.(data),\r\n onSettled: () => onSettled?.(),\r\n });\r\n};\r\n\r\nexport default resetPassword;\r\n","import cookie from \"js-cookie\";\nimport { jwtDecode } from \"jwt-decode\";\n// import type { NextPageContext } from \"next\";\nimport { getConfig } from \"../config/index\";\nimport { isAuth } from \"../utils/auth\";\nimport {\n\tgetDataFromStorage,\n\tsetDataInStorage,\n\tsetEncryptionKey,\n} from \"../utils/localStorage\";\nimport logout from \"./logout\";\nimport register from \"./register\";\nimport signInWithGoogle from \"./signInWithGoogle\";\nimport signIn from \"./signin\";\nimport signUp from \"./signup\";\nimport { validateConfig } from \"../config/state\";\nimport authWithToken from \"./authWithToken\";\nimport authWithKey from \"./authWithKey\";\nimport resetPassword from \"./resetPassword\";\n\nconst Auth = {\n\tsignIn,\n\tsignUp,\n\tregister,\n\tresetPassword,\n\tsignInWithGoogle,\n\tsaveTokenToCookie: (token: string) => {\n\t\tvalidateConfig(['tokenKey']);\n\t\tconst { tokenKey } = getConfig();\n\t\tif (tokenKey) {\n\t\t\tcookie.set(tokenKey, token, { expires: 900000 });\n\t\t}\n\t\twindow.location.href = \"/\";\n\t},\n\tsaveTokenToStorage: (token: string) => {\n\t\tconst accountInfo: {\n\t\t\t_id: string;\n\t\t\tcreatedAt: string;\n\t\t} = jwtDecode(token);\n\t\tif (accountInfo) {\n\t\t\tsetEncryptionKey(\"account_key\", accountInfo._id + accountInfo.createdAt);\n\t\t\tsetDataInStorage(\"accountAccessToken\", token);\n\t\t\tsetDataInStorage(\"accountInfo\", accountInfo);\n\t\t}\n\t},\n\tgetTokenFromStorage: () => {\n\t\treturn getDataFromStorage(\"accountAccessToken\");\n\t},\n\tgetUserFromStrorage: () => {\n\t\treturn getDataFromStorage(\"accountInfo\");\n\t},\n\t/**\n\t * Action to update stored admin info in the redux\n\t * @param {string | object} key key or an object with key: value of the fields to be updated\n\t * @param {any} value value of the field to be updated (only if the key passed is of type string)\n\t */\n\tupdateUserInfo: (key?: string | object, value?: any) => () => {\n\t\tconsole.log(\"typeof key: \", typeof key, key);\n\t\ttry {\n\t\t\t// console.log(key);\n\t\t\tconst accountInfo = getDataFromStorage(\"accountInfo\");\n\t\t\tif (typeof key === \"object\") {\n\t\t\t\tlet updatedInfo = { ...accountInfo };\n\t\t\t\t// for..of\n\t\t\t\tfor (const [ky, value] of Object.entries(key)) {\n\t\t\t\t\tupdatedInfo = { ...updatedInfo, [ky]: value };\n\t\t\t\t}\n\t\t\t\t// console.log(updatedInfo);\n\t\t\t\tsetDataInStorage(\"accountInfo\", updatedInfo);\n\t\t\t} else if (typeof key === \"string\") {\n\t\t\t\tif (value) {\n\t\t\t\t\tsetDataInStorage(\"accountInfo\", { ...accountInfo, [key]: value });\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\"Value is not provided for the given key to update admin info\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(\"update logo action \", error);\n\t\t}\n\t},\n\tisAuthenticated: (cookie?: boolean) => {\n\t\tif (cookie) {\n\t\t\treturn isAuth();\n\t\t}\n\t\treturn getDataFromStorage(\"accountAccessToken\") !== undefined;\n\t},\n\t// getServerToken: (ctx: NextPageContext) => getServerSideToken(ctx),\n\tlogout,\n\tServer: {\n\t\tauthWithToken,\n\t\tauthWithKey\n\t}\n};\n\nexport default Auth;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Order } from \"./types\";\n\nconst create = (\n\tdata: Order,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: object;\n\t},\n) => {\n\treturn handler(post(getUrl(\"order\", \"v1\", \"create\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default create;\n","import create from \"./create\";\n\nconst Order = {\n\tcreate,\n};\n\nexport default Order;\n","import type { AxiosResponse } from \"axios\";\n\n// Define type for the handler options\ninterface AxiosRequestHandlerOptions {\n\tdebug?: boolean,\n\tpromise: Promise<AxiosResponse<any>>; // The promise that resolves with Axios response\n\tonLoading?: (isLoading: boolean) => void; // Callback to show/hide loading state\n\tonSuccess?: (data: any) => void; // Callback for success response\n\tonError?: (error: any, response?: any) => void; // Callback for error response\n\tonSettled?: () => void; // Callback for when request finishes (either success or failure)\n\tonProgress?: (progress: string) => void; // Callback for progress updates\n}\n\nconst handler = ({\n\tdebug = false,\n\tpromise,\n\tonLoading = () => {},\n\tonSuccess = () => {},\n\tonError = () => {},\n\tonSettled = () => {},\n\tonProgress = () => {},\n}: AxiosRequestHandlerOptions): void => {\n\t// Call onLoading at the start to show loading state\n\tonLoading(true);\n\n\t// Handling the passed promise\n\tpromise\n\t\t.then((response: AxiosResponse) => {\n\t\t\tonLoading(false);\n\t\t\t// Show success state\n\t\t\tif (debug) {\n\t\t\t\tconsole.log(\"Request Success:\", response);\n\t\t\t}\n\t\t\t// Execute success callback if provided\n\t\t\tif (onSuccess) {\n\t\t\t\tonSuccess(response);\n\t\t\t}\n\t\t})\n\t\t.catch((error: any) => {\n\t\t\tonLoading(false);\n\n\t\t\t// Show error state\n\t\t\tif (debug) {\n\t\t\t\tconsole.error(\"Request Error:\", error?.response);\n\t\t\t}\n\n\t\t\t// Execute error callback if provided\n\t\t\tif (onError) {\n\t\t\t\tonError(error, error?.response);\n\t\t\t}\n\t\t})\n\t\t.finally(() => {\n\t\t\t// Execute settled callback (on success or error)\n\t\t\tif (onSettled) {\n\t\t\t\tonSettled();\n\t\t\t}\n\n\t\t\t// Call onLoading to hide loading indicator after completion\n\t\t\tonLoading(false);\n\n\t\t\t// Hide loading indicator\n\t\t\tconsole.log(\"Request Completed\");\n\t\t});\n};\n\nexport default handler;\n","import type { AxiosRequestConfig } from \"axios\";\nimport { post } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport handler from \"../utils/handler\";\n\n// Optional: if you have defined Order/VerifyPayment types\n// import type { Order } from \"../order/types\";\n// import type { VerifyPayment } from \"./types\";\n\ndeclare global {\n\tinterface Window {\n\t\tRazorpay: any; // Ideally, use proper types from @types/razorpay\n\t}\n}\n\ninterface PaymentData {\n\tamount: number;\n\tcurrency: string;\n\tpaymentService: string;\n\t[key: string]: any;\n}\n\ninterface StartOptions {\n\tconfig?: AxiosRequestConfig | null;\n\tonLoading?: (isLoading: boolean) => void;\n\tonSuccess?: (data: any) => void;\n\tonError?: (error: any) => void;\n\tonSettled?: () => void;\n}\n\nfunction start(\n\tdata: PaymentData,\n\t{\n\t\tconfig = null,\n\t\tonLoading = () => { },\n\t\tonSuccess = () => { },\n\t\tonError = () => { },\n\t\tonSettled = () => { },\n\t}: StartOptions = {},\n) {\n\treturn handler({\n\t\tpromise: post(\n\t\t\tgetUrl(\"payment\", \"v1\", \"create\"),\n\t\t\t{\n\t\t\t\t...data,\n\t\t\t\tmethod: {\n\t\t\t\t\tlabel: data.paymentService,\n\t\t\t\t\tcurrency: data.currency,\n\t\t\t\t},\n\t\t\t},\n\t\t\tconfig || undefined,\n\t\t),\n\t\tonLoading,\n\t\tonError: (error) => onError(error),\n\t\tonSuccess: (responseData: any) => {\n\t\t\tconsole.log(responseData);\n\t\t\tif (responseData?.method === \"Razor Pay\") {\n\t\t\t\tconst options = responseData.options;\n\t\t\t\toptions.handler = async (response: any) => {\n\t\t\t\t\tonSuccess(response);\n\t\t\t\t};\n\t\t\t\tconst rzp1 = new window.Razorpay(options);\n\t\t\t\trzp1.on(\"payment.failed\", (response: any) => {\n\t\t\t\t\tonError(response);\n\t\t\t\t});\n\t\t\t\trzp1.open();\n\t\t\t} else if (responseData?.method === \"Paypal\") {\n\t\t\t\tconsole.log('Paypal response data :', responseData);\n\t\t\t\twindow.location.href = responseData.links[1].href;\n\t\t\t}\n\t\t},\n\t\tonSettled,\n\t});\n}\n\nexport default start;\n","import type { AxiosRequestConfig } from \"axios\";\nimport { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { SuccessProps } from \"./types\";\nimport type { VerifyPayment } from \"./types\";\n\nconst verify = (\n\tdata: VerifyPayment,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: SuccessProps) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: AxiosRequestConfig<unknown>;\n\t},\n) => {\n\treturn handler(post(getUrl(\"payment\", \"v1\", \"verify\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default verify;\n","import start from \"./start\";\nimport verify from \"./verify\";\n\nconst Payment = {\n\tstart,\n\tverify,\n};\n\nexport default Payment;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\n\nconst Content = {\n\tarticle: (slug: string) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"article\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tarticles: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"articles\"), config),\n\tarticleCategories: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"articleCategories\"), config),\n\tmcq: (slug: string) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"mcq\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tmcqs: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"mcqs\"), config),\n\tallMcqs: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"all_mcqs\"), config),\n\tmcqsCategories: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"mcqCategories\"), config),\n\tqna: (slug: string) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"qna\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tqnas: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"qnas\"), config),\n\tqnasCategories: (config?: object | undefined) =>\n\t\tget(getUrl(\"cms\", \"v1\", \"qnaCategories\"), config),\n};\n\nexport default Content;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Invoice } from \"./types\";\n\nconst createInvoice = (\n\tdata: Invoice,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(post(getUrl(\"accounting\", \"v1\", \"invoice\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default createInvoice;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { SubmitInvoice } from \"./types\";\n\nconst submitInvoice = (\n\tdata: SubmitInvoice,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(\n\t\tpost(getUrl(\"accounting\", \"v1\", \"submit_invoice\"), data, config),\n\t\t{\n\t\t\tonFetching: () => onFetching?.(),\n\t\t\tonError: (error) => onError?.(error),\n\t\t\tonSuccess: (data) => onSuccess?.(data),\n\t\t\tonSettled: () => onSettled?.(),\n\t\t},\n\t);\n};\n\nexport default submitInvoice;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { put } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Invoice } from \"./types\";\n\nconst updateInvoice = (\n\tdata: Invoice,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(put(getUrl(\"accounting\", \"v1\", \"invoice\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default updateInvoice;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport createInvoice from \"./createInvoice\";\nimport submitInvoice from \"./submitInvoice\";\nimport updateInvoice from \"./updateInvoice\";\n\nconst Accounting = {\n\titem: (slug: string) =>\n\t\tget(getUrl(\"accounting\", \"v1\", \"item\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\titems: (config?: object | undefined) =>\n\t\tget(getUrl(\"accounting\", \"v1\", \"items\"), config),\n\tcreateInvoice,\n\tupdateInvoice,\n\tinvoices: (config?: object | undefined) =>\n\t\tget(getUrl(\"accounting\", \"v1\", \"invoices\"), config),\n\tsubmitInvoice,\n\titemCategories: () => get(getUrl(\"accounting\", \"v1\", \"item_categories\")),\n\titemBrands: () => get(getUrl(\"accounting\", \"v1\", \"item_brands\")),\n};\n\n\nexport type { Invoice, SubmitInvoice, PaymentInfo, Tax, Item } from \"./types\";\nexport default Accounting;\n","import { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\n\r\nconst feedback = (\r\n\tdata: unknown,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: unknown };\r\n\t},\r\n) => {\r\n\treturn handler(post(getUrl(\"support\", \"v1\", \"feedback\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default feedback;\r\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\n\nconst newsletter = (\n\tdata: unknown,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: unknown };\n\t},\n) => {\n\treturn handler(post(getUrl(\"support\", \"v1\", \"newsletter\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default newsletter;\n","import { post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\n\nconst ticket = (\n\tdata: unknown,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: unknown };\n\t},\n) => {\n\treturn handler(post(getUrl(\"support\", \"v1\", \"ticket\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default ticket;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport feedback from \"./feedback\";\nimport newsletter from \"./newsletter\";\nimport ticket from \"./ticket\";\n\nconst Support = {\n\tticket,\n\tnewsletter,\n\ttickets: (config?: object | undefined) =>\n\t\tget(getUrl(\"support\", \"v1\", \"tickets\"), config),\n\tfeedback\n};\n\nexport default Support;\n\n\n","import { getConfig } from \"../config/index\";\nimport { getUrl } from \"../config/route\";\n\nconst Assets = {\n\timages: {\n\t\timagePlaceholder: getConfig().apiUrl + getUrl(\"assets\", \"v1\", \"imagePlaceholder\"),\n\t\tavatar: getConfig().apiUrl + getUrl(\"assets\", \"v1\", \"avatar\"),\n\t},\n};\n\nexport default Assets;\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { put } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Profile } from \"./types\";\n\nconst updateProfile = (\n\tdata: Profile,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t},\n) => {\n\treturn handler(put(getUrl(\"account\", \"v1\", \"profile\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default updateProfile;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\n\r\nconst verifySubscription = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { param?: AuthRequestParams, signal?: any, timeout?: number };\r\n\t},\r\n) => {\r\n\treturn handler(get(getUrl(\"account\", \"v1\", \"verify_subscription\"), config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default verifySubscription;","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport updateProfile from \"./update_profile\";\nimport verifySubscription from \"./verify_subsciption\";\n\nconst Account = {\n\tprofile: (id: string) =>\n\t\tget(getUrl(\"account\", \"v1\", \"profile\"), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tupdateProfile,\n\tverifySubscription\n};\n\n\nexport type { Profile } from \"./types\";\nexport default Account;\n","export default function shareUrl(title: string, url: string) {\n\t// URL encoding to ensure special characters are handled properly\n\tconst encodedTitle = encodeURIComponent(title);\n\tconst encodedUrl = encodeURIComponent(url);\n\tconst target = \"_blank\";\n\tconst dimension = \"width=600,height=400\";\n\t// Social media share URLs\n\tconst shareLinks = {\n\t\tfacebook: `https://www.facebook.com/sharer/sharer.php?u=${encodedUrl}`,\n\t\ttwitter: `https://twitter.com/intent/tweet?text=${encodedTitle}&url=${encodedUrl}`,\n\t\tlinkedin: `https://www.linkedin.com/sharing/share-offsite/?url=${encodedUrl}`,\n\t\twhatsapp: `https://api.whatsapp.com/send?text=${encodedTitle} ${encodedUrl}`,\n\t\tpinterest: `https://www.pinterest.com/pin/create/button/?url=${encodedUrl}&description=${encodedTitle}`,\n\t};\n\n\treturn {\n\t\tfacebook: () => window.open(shareLinks.facebook, target, dimension),\n\t\ttwitter: () => window.open(shareLinks.twitter, target, dimension),\n\t\tlinkedin: () => window.open(shareLinks.linkedin, target, dimension),\n\t\twhatsapp: () => window.open(shareLinks.whatsapp, target, dimension),\n\t\tpinterest: () => window.open(shareLinks.pinterest, target, dimension),\n\t};\n}\n","import type { AxiosRequestConfig } from \"axios\";\r\nimport { post } from \"../config/axios\";\r\nimport { getUrl } from \"../config/route\";\r\nimport handler from \"../utils/handler\";\r\nimport type { Lead } from \"./types\";\r\n\r\ninterface StartOptions {\r\n\tconfig?: AxiosRequestConfig | null;\r\n\tonLoading?: (isLoading: boolean) => void;\r\n\tonSuccess?: (data: any) => void;\r\n\tonError?: (error: any) => void;\r\n\tonSettled?: () => void;\r\n}\r\n\r\nexport function addLead(\r\n\tdata: Lead,\r\n\t{\r\n\t\tconfig = null,\r\n\t\tonLoading = () => { },\r\n\t\tonSuccess = () => { },\r\n\t\tonError = () => { },\r\n\t\tonSettled = () => { },\r\n\t}: StartOptions = {},\r\n) {\r\n\treturn handler({\r\n\t\tpromise: post(\r\n\t\t\tgetUrl(\"sales\", \"v1\", \"addLead\"),\r\n\t\t\t{\r\n\t\t\t\t...data\r\n\t\t\t},\r\n\t\t\tconfig || undefined,\r\n\t\t),\r\n\t\tonLoading,\r\n\t\tonError: (error) => onError(error),\r\n\t\tonSuccess: (responseData: any) => {\r\n\t\t\tonSuccess(responseData);\r\n\t\t},\r\n\t\tonSettled,\r\n\t});\r\n}\r\n","import { addLead } from \"./lead\";\r\nimport { Lead, LeadSource, LeadStatus } from \"./types\";\r\n\r\nconst Sales = {\r\n\taddLead,\r\n};\r\n\r\nexport type { \r\n\tLeadSource,\r\n\tLeadStatus,\r\n\tLead\r\n}\r\n\r\nexport default Sales;","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\n\nconst Inventory = {\n\tgetStoreById: (id: string) =>\n\t\tget(getUrl(\"inventory\", \"v1\", \"store\"), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetStoreBySlug: (slug: string) =>\n\t\tget(getUrl(\"inventory\", \"v1\", \"store\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tgetStoreProducts: (\n\t\tslug: string,\n\t\tcategory: string,\n\t\tbrand: string,\n\t\tprice: string,\n\t\tsearch: string,\n\t) =>\n\t\tget(getUrl(\"inventory\", \"v1\", \"store_products\"), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t\tcategory,\n\t\t\t\tbrand,\n\t\t\t\tprice,\n\t\t\t\tsearch,\n\t\t\t},\n\t\t}),\n};\n\nexport default Inventory;\n","import { get, post } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\n\nconst exchangeRates = (\n\tdata: unknown,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled,\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: {\n\t\t\tparams: {\n\t\t\t\tfrom?: string;\n\t\t\t\tto?: string;\n\t\t\t};\n\t\t};\n\t},\n) => {\n\treturn handler(get(getUrl(\"tools\", \"v1\", \"exchangeRates\"), config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default exchangeRates;\n\n// export async function convertCurrency(amount: number, fromCurrency?: string, toCurrency?: string) {\n// try {\n// const rates = await getExchangeRates(fromCurrency);\n// if (!rates[toCurrency]) {\n// throw new Error(`Currency ${toCurrency} is not available.`);\n// }\n// const convertedAmount = (amount * rates[toCurrency]).toFixed(2);\n// return convertedAmount;\n// } catch (error) {\n// console.error('Error converting currency:', error);\n// throw error;\n// }\n// }\n","import { AxiosProgressEvent } from \"axios\";\r\nimport { createAxiosWithRetry } from \"../config/axios\";\r\n\r\nexport async function uploadMultipleFiles(\r\n url: string,\r\n files: (File | Blob)[],\r\n onProgress?: (percent: number) => void\r\n) {\r\n const formData = new FormData();\r\n\r\n files.forEach((file, i) => {\r\n formData.append(\"files\", file); // name \"files\" must match backend\r\n });\r\n\r\n const axiosInstance = createAxiosWithRetry(3, 500);\r\n\r\n return axiosInstance.post(url, formData, {\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n onUploadProgress: (e: AxiosProgressEvent) => {\r\n if (!e.total) return;\r\n const percent = Math.round((e.loaded * 100) / e.total);\r\n onProgress?.(percent);\r\n },\r\n });\r\n}\r\n","import { AxiosProgressEvent } from \"axios\";\r\nimport { createAxiosWithRetry } from \"../config/axios\";\r\n\r\nexport async function uploadFile(\r\n url: string,\r\n file: File | Blob,\r\n onProgress?: (percent: number) => void\r\n) {\r\n const formData = new FormData();\r\n formData.append(\"file\", file);\r\n const axiosInstance = createAxiosWithRetry(3, 500);\r\n return axiosInstance.post(url, formData, {\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n onUploadProgress: (e: AxiosProgressEvent) => {\r\n if (e.total) {\r\n const percent = Math.round((e.loaded * 100) / e.total);\r\n onProgress?.(percent);\r\n }\r\n },\r\n });\r\n}","import exchangeRates from \"./exchangeRates\";\nimport { uploadMultipleFiles } from \"./uploadMultiple\";\nimport { uploadFile } from \"./uploadSingle\";\n\nconst Tools = {\n\texchangeRates,\n\tuploadFile,\n\tuploadMultipleFiles\n};\n\nexport default Tools;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { linkiePost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { ShortenRequest } from \"./types\";\r\n\r\nconst shortUrl = (\r\n\tdata: ShortenRequest,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled,\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(linkiePost(getUrl(\"linkie\", \"v1\", \"shorten\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default shortUrl;","// import cookie from \"js-cookie\";\n// import { jwtDecode } from \"jwt-decode\";\n// import type { NextPageContext } from \"next\";\n// import { getConfig } from \"../config/index\";\n// import { isAuth } from \"../utils/auth\";\n// import {\n// \tgetDataFromStorage,\n// \tsetDataInStorage,\n// \tsetEncryptionKey,\n// } from \"../utils/localStorage\";\nimport shortUrl from \"./shortUrl\";\n\nconst Linkie = {\n\tshortUrl\n};\n\nexport default Linkie;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getConfig } from \"../config\";\r\n\r\nconst getCities = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(get(`${getConfig().apisUrl}/api/countries/v1/city`, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default getCities;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getConfig } from \"../config\";\r\n\r\nconst getCountries = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(get(`${getConfig().apisUrl}/api/countries/v1`, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default getCountries;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { get } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getConfig } from \"../config/index\";\r\n\r\nconst getStates = (\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t},\r\n) => {\r\n\treturn handler(get(`${getConfig().apisUrl}/api/countries/v1/state`, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default getStates;\r\n","import getCities from \"./cities\";\r\nimport getCountries from \"./countries\";\r\nimport getStates from \"./states\";\r\n\r\nconst Apis = {\r\n getCountries,\r\n getStates,\r\n getCities\r\n};\r\n\r\nexport default Apis;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { post } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\n\r\nconst addResume = (\r\n\tdata: any,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(post(getUrl(\"hr\", \"v1\", \"resume\"), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default addResume;\r\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { put } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Job } from \"./types\";\n\nconst postJob = (\n\tdata: Job,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t}\n) => {\n\treturn handler(put(getUrl(\"hr\", \"v1\", \"job\"), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default postJob;\n","import { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport postResume from \"./add_resume\";\nimport postJob from \"./post_job\";\n\nconst Hr = {\n\tgetJobById: (id: string) =>\n\t\tget(getUrl(\"hr\", \"v1\", \"job\"), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetJobs: (title?: string, experience?: string, skills?: Array<string>, locations?: Array<string>) =>\n\t\tget(getUrl(\"hr\", \"v1\", \"jobs\"), {\n\t\t\tparams: {\n\t\t\t\ttitle,\n\t\t\t\texperience,\n\t\t\t\tskills,\n\t\t\t\tlocations,\n\t\t\t},\n\t\t}),\n\tpostJob,\n\tpostResume\n};\n\n\nexport type { Job } from \"./types\";\nexport default Hr;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPut } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { Enroll } from \"./types\";\r\n\r\nconst enrollCourse = (\r\n\tdata: Enroll,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPut(getUrl(\"lms\", \"v1\", \"enrollCourse\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default enrollCourse;\r\n","import type { AuthRequestParams } from \"../auth/types\";\nimport { lmsPost } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Course } from \"./types\";\n\nconst postCourse = (\n\tdata: Course,\n\t{\n\t\tconfig,\n\t\tonFetching,\n\t\tonSuccess,\n\t\tonError,\n\t\tonSettled\n\t}: {\n\t\tonFetching?: () => void;\n\t\tonSuccess?: (data: object) => void;\n\t\tonError?: (error: string) => void;\n\t\tonSettled?: () => void;\n\t\tconfig?: { params: AuthRequestParams };\n\t}\n) => {\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"courses\", true), data, config), {\n\t\tonFetching: () => onFetching?.(),\n\t\tonError: (error) => onError?.(error),\n\t\tonSuccess: (data) => onSuccess?.(data),\n\t\tonSettled: () => onSettled?.(),\n\t});\n};\n\nexport default postCourse;\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { Module } from \"./types\";\r\n\r\nconst postModule = (\r\n\tdata: Module,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"module\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default postModule;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { ModuleProgress } from \"./types\";\r\n\r\nconst postProgress = (\r\n\tdata: ModuleProgress,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"progress\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default postProgress;\r\n","import type { AuthRequestParams } from \"../auth/types\";\r\nimport { lmsPost } from \"../config/axios\";\r\nimport handler from \"../config/handler\";\r\nimport { getUrl } from \"../config/route\";\r\nimport type { Session } from \"./types\";\r\n\r\nconst postSession = (\r\n\tdata: Session,\r\n\t{\r\n\t\tconfig,\r\n\t\tonFetching,\r\n\t\tonSuccess,\r\n\t\tonError,\r\n\t\tonSettled\r\n\t}: {\r\n\t\tonFetching?: () => void;\r\n\t\tonSuccess?: (data: object) => void;\r\n\t\tonError?: (error: string) => void;\r\n\t\tonSettled?: () => void;\r\n\t\tconfig?: { params: AuthRequestParams };\r\n\t}\r\n) => {\r\n\treturn handler(lmsPost(getUrl(\"lms\", \"v1\", \"session\", true), data, config), {\r\n\t\tonFetching: () => onFetching?.(),\r\n\t\tonError: (error) => onError?.(error),\r\n\t\tonSuccess: (data) => onSuccess?.(data),\r\n\t\tonSettled: () => onSettled?.(),\r\n\t});\r\n};\r\n\r\nexport default postSession;\r\n","import { lmsGet } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport enrollCourse from \"./enroll_course\";\nimport postCourse from \"./post_course\";\nimport postModule from \"./post_module\";\nimport postProgress from \"./post_progress\";\nimport postSession from \"./post_session\";\n\nconst LMS = {\n\tgetCourseById: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"course\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetCourseBySlug: (slug: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"courseSlug\", true), {\n\t\t\tparams: {\n\t\t\t\tslug,\n\t\t\t},\n\t\t}),\n\tgetCourses: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"courses\", true), {\n\t\t\tparams: {\n\t\t\t},\n\t\t}),\n\tgetModules: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"modules\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetMyCourses: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"myCourses\", true), {\n\t\t\tparams: {\n\t\t\t},\n\t\t}),\n\tgetEnrollStudents: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"getEnrollStudents\", true), {\n\t\t\tparams: {\n\t\t\t},\n\t\t}),\n\tgetCourseProgress: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"progress\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tgetUserSession: (id: string) =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"session\", true), {\n\t\t\tparams: {\n\t\t\t\tid,\n\t\t\t},\n\t\t}),\n\tpostCourse,\n\tpostModule,\n\tpostProgress,\n\tenrollCourse,\n\tpostSession\n};\n\nexport type { Enroll } from \"./types\";\nexport default LMS;\n"],"names":["handler","signIn","signUp","cookie","postResume"],"mappings":"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"}
|