@customafk/lunas-api-sdk 0.0.40 → 0.0.42

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,230 @@ declare const _func: () => {
1697
1849
  };
1698
1850
  }>>;
1699
1851
  };
1852
+ orders: ((params: {
1853
+ orderUuid: string | number;
1854
+ }) => {
1855
+ "order-manifests": ((params: {
1856
+ manifestUuid: string | number;
1857
+ }) => {
1858
+ patch: (body?: {
1859
+ status?: "PROCESSING" | "PURCHASED" | "WAREHOUSE_ABROAD" | "IN_TRANSIT" | "ARRIVED_VN" | "DELIVERED" | "CANCELLED" | undefined;
1860
+ quantityOrdered?: number | undefined;
1861
+ quantityFulfilled?: number | undefined;
1862
+ weightGram?: number | undefined;
1863
+ note?: string | undefined;
1864
+ } | undefined, options?: {
1865
+ headers?: {} | undefined;
1866
+ query?: {} | undefined;
1867
+ fetch?: RequestInit | undefined;
1868
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1869
+ 200: {
1870
+ success: false;
1871
+ statusCode: number;
1872
+ data: null;
1873
+ message: string;
1874
+ error: TResponseError;
1875
+ meta: TResponseMeta;
1876
+ } | {
1877
+ success: true;
1878
+ statusCode: number;
1879
+ data: {
1880
+ uuid: string;
1881
+ };
1882
+ message: null;
1883
+ error: null;
1884
+ meta: TResponseMeta;
1885
+ };
1886
+ 422: {
1887
+ type: "validation";
1888
+ on: string;
1889
+ summary?: string;
1890
+ message?: string;
1891
+ found?: unknown;
1892
+ property?: string;
1893
+ expected?: string;
1894
+ };
1895
+ }>>;
1896
+ delete: (body?: {} | undefined, options?: {
1897
+ headers?: {} | undefined;
1898
+ query?: {} | undefined;
1899
+ fetch?: RequestInit | undefined;
1900
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1901
+ 200: {
1902
+ success: true;
1903
+ statusCode: number;
1904
+ data: null;
1905
+ message: string;
1906
+ error: null;
1907
+ meta: TResponseMeta;
1908
+ } | {
1909
+ success: false;
1910
+ statusCode: number;
1911
+ data: null;
1912
+ message: string;
1913
+ error: TResponseError;
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
+ }) & {
1927
+ post: (body: {
1928
+ manifests: {
1929
+ note?: string | undefined;
1930
+ variantUuid: string;
1931
+ quantityOrdered: number;
1932
+ }[];
1933
+ }, options?: {
1934
+ headers?: {} | undefined;
1935
+ query?: {} | undefined;
1936
+ fetch?: RequestInit | undefined;
1937
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1938
+ 200: {
1939
+ success: false;
1940
+ statusCode: number;
1941
+ data: null;
1942
+ message: string;
1943
+ error: TResponseError;
1944
+ meta: TResponseMeta;
1945
+ } | {
1946
+ success: true;
1947
+ statusCode: number;
1948
+ data: {
1949
+ uuid: string;
1950
+ }[];
1951
+ message: null;
1952
+ error: null;
1953
+ meta: TResponseMeta;
1954
+ };
1955
+ 422: {
1956
+ type: "validation";
1957
+ on: string;
1958
+ summary?: string;
1959
+ message?: string;
1960
+ found?: unknown;
1961
+ property?: string;
1962
+ expected?: string;
1963
+ };
1964
+ }>>;
1965
+ };
1966
+ }) & {
1967
+ get: (options?: {
1968
+ headers?: {} | undefined;
1969
+ query?: {
1970
+ search?: string | undefined;
1971
+ limit?: number | undefined;
1972
+ page?: number | undefined;
1973
+ } | undefined;
1974
+ fetch?: RequestInit | undefined;
1975
+ } | undefined) => Promise<Treaty.TreatyResponse<{
1976
+ 200: {
1977
+ success: false;
1978
+ statusCode: number;
1979
+ data: null;
1980
+ message: string;
1981
+ error: TResponseError;
1982
+ meta: TResponseMeta;
1983
+ } | {
1984
+ success: true;
1985
+ statusCode: number;
1986
+ data: {
1987
+ data: {
1988
+ name: string | null;
1989
+ uuid: string;
1990
+ status: string;
1991
+ createdAt: Date;
1992
+ updatedAt: Date;
1993
+ userUuid: string | null;
1994
+ orderType: string;
1995
+ orderCode: string;
1996
+ customerEmail: string | null;
1997
+ customerName: string | null;
1998
+ customerPhone: string | null;
1999
+ shippingAddress: unknown;
2000
+ subtotalAmount: string | null;
2001
+ taxTotal: string | null;
2002
+ appliedDepositName: string | null;
2003
+ appliedDepositType: string | null;
2004
+ appliedDepositValue: string | null;
2005
+ depositSurchargeTotal: string | null;
2006
+ otherSurchargeTotal: string | null;
2007
+ totalDue: string | null;
2008
+ depositRequiredAmount: string | null;
2009
+ totalPaid: string | null;
2010
+ totalRefunded: string | null;
2011
+ balanceRemaining: string | null;
2012
+ paymentStatus: string;
2013
+ fulfillmentStatus: string;
2014
+ riskLevel: string;
2015
+ completedAt: Date | null;
2016
+ }[];
2017
+ pagination: {
2018
+ page: number;
2019
+ limit: number;
2020
+ total: number;
2021
+ totalPages: number;
2022
+ hasNextPage: boolean;
2023
+ hasPreviousPage: boolean;
2024
+ };
2025
+ };
2026
+ message: null;
2027
+ error: null;
2028
+ meta: TResponseMeta;
2029
+ };
2030
+ 422: {
2031
+ type: "validation";
2032
+ on: string;
2033
+ summary?: string;
2034
+ message?: string;
2035
+ found?: unknown;
2036
+ property?: string;
2037
+ expected?: string;
2038
+ };
2039
+ }>>;
2040
+ post: (body: {
2041
+ name: string;
2042
+ orderType: "ORDER" | "PRE-ORDER" | "IN-STOCK";
2043
+ }, options?: {
2044
+ headers?: {} | undefined;
2045
+ query?: {} | undefined;
2046
+ fetch?: RequestInit | undefined;
2047
+ } | undefined) => Promise<Treaty.TreatyResponse<{
2048
+ 200: {
2049
+ success: false;
2050
+ statusCode: number;
2051
+ data: null;
2052
+ message: string;
2053
+ error: TResponseError;
2054
+ meta: TResponseMeta;
2055
+ } | {
2056
+ success: true;
2057
+ statusCode: number;
2058
+ data: {
2059
+ uuid: string;
2060
+ };
2061
+ message: null;
2062
+ error: null;
2063
+ meta: TResponseMeta;
2064
+ };
2065
+ 422: {
2066
+ type: "validation";
2067
+ on: string;
2068
+ summary?: string;
2069
+ message?: string;
2070
+ found?: unknown;
2071
+ property?: string;
2072
+ expected?: string;
2073
+ };
2074
+ }>>;
2075
+ };
1700
2076
  products: ((params: {
1701
2077
  productUuid: string | number;
1702
2078
  }) => {
@@ -1751,7 +2127,7 @@ declare const _func: () => {
1751
2127
  variants: {
1752
2128
  length: number | null;
1753
2129
  name: string;
1754
- uuid: string | null;
2130
+ uuid: string;
1755
2131
  description: string | null;
1756
2132
  createdAt: Date | null;
1757
2133
  updatedAt: Date | null;
@@ -1785,10 +2161,10 @@ declare const _func: () => {
1785
2161
  createdAt: Date | null;
1786
2162
  updatedAt: Date | null;
1787
2163
  };
1788
- } | null;
2164
+ };
1789
2165
  }[];
1790
2166
  author: {
1791
- uuid: string | null;
2167
+ uuid: string;
1792
2168
  email: string;
1793
2169
  username: string;
1794
2170
  };
@@ -2128,7 +2504,7 @@ declare const _func: () => {
2128
2504
  preOrderEndDate: Date | null;
2129
2505
  releaseDate: Date | null;
2130
2506
  author: {
2131
- uuid: string | null;
2507
+ uuid: string;
2132
2508
  email: string;
2133
2509
  username: string;
2134
2510
  };
@@ -2510,7 +2886,7 @@ declare const _func: () => {
2510
2886
  statusCode: number;
2511
2887
  data: {
2512
2888
  author: {
2513
- uuid: string | null;
2889
+ uuid: string;
2514
2890
  email: string;
2515
2891
  username: string;
2516
2892
  } | null;
@@ -2885,11 +3261,11 @@ declare const _func: () => {
2885
3261
  createdAt: Date | null;
2886
3262
  updatedAt: Date | null;
2887
3263
  id: number;
3264
+ userAgent: string;
2888
3265
  expiresAt: Date;
2889
3266
  ipAddress: string;
2890
- userAgent: string;
2891
3267
  user: {
2892
- uuid: string | null;
3268
+ uuid: string;
2893
3269
  email: string;
2894
3270
  username: string;
2895
3271
  };
@@ -3221,7 +3597,7 @@ declare class ClientApi {
3221
3597
  config
3222
3598
  }: Config);
3223
3599
  getUser(): Promise<{
3224
- uuid: string | null;
3600
+ uuid: string;
3225
3601
  email: string;
3226
3602
  createdAt: Date | null;
3227
3603
  updatedAt: Date | null;
@@ -3243,7 +3619,7 @@ declare class ClientApi {
3243
3619
  bio: string | null;
3244
3620
  gender: number | null;
3245
3621
  dateOfBirth: Date | null;
3246
- } | null;
3622
+ };
3247
3623
  customerAddresses: {
3248
3624
  createdAt: Date | null;
3249
3625
  updatedAt: Date | null;
@@ -3255,18 +3631,18 @@ declare class ClientApi {
3255
3631
  province: {
3256
3632
  name: string;
3257
3633
  type: string;
3258
- id: string | null;
3634
+ id: string;
3259
3635
  };
3260
3636
  ward: {
3261
3637
  name: string;
3262
3638
  type: string;
3263
- id: string | null;
3639
+ id: string;
3264
3640
  districtId: string | null;
3265
3641
  };
3266
3642
  district: {
3267
3643
  name: string;
3268
3644
  type: string;
3269
- id: string | null;
3645
+ id: string;
3270
3646
  provinceId: string | null;
3271
3647
  };
3272
3648
  }[];