@customafk/lunas-api-sdk 0.0.40 → 0.0.41

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?.()}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: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;
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 }\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":["/** 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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"}
package/dist/index.d.cts CHANGED
@@ -168,7 +168,7 @@ declare const _func: () => {
168
168
  success: true;
169
169
  statusCode: number;
170
170
  data: {
171
- uuid: string | null;
171
+ uuid: string;
172
172
  email: string;
173
173
  createdAt: Date | null;
174
174
  updatedAt: Date | null;
@@ -190,7 +190,7 @@ declare const _func: () => {
190
190
  bio: string | null;
191
191
  gender: number | null;
192
192
  dateOfBirth: Date | null;
193
- } | null;
193
+ };
194
194
  customerAddresses: {
195
195
  createdAt: Date | null;
196
196
  updatedAt: Date | null;
@@ -202,18 +202,18 @@ declare const _func: () => {
202
202
  province: {
203
203
  name: string;
204
204
  type: string;
205
- id: string | null;
205
+ id: string;
206
206
  };
207
207
  ward: {
208
208
  name: string;
209
209
  type: string;
210
- id: string | null;
210
+ id: string;
211
211
  districtId: string | null;
212
212
  };
213
213
  district: {
214
214
  name: string;
215
215
  type: string;
216
- id: string | null;
216
+ id: string;
217
217
  provinceId: string | null;
218
218
  };
219
219
  }[];
@@ -339,7 +339,7 @@ declare const _func: () => {
339
339
  success: true;
340
340
  statusCode: number;
341
341
  data: {
342
- uuid: string | null;
342
+ uuid: string;
343
343
  email: string;
344
344
  createdAt: Date | null;
345
345
  updatedAt: Date | null;
@@ -363,7 +363,7 @@ declare const _func: () => {
363
363
  gender: number | null;
364
364
  socialLinks: unknown;
365
365
  dateOfBirth: Date | null;
366
- } | null;
366
+ };
367
367
  };
368
368
  message: null;
369
369
  error: null;
@@ -432,7 +432,7 @@ declare const _func: () => {
432
432
  statusCode: number;
433
433
  data: {
434
434
  data: {
435
- uuid: string | null;
435
+ uuid: string;
436
436
  email: string;
437
437
  createdAt: Date | null;
438
438
  updatedAt: Date | null;
@@ -442,7 +442,7 @@ declare const _func: () => {
442
442
  profile: {
443
443
  fullname: string;
444
444
  phoneNumber: string | null;
445
- } | null;
445
+ };
446
446
  }[];
447
447
  pagination: {
448
448
  page: number;
@@ -497,7 +497,7 @@ declare const _func: () => {
497
497
  success: true;
498
498
  statusCode: number;
499
499
  data: {
500
- uuid: string | null;
500
+ uuid: string;
501
501
  email: string;
502
502
  createdAt: Date | null;
503
503
  updatedAt: Date | null;
@@ -519,7 +519,7 @@ declare const _func: () => {
519
519
  bio: string | null;
520
520
  gender: number | null;
521
521
  dateOfBirth: Date | null;
522
- } | null;
522
+ };
523
523
  customerAddresses: {
524
524
  createdAt: Date | null;
525
525
  updatedAt: Date | null;
@@ -531,18 +531,18 @@ declare const _func: () => {
531
531
  province: {
532
532
  name: string;
533
533
  type: string;
534
- id: string | null;
534
+ id: string;
535
535
  };
536
536
  ward: {
537
537
  name: string;
538
538
  type: string;
539
- id: string | null;
539
+ id: string;
540
540
  districtId: string | null;
541
541
  };
542
542
  district: {
543
543
  name: string;
544
544
  type: string;
545
- id: string | null;
545
+ id: string;
546
546
  provinceId: string | null;
547
547
  };
548
548
  }[];
@@ -1187,6 +1187,158 @@ declare const _func: () => {
1187
1187
  }>>;
1188
1188
  };
1189
1189
  };
1190
+ deposits: ((params: {
1191
+ depositId: string | number;
1192
+ }) => {
1193
+ patch: (body?: {
1194
+ name?: string | undefined;
1195
+ description?: string | undefined;
1196
+ valueType?: "PERCENTAGE" | "FIXED" | undefined;
1197
+ depositValue?: number | undefined;
1198
+ surchargeValue?: number | undefined;
1199
+ } | undefined, options?: {
1200
+ headers?: {} | undefined;
1201
+ query?: {} | undefined;
1202
+ fetch?: RequestInit | undefined;
1203
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1204
+ 200: {
1205
+ success: false;
1206
+ statusCode: number;
1207
+ data: null;
1208
+ message: string;
1209
+ error: TResponseError;
1210
+ meta: TResponseMeta;
1211
+ } | {
1212
+ success: true;
1213
+ statusCode: number;
1214
+ data: {
1215
+ uuid: string;
1216
+ };
1217
+ message: null;
1218
+ error: null;
1219
+ meta: TResponseMeta;
1220
+ };
1221
+ 422: {
1222
+ type: "validation";
1223
+ on: string;
1224
+ summary?: string;
1225
+ message?: string;
1226
+ found?: unknown;
1227
+ property?: string;
1228
+ expected?: string;
1229
+ };
1230
+ }>>;
1231
+ delete: (body?: {} | undefined, options?: {
1232
+ headers?: {} | undefined;
1233
+ query?: {} | undefined;
1234
+ fetch?: RequestInit | undefined;
1235
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1236
+ 200: {
1237
+ success: false;
1238
+ statusCode: number;
1239
+ data: null;
1240
+ message: string;
1241
+ error: TResponseError;
1242
+ meta: TResponseMeta;
1243
+ } | {
1244
+ success: true;
1245
+ statusCode: number;
1246
+ data: {
1247
+ uuid: string;
1248
+ };
1249
+ message: null;
1250
+ error: null;
1251
+ meta: TResponseMeta;
1252
+ };
1253
+ 422: {
1254
+ type: "validation";
1255
+ on: string;
1256
+ summary?: string;
1257
+ message?: string;
1258
+ found?: unknown;
1259
+ property?: string;
1260
+ expected?: string;
1261
+ };
1262
+ }>>;
1263
+ }) & {
1264
+ get: (options?: {
1265
+ headers?: {} | undefined;
1266
+ query?: {} | undefined;
1267
+ fetch?: RequestInit | undefined;
1268
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1269
+ 200: {
1270
+ success: false;
1271
+ statusCode: number;
1272
+ data: null;
1273
+ message: string;
1274
+ error: TResponseError;
1275
+ meta: TResponseMeta;
1276
+ } | {
1277
+ success: true;
1278
+ statusCode: number;
1279
+ data: {
1280
+ name: string;
1281
+ uuid: string;
1282
+ description: string | null;
1283
+ createdAt: Date;
1284
+ updatedAt: Date;
1285
+ valueType: string;
1286
+ depositValue: number;
1287
+ surchargeValue: number;
1288
+ }[];
1289
+ message: null;
1290
+ error: null;
1291
+ meta: TResponseMeta;
1292
+ };
1293
+ 422: {
1294
+ type: "validation";
1295
+ on: string;
1296
+ summary?: string;
1297
+ message?: string;
1298
+ found?: unknown;
1299
+ property?: string;
1300
+ expected?: string;
1301
+ };
1302
+ }>>;
1303
+ post: (body: {
1304
+ description?: string | undefined;
1305
+ name: string;
1306
+ valueType: "PERCENTAGE" | "FIXED";
1307
+ depositValue: number;
1308
+ surchargeValue: number;
1309
+ }, options?: {
1310
+ headers?: {} | undefined;
1311
+ query?: {} | undefined;
1312
+ fetch?: RequestInit | undefined;
1313
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1314
+ 200: {
1315
+ success: false;
1316
+ statusCode: number;
1317
+ data: null;
1318
+ message: string;
1319
+ error: TResponseError;
1320
+ meta: TResponseMeta;
1321
+ } | {
1322
+ success: true;
1323
+ statusCode: number;
1324
+ data: {
1325
+ uuid: string;
1326
+ };
1327
+ message: null;
1328
+ error: null;
1329
+ meta: TResponseMeta;
1330
+ };
1331
+ 422: {
1332
+ type: "validation";
1333
+ on: string;
1334
+ summary?: string;
1335
+ message?: string;
1336
+ found?: unknown;
1337
+ property?: string;
1338
+ expected?: string;
1339
+ };
1340
+ }>>;
1341
+ };
1190
1342
  media: ((params: {
1191
1343
  uuid: string | number;
1192
1344
  }) => {
@@ -1697,6 +1849,116 @@ declare const _func: () => {
1697
1849
  };
1698
1850
  }>>;
1699
1851
  };
1852
+ orders: {
1853
+ get: (options?: {
1854
+ headers?: {} | undefined;
1855
+ query?: {
1856
+ search?: string | undefined;
1857
+ limit?: number | undefined;
1858
+ page?: number | undefined;
1859
+ } | undefined;
1860
+ fetch?: RequestInit | undefined;
1861
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1862
+ 200: {
1863
+ success: false;
1864
+ statusCode: number;
1865
+ data: null;
1866
+ message: string;
1867
+ error: TResponseError;
1868
+ meta: TResponseMeta;
1869
+ } | {
1870
+ success: true;
1871
+ statusCode: number;
1872
+ data: {
1873
+ data: {
1874
+ name: string | null;
1875
+ uuid: string;
1876
+ status: string;
1877
+ createdAt: Date;
1878
+ updatedAt: Date;
1879
+ userUuid: string | null;
1880
+ orderType: string;
1881
+ orderCode: string;
1882
+ customerEmail: string | null;
1883
+ customerName: string | null;
1884
+ customerPhone: string | null;
1885
+ shippingAddress: unknown;
1886
+ subtotalAmount: string | null;
1887
+ taxTotal: string | null;
1888
+ appliedDepositName: string | null;
1889
+ appliedDepositType: string | null;
1890
+ appliedDepositValue: string | null;
1891
+ depositSurchargeTotal: string | null;
1892
+ otherSurchargeTotal: string | null;
1893
+ totalDue: string | null;
1894
+ depositRequiredAmount: string | null;
1895
+ totalPaid: string | null;
1896
+ totalRefunded: string | null;
1897
+ balanceRemaining: string | null;
1898
+ paymentStatus: string;
1899
+ fulfillmentStatus: string;
1900
+ riskLevel: string;
1901
+ completedAt: Date | null;
1902
+ }[];
1903
+ pagination: {
1904
+ page: number;
1905
+ limit: number;
1906
+ total: number;
1907
+ totalPages: number;
1908
+ hasNextPage: boolean;
1909
+ hasPreviousPage: boolean;
1910
+ };
1911
+ };
1912
+ message: null;
1913
+ error: null;
1914
+ meta: TResponseMeta;
1915
+ };
1916
+ 422: {
1917
+ type: "validation";
1918
+ on: string;
1919
+ summary?: string;
1920
+ message?: string;
1921
+ found?: unknown;
1922
+ property?: string;
1923
+ expected?: string;
1924
+ };
1925
+ }>>;
1926
+ post: (body: {
1927
+ name: string;
1928
+ orderType: "ORDER" | "PRE-ORDER" | "IN-STOCK";
1929
+ }, options?: {
1930
+ headers?: {} | undefined;
1931
+ query?: {} | undefined;
1932
+ fetch?: RequestInit | undefined;
1933
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1934
+ 200: {
1935
+ success: false;
1936
+ statusCode: number;
1937
+ data: null;
1938
+ message: string;
1939
+ error: TResponseError;
1940
+ meta: TResponseMeta;
1941
+ } | {
1942
+ success: true;
1943
+ statusCode: number;
1944
+ data: {
1945
+ uuid: string;
1946
+ };
1947
+ message: null;
1948
+ error: null;
1949
+ meta: TResponseMeta;
1950
+ };
1951
+ 422: {
1952
+ type: "validation";
1953
+ on: string;
1954
+ summary?: string;
1955
+ message?: string;
1956
+ found?: unknown;
1957
+ property?: string;
1958
+ expected?: string;
1959
+ };
1960
+ }>>;
1961
+ };
1700
1962
  products: ((params: {
1701
1963
  productUuid: string | number;
1702
1964
  }) => {
@@ -1751,7 +2013,7 @@ declare const _func: () => {
1751
2013
  variants: {
1752
2014
  length: number | null;
1753
2015
  name: string;
1754
- uuid: string | null;
2016
+ uuid: string;
1755
2017
  description: string | null;
1756
2018
  createdAt: Date | null;
1757
2019
  updatedAt: Date | null;
@@ -1785,10 +2047,10 @@ declare const _func: () => {
1785
2047
  createdAt: Date | null;
1786
2048
  updatedAt: Date | null;
1787
2049
  };
1788
- } | null;
2050
+ };
1789
2051
  }[];
1790
2052
  author: {
1791
- uuid: string | null;
2053
+ uuid: string;
1792
2054
  email: string;
1793
2055
  username: string;
1794
2056
  };
@@ -2128,7 +2390,7 @@ declare const _func: () => {
2128
2390
  preOrderEndDate: Date | null;
2129
2391
  releaseDate: Date | null;
2130
2392
  author: {
2131
- uuid: string | null;
2393
+ uuid: string;
2132
2394
  email: string;
2133
2395
  username: string;
2134
2396
  };
@@ -2510,7 +2772,7 @@ declare const _func: () => {
2510
2772
  statusCode: number;
2511
2773
  data: {
2512
2774
  author: {
2513
- uuid: string | null;
2775
+ uuid: string;
2514
2776
  email: string;
2515
2777
  username: string;
2516
2778
  } | null;
@@ -2885,11 +3147,11 @@ declare const _func: () => {
2885
3147
  createdAt: Date | null;
2886
3148
  updatedAt: Date | null;
2887
3149
  id: number;
3150
+ userAgent: string;
2888
3151
  expiresAt: Date;
2889
3152
  ipAddress: string;
2890
- userAgent: string;
2891
3153
  user: {
2892
- uuid: string | null;
3154
+ uuid: string;
2893
3155
  email: string;
2894
3156
  username: string;
2895
3157
  };
@@ -3221,7 +3483,7 @@ declare class ClientApi {
3221
3483
  config
3222
3484
  }: Config);
3223
3485
  getUser(): Promise<{
3224
- uuid: string | null;
3486
+ uuid: string;
3225
3487
  email: string;
3226
3488
  createdAt: Date | null;
3227
3489
  updatedAt: Date | null;
@@ -3243,7 +3505,7 @@ declare class ClientApi {
3243
3505
  bio: string | null;
3244
3506
  gender: number | null;
3245
3507
  dateOfBirth: Date | null;
3246
- } | null;
3508
+ };
3247
3509
  customerAddresses: {
3248
3510
  createdAt: Date | null;
3249
3511
  updatedAt: Date | null;
@@ -3255,18 +3517,18 @@ declare class ClientApi {
3255
3517
  province: {
3256
3518
  name: string;
3257
3519
  type: string;
3258
- id: string | null;
3520
+ id: string;
3259
3521
  };
3260
3522
  ward: {
3261
3523
  name: string;
3262
3524
  type: string;
3263
- id: string | null;
3525
+ id: string;
3264
3526
  districtId: string | null;
3265
3527
  };
3266
3528
  district: {
3267
3529
  name: string;
3268
3530
  type: string;
3269
- id: string | null;
3531
+ id: string;
3270
3532
  provinceId: string | null;
3271
3533
  };
3272
3534
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","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 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 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":";;;aAEYC,gBAAAA;EAAZ,OAAYA,GAAAA,SAAAA;EAUZ,aAAYC,GAAS,eAAA;EAUrB,OAAYC,GAAAA,SAAW;EAOvB,QAAYC,GAAAA,UAAc;EAO1B,KAAYC,GAAAA,OAAQ;EAapB,SAAYC,GAAK,WAAA;EAUjB,MAAYC,GAAAA,QAAS;AAQrB;AAaYG,aApEAR,SAAAA;EA2EZ,UAAYS,GAAAA,YAAS;EAKrB,UAAYC,GAAAA,YAAmB;EAS/B,SAAYC,GAAAA,WAAc;EAS1B,SAAYC,GAAAA,WAAa;EAOzB,SAAYC,GAAAA,WAASC;EAAMA,UAAAA,GAAAA,YAAAA;EAQXF,SAAAA,GAAAA,eAAAA;;AAcAE,aArHJb,WAAAA;EAwHIW,EAAAA,GAAAA,IAAAA;EAOCD,CAAAA,GAAAA,GAAAA;EACDC,EAAAA,GAAAA,IAAAA;EAAa,EAAA,GAAA,IAAA;;aAzHjBV,cAAAA;EC1BwB,EAa9B,GAAA,IAAA;;;;;aDoBMC,QAAAA;;;;;;;;;;;;aAaAC,KAAAA;;;;;;;;;aAUAC,SAAAA;;;;;;;aAQAC,cAAAA;;;;;;aAOAC,uBAAAA;;;;;aAMAC,WAAAA;;;;;;aAOAC,SAAAA;;;;KAKAC,mBAAAA;;;;;;;;KASAC,cAAAA;;;;;;;;KASAC,aAAAA;;;;eAIGF;;KAGHG,eAAeC;;;;;;QAQXF;;;;;;SAOCD;QACDC;;;;QAMAE;;;QAGAF;;;;;;SAOCD;QACDC;;;;AApJhB,cCcM,KDdMb,EAAAA,GAAgB,GAAA;EAUhBC,KAAAA,EAAAA;IAUAC,EAAAA,EAAAA;MAOAC,IAAAA,EAAAA;QAOQ,GAAA,EAAA,CAAA,OAsCRK,CAtCQ,EAAA;UAaH,OAAA,CAAA,QAAA,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,SAAA;UAUI,KAAA,CAAA,QAAA,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,SAAA;UAQTD,KAAc,CAAA,aAAA,GAAA,SAAA;QAOdC,CAAAA,GAAAA,SAAAA,EAAuB,UAAA,sBAAA,CAAA;UAMZ,GAAA,EAAA,MAAA;QAOF,CAAA,CAAA,CAAA;QAKTG,EAAAA,EAAAA;UASAC,GAAc,EAAA,CAAA,OAwBVC,CAxBU,EAAA;YASD,OAAA,CAIVF,EAAAA,CAAAA,CAAAA,GAAAA,SAAAA;YAGMI,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;YAAMA,KAAAA,CAAAA,aAAAA,GAAAA,SAAAA;UAQXF,CAAAA,GAAAA,SAAAA,EAAAA,UAAAA,sBAAAA,CAAAA;YAOCD,GAAAA,EAAAA;cACDC,OAAAA,EAAAA,KAAAA;cAMAE,UAAAA,EAAAA,MAAAA;cAGAF,IAAAA,EAAAA,IAAAA;cAOCD,OAAAA,EAAAA,MAAAA;cACDC,KAAAA,gBAAAA;cAAa,IAAA,eAAA;;;;cCtIK,IAAA,EAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YACtB,OAAqB,EAAlB,MAAA;YAEE,KAAA,EAAA,IAAA;YACI,IAAA,eAAA;UAAX,CAAA,GAAA;YAAR,OAAA,EAAA,KAAA;YADyB,UAAA,EAAA,MAAA;YAAI,IAAA,EAAA,IAAA;YAMf,OAAO,EAAA,MAAZ;YAGW,KAAA,gBAAA;YAQA,IAAA,eAAA;UAGI,CAAA;UAAwB,GAAA,EAAA;YAC7B,IAAA,EAAA,YAAA;YAAwB,EAAA,EAAA,MAAA;YACjB,OAAA,CAAA,EAAA,MAAA;YACM,OAAA,CAAA,EAAA,MAAA;YAC4B,KAAA,CAAA,EAAA,OAAA;YA6G9C,QAAA,CAAA,EAAA,MAAA;YAAS,QAAA,CAAA,EAAA,MAAA;UAAU,CAAA;;;;;;;;;;YAab,UAAA,EAAA,MAAA;YAMA,IAAA,EAAA,IAAA;YAID,OAAA,EAAA,MAAA;YAMjB,KAAA,gBAAA;YAEe,IAAA,eAAA;UAAoB,CAAA,GAAA;YAAR,OAAA,EAAA,IAAA;YAC5B,UAAA,EAAA,MAAA;YAAA,IAAA,EAAA;cAAA,IAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAvKE,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;;;;mBAQF,YAAY,QAAQ;MACpC,QAAA"}
1
+ {"version":3,"file":"index.d.cts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","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 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 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"}
package/dist/index.d.mts CHANGED
@@ -168,7 +168,7 @@ declare const _func: () => {
168
168
  success: true;
169
169
  statusCode: number;
170
170
  data: {
171
- uuid: string | null;
171
+ uuid: string;
172
172
  email: string;
173
173
  createdAt: Date | null;
174
174
  updatedAt: Date | null;
@@ -190,7 +190,7 @@ declare const _func: () => {
190
190
  bio: string | null;
191
191
  gender: number | null;
192
192
  dateOfBirth: Date | null;
193
- } | null;
193
+ };
194
194
  customerAddresses: {
195
195
  createdAt: Date | null;
196
196
  updatedAt: Date | null;
@@ -202,18 +202,18 @@ declare const _func: () => {
202
202
  province: {
203
203
  name: string;
204
204
  type: string;
205
- id: string | null;
205
+ id: string;
206
206
  };
207
207
  ward: {
208
208
  name: string;
209
209
  type: string;
210
- id: string | null;
210
+ id: string;
211
211
  districtId: string | null;
212
212
  };
213
213
  district: {
214
214
  name: string;
215
215
  type: string;
216
- id: string | null;
216
+ id: string;
217
217
  provinceId: string | null;
218
218
  };
219
219
  }[];
@@ -339,7 +339,7 @@ declare const _func: () => {
339
339
  success: true;
340
340
  statusCode: number;
341
341
  data: {
342
- uuid: string | null;
342
+ uuid: string;
343
343
  email: string;
344
344
  createdAt: Date | null;
345
345
  updatedAt: Date | null;
@@ -363,7 +363,7 @@ declare const _func: () => {
363
363
  gender: number | null;
364
364
  socialLinks: unknown;
365
365
  dateOfBirth: Date | null;
366
- } | null;
366
+ };
367
367
  };
368
368
  message: null;
369
369
  error: null;
@@ -432,7 +432,7 @@ declare const _func: () => {
432
432
  statusCode: number;
433
433
  data: {
434
434
  data: {
435
- uuid: string | null;
435
+ uuid: string;
436
436
  email: string;
437
437
  createdAt: Date | null;
438
438
  updatedAt: Date | null;
@@ -442,7 +442,7 @@ declare const _func: () => {
442
442
  profile: {
443
443
  fullname: string;
444
444
  phoneNumber: string | null;
445
- } | null;
445
+ };
446
446
  }[];
447
447
  pagination: {
448
448
  page: number;
@@ -497,7 +497,7 @@ declare const _func: () => {
497
497
  success: true;
498
498
  statusCode: number;
499
499
  data: {
500
- uuid: string | null;
500
+ uuid: string;
501
501
  email: string;
502
502
  createdAt: Date | null;
503
503
  updatedAt: Date | null;
@@ -519,7 +519,7 @@ declare const _func: () => {
519
519
  bio: string | null;
520
520
  gender: number | null;
521
521
  dateOfBirth: Date | null;
522
- } | null;
522
+ };
523
523
  customerAddresses: {
524
524
  createdAt: Date | null;
525
525
  updatedAt: Date | null;
@@ -531,18 +531,18 @@ declare const _func: () => {
531
531
  province: {
532
532
  name: string;
533
533
  type: string;
534
- id: string | null;
534
+ id: string;
535
535
  };
536
536
  ward: {
537
537
  name: string;
538
538
  type: string;
539
- id: string | null;
539
+ id: string;
540
540
  districtId: string | null;
541
541
  };
542
542
  district: {
543
543
  name: string;
544
544
  type: string;
545
- id: string | null;
545
+ id: string;
546
546
  provinceId: string | null;
547
547
  };
548
548
  }[];
@@ -1187,6 +1187,158 @@ declare const _func: () => {
1187
1187
  }>>;
1188
1188
  };
1189
1189
  };
1190
+ deposits: ((params: {
1191
+ depositId: string | number;
1192
+ }) => {
1193
+ patch: (body?: {
1194
+ name?: string | undefined;
1195
+ description?: string | undefined;
1196
+ valueType?: "PERCENTAGE" | "FIXED" | undefined;
1197
+ depositValue?: number | undefined;
1198
+ surchargeValue?: number | undefined;
1199
+ } | undefined, options?: {
1200
+ headers?: {} | undefined;
1201
+ query?: {} | undefined;
1202
+ fetch?: RequestInit | undefined;
1203
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1204
+ 200: {
1205
+ success: false;
1206
+ statusCode: number;
1207
+ data: null;
1208
+ message: string;
1209
+ error: TResponseError;
1210
+ meta: TResponseMeta;
1211
+ } | {
1212
+ success: true;
1213
+ statusCode: number;
1214
+ data: {
1215
+ uuid: string;
1216
+ };
1217
+ message: null;
1218
+ error: null;
1219
+ meta: TResponseMeta;
1220
+ };
1221
+ 422: {
1222
+ type: "validation";
1223
+ on: string;
1224
+ summary?: string;
1225
+ message?: string;
1226
+ found?: unknown;
1227
+ property?: string;
1228
+ expected?: string;
1229
+ };
1230
+ }>>;
1231
+ delete: (body?: {} | undefined, options?: {
1232
+ headers?: {} | undefined;
1233
+ query?: {} | undefined;
1234
+ fetch?: RequestInit | undefined;
1235
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1236
+ 200: {
1237
+ success: false;
1238
+ statusCode: number;
1239
+ data: null;
1240
+ message: string;
1241
+ error: TResponseError;
1242
+ meta: TResponseMeta;
1243
+ } | {
1244
+ success: true;
1245
+ statusCode: number;
1246
+ data: {
1247
+ uuid: string;
1248
+ };
1249
+ message: null;
1250
+ error: null;
1251
+ meta: TResponseMeta;
1252
+ };
1253
+ 422: {
1254
+ type: "validation";
1255
+ on: string;
1256
+ summary?: string;
1257
+ message?: string;
1258
+ found?: unknown;
1259
+ property?: string;
1260
+ expected?: string;
1261
+ };
1262
+ }>>;
1263
+ }) & {
1264
+ get: (options?: {
1265
+ headers?: {} | undefined;
1266
+ query?: {} | undefined;
1267
+ fetch?: RequestInit | undefined;
1268
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1269
+ 200: {
1270
+ success: false;
1271
+ statusCode: number;
1272
+ data: null;
1273
+ message: string;
1274
+ error: TResponseError;
1275
+ meta: TResponseMeta;
1276
+ } | {
1277
+ success: true;
1278
+ statusCode: number;
1279
+ data: {
1280
+ name: string;
1281
+ uuid: string;
1282
+ description: string | null;
1283
+ createdAt: Date;
1284
+ updatedAt: Date;
1285
+ valueType: string;
1286
+ depositValue: number;
1287
+ surchargeValue: number;
1288
+ }[];
1289
+ message: null;
1290
+ error: null;
1291
+ meta: TResponseMeta;
1292
+ };
1293
+ 422: {
1294
+ type: "validation";
1295
+ on: string;
1296
+ summary?: string;
1297
+ message?: string;
1298
+ found?: unknown;
1299
+ property?: string;
1300
+ expected?: string;
1301
+ };
1302
+ }>>;
1303
+ post: (body: {
1304
+ description?: string | undefined;
1305
+ name: string;
1306
+ valueType: "PERCENTAGE" | "FIXED";
1307
+ depositValue: number;
1308
+ surchargeValue: number;
1309
+ }, options?: {
1310
+ headers?: {} | undefined;
1311
+ query?: {} | undefined;
1312
+ fetch?: RequestInit | undefined;
1313
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1314
+ 200: {
1315
+ success: false;
1316
+ statusCode: number;
1317
+ data: null;
1318
+ message: string;
1319
+ error: TResponseError;
1320
+ meta: TResponseMeta;
1321
+ } | {
1322
+ success: true;
1323
+ statusCode: number;
1324
+ data: {
1325
+ uuid: string;
1326
+ };
1327
+ message: null;
1328
+ error: null;
1329
+ meta: TResponseMeta;
1330
+ };
1331
+ 422: {
1332
+ type: "validation";
1333
+ on: string;
1334
+ summary?: string;
1335
+ message?: string;
1336
+ found?: unknown;
1337
+ property?: string;
1338
+ expected?: string;
1339
+ };
1340
+ }>>;
1341
+ };
1190
1342
  media: ((params: {
1191
1343
  uuid: string | number;
1192
1344
  }) => {
@@ -1697,6 +1849,116 @@ declare const _func: () => {
1697
1849
  };
1698
1850
  }>>;
1699
1851
  };
1852
+ orders: {
1853
+ get: (options?: {
1854
+ headers?: {} | undefined;
1855
+ query?: {
1856
+ search?: string | undefined;
1857
+ limit?: number | undefined;
1858
+ page?: number | undefined;
1859
+ } | undefined;
1860
+ fetch?: RequestInit | undefined;
1861
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1862
+ 200: {
1863
+ success: false;
1864
+ statusCode: number;
1865
+ data: null;
1866
+ message: string;
1867
+ error: TResponseError;
1868
+ meta: TResponseMeta;
1869
+ } | {
1870
+ success: true;
1871
+ statusCode: number;
1872
+ data: {
1873
+ data: {
1874
+ name: string | null;
1875
+ uuid: string;
1876
+ status: string;
1877
+ createdAt: Date;
1878
+ updatedAt: Date;
1879
+ userUuid: string | null;
1880
+ orderType: string;
1881
+ orderCode: string;
1882
+ customerEmail: string | null;
1883
+ customerName: string | null;
1884
+ customerPhone: string | null;
1885
+ shippingAddress: unknown;
1886
+ subtotalAmount: string | null;
1887
+ taxTotal: string | null;
1888
+ appliedDepositName: string | null;
1889
+ appliedDepositType: string | null;
1890
+ appliedDepositValue: string | null;
1891
+ depositSurchargeTotal: string | null;
1892
+ otherSurchargeTotal: string | null;
1893
+ totalDue: string | null;
1894
+ depositRequiredAmount: string | null;
1895
+ totalPaid: string | null;
1896
+ totalRefunded: string | null;
1897
+ balanceRemaining: string | null;
1898
+ paymentStatus: string;
1899
+ fulfillmentStatus: string;
1900
+ riskLevel: string;
1901
+ completedAt: Date | null;
1902
+ }[];
1903
+ pagination: {
1904
+ page: number;
1905
+ limit: number;
1906
+ total: number;
1907
+ totalPages: number;
1908
+ hasNextPage: boolean;
1909
+ hasPreviousPage: boolean;
1910
+ };
1911
+ };
1912
+ message: null;
1913
+ error: null;
1914
+ meta: TResponseMeta;
1915
+ };
1916
+ 422: {
1917
+ type: "validation";
1918
+ on: string;
1919
+ summary?: string;
1920
+ message?: string;
1921
+ found?: unknown;
1922
+ property?: string;
1923
+ expected?: string;
1924
+ };
1925
+ }>>;
1926
+ post: (body: {
1927
+ name: string;
1928
+ orderType: "ORDER" | "PRE-ORDER" | "IN-STOCK";
1929
+ }, options?: {
1930
+ headers?: {} | undefined;
1931
+ query?: {} | undefined;
1932
+ fetch?: RequestInit | undefined;
1933
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1934
+ 200: {
1935
+ success: false;
1936
+ statusCode: number;
1937
+ data: null;
1938
+ message: string;
1939
+ error: TResponseError;
1940
+ meta: TResponseMeta;
1941
+ } | {
1942
+ success: true;
1943
+ statusCode: number;
1944
+ data: {
1945
+ uuid: string;
1946
+ };
1947
+ message: null;
1948
+ error: null;
1949
+ meta: TResponseMeta;
1950
+ };
1951
+ 422: {
1952
+ type: "validation";
1953
+ on: string;
1954
+ summary?: string;
1955
+ message?: string;
1956
+ found?: unknown;
1957
+ property?: string;
1958
+ expected?: string;
1959
+ };
1960
+ }>>;
1961
+ };
1700
1962
  products: ((params: {
1701
1963
  productUuid: string | number;
1702
1964
  }) => {
@@ -1751,7 +2013,7 @@ declare const _func: () => {
1751
2013
  variants: {
1752
2014
  length: number | null;
1753
2015
  name: string;
1754
- uuid: string | null;
2016
+ uuid: string;
1755
2017
  description: string | null;
1756
2018
  createdAt: Date | null;
1757
2019
  updatedAt: Date | null;
@@ -1785,10 +2047,10 @@ declare const _func: () => {
1785
2047
  createdAt: Date | null;
1786
2048
  updatedAt: Date | null;
1787
2049
  };
1788
- } | null;
2050
+ };
1789
2051
  }[];
1790
2052
  author: {
1791
- uuid: string | null;
2053
+ uuid: string;
1792
2054
  email: string;
1793
2055
  username: string;
1794
2056
  };
@@ -2128,7 +2390,7 @@ declare const _func: () => {
2128
2390
  preOrderEndDate: Date | null;
2129
2391
  releaseDate: Date | null;
2130
2392
  author: {
2131
- uuid: string | null;
2393
+ uuid: string;
2132
2394
  email: string;
2133
2395
  username: string;
2134
2396
  };
@@ -2510,7 +2772,7 @@ declare const _func: () => {
2510
2772
  statusCode: number;
2511
2773
  data: {
2512
2774
  author: {
2513
- uuid: string | null;
2775
+ uuid: string;
2514
2776
  email: string;
2515
2777
  username: string;
2516
2778
  } | null;
@@ -2885,11 +3147,11 @@ declare const _func: () => {
2885
3147
  createdAt: Date | null;
2886
3148
  updatedAt: Date | null;
2887
3149
  id: number;
3150
+ userAgent: string;
2888
3151
  expiresAt: Date;
2889
3152
  ipAddress: string;
2890
- userAgent: string;
2891
3153
  user: {
2892
- uuid: string | null;
3154
+ uuid: string;
2893
3155
  email: string;
2894
3156
  username: string;
2895
3157
  };
@@ -3221,7 +3483,7 @@ declare class ClientApi {
3221
3483
  config
3222
3484
  }: Config);
3223
3485
  getUser(): Promise<{
3224
- uuid: string | null;
3486
+ uuid: string;
3225
3487
  email: string;
3226
3488
  createdAt: Date | null;
3227
3489
  updatedAt: Date | null;
@@ -3243,7 +3505,7 @@ declare class ClientApi {
3243
3505
  bio: string | null;
3244
3506
  gender: number | null;
3245
3507
  dateOfBirth: Date | null;
3246
- } | null;
3508
+ };
3247
3509
  customerAddresses: {
3248
3510
  createdAt: Date | null;
3249
3511
  updatedAt: Date | null;
@@ -3255,18 +3517,18 @@ declare class ClientApi {
3255
3517
  province: {
3256
3518
  name: string;
3257
3519
  type: string;
3258
- id: string | null;
3520
+ id: string;
3259
3521
  };
3260
3522
  ward: {
3261
3523
  name: string;
3262
3524
  type: string;
3263
- id: string | null;
3525
+ id: string;
3264
3526
  districtId: string | null;
3265
3527
  };
3266
3528
  district: {
3267
3529
  name: string;
3268
3530
  type: string;
3269
- id: string | null;
3531
+ id: string;
3270
3532
  provinceId: string | null;
3271
3533
  };
3272
3534
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","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 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 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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"}
1
+ {"version":3,"file":"index.d.mts","names":["app","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","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 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 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"}
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?.()}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: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};
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 }\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":["/** 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customafk/lunas-api-sdk",
3
- "version": "0.0.40",
3
+ "version": "0.0.41",
4
4
  "main": "./dist/index.cjs",
5
5
  "scripts": {
6
6
  "build": "tsdown"