@alliumcloud/avatar-sso-internal 2.5.5-dev.0 → 2.5.6-dev.1

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/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/lib/database.ts","../src/config/environment.ts","../src/config/index.ts","../src/lib/CustomStorage.ts","../src/lib/utils.ts","../src/main.ts"],"names":["db","ssoClientUrl","ssoServerUrl","r"],"mappings":"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","file":"main.js","sourcesContent":["export default class Database {\n constructor(\n private readonly config: {\n dbName: string;\n dbVersion: number;\n storeName: string;\n },\n ) {}\n\n open = (): Promise<IDBDatabase> => {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.config.dbName, this.config.dbVersion);\n\n request.onerror = () => reject(request.error);\n\n request.onupgradeneeded = () => {\n const db = request.result;\n\n if (!db.objectStoreNames.contains(this.config.storeName))\n db.createObjectStore(this.config.storeName, {\n keyPath: \"id\",\n });\n };\n\n request.onsuccess = () => resolve(request.result);\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n create = async (user: { id: string; [key: string]: any }) => {\n const db = await this.open();\n\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.config.storeName, \"readwrite\");\n const store = tx.objectStore(this.config.storeName);\n\n const request = store.add(user);\n\n request.onsuccess = () => resolve(user);\n request.onerror = () => reject(request.error);\n });\n };\n\n getById = async <T = unknown>(id: string): Promise<T | null> => {\n const db = await this.open();\n\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.config.storeName, \"readonly\");\n const store = tx.objectStore(this.config.storeName);\n\n const request = store.get(id) ?? null;\n\n request.onsuccess = () => resolve(request.result as T);\n request.onerror = () => reject(request.error);\n });\n };\n\n getAll = async () => {\n const db = await this.open();\n\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.config.storeName, \"readonly\");\n const store = tx.objectStore(this.config.storeName);\n\n const request = store.getAll();\n\n request.onsuccess = () => resolve(request.result);\n request.onerror = () => reject(request.error);\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n update = async (id: string, updates: Partial<Record<string, any>>) => {\n const db = await this.open();\n\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.config.storeName, \"readwrite\");\n const store = tx.objectStore(this.config.storeName);\n\n const getReq = store.get(id);\n\n getReq.onerror = () => reject(getReq.error);\n\n getReq.onsuccess = () => {\n if (!getReq.result) {\n reject(new Error(\"User not found\"));\n return;\n }\n\n const updatedUser = {\n ...getReq.result,\n ...updates,\n };\n\n const putReq = store.put(updatedUser);\n\n putReq.onsuccess = () => resolve(updatedUser);\n putReq.onerror = () => reject(putReq.error);\n };\n });\n };\n\n delete = async (id: string) => {\n const db = await this.open();\n\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.config.storeName, \"readwrite\");\n const store = tx.objectStore(this.config.storeName);\n\n const request = store.delete(id);\n\n request.onsuccess = () => resolve(true);\n request.onerror = () => reject(request.error);\n });\n };\n\n reset = async () => {\n const db = await this.open();\n\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.config.storeName, \"readwrite\");\n const store = tx.objectStore(this.config.storeName);\n\n const request = store.clear();\n\n request.onsuccess = () => resolve(true);\n request.onerror = () => reject(request.error);\n });\n };\n}\n","/**\n * URLs baked in at build time by tsup — see tsup.config.ts.\n * `process.env.*` refs here are compile-time string replacements, not runtime lookups.\n */\ndeclare const process: {\n env: {\n SSO_CLIENT_URL: string;\n SSO_SERVER_URL: string;\n };\n};\n\nexport const ssoClientUrl: string = process.env.SSO_CLIENT_URL;\nexport const ssoServerUrl: string = process.env.SSO_SERVER_URL;\n","import Database from \"../lib/database\";\nimport { Actions } from \"../types\";\nimport * as environment from \"./environment\";\n\nexport const db = new Database({\n dbName: \"sso-sdk\",\n dbVersion: 1,\n storeName: \"credentials\",\n});\n\nexport const ssoClientUrl = environment?.ssoClientUrl;\nexport const ssoServerUrl = environment?.ssoServerUrl;\n\nexport const actions = {\n local_login: \"local-login\",\n local_register: \"local-register\",\n local_logout: \"local-logout\",\n local_exchange: \"local-exchange\",\n sso_exchange: \"sso-exchange\",\n logout: \"logout\",\n session_cleared: \"session-cleared\",\n refresh: \"refresh\",\n profile_fetch: \"profile.fetch\",\n profile_update: \"profile.update\",\n profile_photo_update: \"profile-photo.update\",\n cloth_add: \"cloth.add\",\n cloth_fetch_all: \"cloth.fetch-all\",\n cloth_fetch: \"cloth.fetch\",\n cloth_update: \"cloth.update\",\n cloth_delete: \"cloth.delete\",\n material_add: \"material.add\",\n material_fetch_all: \"material.fetch-all\",\n material_fetch: \"material.fetch\",\n material_update: \"material.update\",\n material_delete: \"material.delete\",\n skull_add: \"skull.add\",\n skull_update: \"skull.update\",\n skull_fetch_all: \"skull.fetch-all\",\n skull_fetch: \"skull.fetch\",\n skull_delete: \"skull.delete\",\n skull_material_add: \"skull-material.add\",\n skull_material_fetch_all: \"skull-material.fetch-all\",\n skull_material_fetch: \"skull-material.fetch\",\n skull_material_update: \"skull-material.update\",\n skull_material_delete: \"skull-material.delete\",\n body_add: \"body.add\",\n body_fetch_all: \"body.fetch-all\",\n body_fetch: \"body.fetch\",\n body_update: \"body.update\",\n body_delete: \"body.delete\",\n} satisfies Record<string, Actions[\"type\"]>;\n","interface StorageDriver {\n get(key: string): string | null;\n set(key: string, value: string): void;\n remove(key: string): void;\n}\n\nexport default class CustomStorage {\n constructor(private readonly storage: StorageDriver) {}\n\n open = async () => this.storage;\n\n create = async <T extends { id: string }>(user: T) => {\n this.storage.set(user.id, JSON.stringify(user));\n\n return user;\n };\n\n getById = async <T = unknown>(id: string): Promise<T | null> => {\n const item = this.storage.get(id);\n\n if (!item) return null;\n\n return JSON.parse(item) as T;\n };\n\n getAll = async () => {\n return [];\n };\n\n update = async <T extends Record<string, unknown>>(\n id: string,\n updates: Partial<T>,\n ) => {\n const item = await this.getById<T>(id);\n\n if (!item) throw new Error(\"User not found\");\n\n const updatedItem = {\n ...item,\n ...updates,\n };\n\n this.storage.set(id, JSON.stringify(updatedItem));\n\n return updatedItem;\n };\n\n delete = async (id: string) => {\n this.storage.remove(id);\n\n return true;\n };\n\n reset = async () => {\n this.storage.remove(\"local-user\");\n\n return true;\n };\n}\n","export const isBrowser = () => typeof window !== \"undefined\";\n","import * as c from \"./config\";\nimport CustomStorage from \"./lib/CustomStorage\";\nimport Database from \"./lib/database\";\nimport { isBrowser } from \"./lib/utils\";\nimport {\n AddClothFilePayload,\n AddClothPayload,\n AddMaterialFilePayload,\n AddMaterialPayload,\n AddSkullFilePayload,\n AddSkullPayload,\n Body,\n BodyAddFilePayload,\n BodyAddPayload,\n BodyUpdateFilePayload,\n BodyUpdatePayload,\n Cb,\n Cloth,\n Config,\n DBRes,\n ErrorRes,\n Exchange,\n GetClothsOptions,\n GetMaterialsOptions,\n LocalRegister,\n LocalRegisterPayload,\n LoginPayload,\n Material,\n Profile,\n RefreshTokenPayload,\n RefToken,\n SignedUrl,\n Skull,\n SkullMaterial,\n SkullMaterialAddFilePayload,\n SkullMaterialAddPayload,\n SkullMaterialUpdateFilePayload,\n SkullMaterialUpdatePayload,\n SuccessRes,\n UpdateClothPayload,\n UpdateMaterialPayload,\n UpdateProfilePayload,\n UpdateProfilePicture,\n UpdateProfilePicturePayload,\n UpdateSkullPayload,\n Verify,\n VerifyOtpPayload,\n} from \"./types\";\n\nexport type * from \"./types\";\n\nexport { default as CustomStorage } from \"./lib/CustomStorage\";\n\nexport default class SSO {\n readonly serviceType = \"AVATAR_SSO\";\n protected readonly db: Database | CustomStorage;\n protected ssoClientUrl = c.ssoClientUrl;\n protected ssoServerUrl = c.ssoServerUrl;\n readonly sdkKey: string;\n readonly dbId = \"local-user\";\n private callbacks = new Set<Cb>();\n private cb: Cb = (payload) => {\n for (const cb of this.callbacks) cb(payload);\n };\n\n constructor(private readonly config: Config) {\n this.sdkKey = config.sdkKey ?? \"no-sdk-key\";\n this.db = config.storage instanceof CustomStorage ? config.storage : c.db;\n this.ssoClientUrl = config.clientUrl ?? c.ssoClientUrl;\n this.ssoServerUrl = config.serverUrl ?? c.ssoServerUrl;\n }\n\n readonly register = async (\n payload: LocalRegisterPayload,\n ): Promise<LocalRegister> => {\n const { redirectUri, type, ...body } = payload;\n const queryParams = this.emailVerificationQuery({ redirectUri, type });\n\n const res = await fetch(`${this.ssoServerUrl}/users/signup${queryParams}`, {\n method: \"POST\",\n body: JSON.stringify(body),\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-sdk-key\": this.sdkKey,\n },\n });\n const json = (await res.json()) as SuccessRes<LocalRegister> | ErrorRes;\n\n if (!res?.ok || !json.success)\n throw new Error(json.message ?? \"SSO-SDK: Local register failed.\");\n\n this.cb({\n type: c.actions.local_register,\n payload: json.data,\n });\n\n return json.data;\n };\n\n private readonly localLogin = async (payload: LoginPayload) => {\n if (!(payload instanceof Object)) return;\n\n const { redirectUri, type, ...body } = payload;\n const queryParams = this.emailVerificationQuery({ redirectUri, type });\n\n const res = await fetch(`${this.ssoServerUrl}/users/signin${queryParams}`, {\n method: \"POST\",\n body: JSON.stringify(body),\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-sdk-key\": this.sdkKey,\n },\n });\n\n const json: SuccessRes | ErrorRes = await res.json();\n\n if (!res?.ok || !json.success)\n throw new Error(json.message ?? \"SSO-SDK: Local login failed.\");\n\n this.cb({\n type: c.actions.local_login,\n payload: null,\n });\n };\n private readonly ssoLogin = async (redirectUrl: LoginPayload) => {\n if (redirectUrl instanceof Object) return;\n\n this.throwIfNotBrowser();\n\n const r = `${this.ssoClientUrl}/sso?sdkKey=${this.sdkKey}&redirectUri=${redirectUrl}`;\n\n window.location.href = r;\n };\n /**\n * Login function that triggers both local and SSO login flows. If the payload is a string, it will trigger the SSO login flow with the payload as the redirect URL. If the payload is an object, it will trigger the local login flow with the payload as the login data.\n * @param payload just redirect URL string for SSO login or LocalLoginPayload for local login\n * @returns\n */\n readonly login = async (payload: LoginPayload) => {\n await Promise.all([this.localLogin(payload), this.ssoLogin(payload)]);\n };\n\n private readonly decodeJwtPayload = <T>(token: string) => {\n try {\n const payload = token.split(\".\")[1];\n if (!payload) return null;\n\n const base64 = payload.replace(/-/g, \"+\").replace(/_/g, \"/\");\n\n return JSON.parse(atob(base64)) as T;\n } catch {\n return null;\n }\n };\n\n /**\n * - it throws.\n */\n private readonly autoRefresh = async () => {\n const existingUser = await this.getLocalUser().catch(() => null);\n\n if (!existingUser) return null;\n\n const { accessToken, refreshToken } = existingUser.tokens;\n\n const decodedRT = this.decodeJwtPayload<RefreshTokenPayload>(refreshToken);\n const decodedAT = this.decodeJwtPayload<RefreshTokenPayload>(accessToken);\n\n const date = new Date();\n\n const isValidRefToken =\n decodedRT?.exp && decodedAT?.exp && date.getTime() < decodedRT.exp * 1000;\n\n if (!isValidRefToken) {\n await this.db.reset();\n throw new Error(`SSO-SDK: Session cleared. Please login again.`);\n } else {\n date.setMinutes(date.getMinutes() + 5); // check if it expires in the next 5 minutes\n const shouldRefresh =\n decodedAT?.exp && date.getTime() > decodedAT.exp * 1000;\n\n if (!shouldRefresh) return existingUser.tokens;\n\n return await this.refresh();\n }\n };\n\n private readonly localExchange = async (\n email: string | null,\n token: string | null,\n ): Promise<Exchange | void> => {\n if (!email || !token) return;\n\n const res = await fetch(`${this.ssoServerUrl}/users/verify`, {\n method: \"POST\",\n body: JSON.stringify({\n token,\n email,\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-sdk-key\": this.sdkKey,\n },\n });\n\n const verifyRes: SuccessRes<Verify> | ErrorRes = await res.json();\n\n if (!res.ok || !verifyRes.success)\n throw new Error(verifyRes.message ?? `SSO-SDK: Local exchange failed.`);\n\n const profileRes = await fetch(`${this.ssoServerUrl}/users/profile`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${verifyRes.data.tokens.accessToken}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n\n const profileJson: SuccessRes<Profile> | ErrorRes = await profileRes.json();\n\n if (!profileRes.ok || !profileJson.success)\n throw new Error(profileJson.message ?? `SSO-SDK: Profile fetch failed.`);\n\n await this.db.open();\n\n await this.db.delete(this.dbId);\n\n await this.db.create({\n ...profileJson.data,\n userId: profileJson.data.id,\n tokens: verifyRes.data.tokens,\n id: this.dbId,\n });\n\n this.cb({\n type: c.actions.local_exchange,\n payload: profileJson.data,\n });\n\n return { ...profileJson.data, tokens: verifyRes.data.tokens };\n };\n\n readonly verifyOtp = async (payload: VerifyOtpPayload) => {\n await this.db.reset();\n\n const email = payload.email.trim().toLowerCase();\n const otpCode = payload.otpCode.trim();\n\n if (!email || !otpCode) throw new Error(`SSO-SDK: Invalid OTP payload.`);\n\n const res = await this.localExchange(email, otpCode);\n\n if (!res) throw new Error(`SSO-SDK: OTP verification failed.`);\n\n return res;\n };\n private readonly ssoExchange = async (\n email: string | null,\n token: string | null,\n ): Promise<Exchange | void> => {\n if (email || !token) return;\n\n const res = await fetch(`${this.ssoServerUrl}/sso/exchange`, {\n method: \"POST\",\n body: JSON.stringify({\n token,\n sdkKey: this.sdkKey,\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-sdk-key\": this.sdkKey,\n },\n });\n\n const data: SuccessRes<{\n tokens: {\n accessToken: string;\n refreshToken: string;\n };\n }> = await res.json();\n\n if (!res.ok)\n throw new Error(data.message ?? `SSO-SDK: SSO exchange failed.`);\n\n const profileRes = await fetch(`${this.ssoServerUrl}/users/profile`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${data.data.tokens.accessToken}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n\n const profileJson: SuccessRes<Profile> | ErrorRes = await profileRes.json();\n\n if (!profileRes.ok || !profileJson.success)\n throw new Error(profileJson.message ?? `SSO-SDK: Profile fetch failed.`);\n\n await this.db.open();\n\n await this.db.delete(this.dbId);\n\n await this.db.create({\n ...profileJson.data,\n userId: profileJson.data.id,\n tokens: data.data.tokens,\n id: this.dbId,\n });\n\n this.cb({\n type: c.actions.sso_exchange,\n payload: profileJson.data,\n });\n\n return { ...profileJson.data, tokens: data.data.tokens };\n };\n /**\n * - this will just skip the exchange returning null if the query params are not correct and won't throw an error.\n */\n readonly exchange = async () => {\n this.throwIfNotBrowser();\n\n const url = new URL(window.location.href);\n const email = url.searchParams.get(\"email\");\n const token = url.searchParams.get(\"token\");\n\n const isExchanging = !!(email && token);\n\n if (isExchanging) {\n url.searchParams.delete(\"email\");\n url.searchParams.delete(\"token\");\n window.history.replaceState({}, \"\", url);\n }\n\n const tokenReused = await this.autoRefresh().catch((e) => {\n if (/session cleared/i.test(e?.message ?? \"\") && !isExchanging) {\n this.cb({\n type: c.actions.session_cleared,\n payload: null,\n });\n }\n\n if (!isExchanging)\n throw new Error(e?.message ?? `SSO-SDK: Auto refresh failed.`);\n\n return null;\n });\n\n if (tokenReused && isExchanging)\n throw new Error(`SSO-SDK: User already logged in.`);\n\n if (!isExchanging) return null;\n\n await this.db.reset(); // reset the db before exchange to avoid conflicts\n\n const sanitizedEmail = email\n ? email.trim().toLowerCase().replace(/\\s+/g, \"+\")\n : null;\n\n const res = await Promise.all([\n this.localExchange(sanitizedEmail, token),\n this.ssoExchange(sanitizedEmail, token),\n ]).then((r) => r.find((r2) => !!r2));\n\n if (!res) throw new Error(`SSO-SDK: Exchange failed.`);\n\n return res;\n };\n\n readonly fetchProfile = async () => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/users/profile`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const pRes: SuccessRes<Profile> | ErrorRes = await res.json();\n\n if (!res?.ok || !pRes.success)\n throw new Error(pRes.message ?? `SSO-SDK: Profile fetch failed.`);\n\n this.cb({\n type: c.actions.profile_fetch,\n payload: pRes.data,\n });\n\n return pRes.data;\n };\n\n readonly refresh = async () => {\n const dbUser = (await this.db.getById(this.dbId)) as DBRes | undefined;\n\n if (!dbUser) throw new Error(`SSO-SDK: No user found in IndexedDB.`);\n\n const res = await fetch(`${this.ssoServerUrl}/users/refresh`, {\n method: \"POST\",\n body: JSON.stringify({\n token: dbUser.tokens.refreshToken,\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-sdk-key\": this.sdkKey,\n },\n });\n\n const refTokeRes: SuccessRes<RefToken> | ErrorRes = await res.json();\n\n if (!res.ok || !refTokeRes.success) {\n this.db.delete(this.dbId);\n this.cb({\n type: c.actions.session_cleared,\n payload: null,\n });\n throw new Error(refTokeRes.message ?? `SSO-SDK: Refresh failed.`);\n }\n\n await this.db.update(this.dbId, {\n ...dbUser,\n tokens: {\n accessToken: refTokeRes.data.accessToken,\n refreshToken: refTokeRes.data.refreshToken,\n },\n });\n\n this.cb({\n type: c.actions.refresh,\n payload: refTokeRes.data,\n });\n\n return refTokeRes.data;\n };\n\n private readonly localLogout = async (redirectUrl?: string) => {\n if (redirectUrl) return;\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/users/logout`, {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const json: SuccessRes | ErrorRes = await res.json();\n\n if (!res?.ok || !json.success)\n throw new Error(json.message ?? `SSO-SDK: Local logout failed.`);\n\n await this.db.delete(this.dbId);\n\n this.cb({\n type: c.actions.local_logout,\n payload: null,\n });\n\n return true;\n };\n private readonly ssoLogout = async (redirectUrl?: string) => {\n if (!redirectUrl) return;\n\n this.throwIfNotBrowser();\n\n const url = this.validatedUrl(redirectUrl);\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/users/logout`, {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const json: SuccessRes | ErrorRes = await res.json();\n\n if (!res?.ok || !json.success)\n throw new Error(json.message ?? `SSO-SDK: Logout failed.`);\n\n await this.db.delete(this.dbId);\n\n const goToUrl = `${this.ssoClientUrl}/logout?redirectUri=${url}`;\n location.href = goToUrl;\n\n this.cb({\n type: c.actions.logout,\n payload: null,\n });\n\n return true;\n };\n /**\n * - If a redirect URL is provided, it will trigger the SSO logout flow and redirect the user to the provided URL after logout.\n * - If no redirect URL is provided, it will trigger the local logout flow and clear the user data from IndexedDB.\n */\n readonly logout = async (redirectUrl?: string): Promise<Boolean> => {\n const res = await Promise.all([\n this.localLogout(redirectUrl),\n this.ssoLogout(redirectUrl),\n ]).then((r) => r.find((r) => r !== undefined));\n\n if (!res) throw new Error(\"SSO-SDK: Logout failed.\");\n\n this.cb({\n type: c.actions.session_cleared,\n payload: null,\n });\n\n return res;\n };\n\n readonly onEvents = (cb: Cb) => {\n this.callbacks.add(cb);\n return () => this.callbacks.delete(cb);\n };\n\n protected readonly withRefresh = async (\n api: (aT: string) => Promise<Response>,\n ) => {\n await this.db.open();\n const dbUser = (await this.db.getById(this.dbId)) as DBRes | undefined;\n\n if (!dbUser) throw new Error(`SSO-SDK: No user found in IndexedDB.`);\n\n const r = await api(dbUser.tokens.accessToken);\n\n if (r.status !== 401) return r;\n\n const resToken = await this.refresh();\n\n const nR = await api(resToken.accessToken);\n\n return nR;\n };\n\n readonly profileUpdate = async (payload: UpdateProfilePayload) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/users/profile`, {\n method: \"PATCH\",\n body: JSON.stringify(payload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const pRes: SuccessRes<Profile> | ErrorRes = await res.json();\n if (!res?.ok || !pRes.success)\n throw new Error(pRes.message ?? `SSO-SDK: Profile update failed.`);\n\n const { id, ...rest } = pRes.data;\n\n await this.db.update(this.dbId, {\n ...rest,\n userId: id,\n });\n\n this.cb({\n type: c.actions.profile_update,\n payload: pRes.data,\n });\n\n return pRes.data;\n };\n\n readonly avatarUpdate = async (file: File) => {\n const photoURL = await this.fileUpload(file);\n\n if (!photoURL) throw new Error(`SSO-SDK: File upload failed.`);\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/users/profile/avatar`, {\n method: \"PUT\",\n body: JSON.stringify({\n photoURL,\n } satisfies UpdateProfilePicturePayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const pRes: SuccessRes<UpdateProfilePicture> | ErrorRes = await res.json();\n\n if (!res?.ok || !pRes.success)\n throw new Error(pRes.message ?? `SSO-SDK: Profile update failed.`);\n\n const { id, ...rest } = pRes.data;\n\n await this.db.update(this.dbId, {\n ...rest,\n userId: id,\n });\n\n this.cb({\n type: c.actions.profile_photo_update,\n payload: pRes.data,\n });\n\n return pRes.data;\n };\n\n private readonly fileUpload = async (file: File) => {\n const { type } = file;\n\n const url = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/uploads/url?fileType=${type}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const json: SuccessRes<SignedUrl> | ErrorRes = await url.json();\n if (!url?.ok || !json.success)\n throw new Error(json.message ?? `SSO-SDK: could not get upload url.`);\n\n const upload = await fetch(json.data.url, {\n method: json.data.method,\n body: file,\n headers: json.data.headers,\n });\n\n if (!upload.ok) throw new Error(`SSO-SDK: could not upload file.`);\n\n const { origin, pathname } = new URL(json.data.url);\n\n return `${origin}${pathname}`;\n };\n\n private readonly clothAdd = async (payload: AddClothFilePayload) => {\n const thumb = await this.fileUpload(payload.thumb);\n if (!thumb) throw new Error(`SSO-SDK: File upload failed.`);\n\n const jsonPayload = {\n ...payload,\n thumb,\n } satisfies AddClothPayload;\n\n await this.db.open();\n\n const dbUser = (await this.db.getById(this.dbId)) as DBRes | undefined;\n\n if (!dbUser) throw new Error(`SSO-SDK: No user found in IndexedDB.`);\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/clothings`, {\n method: \"POST\",\n body: JSON.stringify(jsonPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT || dbUser.tokens.accessToken}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const bodyRes: SuccessRes<Cloth> | ErrorRes = await res.json();\n if (!res?.ok || !bodyRes.success)\n throw new Error(bodyRes.message ?? `SSO-SDK: Cloth add failed.`);\n\n const { data } = bodyRes;\n\n this.cb({\n type: c.actions.cloth_add,\n payload: data,\n });\n\n return data;\n };\n\n readonly clothGetAll = async (options?: GetClothsOptions) => {\n const queryParams = new URLSearchParams({\n skip: Math.ceil(options?.skip ?? 0).toString(),\n limit: Math.ceil(options?.limit ?? 10).toString(),\n sort: options?.sort ?? \"asc\",\n });\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(\n `${this.ssoServerUrl}/clothings?${queryParams.toString()}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n },\n );\n });\n\n const clothRes: SuccessRes<Cloth[]> | ErrorRes = await res.json();\n if (!res?.ok || !clothRes.success)\n throw new Error(clothRes.message ?? `SSO-SDK: Get all cloths failed.`);\n\n this.cb({\n type: c.actions.cloth_fetch_all,\n payload: clothRes.data,\n });\n\n return clothRes.data;\n };\n\n readonly clothGetById = async (clothId: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/clothings/${clothId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const clothRes: SuccessRes<Cloth> | ErrorRes = await res.json();\n\n if (!res?.ok || !clothRes.success)\n throw new Error(clothRes.message ?? `SSO-SDK: Get cloth by id failed.`);\n\n this.cb({\n type: c.actions.cloth_fetch,\n payload: clothRes.data,\n });\n\n return clothRes.data;\n };\n\n private readonly clothUpdate = async (\n clothId: string,\n payload: UpdateClothPayload,\n ) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/clothings/${clothId}`, {\n method: \"PATCH\",\n body: JSON.stringify(payload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const clothRes: SuccessRes<Cloth> | ErrorRes = await res.json();\n\n if (!res?.ok || !clothRes.success)\n throw new Error(clothRes.message ?? `SSO-SDK: Cloth update failed.`);\n\n const { data } = clothRes;\n\n this.cb({\n type: c.actions.cloth_update,\n payload: data,\n });\n\n return data;\n };\n\n private readonly clothDelete = async (clothId: string) => {\n await this.db.open();\n\n const dbUser = (await this.db.getById(this.dbId)) as DBRes | undefined;\n\n if (!dbUser) throw new Error(`SSO-SDK: No user found in IndexedDB.`);\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/clothings/${clothId}`, {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT || dbUser.tokens.accessToken}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const clothRes: SuccessRes<Cloth> | ErrorRes = await res.json();\n\n if (!res?.ok || !clothRes.success)\n throw new Error(clothRes.message ?? `SSO-SDK: Cloth delete failed.`);\n\n this.cb({\n type: c.actions.cloth_delete,\n payload: clothRes.data,\n });\n\n return clothRes.data;\n };\n\n // materials\n private readonly materialAdd = async (payload: AddMaterialFilePayload) => {\n const thumb = await this.fileUpload(payload.thumb);\n if (!thumb) throw new Error(`SSO-SDK: File upload failed.`);\n\n const jsonPayload = {\n ...payload,\n thumb: thumb,\n } satisfies AddMaterialPayload;\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/clothings/materials`, {\n method: \"POST\",\n body: JSON.stringify(jsonPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const materialRes: SuccessRes<Material> | ErrorRes = await res.json();\n\n if (!res?.ok || !materialRes.success)\n throw new Error(materialRes.message ?? `SSO-SDK: Material add failed.`);\n\n const { data } = materialRes;\n\n this.cb({\n type: c.actions.material_add,\n payload: data,\n });\n\n return data;\n };\n\n readonly materialGetAll = async (options?: GetMaterialsOptions) => {\n const params = new URLSearchParams({\n skip: options?.skip?.toString() || \"0\",\n limit: options?.limit?.toString() || \"10\",\n sort: options?.sort || \"asc\",\n });\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/clothings/materials?${params}`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const materialRes: SuccessRes<Material[]> | ErrorRes = await res.json();\n\n if (!res?.ok || !materialRes.success)\n throw new Error(\n materialRes.message ?? `SSO-SDK: Material fetch all failed.`,\n );\n\n const { data } = materialRes;\n\n this.cb({\n type: c.actions.material_fetch_all,\n payload: data,\n });\n\n return data;\n };\n\n readonly materialGetById = async (materialId: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(\n `${this.ssoServerUrl}/clothings/materials/${materialId}`,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n },\n );\n });\n\n const materialRes: SuccessRes<Material> | ErrorRes = await res.json();\n\n if (!res?.ok || !materialRes.success)\n throw new Error(\n materialRes.message ?? `SSO-SDK: Material fetch by id failed.`,\n );\n\n const { data } = materialRes;\n\n this.cb({\n type: c.actions.material_fetch,\n payload: data,\n });\n\n return data;\n };\n\n private readonly materialUpdate = async (\n materialId: string,\n payload: UpdateMaterialPayload,\n ) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(\n `${this.ssoServerUrl}/clothings/materials/${materialId}`,\n {\n method: \"PATCH\",\n body: JSON.stringify(payload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n },\n );\n });\n\n const materialRes: SuccessRes<Material> | ErrorRes = await res.json();\n if (!res?.ok || !materialRes.success)\n throw new Error(\n materialRes.message ?? `SSO-SDK: Material update failed.`,\n );\n\n const { data } = materialRes;\n\n this.cb({\n type: c.actions.material_update,\n payload: data,\n });\n\n return data;\n };\n\n private readonly materialDelete = async (materialId: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(\n `${this.ssoServerUrl}/clothings/materials/${materialId}`,\n {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n },\n );\n });\n\n const materialRes: SuccessRes<Material> | ErrorRes = await res.json();\n\n if (!res?.ok || !materialRes.success)\n throw new Error(\n materialRes.message ?? `SSO-SDK: Material delete failed.`,\n );\n\n const { data } = materialRes;\n\n this.cb({\n type: c.actions.material_delete,\n payload: data,\n });\n\n return data;\n };\n\n // skulls\n private readonly skullAdd = async (payload: AddSkullFilePayload) => {\n const preview = await this.fileUpload(payload.filePreview);\n const model = await this.fileUpload(payload.file3d);\n\n if (!preview || !model) throw new Error(`SSO-SDK: File upload failed.`);\n\n const jsonPayload = {\n ...payload,\n previewUrl: preview,\n url3d: model,\n } satisfies AddSkullPayload;\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls`, {\n method: \"POST\",\n body: JSON.stringify(jsonPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<Skull> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(skullRes.message ?? \"SSO-SDK: Skull add failed.\");\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_add,\n payload: data,\n });\n\n return data;\n };\n\n private readonly skullUpdate = async (\n skullId: string,\n payload: UpdateSkullPayload,\n ) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/${skullId}`, {\n method: \"PATCH\",\n body: JSON.stringify(payload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes = (await res.json()) as SuccessRes<Skull> | ErrorRes;\n\n if (!res?.ok || !skullRes.success)\n throw new Error(skullRes.message ?? \"SSO-SDK: Skull update failed.\");\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_update,\n payload: data,\n });\n\n return data;\n };\n\n readonly skullGetAll = async () => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<Skull[]> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(skullRes.message ?? \"SSO-SDK: Skull get all failed.\");\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_fetch_all,\n payload: data,\n });\n\n return data;\n };\n\n readonly skullGetById = async (skullId: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/${skullId}`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<Skull> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(skullRes.message ?? \"SSO-SDK: Skull get by id failed.\");\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_fetch,\n payload: data,\n });\n\n return data;\n };\n\n private readonly skullDelete = async (skullId: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/${skullId}`, {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<Skull> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(skullRes.message ?? \"SSO-SDK: Skull delete failed.\");\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_delete,\n payload: data,\n });\n\n return data;\n };\n\n // skull material\n private readonly skullMaterialAdd = async (\n payload: SkullMaterialAddFilePayload,\n ) => {\n const { file3d, previewFile, ...rest } = payload;\n const preview = await this.fileUpload(previewFile);\n const model = await this.fileUpload(file3d);\n\n if (!preview || !model) throw new Error(`SSO-SDK: File upload failed.`);\n\n const jsonPayload = {\n ...rest,\n previewUrl: preview,\n url3d: model,\n } satisfies SkullMaterialAddPayload;\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/materials`, {\n method: \"POST\",\n body: JSON.stringify(jsonPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<SkullMaterial> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(\n skullRes.message ?? \"SSO-SDK: Skull material add failed.\",\n );\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_material_add,\n payload: data,\n });\n\n return data;\n };\n\n readonly skullMaterialGetAll = async () => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/materials`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<SkullMaterial[]> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(\n skullRes.message ?? \"SSO-SDK: Skull materials get all failed.\",\n );\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_material_fetch_all,\n payload: data,\n });\n\n return data;\n };\n\n readonly skullMaterialGetById = async (id: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/materials/${id}`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<SkullMaterial> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(\n skullRes.message ?? \"SSO-SDK: Skull material get by id failed.\",\n );\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_material_fetch,\n payload: data,\n });\n\n return data;\n };\n\n private readonly skullMaterialUpdate = async (\n id: string,\n payload: SkullMaterialUpdateFilePayload,\n ) => {\n const { file3d, previewFile, ...rest } = payload;\n const preview = previewFile && (await this.fileUpload(previewFile));\n const model = file3d && (await this.fileUpload(file3d));\n\n const jsonPayload = {\n ...rest,\n previewUrl: preview,\n url3d: model,\n } satisfies SkullMaterialUpdatePayload;\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/materials/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(jsonPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<SkullMaterial> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(\n skullRes.message ?? \"SSO-SDK: Skull material update failed.\",\n );\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_material_update,\n payload: data,\n });\n\n return data;\n };\n\n private readonly skullMaterialDelete = async (id: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/skulls/materials/${id}`, {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const skullRes: SuccessRes<SkullMaterial> | ErrorRes = await res.json();\n\n if (!res?.ok || !skullRes.success)\n throw new Error(\n skullRes.message ?? \"SSO-SDK: Skull material delete failed.\",\n );\n\n const { data } = skullRes;\n\n this.cb({\n type: c.actions.skull_material_delete,\n payload: data,\n });\n\n return data;\n };\n\n // body\n private readonly bodyAdd = async (payload: BodyAddFilePayload) => {\n const { file3d, previewFile, ...rest } = payload;\n const preview = await this.fileUpload(previewFile);\n const model = await this.fileUpload(file3d);\n\n if (!preview || !model) throw new Error(`SSO-SDK: File upload failed.`);\n\n const jsonPayload = {\n ...rest,\n previewUrl: preview,\n url3d: model,\n } satisfies BodyAddPayload;\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/bodies`, {\n method: \"POST\",\n body: JSON.stringify(jsonPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const bodyRes: SuccessRes<Body> | ErrorRes = await res.json();\n\n if (!res?.ok || !bodyRes.success)\n throw new Error(bodyRes.message ?? \"SSO-SDK: Body add failed.\");\n\n const { data } = bodyRes;\n\n this.cb({\n type: c.actions.body_add,\n payload: data,\n });\n\n return data;\n };\n\n readonly bodyGetAll = async () => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/bodies`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const bodyRes: SuccessRes<Body[]> | ErrorRes = await res.json();\n\n if (!res?.ok || !bodyRes.success)\n throw new Error(bodyRes.message ?? \"SSO-SDK: Body add failed.\");\n\n const { data } = bodyRes;\n\n this.cb({\n type: c.actions.body_fetch_all,\n payload: data,\n });\n\n return data;\n };\n\n readonly bodyGetById = async (id: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/bodies/${id}`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const bodyRes: SuccessRes<Body> | ErrorRes = await res.json();\n\n if (!res?.ok || !bodyRes.success)\n throw new Error(bodyRes.message ?? \"SSO-SDK: Body add failed.\");\n\n const { data } = bodyRes;\n\n this.cb({\n type: c.actions.body_fetch,\n payload: data,\n });\n\n return data;\n };\n\n private readonly bodyUpdate = async (\n id: string,\n payload: BodyUpdateFilePayload,\n ) => {\n const { file3d, previewFile, ...rest } = payload;\n const preview = previewFile && (await this.fileUpload(previewFile));\n const model = file3d && (await this.fileUpload(file3d));\n\n const jsonPayload = {\n ...rest,\n previewUrl: preview,\n url3d: model,\n } satisfies BodyUpdatePayload;\n\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/bodies/${id}`, {\n method: \"PATCH\",\n body: JSON.stringify(jsonPayload),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const bodyRes: SuccessRes<Body> | ErrorRes = await res.json();\n\n if (!res?.ok || !bodyRes.success)\n throw new Error(bodyRes.message ?? \"SSO-SDK: Body add failed.\");\n\n const { data } = bodyRes;\n\n this.cb({\n type: c.actions.body_update,\n payload: data,\n });\n\n return data;\n };\n\n private readonly bodyDelete = async (id: string) => {\n const res = await this.withRefresh(async (aT) => {\n return await fetch(`${this.ssoServerUrl}/bodies/${id}`, {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${aT}`,\n \"x-sdk-key\": this.sdkKey,\n },\n });\n });\n\n const bodyRes: SuccessRes<Body> | ErrorRes = await res.json();\n\n if (!res?.ok || !bodyRes.success)\n throw new Error(bodyRes.message ?? \"SSO-SDK: Body add failed.\");\n\n const { data } = bodyRes;\n\n this.cb({\n type: c.actions.body_delete,\n payload: data,\n });\n\n return data;\n };\n\n private validatedUrl = (url: string) => {\n try {\n return new URL(url).href;\n } catch {\n throw new Error(`SSO-SDK: Invalid URL.`);\n }\n };\n\n private emailVerificationQuery = ({\n redirectUri,\n type,\n }: {\n redirectUri?: string;\n type?: \"otp\";\n }) => {\n const params = new URLSearchParams();\n\n if (redirectUri) params.set(\"redirectUri\", this.validatedUrl(redirectUri));\n if (type) params.set(\"type\", type);\n\n const query = params.toString();\n\n return query ? `?${query}` : \"\";\n };\n\n private throwIfNotBrowser = () => {\n if (!isBrowser()) throw new Error(\"SSO-SDK: Not in browser.\");\n };\n\n /**\n * get user from indexedDB without validating tokens.\n */\n readonly getLocalUser = async () => {\n const dbUser = (await this.db.getById(this.dbId)) as DBRes | undefined;\n\n if (!dbUser) throw new Error(`SSO-SDK: No user found in IndexedDB.`);\n\n return dbUser;\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alliumcloud/avatar-sso-internal",
3
- "version": "2.5.5-dev.0",
3
+ "version": "2.5.6-dev.1",
4
4
  "description": "Browser SDK for Avatar SSO Service, handling authentication, user profile, and resource management.",
5
5
  "type": "module",
6
6
  "browser": true,
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "homepage": "https://github.com/New-Game-Plus-Inc/odyssey-avatar-sso-sdk/blob/main/lib/%40newgameplusinc/odyssey-sso/README.md",
43
43
  "scripts": {
44
- "build": "node ./scripts/generate-config.mjs && rm -rf ./dist && tsc",
44
+ "build": "tsup",
45
45
  "build:dev": "cross-env SSO_BUILD_ENV=dev npm run build",
46
46
  "build:prod": "cross-env SSO_BUILD_ENV=prod npm run build",
47
47
  "build:testing": "cross-env SSO_BUILD_ENV=testing npm run build",
@@ -53,6 +53,7 @@
53
53
  },
54
54
  "devDependencies": {
55
55
  "cross-env": "^10.1.0",
56
+ "tsup": "^8.5.1",
56
57
  "typescript": "^5"
57
58
  }
58
59
  }
@@ -1,3 +0,0 @@
1
- export declare const ssoClientUrl = "https://app-dev.2x22.com";
2
- export declare const ssoServerUrl = "https://api-gw-dev.2x22.com/sso/api/v1";
3
- //# sourceMappingURL=environment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,6BAA6B,CAAC;AACvD,eAAO,MAAM,YAAY,2CAA2C,CAAC"}
@@ -1,3 +0,0 @@
1
- export const ssoClientUrl = "https://app-dev.2x22.com";
2
- export const ssoServerUrl = "https://api-gw-dev.2x22.com/sso/api/v1";
3
- //# sourceMappingURL=environment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,wCAAwC,CAAC"}
@@ -1,43 +0,0 @@
1
- import Database from "../lib/database";
2
- export declare const db: Database;
3
- export declare const ssoClientUrl = "https://app-dev.2x22.com";
4
- export declare const ssoServerUrl = "https://api-gw-dev.2x22.com/sso/api/v1";
5
- export declare const actions: {
6
- local_login: "local-login";
7
- local_register: "local-register";
8
- local_logout: "local-logout";
9
- local_exchange: "local-exchange";
10
- sso_exchange: "sso-exchange";
11
- logout: "logout";
12
- session_cleared: "session-cleared";
13
- refresh: "refresh";
14
- profile_fetch: "profile.fetch";
15
- profile_update: "profile.update";
16
- profile_photo_update: "profile-photo.update";
17
- cloth_add: "cloth.add";
18
- cloth_fetch_all: "cloth.fetch-all";
19
- cloth_fetch: "cloth.fetch";
20
- cloth_update: "cloth.update";
21
- cloth_delete: "cloth.delete";
22
- material_add: "material.add";
23
- material_fetch_all: "material.fetch-all";
24
- material_fetch: "material.fetch";
25
- material_update: "material.update";
26
- material_delete: "material.delete";
27
- skull_add: "skull.add";
28
- skull_update: "skull.update";
29
- skull_fetch_all: "skull.fetch-all";
30
- skull_fetch: "skull.fetch";
31
- skull_delete: "skull.delete";
32
- skull_material_add: "skull-material.add";
33
- skull_material_fetch_all: "skull-material.fetch-all";
34
- skull_material_fetch: "skull-material.fetch";
35
- skull_material_update: "skull-material.update";
36
- skull_material_delete: "skull-material.delete";
37
- body_add: "body.add";
38
- body_fetch_all: "body.fetch-all";
39
- body_fetch: "body.fetch";
40
- body_update: "body.update";
41
- body_delete: "body.delete";
42
- };
43
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAIvC,eAAO,MAAM,EAAE,UAIb,CAAC;AAEH,eAAO,MAAM,YAAY,6BAA4B,CAAC;AACtD,eAAO,MAAM,YAAY,2CAA4B,CAAC;AAEtD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCuB,CAAC"}
@@ -1,48 +0,0 @@
1
- import Database from "../lib/database";
2
- import * as environment from "./environment";
3
- export const db = new Database({
4
- dbName: "sso-sdk",
5
- dbVersion: 1,
6
- storeName: "credentials",
7
- });
8
- export const ssoClientUrl = environment?.ssoClientUrl;
9
- export const ssoServerUrl = environment?.ssoServerUrl;
10
- export const actions = {
11
- local_login: "local-login",
12
- local_register: "local-register",
13
- local_logout: "local-logout",
14
- local_exchange: "local-exchange",
15
- sso_exchange: "sso-exchange",
16
- logout: "logout",
17
- session_cleared: "session-cleared",
18
- refresh: "refresh",
19
- profile_fetch: "profile.fetch",
20
- profile_update: "profile.update",
21
- profile_photo_update: "profile-photo.update",
22
- cloth_add: "cloth.add",
23
- cloth_fetch_all: "cloth.fetch-all",
24
- cloth_fetch: "cloth.fetch",
25
- cloth_update: "cloth.update",
26
- cloth_delete: "cloth.delete",
27
- material_add: "material.add",
28
- material_fetch_all: "material.fetch-all",
29
- material_fetch: "material.fetch",
30
- material_update: "material.update",
31
- material_delete: "material.delete",
32
- skull_add: "skull.add",
33
- skull_update: "skull.update",
34
- skull_fetch_all: "skull.fetch-all",
35
- skull_fetch: "skull.fetch",
36
- skull_delete: "skull.delete",
37
- skull_material_add: "skull-material.add",
38
- skull_material_fetch_all: "skull-material.fetch-all",
39
- skull_material_fetch: "skull-material.fetch",
40
- skull_material_update: "skull-material.update",
41
- skull_material_delete: "skull-material.delete",
42
- body_add: "body.add",
43
- body_fetch_all: "body.fetch-all",
44
- body_fetch: "body.fetch",
45
- body_update: "body.update",
46
- body_delete: "body.delete",
47
- };
48
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC;IAC7B,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,EAAE,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,EAAE,YAAY,CAAC;AAEtD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,wBAAwB,EAAE,0BAA0B;IACpD,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;IAC9C,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;CACe,CAAC"}
@@ -1,20 +0,0 @@
1
- interface StorageDriver {
2
- get(key: string): string | null;
3
- set(key: string, value: string): void;
4
- remove(key: string): void;
5
- }
6
- export default class CustomStorage {
7
- private readonly storage;
8
- constructor(storage: StorageDriver);
9
- open: () => Promise<StorageDriver>;
10
- create: <T extends {
11
- id: string;
12
- }>(user: T) => Promise<T>;
13
- getById: <T = unknown>(id: string) => Promise<T | null>;
14
- getAll: () => Promise<never[]>;
15
- update: <T extends Record<string, unknown>>(id: string, updates: Partial<T>) => Promise<T & Partial<T>>;
16
- delete: (id: string) => Promise<boolean>;
17
- reset: () => Promise<boolean>;
18
- }
19
- export {};
20
- //# sourceMappingURL=CustomStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomStorage.d.ts","sourceRoot":"","sources":["../../src/lib/CustomStorage.ts"],"names":[],"mappings":"AAAA,UAAU,aAAa;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,OAAO,aAAa;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAEnD,IAAI,+BAA4B;IAEhC,MAAM,GAAU,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,CAAC,gBAI/C;IAEF,OAAO,GAAU,CAAC,GAAG,OAAO,EAAE,IAAI,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAM1D;IAEF,MAAM,yBAEJ;IAEF,MAAM,GAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,IAAI,MAAM,EACV,SAAS,OAAO,CAAC,CAAC,CAAC,6BAcnB;IAEF,MAAM,GAAU,IAAI,MAAM,sBAIxB;IAEF,KAAK,yBAIH;CACH"}
@@ -1,39 +0,0 @@
1
- export default class CustomStorage {
2
- constructor(storage) {
3
- this.storage = storage;
4
- this.open = async () => this.storage;
5
- this.create = async (user) => {
6
- this.storage.set(user.id, JSON.stringify(user));
7
- return user;
8
- };
9
- this.getById = async (id) => {
10
- const item = this.storage.get(id);
11
- if (!item)
12
- return null;
13
- return JSON.parse(item);
14
- };
15
- this.getAll = async () => {
16
- return [];
17
- };
18
- this.update = async (id, updates) => {
19
- const item = await this.getById(id);
20
- if (!item)
21
- throw new Error("User not found");
22
- const updatedItem = {
23
- ...item,
24
- ...updates,
25
- };
26
- this.storage.set(id, JSON.stringify(updatedItem));
27
- return updatedItem;
28
- };
29
- this.delete = async (id) => {
30
- this.storage.remove(id);
31
- return true;
32
- };
33
- this.reset = async () => {
34
- this.storage.remove("local-user");
35
- return true;
36
- };
37
- }
38
- }
39
- //# sourceMappingURL=CustomStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomStorage.js","sourceRoot":"","sources":["../../src/lib/CustomStorage.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QAEnD,SAAI,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QAEhC,WAAM,GAAG,KAAK,EAA4B,IAAO,EAAE,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,YAAO,GAAG,KAAK,EAAe,EAAU,EAAqB,EAAE;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;QAC/B,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EACZ,EAAU,EACV,OAAmB,EACnB,EAAE;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAI,EAAE,CAAC,CAAC;YAEvC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAE7C,MAAM,WAAW,GAAG;gBAClB,GAAG,IAAI;gBACP,GAAG,OAAO;aACX,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAElD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAExB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,UAAK,GAAG,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAElC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IAlDoD,CAAC;CAmDxD"}
@@ -1,19 +0,0 @@
1
- export default class Database {
2
- private readonly config;
3
- constructor(config: {
4
- dbName: string;
5
- dbVersion: number;
6
- storeName: string;
7
- });
8
- open: () => Promise<IDBDatabase>;
9
- create: (user: {
10
- id: string;
11
- [key: string]: any;
12
- }) => Promise<unknown>;
13
- getById: <T = unknown>(id: string) => Promise<T | null>;
14
- getAll: () => Promise<unknown>;
15
- update: (id: string, updates: Partial<Record<string, any>>) => Promise<unknown>;
16
- delete: (id: string) => Promise<unknown>;
17
- reset: () => Promise<unknown>;
18
- }
19
- //# sourceMappingURL=database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/lib/database.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB;IAGH,IAAI,QAAO,OAAO,CAAC,WAAW,CAAC,CAiB7B;IAGF,MAAM,GAAU,MAAM;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,sBAYtD;IAEF,OAAO,GAAU,CAAC,GAAG,OAAO,EAAE,IAAI,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAY1D;IAEF,MAAM,yBAYJ;IAGF,MAAM,GAAU,IAAI,MAAM,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,sBA4B/D;IAEF,MAAM,GAAU,IAAI,MAAM,sBAYxB;IAEF,KAAK,yBAYH;CACH"}