@customafk/lunas-api-sdk 0.0.72 → 0.0.73

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.cjs CHANGED
@@ -1,2 +1,2 @@
1
- let e=require(`@elysiajs/eden`);var t=class t{static{this._getMeTask=null}static{this._refreshTokenTask=null}static{this._logoutTask=null}static{this.user=null}static{this.listeners=null}static async _getUser(){if(t.user||!t._client)return;if(t._getMeTask){await t._getMeTask;return}let e=t._client.admin.v1.auth.me.get();t._getMeTask=e;try{let n=await e;if(n.data&&n.data.data&&n.data.success)t.user=n.data.data;else if(n?.data?.statusCode===4001){let{status:n}=await t._refreshToken();if(n===`SUCCESS`){let n=await e;n.data&&n.data.success&&n.data.statusCode===200?t.user=n.data.data:t.user=null}n===`FAILED`&&(t.user=null)}else t.user=null,console.error(`Failed to fetch user data:`,JSON.stringify(n.data))}catch(e){console.error(`Error fetching user data:`,JSON.stringify(e)),t.user=null}finally{t._getMeTask=null}}static async _refreshToken(){return t._client?t._refreshTokenTask?await t._refreshTokenTask:(t._refreshTokenTask=(async()=>{try{let e=await t._client?.admin.v1.auth[`refresh-token`].get();return e?.data&&e.data.success&&e.data.statusCode===200?{status:`SUCCESS`}:{status:`FAILED`}}catch(e){return console.error(`Error refreshing token:`,JSON.stringify(e)),{status:`FAILED`}}})(),t._refreshTokenTask.finally(()=>{t._refreshTokenTask=null})):{status:`FAILED`}}static async _logout(){if(t._client)try{if(t._logoutTask){await t._logoutTask;return}let e=t._client.admin.v1.auth.logout.delete();t._logoutTask=e,await e}catch(e){console.error(`Error during logout:`,e)}finally{t.user=null,t._logoutTask=null,t.listeners?.onUserChange?.(null),t.listeners?.onLogout?.()}}constructor({baseURL:n,config:r}){t._client||=(0,e.treaty)(n,r),this._onUnauthorized=async()=>{t.user=null,await t.listeners?.onUserChange?.(null),await t.listeners?.onUnauthorized?.()}}async getUser(){return await t._getUser(),await t.listeners?.onGetMe?.(t.user),t.user??null}getClient(){return t._client}async logout(){await t._client?.admin.v1.auth.logout.delete(),await t.listeners?.onLogout?.(),t.user=null}async fetchApi({request:e}){if(!t._client)throw Error(`Client not initialized`);try{t._getMeTask&&(console.log(`Awaiting ongoing _getMeTask before proceeding with fetchApi`),await t._getMeTask),t._refreshTokenTask&&(console.log(`Awaiting ongoing _refreshTokenTask before proceeding with fetchApi`),await t._refreshTokenTask),t._logoutTask&&(console.log(`Awaiting ongoing _logoutTask before proceeding with fetchApi`),await t._logoutTask);let n=await e(t._client);if(!n.data)return console.error(`No response data received from API request`),null;let r=n.data;if(r?.statusCode===401)return await this._onUnauthorized?.(),await t.listeners?.onUnauthorized?.(),null;if(r?.statusCode===4001){let{status:n}=await t._refreshToken();if(await t.listeners?.onRefreshToken?.(n),n===`SUCCESS`)return await e(t._client);if(n===`FAILED`)return await t._logout(),await t.listeners?.onLogout?.(),null}return n}catch(e){return console.error(`Error in fetchApi:`,JSON.stringify(e)),{success:!1,statusCode:500,data:null,message:`Internal Client Error`,error:{statusCode:500,message:`Internal Client Error`},meta:{version:`1.0.0`,timestamp:new Date().toISOString(),path:``}}}}};exports.ClientApi=t;
1
+ let e=require(`@elysiajs/eden`);var t=class t{static{this._getMeTask=null}static{this._refreshTokenTask=null}static{this._logoutTask=null}static{this.user=null}static{this.listeners=null}static async _getUser(){if(t.user||!t._client)return;if(t._getMeTask){await t._getMeTask;return}let e=t._client.admin.v1.auth.me.get();t._getMeTask=e;try{let n=await e;if(n.data&&n.data.data&&n.data.success)t.user=n.data.data;else if(n?.data?.statusCode===4001){let{status:e}=await t._refreshToken();if(e===`SUCCESS`){let e=await t._client.admin.v1.auth.me.get();e.data&&e.data.success&&e.data.statusCode===200?t.user=e.data.data:t.user=null}e===`FAILED`&&(t.user=null)}else t.user=null,console.error(`Failed to fetch user data:`,JSON.stringify(n.data))}catch(e){console.error(`Error fetching user data:`,JSON.stringify(e)),t.user=null}finally{t._getMeTask=null}}static async _refreshToken(){return t._client?t._refreshTokenTask?await t._refreshTokenTask:(t._refreshTokenTask=(async()=>{try{let e=await t._client?.admin.v1.auth[`refresh-token`].get();return e?.data&&e.data.success&&e.data.statusCode===200?{status:`SUCCESS`}:{status:`FAILED`}}catch(e){return console.error(`Error refreshing token:`,JSON.stringify(e)),{status:`FAILED`}}})(),t._refreshTokenTask.finally(()=>{t._refreshTokenTask=null})):{status:`FAILED`}}static async _logout(){if(t._client)try{if(t._logoutTask){await t._logoutTask;return}let e=t._client.admin.v1.auth.logout.delete();t._logoutTask=e,await e}catch(e){console.error(`Error during logout:`,e)}finally{t.user=null,t._logoutTask=null,t.listeners?.onUserChange?.(null),t.listeners?.onLogout?.()}}constructor({baseURL:n,config:r}){t._client||=(0,e.treaty)(n,r),this._onUnauthorized=async()=>{t.user=null,await t.listeners?.onUserChange?.(null),await t.listeners?.onUnauthorized?.()}}async getUser(){return await t._getUser(),await t.listeners?.onGetMe?.(t.user),t.user??null}getClient(){return t._client}async logout(){await t._logout()}async fetchApi({request:e}){if(!t._client)throw Error(`Client not initialized`);try{t._getMeTask&&(console.log(`Awaiting ongoing _getMeTask before proceeding with fetchApi`),await t._getMeTask),t._refreshTokenTask&&(console.log(`Awaiting ongoing _refreshTokenTask before proceeding with fetchApi`),await t._refreshTokenTask),t._logoutTask&&(console.log(`Awaiting ongoing _logoutTask before proceeding with fetchApi`),await t._logoutTask);let n=await e(t._client);if(!n.data)return console.error(`No response data received from API request`),null;let r=n.data;if(r?.statusCode===401)return await this._onUnauthorized?.(),null;if(r?.statusCode===4001){let{status:n}=await t._refreshToken();if(await t.listeners?.onRefreshToken?.(n),n===`SUCCESS`)return await e(t._client);if(n===`FAILED`)return await t._logout(),null}return n}catch(e){return console.error(`Error in fetchApi:`,JSON.stringify(e)),null}}};exports.ClientApi=t;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["/** biome-ignore-all lint/suspicious/noExplicitAny: true */\nimport type { Treaty } from '@elysiajs/eden';\nimport { treaty } from '@elysiajs/eden';\nimport type { Type } from './types';\n\ntype RefreshStatus = 'SUCCESS' | 'FAILED';\n\n// Trick to extract Treaty Client type\nclass _Client {\n public static client: Treaty.Create<Type.AppType>;\n public getClient() {\n return null;\n }\n}\n\n// Extract the client type\nconst _func = () => _Client.client;\ntype TClient = ReturnType<typeof _func>;\n\nexport type TUser = Treaty.Data<\n Awaited<ReturnType<TClient['admin']['v1']['auth']['me']['get']>>\n>['data'];\n\ntype Config = {\n baseURL: string;\n config?: Omit<Treaty.Config, 'onResponse'>;\n};\n\nexport class ClientApi {\n // Keep track of the ongoing \"me\" request to prevent multiple simultaneous calls\n private static _client: TClient | undefined;\n private static _getMeTask: Promise<any> | null = null;\n private static _refreshTokenTask: Promise<{ status: RefreshStatus }> | null =\n null;\n private static _logoutTask: Promise<any> | null = null;\n\n public static user: TUser = null;\n\n public static listeners: {\n onUserChange?: (user: TUser | null) => void | Promise<void>;\n onGetMe?: (user: TUser | null) => void | Promise<void>;\n onLogout?: () => void | Promise<void>;\n onUnauthorized?: () => void | Promise<void>;\n onRefreshToken?: (status: 'SUCCESS' | 'FAILED') => void | Promise<void>;\n } | null = null;\n\n private static async _getUser() {\n // If already logged in, no need to fetch again\n if (ClientApi.user) return;\n\n // Ensure client is initialized\n if (!ClientApi._client) return;\n\n // If there's an ongoing \"me\" request, await its completion\n if (ClientApi._getMeTask) {\n await ClientApi._getMeTask;\n return;\n }\n\n const getMe = ClientApi._client.admin.v1.auth.me.get();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._getMeTask = getMe;\n try {\n const res = await getMe;\n if (!!res.data && !!res.data.data && res.data.success) {\n ClientApi.user = res.data.data;\n\n // CASE: Token Expired\n } else if (res?.data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n if (status === 'SUCCESS') {\n const _res = await getMe;\n if (\n !!_res.data &&\n _res.data.success &&\n _res.data.statusCode === 200\n ) {\n ClientApi.user = _res.data.data;\n } else {\n ClientApi.user = null;\n }\n }\n if (status === 'FAILED') {\n ClientApi.user = null;\n }\n // CASE: Unauthorized\n } else {\n ClientApi.user = null;\n console.error('Failed to fetch user data:', JSON.stringify(res.data));\n }\n } catch (error) {\n console.error('Error fetching user data:', JSON.stringify(error));\n ClientApi.user = null;\n } finally {\n ClientApi._getMeTask = null;\n }\n }\n\n private static async _refreshToken() {\n // Ensure client is initialized\n if (!ClientApi._client) return { status: 'FAILED' as const };\n\n // If there's an ongoing \"refresh token\" request, await its completion\n if (ClientApi._refreshTokenTask) {\n const res = await ClientApi._refreshTokenTask;\n return res;\n }\n\n const handler = async (): Promise<{ status: RefreshStatus }> => {\n try {\n const res =\n await ClientApi._client?.admin.v1.auth['refresh-token'].get();\n if (!!res?.data && !!res.data.success && res.data.statusCode === 200) {\n return { status: 'SUCCESS' };\n }\n return { status: 'FAILED' };\n } catch (error) {\n console.error('Error refreshing token:', JSON.stringify(error));\n return { status: 'FAILED' };\n }\n };\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._refreshTokenTask = handler();\n return ClientApi._refreshTokenTask.finally(() => {\n ClientApi._refreshTokenTask = null;\n });\n }\n\n private static async _logout() {\n // Ensure client is initialized\n if (!ClientApi._client) return;\n try {\n // If there's an ongoing \"logout\" request, await its completion\n if (ClientApi._logoutTask) {\n await ClientApi._logoutTask;\n return;\n }\n\n const logout = ClientApi._client.admin.v1.auth.logout.delete();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._logoutTask = logout;\n await logout;\n } catch (error) {\n console.error('Error during logout:', error);\n } finally {\n ClientApi.user = null;\n ClientApi._logoutTask = null;\n ClientApi.listeners?.onUserChange?.(null);\n ClientApi.listeners?.onLogout?.();\n }\n }\n\n constructor({ baseURL, config }: Config) {\n // Initialize Treaty Client\n if (!ClientApi._client) {\n ClientApi._client = treaty<Type.AppType>(baseURL, config);\n }\n\n this._onUnauthorized = async () => {\n ClientApi.user = null;\n await ClientApi.listeners?.onUserChange?.(null);\n await ClientApi.listeners?.onUnauthorized?.();\n };\n }\n\n public async getUser() {\n await ClientApi._getUser();\n await ClientApi.listeners?.onGetMe?.(ClientApi.user);\n return ClientApi.user ?? null;\n }\n\n public getClient(): TClient | undefined {\n return ClientApi._client;\n }\n\n public async logout() {\n await ClientApi._client?.admin.v1.auth.logout.delete();\n await ClientApi.listeners?.onLogout?.();\n ClientApi.user = null;\n }\n\n public async fetchApi<TData>({\n request,\n }: {\n request: (api: TClient) => Promise<TData>;\n }) {\n // Ensure client is initialized\n if (!ClientApi._client) {\n throw new Error('Client not initialized');\n }\n\n try {\n // Await ongoing \"me\" request to ensure user state is up-to-date\n if (ClientApi._getMeTask) {\n console.log(\n 'Awaiting ongoing _getMeTask before proceeding with fetchApi'\n );\n await ClientApi._getMeTask;\n }\n\n // Await ongoing \"refresh token\" request to ensure token state is up-to-date\n if (ClientApi._refreshTokenTask) {\n console.log(\n 'Awaiting ongoing _refreshTokenTask before proceeding with fetchApi'\n );\n await ClientApi._refreshTokenTask;\n }\n\n // Await ongoing \"logout\" request to ensure user is logged out properly\n if (ClientApi._logoutTask) {\n console.log(\n 'Awaiting ongoing _logoutTask before proceeding with fetchApi'\n );\n await ClientApi._logoutTask;\n }\n\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<any>>>;\n\n // Check if response data exists\n if (!response.data) {\n console.error('No response data received from API request');\n return null;\n }\n\n // Check for status codes in the response data\n const _data = response.data;\n\n // CASE: User is Unauthorized\n if (_data?.statusCode === 401) {\n await this._onUnauthorized?.();\n await ClientApi.listeners?.onUnauthorized?.();\n return null;\n }\n\n // CASE: TOKEN EXPIRED - Re-fetch user data\n if (_data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n await ClientApi.listeners?.onRefreshToken?.(status);\n if (status === 'SUCCESS') {\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<any>>>;\n return response as TData;\n }\n if (status === 'FAILED') {\n await ClientApi._logout();\n await ClientApi.listeners?.onLogout?.();\n return null;\n }\n }\n\n return response as TData;\n } catch (error) {\n console.error('Error in fetchApi:', JSON.stringify(error));\n return {\n success: false,\n statusCode: 500,\n data: null,\n message: 'Internal Client Error',\n error: {\n statusCode: 500,\n message: 'Internal Client Error',\n },\n meta: {\n version: '1.0.0',\n timestamp: new Date().toISOString(),\n path: '',\n },\n };\n }\n }\n\n private _onUnauthorized?: () => void | Promise<void>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import type { Treaty } from '@elysiajs/eden';\nimport { treaty } from '@elysiajs/eden';\nimport type { Type } from './types';\n\ntype RefreshStatus = 'SUCCESS' | 'FAILED';\n\n// Trick to extract Treaty Client type\nclass _Client {\n public static client: Treaty.Create<Type.AppType>;\n public getClient() {\n return null;\n }\n}\n\n// Extract the client type\nconst _func = () => _Client.client;\ntype TClient = ReturnType<typeof _func>;\n\nexport type TUser = Treaty.Data<\n Awaited<ReturnType<TClient['admin']['v1']['auth']['me']['get']>>\n>['data'];\n\ntype Config = {\n baseURL: string;\n config?: Omit<Treaty.Config, 'onResponse'>;\n};\n\nexport class ClientApi {\n // Keep track of the ongoing \"me\" request to prevent multiple simultaneous calls\n private static _client: TClient | undefined;\n private static _getMeTask: Promise<unknown> | null = null;\n private static _refreshTokenTask: Promise<{ status: RefreshStatus }> | null =\n null;\n private static _logoutTask: Promise<unknown> | null = null;\n\n public static user: TUser = null;\n\n public static listeners: {\n onUserChange?: (user: TUser | null) => void | Promise<void>;\n onGetMe?: (user: TUser | null) => void | Promise<void>;\n onLogout?: () => void | Promise<void>;\n onUnauthorized?: () => void | Promise<void>;\n onRefreshToken?: (status: 'SUCCESS' | 'FAILED') => void | Promise<void>;\n } | null = null;\n\n private static async _getUser() {\n // If already logged in, no need to fetch again\n if (ClientApi.user) return;\n\n // Ensure client is initialized\n if (!ClientApi._client) return;\n\n // If there's an ongoing \"me\" request, await its completion\n if (ClientApi._getMeTask) {\n await ClientApi._getMeTask;\n return;\n }\n\n const getMe = ClientApi._client.admin.v1.auth.me.get();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._getMeTask = getMe;\n try {\n const res = await getMe;\n if (!!res.data && !!res.data.data && res.data.success) {\n ClientApi.user = res.data.data;\n\n // CASE: Token Expired\n } else if (res?.data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n if (status === 'SUCCESS') {\n const _res = await ClientApi._client.admin.v1.auth.me.get();\n if (\n !!_res.data &&\n _res.data.success &&\n _res.data.statusCode === 200\n ) {\n ClientApi.user = _res.data.data;\n } else {\n ClientApi.user = null;\n }\n }\n if (status === 'FAILED') {\n ClientApi.user = null;\n }\n // CASE: Unauthorized\n } else {\n ClientApi.user = null;\n console.error('Failed to fetch user data:', JSON.stringify(res.data));\n }\n } catch (error) {\n console.error('Error fetching user data:', JSON.stringify(error));\n ClientApi.user = null;\n } finally {\n ClientApi._getMeTask = null;\n }\n }\n\n private static async _refreshToken() {\n // Ensure client is initialized\n if (!ClientApi._client) return { status: 'FAILED' as const };\n\n // If there's an ongoing \"refresh token\" request, await its completion\n if (ClientApi._refreshTokenTask) {\n const res = await ClientApi._refreshTokenTask;\n return res;\n }\n\n const handler = async (): Promise<{ status: RefreshStatus }> => {\n try {\n const res =\n await ClientApi._client?.admin.v1.auth['refresh-token'].get();\n if (!!res?.data && !!res.data.success && res.data.statusCode === 200) {\n return { status: 'SUCCESS' };\n }\n return { status: 'FAILED' };\n } catch (error) {\n console.error('Error refreshing token:', JSON.stringify(error));\n return { status: 'FAILED' };\n }\n };\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._refreshTokenTask = handler();\n return ClientApi._refreshTokenTask.finally(() => {\n ClientApi._refreshTokenTask = null;\n });\n }\n\n private static async _logout() {\n // Ensure client is initialized\n if (!ClientApi._client) return;\n try {\n // If there's an ongoing \"logout\" request, await its completion\n if (ClientApi._logoutTask) {\n await ClientApi._logoutTask;\n return;\n }\n\n const logout = ClientApi._client.admin.v1.auth.logout.delete();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._logoutTask = logout;\n await logout;\n } catch (error) {\n console.error('Error during logout:', error);\n } finally {\n ClientApi.user = null;\n ClientApi._logoutTask = null;\n ClientApi.listeners?.onUserChange?.(null);\n ClientApi.listeners?.onLogout?.();\n }\n }\n\n constructor({ baseURL, config }: Config) {\n // Initialize Treaty Client\n if (!ClientApi._client) {\n ClientApi._client = treaty<Type.AppType>(baseURL, config);\n }\n\n this._onUnauthorized = async () => {\n ClientApi.user = null;\n await ClientApi.listeners?.onUserChange?.(null);\n await ClientApi.listeners?.onUnauthorized?.();\n };\n }\n\n public async getUser() {\n await ClientApi._getUser();\n await ClientApi.listeners?.onGetMe?.(ClientApi.user);\n return ClientApi.user ?? null;\n }\n\n public getClient(): TClient | undefined {\n return ClientApi._client;\n }\n\n public async logout() {\n await ClientApi._logout();\n }\n\n public async fetchApi<TData>({\n request,\n }: {\n request: (api: TClient) => Promise<TData>;\n }): Promise<TData | null> {\n // Ensure client is initialized\n if (!ClientApi._client) {\n throw new Error('Client not initialized');\n }\n\n try {\n // Await ongoing \"me\" request to ensure user state is up-to-date\n if (ClientApi._getMeTask) {\n console.log(\n 'Awaiting ongoing _getMeTask before proceeding with fetchApi'\n );\n await ClientApi._getMeTask;\n }\n\n // Await ongoing \"refresh token\" request to ensure token state is up-to-date\n if (ClientApi._refreshTokenTask) {\n console.log(\n 'Awaiting ongoing _refreshTokenTask before proceeding with fetchApi'\n );\n await ClientApi._refreshTokenTask;\n }\n\n // Await ongoing \"logout\" request to ensure user is logged out properly\n if (ClientApi._logoutTask) {\n console.log(\n 'Awaiting ongoing _logoutTask before proceeding with fetchApi'\n );\n await ClientApi._logoutTask;\n }\n\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<unknown>>>;\n\n // Check if response data exists\n if (!response.data) {\n console.error('No response data received from API request');\n return null;\n }\n\n // Check for status codes in the response data\n const _data = response.data;\n\n // CASE: User is Unauthorized\n if (_data?.statusCode === 401) {\n await this._onUnauthorized?.();\n return null;\n }\n\n // CASE: TOKEN EXPIRED - Re-fetch user data\n if (_data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n await ClientApi.listeners?.onRefreshToken?.(status);\n if (status === 'SUCCESS') {\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<unknown>>>;\n return response as TData;\n }\n if (status === 'FAILED') {\n await ClientApi._logout();\n return null;\n }\n }\n\n return response as TData;\n } catch (error) {\n console.error('Error in fetchApi:', JSON.stringify(error));\n return null;\n }\n }\n\n private _onUnauthorized?: () => void | Promise<void>;\n}\n"],"mappings":"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"}
package/dist/index.d.cts CHANGED
@@ -100,7 +100,7 @@ type TResponseError = {
100
100
  message: string;
101
101
  reference?: string | null;
102
102
  fields?: {
103
- [key: string]: string[] | string;
103
+ [key: string]: string;
104
104
  };
105
105
  };
