@customafk/lunas-api-sdk 0.0.39 → 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":"gCA4BA,IAAa,EAAb,MAAa,CAAU,wBAG4B,mCAE/C,6BACgD,sBAEtB,2BAQjB,KAEX,aAAqB,UAAW,CAK9B,GAHI,EAAU,MAGV,CAAC,EAAU,QAAS,OAGxB,GAAI,EAAU,WAAY,CACxB,MAAM,EAAU,WAChB,OAGF,IAAM,EAAQ,EAAU,QAAQ,MAAM,GAAG,KAAK,GAAG,KAAK,CAEtD,EAAU,WAAa,EACvB,GAAI,CACF,IAAM,EAAM,MAAM,EAClB,GAAM,EAAI,MAAU,EAAI,KAAK,MAAQ,EAAI,KAAK,QAC5C,EAAU,KAAO,EAAI,KAAK,aAGjB,GAAK,MAAM,aAAe,KAAM,CACzC,GAAM,CAAE,UAAW,MAAM,EAAU,eAAe,CAClD,GAAI,IAAW,UAAW,CACxB,IAAM,EAAO,MAAM,EAEf,EAAK,MACP,EAAK,KAAK,SACV,EAAK,KAAK,aAAe,IAEzB,EAAU,KAAO,EAAK,KAAK,KAE3B,EAAU,KAAO,KAGjB,IAAW,WACb,EAAU,KAAO,WAInB,EAAU,KAAO,KACjB,QAAQ,MAAM,6BAA8B,KAAK,UAAU,EAAI,KAAK,CAAC,OAEhE,EAAO,CACd,QAAQ,MAAM,4BAA6B,KAAK,UAAU,EAAM,CAAC,CACjE,EAAU,KAAO,YACT,CACR,EAAU,WAAa,MAI3B,aAAqB,eAAgB,CAyBnC,OAvBK,EAAU,QAGX,EAAU,kBACA,MAAM,EAAU,mBAkB9B,EAAU,mBAdM,SAAgD,CAC9D,GAAI,CACF,IAAM,EACJ,MAAM,EAAU,SAAS,MAAM,GAAG,KAAK,iBAAiB,KAAK,CAI/D,OAHM,GAAK,MAAU,EAAI,KAAK,SAAW,EAAI,KAAK,aAAe,IACxD,CAAE,OAAQ,UAAW,CAEvB,CAAE,OAAQ,SAAU,OACpB,EAAO,CAEd,OADA,QAAQ,MAAM,0BAA2B,KAAK,UAAU,EAAM,CAAC,CACxD,CAAE,OAAQ,SAAU,KAIQ,CAChC,EAAU,kBAAkB,YAAc,CAC/C,EAAU,kBAAoB,MAC9B,EAzB6B,CAAE,OAAQ,SAAmB,CA4B9D,aAAqB,SAAU,CAExB,KAAU,QACf,GAAI,CAEF,GAAI,EAAU,YAAa,CACzB,MAAM,EAAU,YAChB,OAGF,IAAM,EAAS,EAAU,QAAQ,MAAM,GAAG,KAAK,OAAO,QAAQ,CAE9D,EAAU,YAAc,EACxB,MAAM,QACC,EAAO,CACd,QAAQ,MAAM,uBAAwB,EAAM,QACpC,CACR,EAAU,KAAO,KACjB,EAAU,YAAc,KACxB,EAAU,WAAW,eAAe,KAAK,CACzC,EAAU,WAAW,YAAY,EAIrC,YAAY,CAAE,UAAS,UAAkB,CAEvC,AACE,EAAU,WAAA,EAAA,EAAA,QAA+B,EAAS,EAAO,CAG3D,KAAK,gBAAkB,SAAY,CACjC,EAAU,KAAO,KACjB,MAAM,EAAU,WAAW,eAAe,KAAK,CAC/C,MAAM,EAAU,WAAW,kBAAkB,EAIjD,MAAa,SAAU,CAGrB,OAFA,MAAM,EAAU,UAAU,CAC1B,MAAM,EAAU,WAAW,UAAU,EAAU,KAAK,CAC7C,EAAU,MAAQ,KAG3B,WAAwC,CACtC,OAAO,EAAU,QAGnB,MAAa,QAAS,CACpB,MAAM,EAAU,SAAS,MAAM,GAAG,KAAK,OAAO,QAAQ,CACtD,MAAM,EAAU,WAAW,YAAY,CACvC,EAAU,KAAO,KAGnB,MAAa,SAAgB,CAC3B,WAGC,CAED,GAAI,CAAC,EAAU,QACb,MAAU,MAAM,yBAAyB,CAG3C,GAAI,CAEE,EAAU,aACZ,QAAQ,IACN,8DACD,CACD,MAAM,EAAU,YAId,EAAU,oBACZ,QAAQ,IACN,qEACD,CACD,MAAM,EAAU,mBAId,EAAU,cACZ,QAAQ,IACN,+DACD,CACD,MAAM,EAAU,aAGlB,IAAM,EAAY,MAAM,EACtB,EAAU,QACX,CAGD,GAAI,CAAC,EAAS,KAEZ,OADA,QAAQ,MAAM,6CAA6C,CACpD,KAIT,IAAM,EAAQ,EAAS,KAGvB,GAAI,GAAO,aAAe,IAGxB,OAFA,MAAM,KAAK,mBAAmB,CAC9B,MAAM,EAAU,WAAW,kBAAkB,CACtC,KAIT,GAAI,GAAO,aAAe,KAAM,CAC9B,GAAM,CAAE,UAAW,MAAM,EAAU,eAAe,CAElD,GADA,MAAM,EAAU,WAAW,iBAAiB,EAAO,CAC/C,IAAW,UAIb,OAHkB,MAAM,EACtB,EAAU,QACX,CAGH,GAAI,IAAW,SAGb,OAFA,MAAM,EAAU,SAAS,CACzB,MAAM,EAAU,WAAW,YAAY,CAChC,KAIX,OAAO,QACA,EAAO,CAEd,OADA,QAAQ,MAAM,qBAAsB,KAAK,UAAU,EAAM,CAAC,CACnD,CACL,QAAS,GACT,WAAY,IACZ,KAAM,KACN,QAAS,wBACT,MAAO,CACL,WAAY,IACZ,QAAS,wBACV,CACD,KAAM,CACJ,QAAS,QACT,UAAW,IAAI,MAAM,CAAC,aAAa,CACnC,KAAM,GACP,CACF"}
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
  };
