@helpdice/sdk 0.3.7 → 0.4.4

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 CHANGED
@@ -236,6 +236,10 @@ const get = (endpoint, config) => {
236
236
  .then(resolve)
237
237
  .catch((e) => reject(e.response?.data)));
238
238
  };
239
+ const patch = (endpoint, data) => new Promise((resolve, reject) => http
240
+ .patch(endpoint, data)
241
+ .then(resolve)
242
+ .catch((e) => reject(e.response.data)));
239
243
  /* ======================================================================================================= */
240
244
  /* ------------------------------------ For Linkie App --------------------------------------------------- */
241
245
  /* ======================================================================================================= */
@@ -326,6 +330,12 @@ const lmsGet = (endpoint, config) => {
326
330
  .then(resolve)
327
331
  .catch((e) => reject(e.response?.data)));
328
332
  };
333
+ const App = {
334
+ get,
335
+ post,
336
+ put,
337
+ patch
338
+ };
329
339
 
330
340
  // The fetchDataWithCallbacks function that accepts a Promise and a callbacks object
331
341
  async function handler$1(promise, callbacks) {
@@ -360,6 +370,7 @@ async function handler$1(promise, callbacks) {
360
370
  const account = {
361
371
  v1: {
362
372
  profile: "profile",
373
+ verify_subscription: "subscription/status"
363
374
  },
364
375
  };
365
376
 
@@ -749,12 +760,11 @@ function start(data, { config = null, onLoading = () => { }, onSuccess = () => {
749
760
  onLoading,
750
761
  onError: (error) => onError(error),
751
762
  onSuccess: (responseData) => {
763
+ console.log(responseData);
752
764
  if (responseData?.method === "Razor Pay") {
753
765
  const options = responseData.options;
754
766
  options.handler = async (response) => {
755
- // console.log("Payment Success:", response);
756
767
  onSuccess(response);
757
- // Validation call (if needed)
758
768
  };
759
769
  const rzp1 = new window.Razorpay(options);
760
770
  rzp1.on("payment.failed", (response) => {
@@ -762,6 +772,10 @@ function start(data, { config = null, onLoading = () => { }, onSuccess = () => {
762
772
  });
763
773
  rzp1.open();
764
774
  }
775
+ else if (responseData?.method === "Paypal") {
776
+ console.log('Paypal response data :', responseData);
777
+ window.location.href = responseData.links[1].href;
778
+ }
765
779
  },
766
780
  onSettled,
767
781
  });
@@ -898,6 +912,15 @@ const updateProfile = (data, { config, onFetching, onSuccess, onError, onSettled
898
912
  });
899
913
  };
900
914
 
915
+ const verifySubscription = ({ config, onFetching, onSuccess, onError, onSettled }) => {
916
+ return handler$1(get(getUrl("account", "v1", "verify_subscription"), config), {
917
+ onFetching: () => onFetching?.(),
918
+ onError: (error) => onError?.(error),
919
+ onSuccess: (data) => onSuccess?.(data),
920
+ onSettled: () => onSettled?.(),
921
+ });
922
+ };
923
+
901
924
  const Account = {
902
925
  profile: (id) => get(getUrl("account", "v1", "profile"), {
903
926
  params: {
@@ -905,6 +928,7 @@ const Account = {
905
928
  },
906
929
  }),
907
930
  updateProfile,
931
+ verifySubscription
908
932
  };
909
933
 
910
934
  function shareUrl(title, url) {
@@ -1146,5 +1170,5 @@ const LMS = {
1146
1170
  postCourse
1147
1171
  };
1148
1172
 
1149
- export { Account, Accounting, Apis, Assets, Auth, Content, Hr, Inventory, LMS, Linkie, Order, Payment, Sales, Support, Tools, getConfig, getCookie, getUrl, initializeSDK, shareUrl };
1173
+ export { Account, Accounting, Apis, App, Assets, Auth, Content, Hr, Inventory, LMS, Linkie, Order, Payment, Sales, Support, Tools, getConfig, getCookie, getUrl, initializeSDK, handler as requestHandler, shareUrl };
1150
1174
  //# sourceMappingURL=index.js.map
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/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/post_course.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)[]) {\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}\r\n\r\nexport default validateConfig;\r\n","import { default as firebase } from \"firebase/compat/app\";\r\nimport validateConfig from \"./validate\";\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};\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 { 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\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\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.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.Authorization = localStorage.getItem(TOKEN_KEY) || \"\";\n\t\tconfig.headers[\"HB-API-KEY\"] =\n\t\t\t`Bearer ${getConfig().apiKey}` || \"\";\n\t}\n\treturn config;\n}, Promise.reject);\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\tconst { lmsUrl } = getConfig();\n\tconfig.baseURL = lmsUrl;\n\tif (config.headers) {\n\t\tconfig.headers[\"Content-Type\"] = \"application/json\";\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\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\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},\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\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\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) => 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\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\t// Show success state\n\t\t\tconsole.log(\"Request Success:\", response);\n\n\t\t\t// Execute success callback if provided\n\t\t\tif (onSuccess) {\n\t\t\t\tonSuccess(response.data);\n\t\t\t}\n\t\t})\n\t\t.catch((error: any) => {\n\t\t\t// Show error state\n\t\t\tconsole.error(\"Request Error:\", error);\n\n\t\t\t// Execute error callback if provided\n\t\t\tif (onError) {\n\t\t\t\tonError(error);\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\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\t// console.log(\"Payment Success:\", response);\n\t\t\t\t\tonSuccess(response);\n\t\t\t\t\t// Validation call (if needed)\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}\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 { get } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport updateProfile from \"./update_profile\";\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};\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\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) {\r\n const percent = Math.round((e.loaded * 100) / e.total);\r\n onProgress?.(percent);\r\n }\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: (id?: string) =>\n\t\tget(getUrl(\"hr\", \"v1\", \"jobs\"), {\n\t\t\tparams: {\n\t\t\t\tid,\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\";\nimport { lmsPost } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Job } from \"./types\";\n\nconst postCourse = (\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(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 { lmsGet } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport postCourse from \"./post_course\";\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\tgetCourses: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"courses\", true), {\n\t\t\tparams: {\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\tpostCourse\n};\n\n\nexport type { Job } 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/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/post_course.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)[]) {\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}\r\n\r\nexport default validateConfig;\r\n","import { default as firebase } from \"firebase/compat/app\";\r\nimport validateConfig from \"./validate\";\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};\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 { 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\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.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.Authorization = localStorage.getItem(TOKEN_KEY) || \"\";\n\t\tconfig.headers[\"HB-API-KEY\"] =\n\t\t\t`Bearer ${getConfig().apiKey}` || \"\";\n\t}\n\treturn config;\n}, Promise.reject);\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\tconst { lmsUrl } = getConfig();\n\tconfig.baseURL = lmsUrl;\n\tif (config.headers) {\n\t\tconfig.headers[\"Content-Type\"] = \"application/json\";\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\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\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\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) => 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\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\t// Show success state\n\t\t\tconsole.log(\"Request Success:\", response);\n\n\t\t\t// Execute success callback if provided\n\t\t\tif (onSuccess) {\n\t\t\t\tonSuccess(response.data);\n\t\t\t}\n\t\t})\n\t\t.catch((error: any) => {\n\t\t\t// Show error state\n\t\t\tconsole.error(\"Request Error:\", error);\n\n\t\t\t// Execute error callback if provided\n\t\t\tif (onError) {\n\t\t\t\tonError(error);\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: (id?: string) =>\n\t\tget(getUrl(\"hr\", \"v1\", \"jobs\"), {\n\t\t\tparams: {\n\t\t\t\tid,\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\";\nimport { lmsPost } from \"../config/axios\";\nimport handler from \"../config/handler\";\nimport { getUrl } from \"../config/route\";\nimport type { Job } from \"./types\";\n\nconst postCourse = (\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(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 { lmsGet } from \"../config/axios\";\nimport { getUrl } from \"../config/route\";\nimport postCourse from \"./post_course\";\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\tgetCourses: () =>\n\t\tlmsGet(getUrl(\"lms\", \"v1\", \"courses\", true), {\n\t\t\tparams: {\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\tpostCourse\n};\n\n\nexport type { Job } from \"./types\";\nexport default LMS;\n"],"names":["handler","signIn","signUp","cookie","postResume"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  declare const account: {
2
2
  v1: {
3
3
  profile: string;
4
+ verify_subscription: string;
4
5
  };
5
6
  };
6
7
  export default account;
@@ -9,6 +9,17 @@ declare const Account: {
9
9
  params: import("../auth/types").AuthRequestParams;
10
10
  };
11
11
  }) => Promise<void>;
12
+ verifySubscription: ({ config, onFetching, onSuccess, onError, onSettled }: {
13
+ onFetching?: () => void;
14
+ onSuccess?: (data: object) => void;
15
+ onError?: (error: string) => void;
16
+ onSettled?: () => void;
17
+ config?: {
18
+ param?: import("../auth/types").AuthRequestParams;
19
+ signal?: any;
20
+ timeout?: number;
21
+ };
22
+ }) => Promise<void>;
12
23
  };
13
24
  export type { Profile } from "./types";
14
25
  export default Account;
@@ -0,0 +1,13 @@
1
+ import type { AuthRequestParams } from "../auth/types";
2
+ declare const verifySubscription: ({ config, onFetching, onSuccess, onError, onSettled }: {
3
+ onFetching?: () => void;
4
+ onSuccess?: (data: object) => void;
5
+ onError?: (error: string) => void;
6
+ onSettled?: () => void;
7
+ config?: {
8
+ param?: AuthRequestParams;
9
+ signal?: any;
10
+ timeout?: number;
11
+ };
12
+ }) => Promise<void>;
13
+ export default verifySubscription;
@@ -17,3 +17,9 @@ export declare const lmsPost: (endpoint: string, data?: unknown, config?: AxiosR
17
17
  export declare const lmsPut: (endpoint: string, data?: unknown, config?: AxiosRequestConfig<unknown>) => Promise<AxiosResponse>;
18
18
  export declare const lmsGet: (endpoint: string, config?: AxiosRequestConfig<unknown>) => Promise<AxiosResponse>;
19
19
  export declare const lmsPatch: <T>(endpoint: string, data: T) => Promise<AxiosResponse>;
20
+ export declare const App: {
21
+ get: (endpoint: string, config?: AxiosRequestConfig<unknown>) => Promise<AxiosResponse>;
22
+ post: (endpoint: string, data?: unknown, config?: AxiosRequestConfig<unknown>) => Promise<AxiosResponse>;
23
+ put: (endpoint: string, data?: unknown, config?: AxiosRequestConfig<unknown>) => Promise<AxiosResponse>;
24
+ patch: <T>(endpoint: string, data: T) => Promise<AxiosResponse>;
25
+ };
@@ -17,6 +17,8 @@ export { default as LMS } from "./lms";
17
17
  export { getConfig, initializeSDK } from './config';
18
18
  export { getCookie } from "./utils/auth";
19
19
  export { getUrl } from "./config/route";
20
+ export { App } from "./config/axios";
21
+ export { default as requestHandler } from "./utils/handler";
20
22
  export type { Lead, LeadSource, LeadStatus } from './sales';
21
23
  export type { Invoice, SubmitInvoice, PaymentInfo, Tax, Item } from './accounting';
22
24
  export type { Gender } from './types';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@helpdice/sdk",
3
3
  "description": "A backend API-based SDK (Software Development Kit) provides developers with pre-built tools and libraries to interact seamlessly with a backend server or service. It simplifies the process of integrating external functionality, such as authentication, data storage, or third-party services, into applications. The SDK typically includes API endpoints, functions, and documentation, allowing developers to make requests, handle responses, and manage errors efficiently. By abstracting complex backend logic, it speeds up development, reduces coding errors, and ensures consistent interactions with the backend, making it easier to build scalable, secure, and feature-rich applications.",
4
- "version": "0.3.7",
4
+ "version": "0.4.4",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/types/index.d.ts",