106
106
  type TResponseMeta = {
@@ -294,7 +294,23 @@ declare const _func: () => {
294
294
  headers?: {} | undefined;
295
295
  query?: {} | undefined;
296
296
  fetch?: RequestInit | undefined;
297
- } | undefined) => Promise<Treaty.TreatyResponse<{}>>;
297
+ } | undefined) => Promise<Treaty.TreatyResponse<{
298
+ 200: {
299
+ success: true;
300
+ statusCode: number;
301
+ data: null;
302
+ message: string;
303
+ error: null;
304
+ meta: TResponseMeta;
305
+ } | {
306
+ success: false;
307
+ statusCode: number;
308
+ data: null;
309
+ message: string;
310
+ error: TResponseError;
311
+ meta: TResponseMeta;
312
+ };
313
+ }>>;
298
314
  };
299
315
  };
300
316
  account: ((params: {
@@ -962,13 +978,11 @@ declare const _func: () => {
962
978
  currency: ((params: {
963
979
  id: string | number;
964
980
  }) => {
965
- get: (options: {
981
+ get: (options?: {
966
982
  headers?: {} | undefined;
967
- query: {
968
- id: number;
969
- };
983
+ query?: {} | undefined;
970
984
  fetch?: RequestInit | undefined;
971
- }) => Promise<Treaty.TreatyResponse<{
985
+ } | undefined) => Promise<Treaty.TreatyResponse<{
972
986
  200: {
973
987
  success: false;
974
988
  statusCode: number;
@@ -1339,22 +1353,13 @@ declare const _func: () => {
1339
1353
  error: null;
1340
1354
  meta: TResponseMeta;
1341
1355
  };
1342
- 422: {
1343
- type: "validation";
1344
- on: string;
1345
- summary?: string;
1346
- message?: string;
1347
- found?: unknown;
1348
- property?: string;
1349
- expected?: string;
1350
- };
1351
1356
  }>>;
1352
1357
  post: (body: {
1353
- description?: string | undefined;
1354
1358
  name: string;
1355
1359
  valueType: "PERCENTAGE" | "FIXED";
1356
1360
  depositValue: number;
1357
1361
  surchargeValue: number;
1362
+ description?: string | undefined;
1358
1363
  }, options?: {
1359
1364
  headers?: {} | undefined;
1360
1365
  query?: {} | undefined;
@@ -1992,11 +1997,38 @@ declare const _func: () => {
1992
1997
  expected?: string;
1993
1998
  };
1994
1999
  }>>;
1995
- delete: (body?: {} | undefined, options?: {
2000
+ delete: (body: {}, options: {
1996
2001
  headers?: {} | undefined;
1997
- query?: {} | undefined;
2002
+ query: {
2003
+ uuids: string[];
2004
+ };
1998
2005
  fetch?: RequestInit | undefined;
1999
- } | undefined) => Promise<Treaty.TreatyResponse<{}>>;
2006
+ }) => Promise<Treaty.TreatyResponse<{
2007
+ 200: {
2008
+ success: true;
2009
+ statusCode: number;
2010
+ data: null;
2011
+ message: string;
2012
+ error: null;
2013
+ meta: TResponseMeta;
2014
+ } | {
2015
+ success: false;
2016
+ statusCode: number;
2017
+ data: null;
2018
+ message: string;
2019
+ error: TResponseError;
2020
+ meta: TResponseMeta;
2021
+ };
2022
+ 422: {
2023
+ type: "validation";
2024
+ on: string;
2025
+ summary?: string;
2026
+ message?: string;
2027
+ found?: unknown;
2028
+ property?: string;
2029
+ expected?: string;
2030
+ };
2031
+ }>>;
2000
2032
  };
2001
2033
  attach: {
2002
2034
  post: (body: {
@@ -2566,7 +2598,7 @@ declare const _func: () => {
2566
2598
  content: string | null;
2567
2599
  completedAt: Date | null;
2568
2600
  manifestUuid: string | null;
2569
- milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
2601
+ milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
2570
2602
  startedAt: Date;
2571
2603
  category: "ORDER" | "PAYMENT" | "LOGISTICS";
2572
2604
  isPublic: boolean;
@@ -2624,7 +2656,7 @@ declare const _func: () => {
2624
2656
  }>>;
2625
2657
  status: {
2626
2658
  patch: (body: {
2627
- status: "DRAFT" | "PENDING" | "PROCESSING" | "COMPLETED" | "CANCELLED";
2659
+ status: "DRAFT" | "PENDING" | "PROCESSING" | "COMPLETED";
2628
2660
  }, options?: {
2629
2661
  headers?: {} | undefined;
2630
2662
  query?: {} | undefined;
@@ -2743,18 +2775,20 @@ declare const _func: () => {
2743
2775
  fetch?: RequestInit | undefined;
2744
2776
  } | undefined) => Promise<Treaty.TreatyResponse<{
2745
2777
  200: {
2746
- success: true;
2778
+ success: false;
2747
2779
  statusCode: number;
2748
2780
  data: null;
2749
2781
  message: string;
2750
- error: null;
2782
+ error: TResponseError;
2751
2783
  meta: TResponseMeta;
2752
2784
  } | {
2753
- success: false;
2785
+ success: true;
2754
2786
  statusCode: number;
2755
- data: null;
2756
- message: string;
2757
- error: TResponseError;
2787
+ data: {
2788
+ uuid: string;
2789
+ };
2790
+ message: null;
2791
+ error: null;
2758
2792
  meta: TResponseMeta;
2759
2793
  };
2760
2794
  422: {
@@ -2884,18 +2918,20 @@ declare const _func: () => {
2884
2918
  fetch?: RequestInit | undefined;
2885
2919
  } | undefined) => Promise<Treaty.TreatyResponse<{
2886
2920
  200: {
2887
- success: true;
2921
+ success: false;
2888
2922
  statusCode: number;
2889
2923
  data: null;
2890
2924
  message: string;
2891
- error: null;
2925
+ error: TResponseError;
2892
2926
  meta: TResponseMeta;
2893
2927
  } | {
2894
- success: false;
2928
+ success: true;
2895
2929
  statusCode: number;
2896
- data: null;
2897
- message: string;
2898
- error: TResponseError;
2930
+ data: {
2931
+ uuid: string;
2932
+ };
2933
+ message: null;
2934
+ error: null;
2899
2935
  meta: TResponseMeta;
2900
2936
  };
2901
2937
  422: {
@@ -2914,18 +2950,20 @@ declare const _func: () => {
2914
2950
  fetch?: RequestInit | undefined;
2915
2951
  } | undefined) => Promise<Treaty.TreatyResponse<{
2916
2952
  200: {
2917
- success: true;
2953
+ success: false;
2918
2954
  statusCode: number;
2919
2955
  data: null;
2920
2956
  message: string;
2921
- error: null;
2957
+ error: TResponseError;
2922
2958
  meta: TResponseMeta;
2923
2959
  } | {
2924
- success: false;
2960
+ success: true;
2925
2961
  statusCode: number;
2926
- data: null;
2927
- message: string;
2928
- error: TResponseError;
2962
+ data: {
2963
+ uuid: string;
2964
+ };
2965
+ message: null;
2966
+ error: null;
2929
2967
  meta: TResponseMeta;
2930
2968
  };
2931
2969
  422: {
@@ -2951,18 +2989,20 @@ declare const _func: () => {
2951
2989
  fetch?: RequestInit | undefined;
2952
2990
  } | undefined) => Promise<Treaty.TreatyResponse<{
2953
2991
  200: {
2954
- success: true;
2992
+ success: false;
2955
2993
  statusCode: number;
2956
2994
  data: null;
2957
2995
  message: string;
2958
- error: null;
2996
+ error: TResponseError;
2959
2997
  meta: TResponseMeta;
2960
2998
  } | {
2961
- success: false;
2999
+ success: true;
2962
3000
  statusCode: number;
2963
- data: null;
2964
- message: string;
2965
- error: TResponseError;
3001
+ data: {
3002
+ uuid: string;
3003
+ };
3004
+ message: null;
3005
+ error: null;
2966
3006
  meta: TResponseMeta;
2967
3007
  };
2968
3008
  422: {
@@ -2988,18 +3028,20 @@ declare const _func: () => {
2988
3028
  fetch?: RequestInit | undefined;
2989
3029
  } | undefined) => Promise<Treaty.TreatyResponse<{
2990
3030
  200: {
2991
- success: true;
3031
+ success: false;
2992
3032
  statusCode: number;
2993
3033
  data: null;
2994
3034
  message: string;
2995
- error: null;
3035
+ error: TResponseError;
2996
3036
  meta: TResponseMeta;
2997
3037
  } | {
2998
- success: false;
3038
+ success: true;
2999
3039
  statusCode: number;
3000
- data: null;
3001
- message: string;
3002
- error: TResponseError;
3040
+ data: {
3041
+ uuid: string;
3042
+ }[];
3043
+ message: null;
3044
+ error: null;
3003
3045
  meta: TResponseMeta;
3004
3046
  };
3005
3047
  422: {
@@ -3014,7 +3056,9 @@ declare const _func: () => {
3014
3056
  }>>;
3015
3057
  };
3016
3058
  };
3017
- delete: (body?: {} | undefined, options?: {
3059
+ delete: (body?: {
3060
+ cancelReason?: string | undefined;
3061
+ } | undefined, options?: {
3018
3062
  headers?: {} | undefined;
3019
3063
  query?: {} | undefined;
3020
3064
  fetch?: RequestInit | undefined;
@@ -3368,18 +3412,20 @@ declare const _func: () => {
3368
3412
  fetch?: RequestInit | undefined;
3369
3413
  } | undefined) => Promise<Treaty.TreatyResponse<{
3370
3414
  200: {
3371
- success: true;
3415
+ success: false;
3372
3416
  statusCode: number;
3373
3417
  data: null;
3374
3418
  message: string;
3375
- error: null;
3419
+ error: TResponseError;
3376
3420
  meta: TResponseMeta;
3377
3421
  } | {
3378
- success: false;
3422
+ success: true;
3379
3423
  statusCode: number;
3380
- data: null;
3381
- message: string;
3382
- error: TResponseError;
3424
+ data: {
3425
+ id: string;
3426
+ };
3427
+ message: null;
3428
+ error: null;
3383
3429
  meta: TResponseMeta;
3384
3430
  };
3385
3431
  422: {
@@ -3461,25 +3507,28 @@ declare const _func: () => {
3461
3507
  surchargeIds?: string[] | undefined;
3462
3508
  amount: number;
3463
3509
  paymentType: "OTHER" | "DEPOSIT" | "FULL_PAYMENT" | "PARTIAL_PAYMENT" | "FEE" | "ADJUSTMENT";
3464
- orderId: string | null;
3510
+ orderId: string;
3465
3511
  }, options?: {
3466
3512
  headers?: {} | undefined;
3467
3513
  query?: {} | undefined;
3468
3514
  fetch?: RequestInit | undefined;
3469
3515
  } | undefined) => Promise<Treaty.TreatyResponse<{
3470
3516
  200: {
3471
- success: true;
3517
+ success: false;
3472
3518
  statusCode: number;
3473
3519
  data: null;
3474
3520
  message: string;
3475
- error: null;
3521
+ error: TResponseError;
3476
3522
  meta: TResponseMeta;
3477
3523
  } | {
3478
- success: false;
3524
+ success: true;
3479
3525
  statusCode: number;
3480
- data: null;
3481
- message: string;
3482
- error: TResponseError;
3526
+ data: {
3527
+ id: string;
3528
+ checkoutUrl: string | null;
3529
+ };
3530
+ message: null;
3531
+ error: null;
3483
3532
  meta: TResponseMeta;
3484
3533
  };
3485
3534
  422: {
@@ -4369,6 +4418,10 @@ declare const _func: () => {
4369
4418
  isDefault: boolean;
4370
4419
  isNew: boolean;
4371
4420
  isSpecial: boolean;
4421
+ options?: {
4422
+ optionId: number;
4423
+ value: string;
4424
+ }[] | undefined;
4372
4425
  }[];
4373
4426
  }, options?: {
4374
4427
  headers?: {} | undefined;
@@ -5937,7 +5990,7 @@ declare const _func: () => {
5937
5990
  estimatedDeliveryAt: Date | null;
5938
5991
  completedAt: Date | null;
5939
5992
  manifestUuid: string | null;
5940
- milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
5993
+ milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
5941
5994
  startedAt: Date;
5942
5995
  category: "ORDER" | "PAYMENT" | "LOGISTICS";
5943
5996
  metadata: unknown;
@@ -5975,26 +6028,26 @@ declare const _func: () => {
5975
6028
  customerPhone: string;
5976
6029
  shippingAddress: string;
5977
6030
  shipingNote: string;
5978
- }, options?: {
6031
+ }, options: {
5979
6032
  headers?: {} | undefined;
5980
- query?: {} | undefined;
6033
+ query: {
6034
+ token: string;
6035
+ };
5981
6036
  fetch?: RequestInit | undefined;
5982
- } | undefined) => Promise<Treaty.TreatyResponse<{
6037
+ }) => Promise<Treaty.TreatyResponse<{
5983
6038
  200: {
5984
- success: false;
6039
+ success: true;
5985
6040
  statusCode: number;
5986
6041
  data: null;
5987
6042
  message: string;
5988
- error: TResponseError;
6043
+ error: null;
5989
6044
  meta: TResponseMeta;
5990
6045
  } | {
5991
- success: true;
6046
+ success: false;
5992
6047
  statusCode: number;
5993
- data: {
5994
- message: string;
5995
- };
5996
- message: null;
5997
- error: null;
6048
+ data: null;
6049
+ message: string;
6050
+ error: TResponseError;
5998
6051
  meta: TResponseMeta;
5999
6052
  };
6000
6053
  422: {
@@ -6007,46 +6060,6 @@ declare const _func: () => {
6007
6060
  expected?: string;
6008
6061
  };
6009
6062
  }>>;
6010
- status: {
6011
- patch: (body?: {} | undefined, options?: {
6012
- headers?: {} | undefined;
6013
- query?: {} | undefined;
6014
- fetch?: RequestInit | undefined;
6015
- } | undefined) => Promise<Treaty.TreatyResponse<{
6016
- 200: string;
6017
- 422: {
6018
- type: "validation";
6019
- on: string;
6020
- summary?: string;
6021
- message?: string;
6022
- found?: unknown;
6023
- property?: string;
6024
- expected?: string;
6025
- };
6026
- }>>;
6027
- };
6028
- "order-manifests": ((params: {
6029
- manifestId: string | number;
6030
- }) => {
6031
- cancel: {
6032
- patch: (body?: {} | undefined, options?: {
6033
- headers?: {} | undefined;
6034
- query?: {} | undefined;
6035
- fetch?: RequestInit | undefined;
6036
- } | undefined) => Promise<Treaty.TreatyResponse<{
6037
- 200: string;
6038
- 422: {
6039
- type: "validation";
6040
- on: string;
6041
- summary?: string;
6042
- message?: string;
6043
- found?: unknown;
6044
- property?: string;
6045
- expected?: string;
6046
- };
6047
- }>>;
6048
- };
6049
- }) & {};
6050
6063
  }) & {};
6051
6064
  payments: {
6052
6065
  webhooks: {
@@ -6198,21 +6211,7 @@ declare class ClientApi {
6198
6211
  request
6199
6212
  }: {
6200
6213
  request: (api: TClient) => Promise<TData>;
6201
- }): Promise<TData | {
6202
- success: boolean;
6203
- statusCode: number;
6204
- data: null;
6205
- message: string;
6206
- error: {
6207
- statusCode: number;
6208
- message: string;
6209
- };
6210
- meta: {
6211
- version: string;
6212
- timestamp: string;
6213
- path: string;
6214
- };
6215
- } | null>;
6214
+ }): Promise<TData | null>;
6216
6215
  private _onUnauthorized?;
6217
6216
  }
6218
6217
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductInventoryStatus","ECartStatus","ECartType","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","AppType"],"sources":["../../app/src/types.d.ts","../src/utils.ts"],"sourcesContent":["import type { app } from '.';\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string[] | string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type AppType = typeof app;\n"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAxKE,OAAA,GAAU,kBAAkB;KAErB,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KA6G3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBASF,YAAY,QAAQ;MACpC,QAAA"}
1
+ {"version":3,"file":"index.d.cts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductInventoryStatus","ECartStatus","ECartType","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","AppType"],"sources":["../../app/src/types.d.ts","../src/utils.ts"],"sourcesContent":["import type { app } from '.';\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type AppType = typeof app;\n"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAtKR,OAAA,GAAU,kBAAkB;KAErB,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KA6G3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
package/dist/index.d.mts CHANGED
@@ -100,7 +100,7 @@ type TResponseError = {
100
100
  message: string;
101
101
  reference?: string | null;
102
102
  fields?: {
103
- [key: string]: string[] | string;
103
+ [key: string]: string;
104
104
  };
105
105
  };
106
106
  type TResponseMeta = {
@@ -294,7 +294,23 @@ declare const _func: () => {
294
294
  headers?: {} | undefined;
295
295
  query?: {} | undefined;
296
296
  fetch?: RequestInit | undefined;
297
- } | undefined) => Promise<Treaty.TreatyResponse<{}>>;
297
+ } | undefined) => Promise<Treaty.TreatyResponse<{
298
+ 200: {
299
+ success: true;
300
+ statusCode: number;
301
+ data: null;
302
+ message: string;
303
+ error: null;
304
+ meta: TResponseMeta;
305
+ } | {
306
+ success: false;
307
+ statusCode: number;
308
+ data: null;
309
+ message: string;
310
+ error: TResponseError;
311
+ meta: TResponseMeta;
312
+ };
313
+ }>>;
298
314
  };
299
315
  };
300
316
  account: ((params: {
@@ -962,13 +978,11 @@ declare const _func: () => {
962
978
  currency: ((params: {
963
979
  id: string | number;
964
980
  }) => {
965
- get: (options: {
981
+ get: (options?: {
966
982
  headers?: {} | undefined;
967
- query: {
968
- id: number;
969
- };
983
+ query?: {} | undefined;
970
984
  fetch?: RequestInit | undefined;
971
- }) => Promise<Treaty.TreatyResponse<{
985
+ } | undefined) => Promise<Treaty.TreatyResponse<{
972
986
  200: {
973
987
  success: false;
974
988
  statusCode: number;
@@ -1339,22 +1353,13 @@ declare const _func: () => {
1339
1353
  error: null;
1340
1354
  meta: TResponseMeta;
1341
1355
  };
1342
- 422: {
1343
- type: "validation";
1344
- on: string;
1345
- summary?: string;
1346
- message?: string;
1347
- found?: unknown;
1348
- property?: string;
1349
- expected?: string;
1350
- };
1351
1356
  }>>;
1352
1357
  post: (body: {
1353
- description?: string | undefined;
1354
1358
  name: string;
1355
1359
  valueType: "PERCENTAGE" | "FIXED";
1356
1360
  depositValue: number;
1357
1361
  surchargeValue: number;
1362
+ description?: string | undefined;
1358
1363
  }, options?: {
1359
1364
  headers?: {} | undefined;
1360
1365
  query?: {} | undefined;
@@ -1992,11 +1997,38 @@ declare const _func: () => {
1992
1997
  expected?: string;
1993
1998
  };
1994
1999
  }>>;
1995
- delete: (body?: {} | undefined, options?: {
2000
+ delete: (body: {}, options: {
1996
2001
  headers?: {} | undefined;
1997
- query?: {} | undefined;
2002
+ query: {
2003
+ uuids: string[];
2004
+ };
1998
2005
  fetch?: RequestInit | undefined;
1999
- } | undefined) => Promise<Treaty.TreatyResponse<{}>>;
2006
+ }) => Promise<Treaty.TreatyResponse<{
2007
+ 200: {
2008
+ success: true;
2009
+ statusCode: number;
2010
+ data: null;
2011
+ message: string;
2012
+ error: null;
2013
+ meta: TResponseMeta;
2014
+ } | {
2015
+ success: false;
2016
+ statusCode: number;
2017
+ data: null;
2018
+ message: string;
2019
+ error: TResponseError;
2020
+ meta: TResponseMeta;
2021
+ };
2022
+ 422: {
2023
+ type: "validation";
2024
+ on: string;
2025
+ summary?: string;
2026
+ message?: string;
2027
+ found?: unknown;
2028
+ property?: string;
2029
+ expected?: string;
2030
+ };
2031
+ }>>;
2000
2032
  };
2001
2033
  attach: {
2002
2034
  post: (body: {
@@ -2566,7 +2598,7 @@ declare const _func: () => {
2566
2598
  content: string | null;
2567
2599
  completedAt: Date | null;
2568
2600
  manifestUuid: string | null;
2569
- milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
2601
+ milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
2570
2602
  startedAt: Date;
2571
2603
  category: "ORDER" | "PAYMENT" | "LOGISTICS";
2572
2604
  isPublic: boolean;
@@ -2624,7 +2656,7 @@ declare const _func: () => {
2624
2656
  }>>;
2625
2657
  status: {
2626
2658
  patch: (body: {
2627
- status: "DRAFT" | "PENDING" | "PROCESSING" | "COMPLETED" | "CANCELLED";
2659
+ status: "DRAFT" | "PENDING" | "PROCESSING" | "COMPLETED";
2628
2660
  }, options?: {
2629
2661
  headers?: {} | undefined;
2630
2662
  query?: {} | undefined;
@@ -2743,18 +2775,20 @@ declare const _func: () => {
2743
2775
  fetch?: RequestInit | undefined;
2744
2776
  } | undefined) => Promise<Treaty.TreatyResponse<{
2745
2777
  200: {
2746
- success: true;
2778
+ success: false;
2747
2779
  statusCode: number;
2748
2780
  data: null;
2749
2781
  message: string;
2750
- error: null;
2782
+ error: TResponseError;
2751
2783
  meta: TResponseMeta;
2752
2784
  } | {
2753
- success: false;
2785
+ success: true;
2754
2786
  statusCode: number;
2755
- data: null;
2756
- message: string;
2757
- error: TResponseError;
2787
+ data: {
2788
+ uuid: string;
2789
+ };
2790
+ message: null;
2791
+ error: null;
2758
2792
  meta: TResponseMeta;
2759
2793
  };
2760
2794
  422: {
@@ -2884,18 +2918,20 @@ declare const _func: () => {
2884
2918
  fetch?: RequestInit | undefined;
2885
2919
  } | undefined) => Promise<Treaty.TreatyResponse<{
2886
2920
  200: {
2887
- success: true;
2921
+ success: false;
2888
2922
  statusCode: number;
2889
2923
  data: null;
2890
2924
  message: string;
2891
- error: null;
2925
+ error: TResponseError;
2892
2926
  meta: TResponseMeta;
2893
2927
  } | {
2894
- success: false;
2928
+ success: true;
2895
2929
  statusCode: number;
2896
- data: null;
2897
- message: string;
2898
- error: TResponseError;
2930
+ data: {
2931
+ uuid: string;
2932
+ };
2933
+ message: null;
2934
+ error: null;
2899
2935
  meta: TResponseMeta;
2900
2936
  };
2901
2937
  422: {
@@ -2914,18 +2950,20 @@ declare const _func: () => {
2914
2950
  fetch?: RequestInit | undefined;
2915
2951
  } | undefined) => Promise<Treaty.TreatyResponse<{
2916
2952
  200: {
2917
- success: true;
2953
+ success: false;
2918
2954
  statusCode: number;
2919
2955
  data: null;
2920
2956
  message: string;
2921
- error: null;
2957
+ error: TResponseError;
2922
2958
  meta: TResponseMeta;
2923
2959
  } | {
2924
- success: false;
2960
+ success: true;
2925
2961
  statusCode: number;
2926
- data: null;
2927
- message: string;
2928
- error: TResponseError;
2962
+ data: {
2963
+ uuid: string;
2964
+ };
2965
+ message: null;
2966
+ error: null;
2929
2967
  meta: TResponseMeta;
2930
2968
  };
2931
2969
  422: {
@@ -2951,18 +2989,20 @@ declare const _func: () => {
2951
2989
  fetch?: RequestInit | undefined;
2952
2990
  } | undefined) => Promise<Treaty.TreatyResponse<{
2953
2991
  200: {
2954
- success: true;
2992
+ success: false;
2955
2993
  statusCode: number;
2956
2994
  data: null;
2957
2995
  message: string;
2958
- error: null;
2996
+ error: TResponseError;
2959
2997
  meta: TResponseMeta;
2960
2998
  } | {
2961
- success: false;
2999
+ success: true;
2962
3000
  statusCode: number;
2963
- data: null;
2964
- message: string;
2965
- error: TResponseError;
3001
+ data: {
3002
+ uuid: string;
3003
+ };
3004
+ message: null;
3005
+ error: null;
2966
3006
  meta: TResponseMeta;
2967
3007
  };
2968
3008
  422: {
@@ -2988,18 +3028,20 @@ declare const _func: () => {
2988
3028
  fetch?: RequestInit | undefined;
2989
3029
  } | undefined) => Promise<Treaty.TreatyResponse<{
2990
3030
  200: {
2991
- success: true;
3031
+ success: false;
2992
3032
  statusCode: number;
2993
3033
  data: null;
2994
3034
  message: string;
2995
- error: null;
3035
+ error: TResponseError;
2996
3036
  meta: TResponseMeta;
2997
3037
  } | {
2998
- success: false;
3038
+ success: true;
2999
3039
  statusCode: number;
3000
- data: null;
3001
- message: string;
3002
- error: TResponseError;
3040
+ data: {
3041
+ uuid: string;
3042
+ }[];
3043
+ message: null;
3044
+ error: null;
3003
3045
  meta: TResponseMeta;
3004
3046
  };
3005
3047
  422: {
@@ -3014,7 +3056,9 @@ declare const _func: () => {
3014
3056
  }>>;
3015
3057
  };
3016
3058
  };
3017
- delete: (body?: {} | undefined, options?: {
3059
+ delete: (body?: {
3060
+ cancelReason?: string | undefined;
3061
+ } | undefined, options?: {
3018
3062
  headers?: {} | undefined;
3019
3063
  query?: {} | undefined;
3020
3064
  fetch?: RequestInit | undefined;
@@ -3368,18 +3412,20 @@ declare const _func: () => {
3368
3412
  fetch?: RequestInit | undefined;
3369
3413
  } | undefined) => Promise<Treaty.TreatyResponse<{
3370
3414
  200: {
3371
- success: true;
3415
+ success: false;
3372
3416
  statusCode: number;
3373
3417
  data: null;
3374
3418
  message: string;
3375
- error: null;
3419
+ error: TResponseError;
3376
3420
  meta: TResponseMeta;
3377
3421
  } | {
3378
- success: false;
3422
+ success: true;
3379
3423
  statusCode: number;
3380
- data: null;
3381
- message: string;
3382
- error: TResponseError;
3424
+ data: {
3425
+ id: string;
3426
+ };
3427
+ message: null;
3428
+ error: null;
3383
3429
  meta: TResponseMeta;
3384
3430
  };
3385
3431
  422: {
@@ -3461,25 +3507,28 @@ declare const _func: () => {
3461
3507
  surchargeIds?: string[] | undefined;
3462
3508
  amount: number;
3463
3509
  paymentType: "OTHER" | "DEPOSIT" | "FULL_PAYMENT" | "PARTIAL_PAYMENT" | "FEE" | "ADJUSTMENT";
3464
- orderId: string | null;
3510
+ orderId: string;
3465
3511
  }, options?: {
3466
3512
  headers?: {} | undefined;
3467
3513
  query?: {} | undefined;
3468
3514
  fetch?: RequestInit | undefined;
3469
3515
  } | undefined) => Promise<Treaty.TreatyResponse<{
3470
3516
  200: {
3471
- success: true;
3517
+ success: false;
3472
3518
  statusCode: number;
3473
3519
  data: null;
3474
3520
  message: string;
3475
- error: null;
3521
+ error: TResponseError;
3476
3522
  meta: TResponseMeta;
3477
3523
  } | {
3478
- success: false;
3524
+ success: true;
3479
3525
  statusCode: number;
3480
- data: null;
3481
- message: string;
3482
- error: TResponseError;
3526
+ data: {
3527
+ id: string;
3528
+ checkoutUrl: string | null;
3529
+ };
3530
+ message: null;
3531
+ error: null;
3483
3532
  meta: TResponseMeta;
3484
3533
  };
3485
3534
  422: {
@@ -4369,6 +4418,10 @@ declare const _func: () => {
4369
4418
  isDefault: boolean;
4370
4419
  isNew: boolean;
4371
4420
  isSpecial: boolean;
4421
+ options?: {
4422
+ optionId: number;
4423
+ value: string;
4424
+ }[] | undefined;
4372
4425
  }[];
4373
4426
  }, options?: {
4374
4427
  headers?: {} | undefined;
@@ -5937,7 +5990,7 @@ declare const _func: () => {
5937
5990
  estimatedDeliveryAt: Date | null;
5938
5991
  completedAt: Date | null;
5939
5992
  manifestUuid: string | null;
5940
- milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
5993
+ milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
5941
5994
  startedAt: Date;
5942
5995
  category: "ORDER" | "PAYMENT" | "LOGISTICS";
5943
5996
  metadata: unknown;
@@ -5975,26 +6028,26 @@ declare const _func: () => {
5975
6028
  customerPhone: string;
5976
6029
  shippingAddress: string;
5977
6030
  shipingNote: string;
5978
- }, options?: {
6031
+ }, options: {
5979
6032
  headers?: {} | undefined;
5980
- query?: {} | undefined;
6033
+ query: {
6034
+ token: string;
6035
+ };
5981
6036
  fetch?: RequestInit | undefined;
5982
- } | undefined) => Promise<Treaty.TreatyResponse<{
6037
+ }) => Promise<Treaty.TreatyResponse<{
5983
6038
  200: {
5984
- success: false;
6039
+ success: true;
5985
6040
  statusCode: number;
5986
6041
  data: null;
5987
6042
  message: string;
5988
- error: TResponseError;
6043
+ error: null;
5989
6044
  meta: TResponseMeta;
5990
6045
  } | {
5991
- success: true;
6046
+ success: false;
5992
6047
  statusCode: number;
5993
- data: {
5994
- message: string;
5995
- };
5996
- message: null;
5997
- error: null;
6048
+ data: null;
6049
+ message: string;
6050
+ error: TResponseError;
5998
6051
  meta: TResponseMeta;
5999
6052
  };
6000
6053
  422: {
@@ -6007,46 +6060,6 @@ declare const _func: () => {
6007
6060
  expected?: string;
6008
6061
  };
6009
6062
  }>>;
6010
- status: {
6011
- patch: (body?: {} | undefined, options?: {
6012
- headers?: {} | undefined;
6013
- query?: {} | undefined;
6014
- fetch?: RequestInit | undefined;
6015
- } | undefined) => Promise<Treaty.TreatyResponse<{
6016
- 200: string;
6017
- 422: {
6018
- type: "validation";
6019
- on: string;
6020
- summary?: string;
6021
- message?: string;
6022
- found?: unknown;
6023
- property?: string;
6024
- expected?: string;
6025
- };
6026
- }>>;
6027
- };
6028
- "order-manifests": ((params: {
6029
- manifestId: string | number;
6030
- }) => {
6031
- cancel: {
6032
- patch: (body?: {} | undefined, options?: {
6033
- headers?: {} | undefined;
6034
- query?: {} | undefined;
6035
- fetch?: RequestInit | undefined;
6036
- } | undefined) => Promise<Treaty.TreatyResponse<{
6037
- 200: string;
6038
- 422: {
6039
- type: "validation";
6040
- on: string;
6041
- summary?: string;
6042
- message?: string;
6043
- found?: unknown;
6044
- property?: string;
6045
- expected?: string;
6046
- };
6047
- }>>;
6048
- };
6049
- }) & {};
6050
6063
  }) & {};
6051
6064
  payments: {
6052
6065
  webhooks: {
@@ -6198,21 +6211,7 @@ declare class ClientApi {
6198
6211
  request
6199
6212
  }: {
6200
6213
  request: (api: TClient) => Promise<TData>;
6201
- }): Promise<TData | {
6202
- success: boolean;
6203
- statusCode: number;
6204
- data: null;
6205
- message: string;
6206
- error: {
6207
- statusCode: number;
6208
- message: string;
6209
- };
6210
- meta: {
6211
- version: string;
6212
- timestamp: string;
6213
- path: string;
6214
- };
6215
- } | null>;
6214
+ }): Promise<TData | null>;
6216
6215
  private _onUnauthorized?;
6217
6216
  }
6218
6217
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductInventoryStatus","ECartStatus","ECartType","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","AppType"],"sources":["../../app/src/types.d.ts","../src/utils.ts"],"sourcesContent":["import type { app } from '.';\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string[] | string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type AppType = typeof app;\n"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAxKE,OAAA,GAAU,kBAAkB;KAErB,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KA6G3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBASF,YAAY,QAAQ;MACpC,QAAA"}
1
+ {"version":3,"file":"index.d.mts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductInventoryStatus","ECartStatus","ECartType","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","AppType"],"sources":["../../app/src/types.d.ts","../src/utils.ts"],"sourcesContent":["import type { app } from '.';\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type AppType = typeof app;\n"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAtKR,OAAA,GAAU,kBAAkB;KAErB,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KA6G3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{treaty as e}from"@elysiajs/eden";var t=class t{static{this._getMeTask=null}static{this._refreshTokenTask=null}static{this._logoutTask=null}static{this.user=null}static{this.listeners=null}static async _getUser(){if(t.user||!t._client)return;if(t._getMeTask){await t._getMeTask;return}let e=t._client.admin.v1.auth.me.get();t._getMeTask=e;try{let n=await e;if(n.data&&n.data.data&&n.data.success)t.user=n.data.data;else if(n?.data?.statusCode===4001){let{status:n}=await t._refreshToken();if(n===`SUCCESS`){let n=await e;n.data&&n.data.success&&n.data.statusCode===200?t.user=n.data.data:t.user=null}n===`FAILED`&&(t.user=null)}else t.user=null,console.error(`Failed to fetch user data:`,JSON.stringify(n.data))}catch(e){console.error(`Error fetching user data:`,JSON.stringify(e)),t.user=null}finally{t._getMeTask=null}}static async _refreshToken(){return t._client?t._refreshTokenTask?await t._refreshTokenTask:(t._refreshTokenTask=(async()=>{try{let e=await t._client?.admin.v1.auth[`refresh-token`].get();return e?.data&&e.data.success&&e.data.statusCode===200?{status:`SUCCESS`}:{status:`FAILED`}}catch(e){return console.error(`Error refreshing token:`,JSON.stringify(e)),{status:`FAILED`}}})(),t._refreshTokenTask.finally(()=>{t._refreshTokenTask=null})):{status:`FAILED`}}static async _logout(){if(t._client)try{if(t._logoutTask){await t._logoutTask;return}let e=t._client.admin.v1.auth.logout.delete();t._logoutTask=e,await e}catch(e){console.error(`Error during logout:`,e)}finally{t.user=null,t._logoutTask=null,t.listeners?.onUserChange?.(null),t.listeners?.onLogout?.()}}constructor({baseURL:n,config:r}){t._client||=e(n,r),this._onUnauthorized=async()=>{t.user=null,await t.listeners?.onUserChange?.(null),await t.listeners?.onUnauthorized?.()}}async getUser(){return await t._getUser(),await t.listeners?.onGetMe?.(t.user),t.user??null}getClient(){return t._client}async logout(){await t._client?.admin.v1.auth.logout.delete(),await t.listeners?.onLogout?.(),t.user=null}async fetchApi({request:e}){if(!t._client)throw Error(`Client not initialized`);try{t._getMeTask&&(console.log(`Awaiting ongoing _getMeTask before proceeding with fetchApi`),await t._getMeTask),t._refreshTokenTask&&(console.log(`Awaiting ongoing _refreshTokenTask before proceeding with fetchApi`),await t._refreshTokenTask),t._logoutTask&&(console.log(`Awaiting ongoing _logoutTask before proceeding with fetchApi`),await t._logoutTask);let n=await e(t._client);if(!n.data)return console.error(`No response data received from API request`),null;let r=n.data;if(r?.statusCode===401)return await this._onUnauthorized?.(),await t.listeners?.onUnauthorized?.(),null;if(r?.statusCode===4001){let{status:n}=await t._refreshToken();if(await t.listeners?.onRefreshToken?.(n),n===`SUCCESS`)return await e(t._client);if(n===`FAILED`)return await t._logout(),await t.listeners?.onLogout?.(),null}return n}catch(e){return console.error(`Error in fetchApi:`,JSON.stringify(e)),{success:!1,statusCode:500,data:null,message:`Internal Client Error`,error:{statusCode:500,message:`Internal Client Error`},meta:{version:`1.0.0`,timestamp:new Date().toISOString(),path:``}}}}};export{t as ClientApi};
1
+ import{treaty as e}from"@elysiajs/eden";var t=class t{static{this._getMeTask=null}static{this._refreshTokenTask=null}static{this._logoutTask=null}static{this.user=null}static{this.listeners=null}static async _getUser(){if(t.user||!t._client)return;if(t._getMeTask){await t._getMeTask;return}let e=t._client.admin.v1.auth.me.get();t._getMeTask=e;try{let n=await e;if(n.data&&n.data.data&&n.data.success)t.user=n.data.data;else if(n?.data?.statusCode===4001){let{status:e}=await t._refreshToken();if(e===`SUCCESS`){let e=await t._client.admin.v1.auth.me.get();e.data&&e.data.success&&e.data.statusCode===200?t.user=e.data.data:t.user=null}e===`FAILED`&&(t.user=null)}else t.user=null,console.error(`Failed to fetch user data:`,JSON.stringify(n.data))}catch(e){console.error(`Error fetching user data:`,JSON.stringify(e)),t.user=null}finally{t._getMeTask=null}}static async _refreshToken(){return t._client?t._refreshTokenTask?await t._refreshTokenTask:(t._refreshTokenTask=(async()=>{try{let e=await t._client?.admin.v1.auth[`refresh-token`].get();return e?.data&&e.data.success&&e.data.statusCode===200?{status:`SUCCESS`}:{status:`FAILED`}}catch(e){return console.error(`Error refreshing token:`,JSON.stringify(e)),{status:`FAILED`}}})(),t._refreshTokenTask.finally(()=>{t._refreshTokenTask=null})):{status:`FAILED`}}static async _logout(){if(t._client)try{if(t._logoutTask){await t._logoutTask;return}let e=t._client.admin.v1.auth.logout.delete();t._logoutTask=e,await e}catch(e){console.error(`Error during logout:`,e)}finally{t.user=null,t._logoutTask=null,t.listeners?.onUserChange?.(null),t.listeners?.onLogout?.()}}constructor({baseURL:n,config:r}){t._client||=e(n,r),this._onUnauthorized=async()=>{t.user=null,await t.listeners?.onUserChange?.(null),await t.listeners?.onUnauthorized?.()}}async getUser(){return await t._getUser(),await t.listeners?.onGetMe?.(t.user),t.user??null}getClient(){return t._client}async logout(){await t._logout()}async fetchApi({request:e}){if(!t._client)throw Error(`Client not initialized`);try{t._getMeTask&&(console.log(`Awaiting ongoing _getMeTask before proceeding with fetchApi`),await t._getMeTask),t._refreshTokenTask&&(console.log(`Awaiting ongoing _refreshTokenTask before proceeding with fetchApi`),await t._refreshTokenTask),t._logoutTask&&(console.log(`Awaiting ongoing _logoutTask before proceeding with fetchApi`),await t._logoutTask);let n=await e(t._client);if(!n.data)return console.error(`No response data received from API request`),null;let r=n.data;if(r?.statusCode===401)return await this._onUnauthorized?.(),null;if(r?.statusCode===4001){let{status:n}=await t._refreshToken();if(await t.listeners?.onRefreshToken?.(n),n===`SUCCESS`)return await e(t._client);if(n===`FAILED`)return await t._logout(),null}return n}catch(e){return console.error(`Error in fetchApi:`,JSON.stringify(e)),null}}};export{t as ClientApi};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["/** biome-ignore-all lint/suspicious/noExplicitAny: true */\nimport type { Treaty } from '@elysiajs/eden';\nimport { treaty } from '@elysiajs/eden';\nimport type { Type } from './types';\n\ntype RefreshStatus = 'SUCCESS' | 'FAILED';\n\n// Trick to extract Treaty Client type\nclass _Client {\n public static client: Treaty.Create<Type.AppType>;\n public getClient() {\n return null;\n }\n}\n\n// Extract the client type\nconst _func = () => _Client.client;\ntype TClient = ReturnType<typeof _func>;\n\nexport type TUser = Treaty.Data<\n Awaited<ReturnType<TClient['admin']['v1']['auth']['me']['get']>>\n>['data'];\n\ntype Config = {\n baseURL: string;\n config?: Omit<Treaty.Config, 'onResponse'>;\n};\n\nexport class ClientApi {\n // Keep track of the ongoing \"me\" request to prevent multiple simultaneous calls\n private static _client: TClient | undefined;\n private static _getMeTask: Promise<any> | null = null;\n private static _refreshTokenTask: Promise<{ status: RefreshStatus }> | null =\n null;\n private static _logoutTask: Promise<any> | null = null;\n\n public static user: TUser = null;\n\n public static listeners: {\n onUserChange?: (user: TUser | null) => void | Promise<void>;\n onGetMe?: (user: TUser | null) => void | Promise<void>;\n onLogout?: () => void | Promise<void>;\n onUnauthorized?: () => void | Promise<void>;\n onRefreshToken?: (status: 'SUCCESS' | 'FAILED') => void | Promise<void>;\n } | null = null;\n\n private static async _getUser() {\n // If already logged in, no need to fetch again\n if (ClientApi.user) return;\n\n // Ensure client is initialized\n if (!ClientApi._client) return;\n\n // If there's an ongoing \"me\" request, await its completion\n if (ClientApi._getMeTask) {\n await ClientApi._getMeTask;\n return;\n }\n\n const getMe = ClientApi._client.admin.v1.auth.me.get();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._getMeTask = getMe;\n try {\n const res = await getMe;\n if (!!res.data && !!res.data.data && res.data.success) {\n ClientApi.user = res.data.data;\n\n // CASE: Token Expired\n } else if (res?.data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n if (status === 'SUCCESS') {\n const _res = await getMe;\n if (\n !!_res.data &&\n _res.data.success &&\n _res.data.statusCode === 200\n ) {\n ClientApi.user = _res.data.data;\n } else {\n ClientApi.user = null;\n }\n }\n if (status === 'FAILED') {\n ClientApi.user = null;\n }\n // CASE: Unauthorized\n } else {\n ClientApi.user = null;\n console.error('Failed to fetch user data:', JSON.stringify(res.data));\n }\n } catch (error) {\n console.error('Error fetching user data:', JSON.stringify(error));\n ClientApi.user = null;\n } finally {\n ClientApi._getMeTask = null;\n }\n }\n\n private static async _refreshToken() {\n // Ensure client is initialized\n if (!ClientApi._client) return { status: 'FAILED' as const };\n\n // If there's an ongoing \"refresh token\" request, await its completion\n if (ClientApi._refreshTokenTask) {\n const res = await ClientApi._refreshTokenTask;\n return res;\n }\n\n const handler = async (): Promise<{ status: RefreshStatus }> => {\n try {\n const res =\n await ClientApi._client?.admin.v1.auth['refresh-token'].get();\n if (!!res?.data && !!res.data.success && res.data.statusCode === 200) {\n return { status: 'SUCCESS' };\n }\n return { status: 'FAILED' };\n } catch (error) {\n console.error('Error refreshing token:', JSON.stringify(error));\n return { status: 'FAILED' };\n }\n };\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._refreshTokenTask = handler();\n return ClientApi._refreshTokenTask.finally(() => {\n ClientApi._refreshTokenTask = null;\n });\n }\n\n private static async _logout() {\n // Ensure client is initialized\n if (!ClientApi._client) return;\n try {\n // If there's an ongoing \"logout\" request, await its completion\n if (ClientApi._logoutTask) {\n await ClientApi._logoutTask;\n return;\n }\n\n const logout = ClientApi._client.admin.v1.auth.logout.delete();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._logoutTask = logout;\n await logout;\n } catch (error) {\n console.error('Error during logout:', error);\n } finally {\n ClientApi.user = null;\n ClientApi._logoutTask = null;\n ClientApi.listeners?.onUserChange?.(null);\n ClientApi.listeners?.onLogout?.();\n }\n }\n\n constructor({ baseURL, config }: Config) {\n // Initialize Treaty Client\n if (!ClientApi._client) {\n ClientApi._client = treaty<Type.AppType>(baseURL, config);\n }\n\n this._onUnauthorized = async () => {\n ClientApi.user = null;\n await ClientApi.listeners?.onUserChange?.(null);\n await ClientApi.listeners?.onUnauthorized?.();\n };\n }\n\n public async getUser() {\n await ClientApi._getUser();\n await ClientApi.listeners?.onGetMe?.(ClientApi.user);\n return ClientApi.user ?? null;\n }\n\n public getClient(): TClient | undefined {\n return ClientApi._client;\n }\n\n public async logout() {\n await ClientApi._client?.admin.v1.auth.logout.delete();\n await ClientApi.listeners?.onLogout?.();\n ClientApi.user = null;\n }\n\n public async fetchApi<TData>({\n request,\n }: {\n request: (api: TClient) => Promise<TData>;\n }) {\n // Ensure client is initialized\n if (!ClientApi._client) {\n throw new Error('Client not initialized');\n }\n\n try {\n // Await ongoing \"me\" request to ensure user state is up-to-date\n if (ClientApi._getMeTask) {\n console.log(\n 'Awaiting ongoing _getMeTask before proceeding with fetchApi'\n );\n await ClientApi._getMeTask;\n }\n\n // Await ongoing \"refresh token\" request to ensure token state is up-to-date\n if (ClientApi._refreshTokenTask) {\n console.log(\n 'Awaiting ongoing _refreshTokenTask before proceeding with fetchApi'\n );\n await ClientApi._refreshTokenTask;\n }\n\n // Await ongoing \"logout\" request to ensure user is logged out properly\n if (ClientApi._logoutTask) {\n console.log(\n 'Awaiting ongoing _logoutTask before proceeding with fetchApi'\n );\n await ClientApi._logoutTask;\n }\n\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<any>>>;\n\n // Check if response data exists\n if (!response.data) {\n console.error('No response data received from API request');\n return null;\n }\n\n // Check for status codes in the response data\n const _data = response.data;\n\n // CASE: User is Unauthorized\n if (_data?.statusCode === 401) {\n await this._onUnauthorized?.();\n await ClientApi.listeners?.onUnauthorized?.();\n return null;\n }\n\n // CASE: TOKEN EXPIRED - Re-fetch user data\n if (_data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n await ClientApi.listeners?.onRefreshToken?.(status);\n if (status === 'SUCCESS') {\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<any>>>;\n return response as TData;\n }\n if (status === 'FAILED') {\n await ClientApi._logout();\n await ClientApi.listeners?.onLogout?.();\n return null;\n }\n }\n\n return response as TData;\n } catch (error) {\n console.error('Error in fetchApi:', JSON.stringify(error));\n return {\n success: false,\n statusCode: 500,\n data: null,\n message: 'Internal Client Error',\n error: {\n statusCode: 500,\n message: 'Internal Client Error',\n },\n meta: {\n version: '1.0.0',\n timestamp: new Date().toISOString(),\n path: '',\n },\n };\n }\n }\n\n private _onUnauthorized?: () => void | Promise<void>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import type { Treaty } from '@elysiajs/eden';\nimport { treaty } from '@elysiajs/eden';\nimport type { Type } from './types';\n\ntype RefreshStatus = 'SUCCESS' | 'FAILED';\n\n// Trick to extract Treaty Client type\nclass _Client {\n public static client: Treaty.Create<Type.AppType>;\n public getClient() {\n return null;\n }\n}\n\n// Extract the client type\nconst _func = () => _Client.client;\ntype TClient = ReturnType<typeof _func>;\n\nexport type TUser = Treaty.Data<\n Awaited<ReturnType<TClient['admin']['v1']['auth']['me']['get']>>\n>['data'];\n\ntype Config = {\n baseURL: string;\n config?: Omit<Treaty.Config, 'onResponse'>;\n};\n\nexport class ClientApi {\n // Keep track of the ongoing \"me\" request to prevent multiple simultaneous calls\n private static _client: TClient | undefined;\n private static _getMeTask: Promise<unknown> | null = null;\n private static _refreshTokenTask: Promise<{ status: RefreshStatus }> | null =\n null;\n private static _logoutTask: Promise<unknown> | null = null;\n\n public static user: TUser = null;\n\n public static listeners: {\n onUserChange?: (user: TUser | null) => void | Promise<void>;\n onGetMe?: (user: TUser | null) => void | Promise<void>;\n onLogout?: () => void | Promise<void>;\n onUnauthorized?: () => void | Promise<void>;\n onRefreshToken?: (status: 'SUCCESS' | 'FAILED') => void | Promise<void>;\n } | null = null;\n\n private static async _getUser() {\n // If already logged in, no need to fetch again\n if (ClientApi.user) return;\n\n // Ensure client is initialized\n if (!ClientApi._client) return;\n\n // If there's an ongoing \"me\" request, await its completion\n if (ClientApi._getMeTask) {\n await ClientApi._getMeTask;\n return;\n }\n\n const getMe = ClientApi._client.admin.v1.auth.me.get();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._getMeTask = getMe;\n try {\n const res = await getMe;\n if (!!res.data && !!res.data.data && res.data.success) {\n ClientApi.user = res.data.data;\n\n // CASE: Token Expired\n } else if (res?.data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n if (status === 'SUCCESS') {\n const _res = await ClientApi._client.admin.v1.auth.me.get();\n if (\n !!_res.data &&\n _res.data.success &&\n _res.data.statusCode === 200\n ) {\n ClientApi.user = _res.data.data;\n } else {\n ClientApi.user = null;\n }\n }\n if (status === 'FAILED') {\n ClientApi.user = null;\n }\n // CASE: Unauthorized\n } else {\n ClientApi.user = null;\n console.error('Failed to fetch user data:', JSON.stringify(res.data));\n }\n } catch (error) {\n console.error('Error fetching user data:', JSON.stringify(error));\n ClientApi.user = null;\n } finally {\n ClientApi._getMeTask = null;\n }\n }\n\n private static async _refreshToken() {\n // Ensure client is initialized\n if (!ClientApi._client) return { status: 'FAILED' as const };\n\n // If there's an ongoing \"refresh token\" request, await its completion\n if (ClientApi._refreshTokenTask) {\n const res = await ClientApi._refreshTokenTask;\n return res;\n }\n\n const handler = async (): Promise<{ status: RefreshStatus }> => {\n try {\n const res =\n await ClientApi._client?.admin.v1.auth['refresh-token'].get();\n if (!!res?.data && !!res.data.success && res.data.statusCode === 200) {\n return { status: 'SUCCESS' };\n }\n return { status: 'FAILED' };\n } catch (error) {\n console.error('Error refreshing token:', JSON.stringify(error));\n return { status: 'FAILED' };\n }\n };\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._refreshTokenTask = handler();\n return ClientApi._refreshTokenTask.finally(() => {\n ClientApi._refreshTokenTask = null;\n });\n }\n\n private static async _logout() {\n // Ensure client is initialized\n if (!ClientApi._client) return;\n try {\n // If there's an ongoing \"logout\" request, await its completion\n if (ClientApi._logoutTask) {\n await ClientApi._logoutTask;\n return;\n }\n\n const logout = ClientApi._client.admin.v1.auth.logout.delete();\n // Store the ongoing task, so other can know about it and await it if needed\n ClientApi._logoutTask = logout;\n await logout;\n } catch (error) {\n console.error('Error during logout:', error);\n } finally {\n ClientApi.user = null;\n ClientApi._logoutTask = null;\n ClientApi.listeners?.onUserChange?.(null);\n ClientApi.listeners?.onLogout?.();\n }\n }\n\n constructor({ baseURL, config }: Config) {\n // Initialize Treaty Client\n if (!ClientApi._client) {\n ClientApi._client = treaty<Type.AppType>(baseURL, config);\n }\n\n this._onUnauthorized = async () => {\n ClientApi.user = null;\n await ClientApi.listeners?.onUserChange?.(null);\n await ClientApi.listeners?.onUnauthorized?.();\n };\n }\n\n public async getUser() {\n await ClientApi._getUser();\n await ClientApi.listeners?.onGetMe?.(ClientApi.user);\n return ClientApi.user ?? null;\n }\n\n public getClient(): TClient | undefined {\n return ClientApi._client;\n }\n\n public async logout() {\n await ClientApi._logout();\n }\n\n public async fetchApi<TData>({\n request,\n }: {\n request: (api: TClient) => Promise<TData>;\n }): Promise<TData | null> {\n // Ensure client is initialized\n if (!ClientApi._client) {\n throw new Error('Client not initialized');\n }\n\n try {\n // Await ongoing \"me\" request to ensure user state is up-to-date\n if (ClientApi._getMeTask) {\n console.log(\n 'Awaiting ongoing _getMeTask before proceeding with fetchApi'\n );\n await ClientApi._getMeTask;\n }\n\n // Await ongoing \"refresh token\" request to ensure token state is up-to-date\n if (ClientApi._refreshTokenTask) {\n console.log(\n 'Awaiting ongoing _refreshTokenTask before proceeding with fetchApi'\n );\n await ClientApi._refreshTokenTask;\n }\n\n // Await ongoing \"logout\" request to ensure user is logged out properly\n if (ClientApi._logoutTask) {\n console.log(\n 'Awaiting ongoing _logoutTask before proceeding with fetchApi'\n );\n await ClientApi._logoutTask;\n }\n\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<unknown>>>;\n\n // Check if response data exists\n if (!response.data) {\n console.error('No response data received from API request');\n return null;\n }\n\n // Check for status codes in the response data\n const _data = response.data;\n\n // CASE: User is Unauthorized\n if (_data?.statusCode === 401) {\n await this._onUnauthorized?.();\n return null;\n }\n\n // CASE: TOKEN EXPIRED - Re-fetch user data\n if (_data?.statusCode === 4001) {\n const { status } = await ClientApi._refreshToken();\n await ClientApi.listeners?.onRefreshToken?.(status);\n if (status === 'SUCCESS') {\n const response = (await request(\n ClientApi._client\n )) as Treaty.TreatyResponse<Record<number, Type.TResponse<unknown>>>;\n return response as TData;\n }\n if (status === 'FAILED') {\n await ClientApi._logout();\n return null;\n }\n }\n\n return response as TData;\n } catch (error) {\n console.error('Error in fetchApi:', JSON.stringify(error));\n return null;\n }\n }\n\n private _onUnauthorized?: () => void | Promise<void>;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customafk/lunas-api-sdk",
3
- "version": "0.0.72",
3
+ "version": "0.0.73",
4
4
  "main": "./dist/index.cjs",
5
5
  "scripts": {
6
6
  "build": "tsdown"
@@ -14,7 +14,7 @@
14
14
  ],
15
15
  "peerDependencies": {
16
16
  "@elysiajs/eden": "^1.4.6",
17
- "elysia": "^1.4.19"
17
+ "elysia": "latest"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/bun": "^1.3.5",