@@ -1995,6 +2257,70 @@ declare const _func: () => {
1995
2257
  };
1996
2258
  }>>;
1997
2259
  };
2260
+ publish: {
2261
+ patch: (body?: {} | undefined, options?: {
2262
+ headers?: {} | undefined;
2263
+ query?: {} | undefined;
2264
+ fetch?: RequestInit | undefined;
2265
+ } | undefined) => Promise<Treaty.TreatyResponse<{
2266
+ 200: {
2267
+ success: true;
2268
+ statusCode: number;
2269
+ data: null;
2270
+ message: string;
2271
+ error: null;
2272
+ meta: TResponseMeta;
2273
+ } | {
2274
+ success: false;
2275
+ statusCode: number;
2276
+ data: null;
2277
+ message: string;
2278
+ error: TResponseError;
2279
+ meta: TResponseMeta;
2280
+ };
2281
+ 422: {
2282
+ type: "validation";
2283
+ on: string;
2284
+ summary?: string;
2285
+ message?: string;
2286
+ found?: unknown;
2287
+ property?: string;
2288
+ expected?: string;
2289
+ };
2290
+ }>>;
2291
+ };
2292
+ cancelled: {
2293
+ patch: (body?: {} | undefined, options?: {
2294
+ headers?: {} | undefined;
2295
+ query?: {} | undefined;
2296
+ fetch?: RequestInit | undefined;
2297
+ } | undefined) => Promise<Treaty.TreatyResponse<{
2298
+ 200: {
2299
+ success: true;
2300
+ statusCode: number;
2301
+ data: null;
2302
+ message: string;
2303
+ error: null;
2304
+ meta: TResponseMeta;
2305
+ } | {
2306
+ success: false;
2307
+ statusCode: number;
2308
+ data: null;
2309
+ message: string;
2310
+ error: TResponseError;
2311
+ meta: TResponseMeta;
2312
+ };
2313
+ 422: {
2314
+ type: "validation";
2315
+ on: string;
2316
+ summary?: string;
2317
+ message?: string;
2318
+ found?: unknown;
2319
+ property?: string;
2320
+ expected?: string;
2321
+ };
2322
+ }>>;
2323
+ };
1998
2324
  forever: {
1999
2325
  delete: (body?: {} | undefined, options?: {
2000
2326
  headers?: {} | undefined;
@@ -2064,7 +2390,7 @@ declare const _func: () => {
2064
2390
  preOrderEndDate: Date | null;
2065
2391
  releaseDate: Date | null;
2066
2392
  author: {
2067
- uuid: string | null;
2393
+ uuid: string;
2068
2394
  email: string;
2069
2395
  username: string;
2070
2396
  };
@@ -2446,7 +2772,7 @@ declare const _func: () => {
2446
2772
  statusCode: number;
2447
2773
  data: {
2448
2774
  author: {
2449
- uuid: string | null;
2775
+ uuid: string;
2450
2776
  email: string;
2451
2777
  username: string;
2452
2778
  } | null;
@@ -2821,11 +3147,11 @@ declare const _func: () => {
2821
3147
  createdAt: Date | null;
2822
3148
  updatedAt: Date | null;
2823
3149
  id: number;
3150
+ userAgent: string;
2824
3151
  expiresAt: Date;
2825
3152
  ipAddress: string;
2826
- userAgent: string;
2827
3153
  user: {
2828
- uuid: string | null;
3154
+ uuid: string;
2829
3155
  email: string;
2830
3156
  username: string;
2831
3157
  };
@@ -3157,7 +3483,7 @@ declare class ClientApi {
3157
3483
  config
3158
3484
  }: Config);
3159
3485
  getUser(): Promise<{
3160
- uuid: string | null;
3486
+ uuid: string;
3161
3487
  email: string;
3162
3488
  createdAt: Date | null;
3163
3489
  updatedAt: Date | null;
@@ -3179,7 +3505,7 @@ declare class ClientApi {
3179
3505
  bio: string | null;
3180
3506
  gender: number | null;
3181
3507
  dateOfBirth: Date | null;
3182
- } | null;
3508
+ };
3183
3509
  customerAddresses: {
3184
3510
  createdAt: Date | null;
3185
3511
  updatedAt: Date | null;
@@ -3191,18 +3517,18 @@ declare class ClientApi {
3191
3517
  province: {
3192
3518
  name: string;
3193
3519
  type: string;
3194
- id: string | null;
3520
+ id: string;
3195
3521
  };
3196
3522
  ward: {
3197
3523
  name: string;
3198
3524
  type: string;
3199
- id: string | null;
3525
+ id: string;
3200
3526
  districtId: string | null;
3201
3527
  };
3202
3528
  district: {
3203
3529
  name: string;
3204
3530
  type: string;
3205
- id: string | null;
3531
+ id: string;
3206
3532
  provinceId: string | null;
3207
3533
  };
3208
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":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}