nfx-ui 0.26.0 → 0.27.0

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.
Files changed (164) hide show
  1. package/dist/apis/authRefresh.js.map +1 -1
  2. package/dist/apis/clients.js.map +1 -1
  3. package/dist/apis/ip.d.ts.map +1 -1
  4. package/dist/apis/ip.js.map +1 -1
  5. package/dist/apis/repositories/AssetRepository.d.ts.map +1 -1
  6. package/dist/apis/repositories/AssetRepository.js.map +1 -1
  7. package/dist/apis/repositories/AuthRepository.d.ts.map +1 -1
  8. package/dist/apis/repositories/AuthRepository.js.map +1 -1
  9. package/dist/config/env.js.map +1 -1
  10. package/dist/constants/key.d.ts.map +1 -1
  11. package/dist/constants/key.js.map +1 -1
  12. package/dist/constants/querykeys.js.map +1 -1
  13. package/dist/enums/auth.d.ts.map +1 -1
  14. package/dist/enums/auth.js.map +1 -1
  15. package/dist/enums/dashboard.d.ts.map +1 -1
  16. package/dist/enums/dashboard.js.map +1 -1
  17. package/dist/enums/language.d.ts.map +1 -1
  18. package/dist/enums/language.js.map +1 -1
  19. package/dist/enums/layout.d.ts.map +1 -1
  20. package/dist/enums/layout.js.map +1 -1
  21. package/dist/enums/theme.d.ts.map +1 -1
  22. package/dist/enums/theme.js.map +1 -1
  23. package/dist/events/EventEmitter.d.ts.map +1 -1
  24. package/dist/events/EventEmitter.js.map +1 -1
  25. package/dist/events/auth.d.ts.map +1 -1
  26. package/dist/events/auth.js.map +1 -1
  27. package/dist/events/query.d.ts.map +1 -1
  28. package/dist/events/query.js.map +1 -1
  29. package/dist/events/system.d.ts.map +1 -1
  30. package/dist/events/system.js.map +1 -1
  31. package/dist/hooks/asset.d.ts.map +1 -1
  32. package/dist/hooks/asset.js.map +1 -1
  33. package/dist/hooks/auth.d.ts.map +1 -1
  34. package/dist/hooks/auth.js.map +1 -1
  35. package/dist/hooks/index.d.ts.map +1 -1
  36. package/dist/hooks/preference.d.ts.map +1 -1
  37. package/dist/hooks/preference.js.map +1 -1
  38. package/dist/languages/hooks/useLanguageLabel.d.ts.map +1 -1
  39. package/dist/languages/hooks/useLanguageLabel.js.map +1 -1
  40. package/dist/languages/hooks/useLayoutLabel.d.ts.map +1 -1
  41. package/dist/languages/hooks/useLayoutLabel.js.map +1 -1
  42. package/dist/languages/hooks/usePreferenceLabel.d.ts.map +1 -1
  43. package/dist/languages/hooks/usePreferenceLabel.js.map +1 -1
  44. package/dist/languages/hooks/useThemeLabel.d.ts.map +1 -1
  45. package/dist/languages/hooks/useThemeLabel.js.map +1 -1
  46. package/dist/languages/languages/i18n.d.ts.map +1 -1
  47. package/dist/languages/languages/i18n.js.map +1 -1
  48. package/dist/languages/languages/i18nResources.js.map +1 -1
  49. package/dist/languages/types/components.d.ts.map +1 -1
  50. package/dist/languages/types/language.d.ts.map +1 -1
  51. package/dist/languages/utils/getLocalLanguage.d.ts.map +1 -1
  52. package/dist/languages/utils/getLocalLanguage.js.map +1 -1
  53. package/dist/languages/utils/languageStorage.d.ts.map +1 -1
  54. package/dist/languages/utils/languageStorage.js.map +1 -1
  55. package/dist/navigations/GuestRoute.js.map +1 -1
  56. package/dist/navigations/ProtectedRoute.js.map +1 -1
  57. package/dist/providers/DataProvider/index.d.ts.map +1 -1
  58. package/dist/providers/DataProvider/index.js.map +1 -1
  59. package/dist/providers/LanguageProvider/index.d.ts.map +1 -1
  60. package/dist/providers/LanguageProvider/index.js.map +1 -1
  61. package/dist/providers/ThemeProvider/index.d.ts.map +1 -1
  62. package/dist/providers/ThemeProvider/index.js.map +1 -1
  63. package/dist/schemas/profileEditSchema.d.ts.map +1 -1
  64. package/dist/schemas/profileEditSchema.js.map +1 -1
  65. package/dist/schemas/signupSchema.js.map +1 -1
  66. package/dist/stores/auth.d.ts.map +1 -1
  67. package/dist/stores/auth.js.map +1 -1
  68. package/dist/stores/index.d.ts.map +1 -1
  69. package/dist/stores/layout.js.map +1 -1
  70. package/dist/stores/preference.d.ts.map +1 -1
  71. package/dist/stores/preference.js.map +1 -1
  72. package/dist/themes/hooks/index.d.ts.map +1 -1
  73. package/dist/themes/hooks/useTheme.d.ts.map +1 -1
  74. package/dist/themes/hooks/useTheme.js.map +1 -1
  75. package/dist/themes/index.d.ts.map +1 -1
  76. package/dist/themes/radix/mappings.d.ts.map +1 -1
  77. package/dist/themes/radix/mappings.js.map +1 -1
  78. package/dist/themes/types/components.d.ts.map +1 -1
  79. package/dist/themes/types/context.d.ts.map +1 -1
  80. package/dist/themes/types/index.d.ts.map +1 -1
  81. package/dist/themes/types/theme.d.ts.map +1 -1
  82. package/dist/types/domain/auth/login.d.ts.map +1 -1
  83. package/dist/types/domain/auth/profile.d.ts.map +1 -1
  84. package/dist/types/domain/auth/signup.d.ts.map +1 -1
  85. package/dist/utils/apiError.d.ts.map +1 -1
  86. package/dist/utils/apiError.js.map +1 -1
  87. package/dist/utils/array.d.ts.map +1 -1
  88. package/dist/utils/array.js.map +1 -1
  89. package/dist/utils/domain/account.d.ts.map +1 -1
  90. package/dist/utils/domain/account.js.map +1 -1
  91. package/dist/utils/domain/buildProfilePatch.d.ts.map +1 -1
  92. package/dist/utils/domain/buildProfilePatch.js.map +1 -1
  93. package/dist/utils/domain/images.js.map +1 -1
  94. package/dist/utils/factory/hooks.d.ts.map +1 -1
  95. package/dist/utils/factory/hooks.js.map +1 -1
  96. package/dist/utils/lstorage.d.ts.map +1 -1
  97. package/dist/utils/lstorage.js.map +1 -1
  98. package/dist/utils/safe.d.ts.map +1 -1
  99. package/dist/utils/safe.js.map +1 -1
  100. package/dist/utils/suspense.d.ts.map +1 -1
  101. package/dist/utils/suspense.js.map +1 -1
  102. package/package.json +1 -1
  103. package/src/apis/authRefresh.ts +4 -4
  104. package/src/apis/clients.ts +5 -5
  105. package/src/apis/ip.ts +1 -1
  106. package/src/apis/repositories/AssetRepository.ts +1 -1
  107. package/src/apis/repositories/AuthRepository.ts +2 -2
  108. package/src/config/env.ts +1 -1
  109. package/src/constants/key.ts +1 -1
  110. package/src/constants/querykeys.ts +1 -1
  111. package/src/enums/auth.ts +2 -2
  112. package/src/enums/dashboard.ts +2 -2
  113. package/src/enums/language.ts +2 -2
  114. package/src/enums/layout.ts +2 -2
  115. package/src/enums/theme.ts +2 -2
  116. package/src/events/EventEmitter.ts +1 -1
  117. package/src/events/auth.ts +4 -4
  118. package/src/events/query.ts +3 -3
  119. package/src/events/system.ts +3 -3
  120. package/src/hooks/asset.ts +7 -7
  121. package/src/hooks/auth.ts +12 -12
  122. package/src/hooks/index.ts +1 -1
  123. package/src/hooks/preference.ts +5 -5
  124. package/src/languages/hooks/useLanguageLabel.ts +1 -1
  125. package/src/languages/hooks/useLayoutLabel.ts +1 -1
  126. package/src/languages/hooks/usePreferenceLabel.ts +1 -1
  127. package/src/languages/hooks/useThemeLabel.ts +1 -1
  128. package/src/languages/languages/i18n.ts +3 -3
  129. package/src/languages/languages/i18nResources.ts +1 -1
  130. package/src/languages/types/components.ts +1 -1
  131. package/src/languages/types/language.ts +1 -1
  132. package/src/languages/utils/getLocalLanguage.ts +2 -2
  133. package/src/languages/utils/languageStorage.ts +3 -3
  134. package/src/navigations/GuestRoute.tsx +1 -1
  135. package/src/navigations/ProtectedRoute.tsx +1 -1
  136. package/src/providers/DataProvider/index.tsx +7 -7
  137. package/src/providers/LanguageProvider/index.tsx +6 -6
  138. package/src/providers/ThemeProvider/index.tsx +4 -4
  139. package/src/schemas/profileEditSchema.ts +4 -4
  140. package/src/schemas/signupSchema.ts +1 -1
  141. package/src/stores/auth.ts +3 -3
  142. package/src/stores/index.ts +1 -1
  143. package/src/stores/layout.ts +1 -1
  144. package/src/stores/preference.ts +5 -5
  145. package/src/themes/hooks/index.ts +1 -1
  146. package/src/themes/hooks/useTheme.ts +4 -4
  147. package/src/themes/index.ts +2 -2
  148. package/src/themes/radix/mappings.ts +2 -2
  149. package/src/themes/types/components.ts +1 -1
  150. package/src/themes/types/context.ts +2 -2
  151. package/src/themes/types/index.ts +1 -1
  152. package/src/themes/types/theme.ts +1 -1
  153. package/src/types/domain/auth/login.ts +2 -2
  154. package/src/types/domain/auth/profile.ts +1 -1
  155. package/src/types/domain/auth/signup.ts +1 -1
  156. package/src/utils/apiError.ts +2 -2
  157. package/src/utils/array.ts +1 -1
  158. package/src/utils/domain/account.ts +2 -2
  159. package/src/utils/domain/buildProfilePatch.ts +6 -6
  160. package/src/utils/domain/images.ts +1 -1
  161. package/src/utils/factory/hooks.ts +1 -1
  162. package/src/utils/lstorage.ts +1 -1
  163. package/src/utils/safe.ts +1 -1
  164. package/src/utils/suspense.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"authRefresh.js","names":[],"sources":["../../src/apis/authRefresh.ts"],"sourcesContent":["import { AxiosError } from \"axios\";\nimport { AuthStore, clearAuth, isRejectedRefreshToken, markRejectedRefreshToken, setTokens } from \"@/stores/auth\";\nimport { ensureDeviceIdStorage } from \"@/stores/system\";\nimport { getApiError } from \"@/utils/apiError\";\nimport { getJwtExpiresAtMs, getJwtIssuedAtMs } from \"@/utils/jwt\";\n\nimport { getIdentityRepositories } from \"./activeIdentityRepositories\";\n\nexport type AuthTokenRefreshSource = \"proactive\" | \"401\";\n\nexport const AUTH_TOKEN_REFRESH_REMAINING_RATIO = 0.1;\nexport const AUTH_TOKEN_REFRESH_MAX_BUFFER_MS = 60 * 60 * 1000;\n\nconst AUTH_REFRESH_LOCK_NAME = \"nfx-auth-refresh\";\nconst HARD_REFRESH_FAILURE_ERR_CODES = new Set([\"REFRESH_TOKEN_NOT_FOUND\", \"INVALID_REFRESH_TOKEN\"]);\n\nlet refreshPromise: Nullable<Promise<boolean>> = null;\nlet refreshTimer: Nullable<ReturnType<typeof setTimeout>> = null;\n\nexport function clearScheduledTokenRefresh() {\n if (refreshTimer != null) {\n clearTimeout(refreshTimer);\n refreshTimer = null;\n }\n}\n\nfunction computeRefreshBufferMs(accessToken: string): Nullable<number> {\n const expiresAtMs = getJwtExpiresAtMs(accessToken);\n const issuedAtMs = getJwtIssuedAtMs(accessToken);\n if (expiresAtMs == null || issuedAtMs == null) return null;\n\n const lifetimeMs = expiresAtMs - issuedAtMs;\n if (lifetimeMs <= 0) return null;\n\n const bufferMs = lifetimeMs * AUTH_TOKEN_REFRESH_REMAINING_RATIO;\n if (bufferMs > AUTH_TOKEN_REFRESH_MAX_BUFFER_MS) return null;\n\n return bufferMs;\n}\n\nfunction isHardRefreshFailure(error: unknown): boolean {\n const errCode = getApiError(error)?.errCode;\n if (errCode && HARD_REFRESH_FAILURE_ERR_CODES.has(errCode)) return true;\n return error instanceof AxiosError && error.response?.status === 404;\n}\n\nexport function scheduleAccessTokenRefresh(accessToken: string) {\n clearScheduledTokenRefresh();\n\n const expiresAtMs = getJwtExpiresAtMs(accessToken);\n if (expiresAtMs == null) return;\n\n const bufferMs = computeRefreshBufferMs(accessToken);\n if (bufferMs == null) {\n console.log(\"🕐 Proactive token refresh skipped (10% of TTL > 1h or missing iat/exp)\");\n return;\n }\n\n const refreshAtMs = expiresAtMs - bufferMs;\n const delayMs = Math.max(refreshAtMs - Date.now(), 0);\n\n console.log(`🕐 Access token refresh scheduled in ${Math.round(delayMs / 1000)}s (10% buffer = ${Math.round(bufferMs / 1000)}s)`);\n\n refreshTimer = setTimeout(() => {\n void refreshAuthTokens(\"proactive\")\n .then((ok) => {\n if (!ok) {\n clearScheduledTokenRefresh();\n return;\n }\n const nextAccessToken = AuthStore.getState().accessToken;\n if (nextAccessToken) scheduleAccessTokenRefresh(nextAccessToken);\n })\n .catch(() => {\n clearScheduledTokenRefresh();\n });\n }, delayMs);\n}\n\nasync function withRefreshLock<T>(run: () => Promise<T>): Promise<T> {\n const locks = globalThis.navigator?.locks;\n if (locks?.request) return locks.request(AUTH_REFRESH_LOCK_NAME, run);\n return run();\n}\n\nexport async function refreshAuthTokens(source: AuthTokenRefreshSource): Promise<boolean> {\n if (refreshPromise) return refreshPromise;\n\n refreshPromise = (async () => {\n try {\n const tokenBeforeLock = AuthStore.getState().refreshToken;\n if (!tokenBeforeLock) {\n console.log(`❌ Auth refresh aborted: no refresh token (${source})`);\n return false;\n }\n\n return await withRefreshLock(async () => {\n const { refreshToken, accessToken } = AuthStore.getState();\n if (!refreshToken) return false;\n\n if (isRejectedRefreshToken(refreshToken)) {\n console.log(`⛔ Auth refresh skipped: refresh token already rejected (${source})`);\n return false;\n }\n\n if (refreshToken !== tokenBeforeLock) {\n if (accessToken) scheduleAccessTokenRefresh(accessToken);\n console.log(`✅ Auth tokens already rotated by another tab (${source})`);\n return true;\n }\n\n console.log(`🔄 Refreshing auth tokens (${source})...`);\n try {\n const tokens = await getIdentityRepositories().auth.RefreshTokens({\n refreshToken,\n deviceId: await ensureDeviceIdStorage(),\n });\n setTokens(tokens);\n scheduleAccessTokenRefresh(tokens.accessToken);\n console.log(`✅ Auth tokens refreshed (${source})`);\n return true;\n } catch (error) {\n console.log(`❌ Auth token refresh failed (${source})`, error);\n if (isHardRefreshFailure(error)) {\n markRejectedRefreshToken(refreshToken);\n clearScheduledTokenRefresh();\n clearAuth();\n }\n throw error;\n }\n });\n } finally {\n refreshPromise = null;\n }\n })();\n\n return refreshPromise;\n}\n"],"mappings":";;;;;;;AAUA,IAAa,IAAqC,IACrC,IAAmC,MAE1C,IAAyB,oBACzB,oBAAiC,IAAI,IAAI,CAAC,2BAA2B,uBAAuB,CAAC,GAE/F,IAA6C,MAC7C,IAAwD;AAE5D,SAAgB,IAA6B;CAC3C,AAAI,KAAgB,SAClB,aAAa,CAAY,GACzB,IAAe;AAEnB;AAEA,SAAS,EAAuB,GAAuC;CACrE,IAAM,IAAc,EAAkB,CAAW,GAC3C,IAAa,EAAiB,CAAW;CAC/C,IAAI,KAAe,QAAQ,KAAc,MAAM,OAAO;CAEtD,IAAM,IAAa,IAAc;CACjC,IAAI,KAAc,GAAG,OAAO;CAE5B,IAAM,IAAW,IAAa;CAG9B,OAFI,IAAA,OAAoD,OAEjD;AACT;AAEA,SAAS,EAAqB,GAAyB;CACrD,IAAM,IAAU,EAAY,CAAK,CAAC,EAAE;CAEpC,OADI,KAAW,EAA+B,IAAI,CAAO,IAAU,KAC5D,aAAiB,KAAc,EAAM,UAAU,WAAW;AACnE;AAEA,SAAgB,EAA2B,GAAqB;CAC9D,EAA2B;CAE3B,IAAM,IAAc,EAAkB,CAAW;CACjD,IAAI,KAAe,MAAM;CAEzB,IAAM,IAAW,EAAuB,CAAW;CACnD,IAAI,KAAY,MAAM;EACpB,QAAQ,IAAI,yEAAyE;EACrF;CACF;CAEA,IAAM,IAAc,IAAc,GAC5B,IAAU,KAAK,IAAI,IAAc,KAAK,IAAI,GAAG,CAAC;CAIpD,AAFA,QAAQ,IAAI,wCAAwC,KAAK,MAAM,IAAU,GAAI,EAAE,kBAAkB,KAAK,MAAM,IAAW,GAAI,EAAE,GAAG,GAEhI,IAAe,iBAAiB;EAC9B,EAAuB,WAAW,CAAC,CAChC,MAAM,MAAO;GACZ,IAAI,CAAC,GAAI;IACP,EAA2B;IAC3B;GACF;GACA,IAAM,IAAkB,EAAU,SAAS,CAAC,CAAC;GAC7C,AAAI,KAAiB,EAA2B,CAAe;EACjE,CAAC,CAAC,CACD,YAAY;GACX,EAA2B;EAC7B,CAAC;CACL,GAAG,CAAO;AACZ;AAEA,eAAe,EAAmB,GAAmC;CACnE,IAAM,IAAQ,WAAW,WAAW;CAEpC,OADI,GAAO,UAAgB,EAAM,QAAQ,GAAwB,CAAG,IAC7D,EAAI;AACb;AAEA,eAAsB,EAAkB,GAAkD;CAmDxF,OAlDI,MAEJ,KAAkB,YAAY;EAC5B,IAAI;GACF,IAAM,IAAkB,EAAU,SAAS,CAAC,CAAC;GAM7C,OALK,IAKE,MAAM,EAAgB,YAAY;IACvC,IAAM,EAAE,iBAAc,mBAAgB,EAAU,SAAS;IACzD,IAAI,CAAC,GAAc,OAAO;IAE1B,IAAI,EAAuB,CAAY,GAErC,OADA,QAAQ,IAAI,2DAA2D,EAAO,EAAE,GACzE;IAGT,IAAI,MAAiB,GAGnB,OAFI,KAAa,EAA2B,CAAW,GACvD,QAAQ,IAAI,iDAAiD,EAAO,EAAE,GAC/D;IAGT,QAAQ,IAAI,8BAA8B,EAAO,KAAK;IACtD,IAAI;KACF,IAAM,IAAS,MAAM,EAAwB,CAAC,CAAC,KAAK,cAAc;MAChE;MACA,UAAU,MAAM,EAAsB;KACxC,CAAC;KAID,OAHA,EAAU,CAAM,GAChB,EAA2B,EAAO,WAAW,GAC7C,QAAQ,IAAI,4BAA4B,EAAO,EAAE,GAC1C;IACT,SAAS,GAAO;KAOd,MANA,QAAQ,IAAI,gCAAgC,EAAO,IAAI,CAAK,GACxD,EAAqB,CAAK,MAC5B,EAAyB,CAAY,GACrC,EAA2B,GAC3B,EAAU,IAEN;IACR;GACF,CAAC,KAtCC,QAAQ,IAAI,6CAA6C,EAAO,EAAE,GAC3D;EAsCX,UAAU;GACR,IAAiB;EACnB;CACF,EAAA,CAAG,GAEI;AACT"}
1
+ {"version":3,"file":"authRefresh.js","names":[],"sources":["../../src/apis/authRefresh.ts"],"sourcesContent":["import { AxiosError } from \"axios\";\nimport { AuthStore, clearAuth, isRejectedRefreshToken, markRejectedRefreshToken, setTokens } from \"nfx-ui/stores/auth\";\nimport { ensureDeviceIdStorage } from \"nfx-ui/stores/system\";\nimport { getApiError } from \"nfx-ui/utils/apiError\";\nimport { getJwtExpiresAtMs, getJwtIssuedAtMs } from \"nfx-ui/utils/jwt\";\n\nimport { getIdentityRepositories } from \"./activeIdentityRepositories\";\n\nexport type AuthTokenRefreshSource = \"proactive\" | \"401\";\n\nexport const AUTH_TOKEN_REFRESH_REMAINING_RATIO = 0.1;\nexport const AUTH_TOKEN_REFRESH_MAX_BUFFER_MS = 60 * 60 * 1000;\n\nconst AUTH_REFRESH_LOCK_NAME = \"nfx-auth-refresh\";\nconst HARD_REFRESH_FAILURE_ERR_CODES = new Set([\"REFRESH_TOKEN_NOT_FOUND\", \"INVALID_REFRESH_TOKEN\"]);\n\nlet refreshPromise: Nullable<Promise<boolean>> = null;\nlet refreshTimer: Nullable<ReturnType<typeof setTimeout>> = null;\n\nexport function clearScheduledTokenRefresh() {\n if (refreshTimer != null) {\n clearTimeout(refreshTimer);\n refreshTimer = null;\n }\n}\n\nfunction computeRefreshBufferMs(accessToken: string): Nullable<number> {\n const expiresAtMs = getJwtExpiresAtMs(accessToken);\n const issuedAtMs = getJwtIssuedAtMs(accessToken);\n if (expiresAtMs == null || issuedAtMs == null) return null;\n\n const lifetimeMs = expiresAtMs - issuedAtMs;\n if (lifetimeMs <= 0) return null;\n\n const bufferMs = lifetimeMs * AUTH_TOKEN_REFRESH_REMAINING_RATIO;\n if (bufferMs > AUTH_TOKEN_REFRESH_MAX_BUFFER_MS) return null;\n\n return bufferMs;\n}\n\nfunction isHardRefreshFailure(error: unknown): boolean {\n const errCode = getApiError(error)?.errCode;\n if (errCode && HARD_REFRESH_FAILURE_ERR_CODES.has(errCode)) return true;\n return error instanceof AxiosError && error.response?.status === 404;\n}\n\nexport function scheduleAccessTokenRefresh(accessToken: string) {\n clearScheduledTokenRefresh();\n\n const expiresAtMs = getJwtExpiresAtMs(accessToken);\n if (expiresAtMs == null) return;\n\n const bufferMs = computeRefreshBufferMs(accessToken);\n if (bufferMs == null) {\n console.log(\"🕐 Proactive token refresh skipped (10% of TTL > 1h or missing iat/exp)\");\n return;\n }\n\n const refreshAtMs = expiresAtMs - bufferMs;\n const delayMs = Math.max(refreshAtMs - Date.now(), 0);\n\n console.log(`🕐 Access token refresh scheduled in ${Math.round(delayMs / 1000)}s (10% buffer = ${Math.round(bufferMs / 1000)}s)`);\n\n refreshTimer = setTimeout(() => {\n void refreshAuthTokens(\"proactive\")\n .then((ok) => {\n if (!ok) {\n clearScheduledTokenRefresh();\n return;\n }\n const nextAccessToken = AuthStore.getState().accessToken;\n if (nextAccessToken) scheduleAccessTokenRefresh(nextAccessToken);\n })\n .catch(() => {\n clearScheduledTokenRefresh();\n });\n }, delayMs);\n}\n\nasync function withRefreshLock<T>(run: () => Promise<T>): Promise<T> {\n const locks = globalThis.navigator?.locks;\n if (locks?.request) return locks.request(AUTH_REFRESH_LOCK_NAME, run);\n return run();\n}\n\nexport async function refreshAuthTokens(source: AuthTokenRefreshSource): Promise<boolean> {\n if (refreshPromise) return refreshPromise;\n\n refreshPromise = (async () => {\n try {\n const tokenBeforeLock = AuthStore.getState().refreshToken;\n if (!tokenBeforeLock) {\n console.log(`❌ Auth refresh aborted: no refresh token (${source})`);\n return false;\n }\n\n return await withRefreshLock(async () => {\n const { refreshToken, accessToken } = AuthStore.getState();\n if (!refreshToken) return false;\n\n if (isRejectedRefreshToken(refreshToken)) {\n console.log(`⛔ Auth refresh skipped: refresh token already rejected (${source})`);\n return false;\n }\n\n if (refreshToken !== tokenBeforeLock) {\n if (accessToken) scheduleAccessTokenRefresh(accessToken);\n console.log(`✅ Auth tokens already rotated by another tab (${source})`);\n return true;\n }\n\n console.log(`🔄 Refreshing auth tokens (${source})...`);\n try {\n const tokens = await getIdentityRepositories().auth.RefreshTokens({\n refreshToken,\n deviceId: await ensureDeviceIdStorage(),\n });\n setTokens(tokens);\n scheduleAccessTokenRefresh(tokens.accessToken);\n console.log(`✅ Auth tokens refreshed (${source})`);\n return true;\n } catch (error) {\n console.log(`❌ Auth token refresh failed (${source})`, error);\n if (isHardRefreshFailure(error)) {\n markRejectedRefreshToken(refreshToken);\n clearScheduledTokenRefresh();\n clearAuth();\n }\n throw error;\n }\n });\n } finally {\n refreshPromise = null;\n }\n })();\n\n return refreshPromise;\n}\n"],"mappings":";;;;;;;AAUA,IAAa,IAAqC,IACrC,IAAmC,MAE1C,IAAyB,oBACzB,oBAAiC,IAAI,IAAI,CAAC,2BAA2B,uBAAuB,CAAC,GAE/F,IAA6C,MAC7C,IAAwD;AAE5D,SAAgB,IAA6B;CAC3C,AAAI,KAAgB,SAClB,aAAa,CAAY,GACzB,IAAe;AAEnB;AAEA,SAAS,EAAuB,GAAuC;CACrE,IAAM,IAAc,EAAkB,CAAW,GAC3C,IAAa,EAAiB,CAAW;CAC/C,IAAI,KAAe,QAAQ,KAAc,MAAM,OAAO;CAEtD,IAAM,IAAa,IAAc;CACjC,IAAI,KAAc,GAAG,OAAO;CAE5B,IAAM,IAAW,IAAa;CAG9B,OAFI,IAAA,OAAoD,OAEjD;AACT;AAEA,SAAS,EAAqB,GAAyB;CACrD,IAAM,IAAU,EAAY,CAAK,CAAC,EAAE;CAEpC,OADI,KAAW,EAA+B,IAAI,CAAO,IAAU,KAC5D,aAAiB,KAAc,EAAM,UAAU,WAAW;AACnE;AAEA,SAAgB,EAA2B,GAAqB;CAC9D,EAA2B;CAE3B,IAAM,IAAc,EAAkB,CAAW;CACjD,IAAI,KAAe,MAAM;CAEzB,IAAM,IAAW,EAAuB,CAAW;CACnD,IAAI,KAAY,MAAM;EACpB,QAAQ,IAAI,yEAAyE;EACrF;CACF;CAEA,IAAM,IAAc,IAAc,GAC5B,IAAU,KAAK,IAAI,IAAc,KAAK,IAAI,GAAG,CAAC;CAIpD,AAFA,QAAQ,IAAI,wCAAwC,KAAK,MAAM,IAAU,GAAI,EAAE,kBAAkB,KAAK,MAAM,IAAW,GAAI,EAAE,GAAG,GAEhI,IAAe,iBAAiB;EAC9B,EAAuB,WAAW,CAAC,CAChC,MAAM,MAAO;GACZ,IAAI,CAAC,GAAI;IACP,EAA2B;IAC3B;GACF;GACA,IAAM,IAAkB,EAAU,SAAS,CAAC,CAAC;GAC7C,AAAI,KAAiB,EAA2B,CAAe;EACjE,CAAC,CAAC,CACD,YAAY;GACX,EAA2B;EAC7B,CAAC;CACL,GAAG,CAAO;AACZ;AAEA,eAAe,EAAmB,GAAmC;CACnE,IAAM,IAAQ,WAAW,WAAW;CAEpC,OADI,GAAO,UAAgB,EAAM,QAAQ,GAAwB,CAAG,IAC7D,EAAI;AACb;AAEA,eAAsB,EAAkB,GAAkD;CAmDxF,OAlDI,MAEJ,KAAkB,YAAY;EAC5B,IAAI;GACF,IAAM,IAAkB,EAAU,SAAS,CAAC,CAAC;GAM7C,OALK,IAKE,MAAM,EAAgB,YAAY;IACvC,IAAM,EAAE,iBAAc,mBAAgB,EAAU,SAAS;IACzD,IAAI,CAAC,GAAc,OAAO;IAE1B,IAAI,EAAuB,CAAY,GAErC,OADA,QAAQ,IAAI,2DAA2D,EAAO,EAAE,GACzE;IAGT,IAAI,MAAiB,GAGnB,OAFI,KAAa,EAA2B,CAAW,GACvD,QAAQ,IAAI,iDAAiD,EAAO,EAAE,GAC/D;IAGT,QAAQ,IAAI,8BAA8B,EAAO,KAAK;IACtD,IAAI;KACF,IAAM,IAAS,MAAM,EAAwB,CAAC,CAAC,KAAK,cAAc;MAChE;MACA,UAAU,MAAM,EAAsB;KACxC,CAAC;KAID,OAHA,EAAU,CAAM,GAChB,EAA2B,EAAO,WAAW,GAC7C,QAAQ,IAAI,4BAA4B,EAAO,EAAE,GAC1C;IACT,SAAS,GAAO;KAOd,MANA,QAAQ,IAAI,gCAAgC,EAAO,IAAI,CAAK,GACxD,EAAqB,CAAK,MAC5B,EAAyB,CAAY,GACrC,EAA2B,GAC3B,EAAU,IAEN;IACR;GACF,CAAC,KAtCC,QAAQ,IAAI,6CAA6C,EAAO,EAAE,GAC3D;EAsCX,UAAU;GACR,IAAiB;EACnB;CACF,EAAA,CAAG,GAEI;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"clients.js","names":[],"sources":["../../src/apis/clients.ts"],"sourcesContent":["/**\n * Axios instances + interceptors for Identity HTTP.\n * publicClient: login / refresh. protectedClient: Bearer + 401 → refreshAuthTokens.\n */\nimport type { InternalAxiosRequestConfig } from \"axios\";\nimport type { ApiErrorBody } from \"@/types\";\n\nimport axios, { AxiosError } from \"axios\";\nimport applyCaseMiddleware from \"axios-case-converter\";\nimport { authEventEmitter, authEvents } from \"@/events/auth\";\nimport { AuthStore, clearAuth, hasSelectedProfile } from \"@/stores/auth\";\nimport { shouldForceLogoutAfterAuthRetry, shouldImmediateForceLogoutOnApiError } from \"@/utils/sessionErrors\";\nimport { safeOr } from \"@/utils/safe\";\n\nimport { refreshAuthTokens } from \"./authRefresh\";\nimport { API_ENDPOINTS } from \"./ip\";\n\nexport const protectedClient = applyCaseMiddleware(\n axios.create({\n baseURL: API_ENDPOINTS.IDENTITY,\n timeout: 8000,\n }),\n);\n\nexport const publicClient = applyCaseMiddleware(\n axios.create({\n baseURL: API_ENDPOINTS.IDENTITY,\n timeout: 8000,\n }),\n);\n\nexport const publicClientWithoutTransform = axios.create({\n baseURL: API_ENDPOINTS.IDENTITY,\n timeout: 8000,\n});\n\ndeclare module \"axios\" {\n export interface AxiosRequestConfig {\n _retry?: boolean;\n }\n}\n\nprotectedClient.interceptors.request.use(\n (config: InternalAxiosRequestConfig) => {\n const accessToken = AuthStore.getState().accessToken;\n if (accessToken) config.headers.Authorization = `Bearer ${accessToken}`;\n return config;\n },\n (error) => Promise.reject(error),\n);\n\nfunction logApiError(error: AxiosError<ApiErrorBody>): void {\n const errorData = error.response?.data;\n const msg = errorData?.message;\n if (msg) {\n console.log(\"❌ API Error:\", {\n message: msg,\n errCode: errorData?.errCode,\n status: safeOr(error.response?.status, errorData?.status),\n url: error.config?.url,\n method: error.config?.method,\n });\n } else if (import.meta.env.DEV && error.response?.status) {\n console.log(\"❌ HTTP Error:\", {\n status: error.response.status,\n url: error.config?.url,\n method: error.config?.method,\n });\n }\n}\n\nprotectedClient.interceptors.response.use(\n (response) => response,\n async (error: unknown) => {\n if (!(error instanceof AxiosError)) {\n return Promise.reject(error);\n }\n logApiError(error);\n\n const emitLogout = () => {\n if (!AuthStore.getState().isAuthValid) return;\n if (!hasSelectedProfile(AuthStore.getState().currentProfileId)) return;\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.LOGOUT, aID ?? undefined);\n clearAuth();\n };\n\n if (shouldImmediateForceLogoutOnApiError(error)) {\n emitLogout();\n return Promise.reject(error);\n }\n\n if (error.response?.status === 401 && error.config && !error.config._retry) {\n error.config._retry = true;\n try {\n const refreshed = await refreshAuthTokens(\"401\");\n if (!refreshed) {\n emitLogout();\n return Promise.reject(error);\n }\n return protectedClient.request(error.config);\n } catch {\n emitLogout();\n return Promise.reject(error);\n }\n }\n\n if (shouldForceLogoutAfterAuthRetry(error)) {\n emitLogout();\n }\n\n return Promise.reject(error);\n },\n);\n\npublicClient.interceptors.response.use(\n (response) => response,\n (error: unknown) => {\n if (error instanceof AxiosError) logApiError(error as AxiosError<ApiErrorBody>);\n return Promise.reject(error);\n },\n);\n"],"mappings":";;;;;;;;;AAiBA,IAAa,IAAkB,EAC7B,EAAM,OAAO;CACX,SAAS,EAAc;CACvB,SAAS;AACX,CAAC,CACH,GAEa,IAAe,EAC1B,EAAM,OAAO;CACX,SAAS,EAAc;CACvB,SAAS;AACX,CAAC,CACH,GAEa,IAA+B,EAAM,OAAO;CACvD,SAAS,EAAc;CACvB,SAAS;AACX,CAAC;AAQD,EAAgB,aAAa,QAAQ,KAClC,MAAuC;CACtC,IAAM,IAAc,EAAU,SAAS,CAAC,CAAC;CAEzC,OADI,MAAa,EAAO,QAAQ,gBAAgB,UAAU,MACnD;AACT,IACC,MAAU,QAAQ,OAAO,CAAK,CACjC;AAEA,SAAS,EAAY,GAAuC;CAC1D,IAAM,IAAY,EAAM,UAAU,MAC5B,IAAM,GAAW;CACvB,AAAI,KACF,QAAQ,IAAI,gBAAgB;EAC1B,SAAS;EACT,SAAS,GAAW;EACpB,QAAQ,EAAO,EAAM,UAAU,QAAQ,GAAW,MAAM;EACxD,KAAK,EAAM,QAAQ;EACnB,QAAQ,EAAM,QAAQ;CACxB,CAAC;AAQL;AAEA,EAAgB,aAAa,SAAS,KACnC,MAAa,GACd,OAAO,MAAmB;CACxB,IAAI,EAAE,aAAiB,IACrB,OAAO,QAAQ,OAAO,CAAK;CAE7B,EAAY,CAAK;CAEjB,IAAM,UAAmB;EAEvB,IADI,CAAC,EAAU,SAAS,CAAC,CAAC,eACtB,CAAC,EAAmB,EAAU,SAAS,CAAC,CAAC,gBAAgB,GAAG;EAChE,IAAM,IAAM,EAAU,SAAS,CAAC,CAAC;EAEjC,AADA,EAAiB,KAAK,EAAW,QAAQ,KAAO,KAAA,CAAS,GACzD,EAAU;CACZ;CAEA,IAAI,EAAqC,CAAK,GAE5C,OADA,EAAW,GACJ,QAAQ,OAAO,CAAK;CAG7B,IAAI,EAAM,UAAU,WAAW,OAAO,EAAM,UAAU,CAAC,EAAM,OAAO,QAAQ;EAC1E,EAAM,OAAO,SAAS;EACtB,IAAI;GAMF,OAJK,MADmB,EAAkB,KAAK,IAKxC,EAAgB,QAAQ,EAAM,MAAM,KAHzC,EAAW,GACJ,QAAQ,OAAO,CAAK;EAG/B,QAAQ;GAEN,OADA,EAAW,GACJ,QAAQ,OAAO,CAAK;EAC7B;CACF;CAMA,OAJI,EAAgC,CAAK,KACvC,EAAW,GAGN,QAAQ,OAAO,CAAK;AAC7B,CACF,GAEA,EAAa,aAAa,SAAS,KAChC,MAAa,IACb,OACK,aAAiB,KAAY,EAAY,CAAiC,GACvE,QAAQ,OAAO,CAAK,EAE/B"}
1
+ {"version":3,"file":"clients.js","names":[],"sources":["../../src/apis/clients.ts"],"sourcesContent":["/**\n * Axios instances + interceptors for Identity HTTP.\n * publicClient: login / refresh. protectedClient: Bearer + 401 → refreshAuthTokens.\n */\nimport type { InternalAxiosRequestConfig } from \"axios\";\nimport type { ApiErrorBody } from \"nfx-ui/types\";\n\nimport axios, { AxiosError } from \"axios\";\nimport applyCaseMiddleware from \"axios-case-converter\";\nimport { authEventEmitter, authEvents } from \"nfx-ui/events/auth\";\nimport { AuthStore, clearAuth, hasSelectedProfile } from \"nfx-ui/stores/auth\";\nimport { shouldForceLogoutAfterAuthRetry, shouldImmediateForceLogoutOnApiError } from \"nfx-ui/utils/sessionErrors\";\nimport { safeOr } from \"nfx-ui/utils/safe\";\n\nimport { refreshAuthTokens } from \"./authRefresh\";\nimport { API_ENDPOINTS } from \"./ip\";\n\nexport const protectedClient = applyCaseMiddleware(\n axios.create({\n baseURL: API_ENDPOINTS.IDENTITY,\n timeout: 8000,\n }),\n);\n\nexport const publicClient = applyCaseMiddleware(\n axios.create({\n baseURL: API_ENDPOINTS.IDENTITY,\n timeout: 8000,\n }),\n);\n\nexport const publicClientWithoutTransform = axios.create({\n baseURL: API_ENDPOINTS.IDENTITY,\n timeout: 8000,\n});\n\ndeclare module \"axios\" {\n export interface AxiosRequestConfig {\n _retry?: boolean;\n }\n}\n\nprotectedClient.interceptors.request.use(\n (config: InternalAxiosRequestConfig) => {\n const accessToken = AuthStore.getState().accessToken;\n if (accessToken) config.headers.Authorization = `Bearer ${accessToken}`;\n return config;\n },\n (error) => Promise.reject(error),\n);\n\nfunction logApiError(error: AxiosError<ApiErrorBody>): void {\n const errorData = error.response?.data;\n const msg = errorData?.message;\n if (msg) {\n console.log(\"❌ API Error:\", {\n message: msg,\n errCode: errorData?.errCode,\n status: safeOr(error.response?.status, errorData?.status),\n url: error.config?.url,\n method: error.config?.method,\n });\n } else if (import.meta.env.DEV && error.response?.status) {\n console.log(\"❌ HTTP Error:\", {\n status: error.response.status,\n url: error.config?.url,\n method: error.config?.method,\n });\n }\n}\n\nprotectedClient.interceptors.response.use(\n (response) => response,\n async (error: unknown) => {\n if (!(error instanceof AxiosError)) {\n return Promise.reject(error);\n }\n logApiError(error);\n\n const emitLogout = () => {\n if (!AuthStore.getState().isAuthValid) return;\n if (!hasSelectedProfile(AuthStore.getState().currentProfileId)) return;\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.LOGOUT, aID ?? undefined);\n clearAuth();\n };\n\n if (shouldImmediateForceLogoutOnApiError(error)) {\n emitLogout();\n return Promise.reject(error);\n }\n\n if (error.response?.status === 401 && error.config && !error.config._retry) {\n error.config._retry = true;\n try {\n const refreshed = await refreshAuthTokens(\"401\");\n if (!refreshed) {\n emitLogout();\n return Promise.reject(error);\n }\n return protectedClient.request(error.config);\n } catch {\n emitLogout();\n return Promise.reject(error);\n }\n }\n\n if (shouldForceLogoutAfterAuthRetry(error)) {\n emitLogout();\n }\n\n return Promise.reject(error);\n },\n);\n\npublicClient.interceptors.response.use(\n (response) => response,\n (error: unknown) => {\n if (error instanceof AxiosError) logApiError(error as AxiosError<ApiErrorBody>);\n return Promise.reject(error);\n },\n);\n"],"mappings":";;;;;;;;;AAiBA,IAAa,IAAkB,EAC7B,EAAM,OAAO;CACX,SAAS,EAAc;CACvB,SAAS;AACX,CAAC,CACH,GAEa,IAAe,EAC1B,EAAM,OAAO;CACX,SAAS,EAAc;CACvB,SAAS;AACX,CAAC,CACH,GAEa,IAA+B,EAAM,OAAO;CACvD,SAAS,EAAc;CACvB,SAAS;AACX,CAAC;AAQD,EAAgB,aAAa,QAAQ,KAClC,MAAuC;CACtC,IAAM,IAAc,EAAU,SAAS,CAAC,CAAC;CAEzC,OADI,MAAa,EAAO,QAAQ,gBAAgB,UAAU,MACnD;AACT,IACC,MAAU,QAAQ,OAAO,CAAK,CACjC;AAEA,SAAS,EAAY,GAAuC;CAC1D,IAAM,IAAY,EAAM,UAAU,MAC5B,IAAM,GAAW;CACvB,AAAI,KACF,QAAQ,IAAI,gBAAgB;EAC1B,SAAS;EACT,SAAS,GAAW;EACpB,QAAQ,EAAO,EAAM,UAAU,QAAQ,GAAW,MAAM;EACxD,KAAK,EAAM,QAAQ;EACnB,QAAQ,EAAM,QAAQ;CACxB,CAAC;AAQL;AAEA,EAAgB,aAAa,SAAS,KACnC,MAAa,GACd,OAAO,MAAmB;CACxB,IAAI,EAAE,aAAiB,IACrB,OAAO,QAAQ,OAAO,CAAK;CAE7B,EAAY,CAAK;CAEjB,IAAM,UAAmB;EAEvB,IADI,CAAC,EAAU,SAAS,CAAC,CAAC,eACtB,CAAC,EAAmB,EAAU,SAAS,CAAC,CAAC,gBAAgB,GAAG;EAChE,IAAM,IAAM,EAAU,SAAS,CAAC,CAAC;EAEjC,AADA,EAAiB,KAAK,EAAW,QAAQ,KAAO,KAAA,CAAS,GACzD,EAAU;CACZ;CAEA,IAAI,EAAqC,CAAK,GAE5C,OADA,EAAW,GACJ,QAAQ,OAAO,CAAK;CAG7B,IAAI,EAAM,UAAU,WAAW,OAAO,EAAM,UAAU,CAAC,EAAM,OAAO,QAAQ;EAC1E,EAAM,OAAO,SAAS;EACtB,IAAI;GAMF,OAJK,MADmB,EAAkB,KAAK,IAKxC,EAAgB,QAAQ,EAAM,MAAM,KAHzC,EAAW,GACJ,QAAQ,OAAO,CAAK;EAG/B,QAAQ;GAEN,OADA,EAAW,GACJ,QAAQ,OAAO,CAAK;EAC7B;CACF;CAMA,OAJI,EAAgC,CAAK,KACvC,EAAW,GAGN,QAAQ,OAAO,CAAK;AAC7B,CACF,GAEA,EAAa,aAAa,SAAS,KAChC,MAAa,IACb,OACK,aAAiB,KAAY,EAAY,CAAiC,GACvE,QAAQ,OAAO,CAAK,EAE/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../src/apis/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAM5E;AAED,eAAO,MAAM,aAAa;;CAEhB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;iCASK,MAAM;;;2BAGZ,MAAM;;;;;;;;;;;;;;;;;;qCAkBI,MAAM;+CACI,MAAM;;;8CAGP,MAAM;;iCAEnB,MAAM;iDACU,MAAM;mCACpB,MAAM;oCACL,MAAM;;iCAET,MAAM;iDACU,MAAM;mCACpB,MAAM;oCACL,MAAM;;;;;;;qDAOW,MAAM;;;;;iCAK1B,MAAM;;;2BAGZ,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;CAGjB,CAAC"}
1
+ {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../src/apis/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAM5E;AAED,eAAO,MAAM,aAAa;;CAEhB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;iCASK,MAAM;;;2BAGZ,MAAM;;;;;;;;;;;;;;;;;;qCAkBI,MAAM;+CACI,MAAM;;;8CAGP,MAAM;;iCAEnB,MAAM;iDACU,MAAM;mCACpB,MAAM;oCACL,MAAM;;iCAET,MAAM;iDACU,MAAM;mCACpB,MAAM;oCACL,MAAM;;;;;;;qDAOW,MAAM;;;;;iCAK1B,MAAM;;;2BAGZ,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;;;;;6BAOJ,MAAM;2BACR,MAAM;;;CAGjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip.js","names":[],"sources":["../../src/apis/ip.ts"],"sourcesContent":["import type { DataResponse } from \"@/types\";\n\nimport { path } from \"./ip.path\";\n\nexport { path } from \"./ip.path\";\n\nfunction resolveIdentityApiUrl(): string {\n const identity = (import.meta.env.VITE_IDENTITY_API_URL as string | undefined)?.trim();\n if (identity) return identity.replace(/\\/$/, \"\");\n const raw = (import.meta.env.VITE_API_URL as string | undefined)?.trim() ?? \"\";\n return raw.replace(/\\/$/, \"\");\n}\n\nexport function dataFromResponse<T>(res: DataResponse<T>, context: string): T {\n const v = res.data;\n if (v == null) {\n throw new Error(`API response missing data (${context})`);\n }\n return v;\n}\n\nexport const API_ENDPOINTS = {\n IDENTITY: resolveIdentityApiUrl(),\n} as const;\n\nexport const URL_PATHS = {\n AUTH: path(\"/auth\", {\n LoginWithEmail: \"/login/with-email\",\n LoginWithPhone: \"/login/with-phone\",\n SignupSendCode: \"/signup/send-code\",\n SignupWithEmail: \"/signup/with-email\",\n Refresh: \"/refresh\",\n Logout: \"/logout\",\n Locales: path(\"/locales\", {\n errorsByLang: (lang: string) => `/${lang}`,\n }),\n Messages: path(\"/messages\", {\n byLang: (lang: string) => `/${lang}`,\n }),\n Me: path(\"/me\", {\n SelectProfile: \"/select-profile\",\n FullAccountInformationWithForgerProfile: \"/full-account-information-with-forger-profile\",\n FullAccountInformationWithAuthorityProfile: \"/full-account-information-with-authority-profile\",\n ForgerProfile: \"/forger-profile\",\n ForgerProfileSettings: \"/forger-profile-settings\",\n ForgerProfileAvatars: \"/forger-profile/avatars\",\n ForgerProfileBackgrounds: \"/forger-profile/backgrounds\",\n ForgerProfilePreference: \"/forger-profile/preference\",\n AuthorityProfile: \"/authority-profile\",\n AuthorityProfileSettings: \"/authority-profile-settings\",\n AuthorityProfileAvatars: \"/authority-profile/avatars\",\n AuthorityProfileBackgrounds: \"/authority-profile/backgrounds\",\n AuthorityProfilePreference: \"/authority-profile/preference\",\n Profiles: \"/profiles\",\n SearchForgerProfiles: \"/profiles/search\",\n ProfileById: (profileId: string) => `/profiles/${profileId}`,\n PublicProfileCardById: (profileId: string) => `/profiles/${profileId}/public-card`,\n AuthorityProfiles: \"/authority-profiles\",\n SearchAuthorityProfiles: \"/authority-profiles/search\",\n AuthorityProfileById: (profileId: string) => `/authority-profiles/${profileId}`,\n Emails: \"/emails\",\n EmailById: (emailId: string) => `/emails/${emailId}`,\n EmailSendVerificationCode: (emailId: string) => `/emails/${emailId}/send-verification-code`,\n EmailVerify: (emailId: string) => `/emails/${emailId}/verify`,\n EmailPrimary: (emailId: string) => `/emails/${emailId}/primary`,\n Phones: \"/phones\",\n PhoneById: (phoneId: string) => `/phones/${phoneId}`,\n PhoneSendVerificationCode: (phoneId: string) => `/phones/${phoneId}/send-verification-code`,\n PhoneVerify: (phoneId: string) => `/phones/${phoneId}/verify`,\n PhonePrimary: (phoneId: string) => `/phones/${phoneId}/primary`,\n Password: \"/password\",\n PasswordSendVerificationCode: \"/password/send-verification-code\",\n }),\n Owner: path(\"/owner\", {\n ForgerProfiles: \"/forger-profiles\",\n AuthorityProfiles: \"/authority-profiles\",\n UpdateAuthorityProfileRoles: (profileId: string) => `/authority-profiles/${profileId}/roles`,\n }),\n }),\n ASSET: path(\"/asset\", {\n Locales: path(\"/locales\", {\n errorsByLang: (lang: string) => `/${lang}`,\n }),\n Messages: path(\"/messages\", {\n byLang: (lang: string) => `/${lang}`,\n }),\n Images: path(\"/images\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-images\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n Files: path(\"/files\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-files\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n Videos: path(\"/videos\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-videos\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n Audios: path(\"/audios\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-audios\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n }),\n} as const;\n"],"mappings":";;AAMA,SAAS,IAAgC;CAIvC,OAAO,GAAI,QAAQ,OAAO,EAAE;AAC9B;AAEA,SAAgB,EAAoB,GAAsB,GAAoB;CAC5E,IAAM,IAAI,EAAI;CACd,IAAI,KAAK,MACP,MAAU,MAAM,8BAA8B,EAAQ,EAAE;CAE1D,OAAO;AACT;AAEA,IAAa,IAAgB,EAC3B,UAAU,EAAsB,EAClC,GAEa,IAAY;CACvB,MAAM,EAAK,SAAS;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;EACjB,SAAS;EACT,QAAQ;EACR,SAAS,EAAK,YAAY,EACxB,eAAe,MAAiB,IAAI,IACtC,CAAC;EACD,UAAU,EAAK,aAAa,EAC1B,SAAS,MAAiB,IAAI,IAChC,CAAC;EACD,IAAI,EAAK,OAAO;GACd,eAAe;GACf,yCAAyC;GACzC,4CAA4C;GAC5C,eAAe;GACf,uBAAuB;GACvB,sBAAsB;GACtB,0BAA0B;GAC1B,yBAAyB;GACzB,kBAAkB;GAClB,0BAA0B;GAC1B,yBAAyB;GACzB,6BAA6B;GAC7B,4BAA4B;GAC5B,UAAU;GACV,sBAAsB;GACtB,cAAc,MAAsB,aAAa;GACjD,wBAAwB,MAAsB,aAAa,EAAU;GACrE,mBAAmB;GACnB,yBAAyB;GACzB,uBAAuB,MAAsB,uBAAuB;GACpE,QAAQ;GACR,YAAY,MAAoB,WAAW;GAC3C,4BAA4B,MAAoB,WAAW,EAAQ;GACnE,cAAc,MAAoB,WAAW,EAAQ;GACrD,eAAe,MAAoB,WAAW,EAAQ;GACtD,QAAQ;GACR,YAAY,MAAoB,WAAW;GAC3C,4BAA4B,MAAoB,WAAW,EAAQ;GACnE,cAAc,MAAoB,WAAW,EAAQ;GACrD,eAAe,MAAoB,WAAW,EAAQ;GACtD,UAAU;GACV,8BAA8B;EAChC,CAAC;EACD,OAAO,EAAK,UAAU;GACpB,gBAAgB;GAChB,mBAAmB;GACnB,8BAA8B,MAAsB,uBAAuB,EAAU;EACvF,CAAC;CACH,CAAC;CACD,OAAO,EAAK,UAAU;EACpB,SAAS,EAAK,YAAY,EACxB,eAAe,MAAiB,IAAI,IACtC,CAAC;EACD,UAAU,EAAK,aAAa,EAC1B,SAAS,MAAiB,IAAI,IAChC,CAAC;EACD,QAAQ,EAAK,WAAW;GACtB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;EACD,OAAO,EAAK,UAAU;GACpB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;EACD,QAAQ,EAAK,WAAW;GACtB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;EACD,QAAQ,EAAK,WAAW;GACtB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;CACH,CAAC;AACH"}
1
+ {"version":3,"file":"ip.js","names":[],"sources":["../../src/apis/ip.ts"],"sourcesContent":["import type { DataResponse } from \"nfx-ui/types\";\n\nimport { path } from \"./ip.path\";\n\nexport { path } from \"./ip.path\";\n\nfunction resolveIdentityApiUrl(): string {\n const identity = (import.meta.env.VITE_IDENTITY_API_URL as string | undefined)?.trim();\n if (identity) return identity.replace(/\\/$/, \"\");\n const raw = (import.meta.env.VITE_API_URL as string | undefined)?.trim() ?? \"\";\n return raw.replace(/\\/$/, \"\");\n}\n\nexport function dataFromResponse<T>(res: DataResponse<T>, context: string): T {\n const v = res.data;\n if (v == null) {\n throw new Error(`API response missing data (${context})`);\n }\n return v;\n}\n\nexport const API_ENDPOINTS = {\n IDENTITY: resolveIdentityApiUrl(),\n} as const;\n\nexport const URL_PATHS = {\n AUTH: path(\"/auth\", {\n LoginWithEmail: \"/login/with-email\",\n LoginWithPhone: \"/login/with-phone\",\n SignupSendCode: \"/signup/send-code\",\n SignupWithEmail: \"/signup/with-email\",\n Refresh: \"/refresh\",\n Logout: \"/logout\",\n Locales: path(\"/locales\", {\n errorsByLang: (lang: string) => `/${lang}`,\n }),\n Messages: path(\"/messages\", {\n byLang: (lang: string) => `/${lang}`,\n }),\n Me: path(\"/me\", {\n SelectProfile: \"/select-profile\",\n FullAccountInformationWithForgerProfile: \"/full-account-information-with-forger-profile\",\n FullAccountInformationWithAuthorityProfile: \"/full-account-information-with-authority-profile\",\n ForgerProfile: \"/forger-profile\",\n ForgerProfileSettings: \"/forger-profile-settings\",\n ForgerProfileAvatars: \"/forger-profile/avatars\",\n ForgerProfileBackgrounds: \"/forger-profile/backgrounds\",\n ForgerProfilePreference: \"/forger-profile/preference\",\n AuthorityProfile: \"/authority-profile\",\n AuthorityProfileSettings: \"/authority-profile-settings\",\n AuthorityProfileAvatars: \"/authority-profile/avatars\",\n AuthorityProfileBackgrounds: \"/authority-profile/backgrounds\",\n AuthorityProfilePreference: \"/authority-profile/preference\",\n Profiles: \"/profiles\",\n SearchForgerProfiles: \"/profiles/search\",\n ProfileById: (profileId: string) => `/profiles/${profileId}`,\n PublicProfileCardById: (profileId: string) => `/profiles/${profileId}/public-card`,\n AuthorityProfiles: \"/authority-profiles\",\n SearchAuthorityProfiles: \"/authority-profiles/search\",\n AuthorityProfileById: (profileId: string) => `/authority-profiles/${profileId}`,\n Emails: \"/emails\",\n EmailById: (emailId: string) => `/emails/${emailId}`,\n EmailSendVerificationCode: (emailId: string) => `/emails/${emailId}/send-verification-code`,\n EmailVerify: (emailId: string) => `/emails/${emailId}/verify`,\n EmailPrimary: (emailId: string) => `/emails/${emailId}/primary`,\n Phones: \"/phones\",\n PhoneById: (phoneId: string) => `/phones/${phoneId}`,\n PhoneSendVerificationCode: (phoneId: string) => `/phones/${phoneId}/send-verification-code`,\n PhoneVerify: (phoneId: string) => `/phones/${phoneId}/verify`,\n PhonePrimary: (phoneId: string) => `/phones/${phoneId}/primary`,\n Password: \"/password\",\n PasswordSendVerificationCode: \"/password/send-verification-code\",\n }),\n Owner: path(\"/owner\", {\n ForgerProfiles: \"/forger-profiles\",\n AuthorityProfiles: \"/authority-profiles\",\n UpdateAuthorityProfileRoles: (profileId: string) => `/authority-profiles/${profileId}/roles`,\n }),\n }),\n ASSET: path(\"/asset\", {\n Locales: path(\"/locales\", {\n errorsByLang: (lang: string) => `/${lang}`,\n }),\n Messages: path(\"/messages\", {\n byLang: (lang: string) => `/${lang}`,\n }),\n Images: path(\"/images\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-images\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n Files: path(\"/files\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-files\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n Videos: path(\"/videos\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-videos\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n Audios: path(\"/audios\", {\n uploadUrl: \"/upload-url\",\n uploadUrls: \"/upload-urls\",\n confirm: \"/confirm\",\n confirmMany: \"/confirm-audios\",\n deleteById: (id: string) => `/${id}`,\n fileById: (id: string) => `/${id}/file`,\n }),\n }),\n} as const;\n"],"mappings":";;AAMA,SAAS,IAAgC;CAIvC,OAAO,GAAI,QAAQ,OAAO,EAAE;AAC9B;AAEA,SAAgB,EAAoB,GAAsB,GAAoB;CAC5E,IAAM,IAAI,EAAI;CACd,IAAI,KAAK,MACP,MAAU,MAAM,8BAA8B,EAAQ,EAAE;CAE1D,OAAO;AACT;AAEA,IAAa,IAAgB,EAC3B,UAAU,EAAsB,EAClC,GAEa,IAAY;CACvB,MAAM,EAAK,SAAS;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;EACjB,SAAS;EACT,QAAQ;EACR,SAAS,EAAK,YAAY,EACxB,eAAe,MAAiB,IAAI,IACtC,CAAC;EACD,UAAU,EAAK,aAAa,EAC1B,SAAS,MAAiB,IAAI,IAChC,CAAC;EACD,IAAI,EAAK,OAAO;GACd,eAAe;GACf,yCAAyC;GACzC,4CAA4C;GAC5C,eAAe;GACf,uBAAuB;GACvB,sBAAsB;GACtB,0BAA0B;GAC1B,yBAAyB;GACzB,kBAAkB;GAClB,0BAA0B;GAC1B,yBAAyB;GACzB,6BAA6B;GAC7B,4BAA4B;GAC5B,UAAU;GACV,sBAAsB;GACtB,cAAc,MAAsB,aAAa;GACjD,wBAAwB,MAAsB,aAAa,EAAU;GACrE,mBAAmB;GACnB,yBAAyB;GACzB,uBAAuB,MAAsB,uBAAuB;GACpE,QAAQ;GACR,YAAY,MAAoB,WAAW;GAC3C,4BAA4B,MAAoB,WAAW,EAAQ;GACnE,cAAc,MAAoB,WAAW,EAAQ;GACrD,eAAe,MAAoB,WAAW,EAAQ;GACtD,QAAQ;GACR,YAAY,MAAoB,WAAW;GAC3C,4BAA4B,MAAoB,WAAW,EAAQ;GACnE,cAAc,MAAoB,WAAW,EAAQ;GACrD,eAAe,MAAoB,WAAW,EAAQ;GACtD,UAAU;GACV,8BAA8B;EAChC,CAAC;EACD,OAAO,EAAK,UAAU;GACpB,gBAAgB;GAChB,mBAAmB;GACnB,8BAA8B,MAAsB,uBAAuB,EAAU;EACvF,CAAC;CACH,CAAC;CACD,OAAO,EAAK,UAAU;EACpB,SAAS,EAAK,YAAY,EACxB,eAAe,MAAiB,IAAI,IACtC,CAAC;EACD,UAAU,EAAK,aAAa,EAC1B,SAAS,MAAiB,IAAI,IAChC,CAAC;EACD,QAAQ,EAAK,WAAW;GACtB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;EACD,OAAO,EAAK,UAAU;GACpB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;EACD,QAAQ,EAAK,WAAW;GACtB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;EACD,QAAQ,EAAK,WAAW;GACtB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,aAAa;GACb,aAAa,MAAe,IAAI;GAChC,WAAW,MAAe,IAAI,EAAG;EACnC,CAAC;CACH,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetRepository.d.ts","sourceRoot":"","sources":["../../../src/apis/repositories/AssetRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,SAAS,CAAC;AAKnD,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAEvB,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACzC;AAeD,qBAAa,kBAAmB,YAAW,eAAe;IAClD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKnE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAKtE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAKlD,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;IAKrG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;IAKxG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;CAGxC"}
1
+ {"version":3,"file":"AssetRepository.d.ts","sourceRoot":"","sources":["../../../src/apis/repositories/AssetRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,cAAc,CAAC;AAKxD,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAEvB,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACzC;AAeD,qBAAa,kBAAmB,YAAW,eAAe;IAClD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKnE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAKtE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAKlD,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;IAKrG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;IAKxG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;CAGxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetRepository.js","names":[],"sources":["../../../src/apis/repositories/AssetRepository.ts"],"sourcesContent":["import type { Asset, DataResponse } from \"@/types\";\n\nimport { protectedClient, publicClientWithoutTransform } from \"../clients\";\nimport { API_ENDPOINTS, dataFromResponse, URL_PATHS } from \"../ip\";\n\ntype Kind = Asset.Kind;\n\nexport interface AssetRepository {\n GetErrorTranslations(lang: string): Promise<Record<string, string>>;\n GetMessageTranslations(lang: string): Promise<Record<string, unknown>>;\n List(kind: Kind): Promise<Asset.Response.Detail[]>;\n PrepareUpload(kind: Kind, params: Asset.Request.PrepareUpload): Promise<Asset.Response.PrepareUpload>;\n PrepareUploads(kind: Kind, params: Asset.Request.PrepareUploads): Promise<Asset.Response.PrepareUploads>;\n ConfirmUpload(kind: Kind, params: Asset.Request.ConfirmUpload): Promise<void>;\n ConfirmUploads(kind: Kind, params: Asset.Request.ConfirmUploads): Promise<void>;\n Delete(kind: Kind, id: string): Promise<void>;\n FileURL(kind: Kind, id: string): string;\n}\n\nfunction kindPaths(kind: Kind) {\n switch (kind) {\n case \"files\":\n return URL_PATHS.ASSET.Files;\n case \"videos\":\n return URL_PATHS.ASSET.Videos;\n case \"audios\":\n return URL_PATHS.ASSET.Audios;\n default:\n return URL_PATHS.ASSET.Images;\n }\n}\n\nexport class ApiAssetRepository implements AssetRepository {\n async GetErrorTranslations(lang: string): Promise<Record<string, string>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, string>>(URL_PATHS.ASSET.Locales.errorsByLang(lang));\n return data;\n }\n\n async GetMessageTranslations(lang: string): Promise<Record<string, unknown>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, unknown>>(URL_PATHS.ASSET.Messages.byLang(lang));\n return data;\n }\n\n async List(kind: Kind): Promise<Asset.Response.Detail[]> {\n const { data } = await protectedClient.get<DataResponse<Asset.Response.Detail[]>>(String(kindPaths(kind)));\n return dataFromResponse(data, `List ${kind}`);\n }\n\n async PrepareUpload(kind: Kind, params: Asset.Request.PrepareUpload): Promise<Asset.Response.PrepareUpload> {\n const { data } = await protectedClient.post<DataResponse<Asset.Response.PrepareUpload>>(kindPaths(kind).uploadUrl, params);\n return dataFromResponse(data, `Prepare ${kind}`);\n }\n\n async PrepareUploads(kind: Kind, params: Asset.Request.PrepareUploads): Promise<Asset.Response.PrepareUploads> {\n const { data } = await protectedClient.post<DataResponse<Asset.Response.PrepareUploads>>(kindPaths(kind).uploadUrls, params);\n return dataFromResponse(data, `Prepare many ${kind}`);\n }\n\n async ConfirmUpload(kind: Kind, params: Asset.Request.ConfirmUpload): Promise<void> {\n await protectedClient.post(kindPaths(kind).confirm, params);\n }\n\n async ConfirmUploads(kind: Kind, params: Asset.Request.ConfirmUploads): Promise<void> {\n await protectedClient.post(kindPaths(kind).confirmMany, params);\n }\n\n async Delete(kind: Kind, id: string): Promise<void> {\n await protectedClient.delete(kindPaths(kind).deleteById(id));\n }\n\n FileURL(kind: Kind, id: string): string {\n return `${API_ENDPOINTS.IDENTITY}${kindPaths(kind).fileById(id)}`;\n }\n}\n"],"mappings":";;;AAmBA,SAAS,EAAU,GAAY;CAC7B,QAAQ,GAAR;EACE,KAAK,SACH,OAAO,EAAU,MAAM;EACzB,KAAK,UACH,OAAO,EAAU,MAAM;EACzB,KAAK,UACH,OAAO,EAAU,MAAM;EACzB,SACE,OAAO,EAAU,MAAM;CAC3B;AACF;AAEA,IAAa,IAAb,MAA2D;CACzD,MAAM,qBAAqB,GAA+C;EACxE,IAAM,EAAE,YAAS,MAAM,EAA6B,IAA4B,EAAU,MAAM,QAAQ,aAAa,CAAI,CAAC;EAC1H,OAAO;CACT;CAEA,MAAM,uBAAuB,GAAgD;EAC3E,IAAM,EAAE,YAAS,MAAM,EAA6B,IAA6B,EAAU,MAAM,SAAS,OAAO,CAAI,CAAC;EACtH,OAAO;CACT;CAEA,MAAM,KAAK,GAA8C;EACvD,IAAM,EAAE,YAAS,MAAM,EAAgB,IAA2C,OAAO,EAAU,CAAI,CAAC,CAAC;EACzG,OAAO,EAAiB,GAAM,QAAQ,GAAM;CAC9C;CAEA,MAAM,cAAc,GAAY,GAA4E;EAC1G,IAAM,EAAE,YAAS,MAAM,EAAgB,KAAiD,EAAU,CAAI,CAAC,CAAC,WAAW,CAAM;EACzH,OAAO,EAAiB,GAAM,WAAW,GAAM;CACjD;CAEA,MAAM,eAAe,GAAY,GAA8E;EAC7G,IAAM,EAAE,YAAS,MAAM,EAAgB,KAAkD,EAAU,CAAI,CAAC,CAAC,YAAY,CAAM;EAC3H,OAAO,EAAiB,GAAM,gBAAgB,GAAM;CACtD;CAEA,MAAM,cAAc,GAAY,GAAoD;EAClF,MAAM,EAAgB,KAAK,EAAU,CAAI,CAAC,CAAC,SAAS,CAAM;CAC5D;CAEA,MAAM,eAAe,GAAY,GAAqD;EACpF,MAAM,EAAgB,KAAK,EAAU,CAAI,CAAC,CAAC,aAAa,CAAM;CAChE;CAEA,MAAM,OAAO,GAAY,GAA2B;EAClD,MAAM,EAAgB,OAAO,EAAU,CAAI,CAAC,CAAC,WAAW,CAAE,CAAC;CAC7D;CAEA,QAAQ,GAAY,GAAoB;EACtC,OAAO,GAAG,EAAc,WAAW,EAAU,CAAI,CAAC,CAAC,SAAS,CAAE;CAChE;AACF"}
1
+ {"version":3,"file":"AssetRepository.js","names":[],"sources":["../../../src/apis/repositories/AssetRepository.ts"],"sourcesContent":["import type { Asset, DataResponse } from \"nfx-ui/types\";\n\nimport { protectedClient, publicClientWithoutTransform } from \"../clients\";\nimport { API_ENDPOINTS, dataFromResponse, URL_PATHS } from \"../ip\";\n\ntype Kind = Asset.Kind;\n\nexport interface AssetRepository {\n GetErrorTranslations(lang: string): Promise<Record<string, string>>;\n GetMessageTranslations(lang: string): Promise<Record<string, unknown>>;\n List(kind: Kind): Promise<Asset.Response.Detail[]>;\n PrepareUpload(kind: Kind, params: Asset.Request.PrepareUpload): Promise<Asset.Response.PrepareUpload>;\n PrepareUploads(kind: Kind, params: Asset.Request.PrepareUploads): Promise<Asset.Response.PrepareUploads>;\n ConfirmUpload(kind: Kind, params: Asset.Request.ConfirmUpload): Promise<void>;\n ConfirmUploads(kind: Kind, params: Asset.Request.ConfirmUploads): Promise<void>;\n Delete(kind: Kind, id: string): Promise<void>;\n FileURL(kind: Kind, id: string): string;\n}\n\nfunction kindPaths(kind: Kind) {\n switch (kind) {\n case \"files\":\n return URL_PATHS.ASSET.Files;\n case \"videos\":\n return URL_PATHS.ASSET.Videos;\n case \"audios\":\n return URL_PATHS.ASSET.Audios;\n default:\n return URL_PATHS.ASSET.Images;\n }\n}\n\nexport class ApiAssetRepository implements AssetRepository {\n async GetErrorTranslations(lang: string): Promise<Record<string, string>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, string>>(URL_PATHS.ASSET.Locales.errorsByLang(lang));\n return data;\n }\n\n async GetMessageTranslations(lang: string): Promise<Record<string, unknown>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, unknown>>(URL_PATHS.ASSET.Messages.byLang(lang));\n return data;\n }\n\n async List(kind: Kind): Promise<Asset.Response.Detail[]> {\n const { data } = await protectedClient.get<DataResponse<Asset.Response.Detail[]>>(String(kindPaths(kind)));\n return dataFromResponse(data, `List ${kind}`);\n }\n\n async PrepareUpload(kind: Kind, params: Asset.Request.PrepareUpload): Promise<Asset.Response.PrepareUpload> {\n const { data } = await protectedClient.post<DataResponse<Asset.Response.PrepareUpload>>(kindPaths(kind).uploadUrl, params);\n return dataFromResponse(data, `Prepare ${kind}`);\n }\n\n async PrepareUploads(kind: Kind, params: Asset.Request.PrepareUploads): Promise<Asset.Response.PrepareUploads> {\n const { data } = await protectedClient.post<DataResponse<Asset.Response.PrepareUploads>>(kindPaths(kind).uploadUrls, params);\n return dataFromResponse(data, `Prepare many ${kind}`);\n }\n\n async ConfirmUpload(kind: Kind, params: Asset.Request.ConfirmUpload): Promise<void> {\n await protectedClient.post(kindPaths(kind).confirm, params);\n }\n\n async ConfirmUploads(kind: Kind, params: Asset.Request.ConfirmUploads): Promise<void> {\n await protectedClient.post(kindPaths(kind).confirmMany, params);\n }\n\n async Delete(kind: Kind, id: string): Promise<void> {\n await protectedClient.delete(kindPaths(kind).deleteById(id));\n }\n\n FileURL(kind: Kind, id: string): string {\n return `${API_ENDPOINTS.IDENTITY}${kindPaths(kind).fileById(id)}`;\n }\n}\n"],"mappings":";;;AAmBA,SAAS,EAAU,GAAY;CAC7B,QAAQ,GAAR;EACE,KAAK,SACH,OAAO,EAAU,MAAM;EACzB,KAAK,UACH,OAAO,EAAU,MAAM;EACzB,KAAK,UACH,OAAO,EAAU,MAAM;EACzB,SACE,OAAO,EAAU,MAAM;CAC3B;AACF;AAEA,IAAa,IAAb,MAA2D;CACzD,MAAM,qBAAqB,GAA+C;EACxE,IAAM,EAAE,YAAS,MAAM,EAA6B,IAA4B,EAAU,MAAM,QAAQ,aAAa,CAAI,CAAC;EAC1H,OAAO;CACT;CAEA,MAAM,uBAAuB,GAAgD;EAC3E,IAAM,EAAE,YAAS,MAAM,EAA6B,IAA6B,EAAU,MAAM,SAAS,OAAO,CAAI,CAAC;EACtH,OAAO;CACT;CAEA,MAAM,KAAK,GAA8C;EACvD,IAAM,EAAE,YAAS,MAAM,EAAgB,IAA2C,OAAO,EAAU,CAAI,CAAC,CAAC;EACzG,OAAO,EAAiB,GAAM,QAAQ,GAAM;CAC9C;CAEA,MAAM,cAAc,GAAY,GAA4E;EAC1G,IAAM,EAAE,YAAS,MAAM,EAAgB,KAAiD,EAAU,CAAI,CAAC,CAAC,WAAW,CAAM;EACzH,OAAO,EAAiB,GAAM,WAAW,GAAM;CACjD;CAEA,MAAM,eAAe,GAAY,GAA8E;EAC7G,IAAM,EAAE,YAAS,MAAM,EAAgB,KAAkD,EAAU,CAAI,CAAC,CAAC,YAAY,CAAM;EAC3H,OAAO,EAAiB,GAAM,gBAAgB,GAAM;CACtD;CAEA,MAAM,cAAc,GAAY,GAAoD;EAClF,MAAM,EAAgB,KAAK,EAAU,CAAI,CAAC,CAAC,SAAS,CAAM;CAC5D;CAEA,MAAM,eAAe,GAAY,GAAqD;EACpF,MAAM,EAAgB,KAAK,EAAU,CAAI,CAAC,CAAC,aAAa,CAAM;CAChE;CAEA,MAAM,OAAO,GAAY,GAA2B;EAClD,MAAM,EAAgB,OAAO,EAAU,CAAI,CAAC,CAAC,WAAW,CAAE,CAAC;CAC7D;CAEA,QAAQ,GAAY,GAAoB;EACtC,OAAO,GAAG,EAAc,WAAW,EAAU,CAAI,CAAC,CAAC,SAAS,CAAE;CAChE;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthRepository.d.ts","sourceRoot":"","sources":["../../../src/apis/repositories/AuthRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthRepository.d.ts","sourceRoot":"","sources":["../../../src/apis/repositories/AuthRepository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthRepository.js","names":[],"sources":["../../../src/apis/repositories/AuthRepository.ts"],"sourcesContent":["import type { DataResponse, FullAccountInfoByKind, ListDTOWithTotalNumber, Login, Profile, ProfileItemsByKind, Signup, Tokens } from \"@/types\";\n\nimport { ProfileKindEnum } from \"@/enums\";\n\nimport { protectedClient, publicClient, publicClientWithoutTransform } from \"../clients\";\nimport { dataFromResponse, URL_PATHS } from \"../ip\";\n\nexport interface AuthRepository {\n GetErrorTranslations(lang: string): Promise<Record<string, string>>;\n GetMessageTranslations(lang: string): Promise<Record<string, unknown>>;\n SendVerificationCode(params: Signup.Request.SendVerificationCode): Promise<void>;\n SignupWithEmail(params: Signup.Request.SignupWithEmail): Promise<Signup.Response.SignupWithEmail>;\n LoginWithEmail(params: Login.Request.LoginWithEmail): Promise<Login.Response.LoginWithEmail>;\n LoginWithPhone(params: Login.Request.LoginWithPhone): Promise<Login.Response.LoginWithPhone>;\n SelectProfile(params: Login.Request.SelectProfile): Promise<Login.Response.SelectProfile>;\n GetCurrentFullAccountInformationWithProfile<K extends ProfileKindEnum>(kind: K): Promise<FullAccountInfoByKind<K>>;\n PatchProfile(kind: ProfileKindEnum, body: Profile.Request.PatchProfile): Promise<void>;\n PatchProfileSettings(kind: ProfileKindEnum, body: Profile.Request.PatchProfileSettings): Promise<void>;\n ConfirmProfileAvatar(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileAvatar): Promise<void>;\n ClearProfileAvatar(kind: ProfileKindEnum): Promise<void>;\n ConfirmProfileBackgrounds(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileBackgrounds): Promise<void>;\n ListProfiles<K extends ProfileKindEnum>(kind: K, params?: { limit?: number; offset?: number }): Promise<ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>>;\n DeleteProfile(kind: ProfileKindEnum, profileId: string): Promise<void>;\n UpdatePreference(kind: ProfileKindEnum, preference: string): Promise<void>;\n CreateForgerProfile(body: Login.Request.CreateForgerProfile): Promise<Login.Response.CreateForgerProfile>;\n CreateAuthorityProfile(body: Login.Request.CreateAuthorityProfile): Promise<Login.Response.CreateAuthorityProfile>;\n SearchForgerProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>;\n SearchAuthorityProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>;\n GetPublicProfileCard(profileId: string): Promise<Profile.Response.ForgerProfileItem>;\n ListEmails(params?: { limit?: number; offset?: number }): Promise<ListDTOWithTotalNumber<Login.EmailItem>>;\n CreateEmail(body: Login.Request.CreateEmail): Promise<Login.Response.CreateEmail>;\n SendEmailVerificationCode(emailId: string, body?: Login.Request.SendEmailVerificationCode): Promise<void>;\n VerifyEmail(emailId: string, body: Login.Request.VerifyEmail): Promise<void>;\n UpdateEmail(emailId: string, body: Login.Request.UpdateEmail): Promise<void>;\n SetPrimaryEmail(emailId: string): Promise<void>;\n DeleteEmail(emailId: string): Promise<void>;\n ListPhones(params?: { limit?: number; offset?: number }): Promise<ListDTOWithTotalNumber<Login.PhoneItem>>;\n CreatePhone(body: Login.Request.CreatePhone): Promise<Login.Response.CreatePhone>;\n SendPhoneVerificationCode(phoneId: string): Promise<void>;\n VerifyPhone(phoneId: string, body: Login.Request.VerifyPhone): Promise<void>;\n UpdatePhone(phoneId: string, body: Login.Request.UpdatePhone): Promise<void>;\n SetPrimaryPhone(phoneId: string): Promise<void>;\n DeletePhone(phoneId: string): Promise<void>;\n SendChangePasswordVerificationCode(body?: Login.Request.SendChangePasswordVerificationCode): Promise<void>;\n ChangePassword(body: Login.Request.ChangePassword): Promise<void>;\n RefreshTokens(params: Tokens.Request.RefreshTokens): Promise<Tokens.Response.Tokens>;\n Logout(params: Tokens.Request.Logout): Promise<void>;\n ListOwnerForgerProfiles(params?: { limit?: number; offset?: number; query?: string }): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>;\n ListOwnerAuthorityProfiles(params?: { limit?: number; offset?: number; query?: string }): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>;\n UpdateAuthorityProfileRoles(profileId: string, params: Profile.Request.UpdateAuthorityProfileRoles): Promise<void>;\n}\n\nexport class ApiAuthRepository implements AuthRepository {\n async GetErrorTranslations(lang: string): Promise<Record<string, string>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, string>>(URL_PATHS.AUTH.Locales.errorsByLang(lang));\n return data;\n }\n\n async GetMessageTranslations(lang: string): Promise<Record<string, unknown>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, unknown>>(URL_PATHS.AUTH.Messages.byLang(lang));\n return data;\n }\n\n async SendVerificationCode(params: Signup.Request.SendVerificationCode): Promise<void> {\n await publicClient.post(URL_PATHS.AUTH.SignupSendCode, params);\n }\n\n async SignupWithEmail(params: Signup.Request.SignupWithEmail): Promise<Signup.Response.SignupWithEmail> {\n const { data } = await publicClient.post<DataResponse<Signup.Response.SignupWithEmail>>(URL_PATHS.AUTH.SignupWithEmail, params);\n return data.data;\n }\n\n async LoginWithEmail(params: Login.Request.LoginWithEmail): Promise<Login.Response.LoginWithEmail> {\n const { data } = await publicClient.post<DataResponse<Login.Response.LoginWithEmail>>(URL_PATHS.AUTH.LoginWithEmail, params);\n return data.data;\n }\n\n async LoginWithPhone(params: Login.Request.LoginWithPhone): Promise<Login.Response.LoginWithPhone> {\n const { data } = await publicClient.post<DataResponse<Login.Response.LoginWithPhone>>(URL_PATHS.AUTH.LoginWithPhone, params);\n return data.data;\n }\n\n async SelectProfile(params: Login.Request.SelectProfile): Promise<Login.Response.SelectProfile> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.SelectProfile>>(URL_PATHS.AUTH.Me.SelectProfile, params);\n return dataFromResponse(data, \"SelectProfile\");\n }\n\n async GetCurrentFullAccountInformationWithProfile<K extends ProfileKindEnum>(kind: K): Promise<FullAccountInfoByKind<K>> {\n switch (kind) {\n case ProfileKindEnum.FORGER: {\n const { data } = await protectedClient.get<DataResponse<Profile.Response.FullAccountInformationWithForgerProfile>>(\n URL_PATHS.AUTH.Me.FullAccountInformationWithForgerProfile,\n );\n return dataFromResponse(data, \"GetCurrentFullAccountInformationWithProfile\") as FullAccountInfoByKind<K>;\n }\n case ProfileKindEnum.AUTHORITY: {\n const { data } = await protectedClient.get<DataResponse<Profile.Response.FullAccountInformationWithAuthorityProfile>>(\n URL_PATHS.AUTH.Me.FullAccountInformationWithAuthorityProfile,\n );\n return dataFromResponse(data, \"GetCurrentFullAccountInformationWithProfile\") as FullAccountInfoByKind<K>;\n }\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async PatchProfile(kind: ProfileKindEnum, body: Profile.Request.PatchProfile): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfile, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfile, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async PatchProfileSettings(kind: ProfileKindEnum, body: Profile.Request.PatchProfileSettings): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileSettings, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileSettings, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ConfirmProfileAvatar(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileAvatar): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileAvatars, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileAvatars, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ClearProfileAvatar(kind: ProfileKindEnum): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileAvatars);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileAvatars);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ConfirmProfileBackgrounds(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileBackgrounds): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileBackgrounds, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileBackgrounds, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ListProfiles<K extends ProfileKindEnum>(kind: K, params: { limit?: number; offset?: number } = {}): Promise<ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>> {\n switch (kind) {\n case ProfileKindEnum.FORGER: {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>>(URL_PATHS.AUTH.Me.Profiles, { params });\n return dataFromResponse(data, \"ListProfiles\") as ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>;\n }\n case ProfileKindEnum.AUTHORITY: {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>>(URL_PATHS.AUTH.Me.AuthorityProfiles, { params });\n return dataFromResponse(data, \"ListProfiles\") as ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>;\n }\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async DeleteProfile(kind: ProfileKindEnum, profileId: string): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.ProfileById(profileId));\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileById(profileId));\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async UpdatePreference(kind: ProfileKindEnum, preference: string): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfilePreference, { preference });\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfilePreference, { preference });\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async CreateForgerProfile(body: Login.Request.CreateForgerProfile): Promise<Login.Response.CreateForgerProfile> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreateForgerProfile>>(URL_PATHS.AUTH.Me.Profiles, body);\n return dataFromResponse(data, \"CreateForgerProfile\");\n }\n\n async CreateAuthorityProfile(body: Login.Request.CreateAuthorityProfile): Promise<Login.Response.CreateAuthorityProfile> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreateAuthorityProfile>>(URL_PATHS.AUTH.Me.AuthorityProfiles, body);\n return dataFromResponse(data, \"CreateAuthorityProfile\");\n }\n\n async SearchForgerProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>> {\n const { data } = await protectedClient.post<DataResponse<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>>(URL_PATHS.AUTH.Me.SearchForgerProfiles, params);\n return dataFromResponse(data, \"SearchForgerProfiles\");\n }\n\n async SearchAuthorityProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>> {\n const { data } = await protectedClient.post<DataResponse<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>>(URL_PATHS.AUTH.Me.SearchAuthorityProfiles, params);\n return dataFromResponse(data, \"SearchAuthorityProfiles\");\n }\n\n async GetPublicProfileCard(profileId: string): Promise<Profile.Response.ForgerProfileItem> {\n const { data } = await protectedClient.get<DataResponse<Profile.Response.ForgerProfileItem>>(URL_PATHS.AUTH.Me.PublicProfileCardById(profileId));\n return dataFromResponse(data, \"GetPublicProfileCard\");\n }\n\n async ListEmails(params: { limit?: number; offset?: number } = {}): Promise<ListDTOWithTotalNumber<Login.EmailItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Login.EmailItem>>>(URL_PATHS.AUTH.Me.Emails, { params });\n return dataFromResponse(data, \"ListEmails\");\n }\n\n async CreateEmail(body: Login.Request.CreateEmail): Promise<Login.Response.CreateEmail> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreateEmail>>(URL_PATHS.AUTH.Me.Emails, body);\n return dataFromResponse(data, \"CreateEmail\");\n }\n\n async SendEmailVerificationCode(emailId: string, body: Login.Request.SendEmailVerificationCode = {}): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.EmailSendVerificationCode(emailId), body);\n }\n\n async VerifyEmail(emailId: string, body: Login.Request.VerifyEmail): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.EmailVerify(emailId), body);\n }\n\n async UpdateEmail(emailId: string, body: Login.Request.UpdateEmail): Promise<void> {\n await protectedClient.patch(URL_PATHS.AUTH.Me.EmailById(emailId), body);\n }\n\n async SetPrimaryEmail(emailId: string): Promise<void> {\n await protectedClient.put(URL_PATHS.AUTH.Me.EmailPrimary(emailId));\n }\n\n async DeleteEmail(emailId: string): Promise<void> {\n await protectedClient.delete(URL_PATHS.AUTH.Me.EmailById(emailId));\n }\n\n async ListPhones(params: { limit?: number; offset?: number } = {}): Promise<ListDTOWithTotalNumber<Login.PhoneItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Login.PhoneItem>>>(URL_PATHS.AUTH.Me.Phones, { params });\n return dataFromResponse(data, \"ListPhones\");\n }\n\n async CreatePhone(body: Login.Request.CreatePhone): Promise<Login.Response.CreatePhone> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreatePhone>>(URL_PATHS.AUTH.Me.Phones, body);\n return dataFromResponse(data, \"CreatePhone\");\n }\n\n async SendPhoneVerificationCode(phoneId: string): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.PhoneSendVerificationCode(phoneId));\n }\n\n async VerifyPhone(phoneId: string, body: Login.Request.VerifyPhone): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.PhoneVerify(phoneId), body);\n }\n\n async UpdatePhone(phoneId: string, body: Login.Request.UpdatePhone): Promise<void> {\n await protectedClient.patch(URL_PATHS.AUTH.Me.PhoneById(phoneId), body);\n }\n\n async SetPrimaryPhone(phoneId: string): Promise<void> {\n await protectedClient.put(URL_PATHS.AUTH.Me.PhonePrimary(phoneId));\n }\n\n async DeletePhone(phoneId: string): Promise<void> {\n await protectedClient.delete(URL_PATHS.AUTH.Me.PhoneById(phoneId));\n }\n\n async SendChangePasswordVerificationCode(body: Login.Request.SendChangePasswordVerificationCode = {}): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.PasswordSendVerificationCode, body);\n }\n\n async ChangePassword(body: Login.Request.ChangePassword): Promise<void> {\n await protectedClient.put(URL_PATHS.AUTH.Me.Password, body);\n }\n\n async RefreshTokens(params: Tokens.Request.RefreshTokens): Promise<Tokens.Response.Tokens> {\n const { data } = await publicClient.post<DataResponse<Tokens.Response.Tokens>>(URL_PATHS.AUTH.Refresh, params);\n return dataFromResponse(data, \"RefreshTokens\");\n }\n\n async Logout(params: Tokens.Request.Logout): Promise<void> {\n await publicClient.post(URL_PATHS.AUTH.Logout, params);\n }\n\n async ListOwnerForgerProfiles(params: { limit?: number; offset?: number; query?: string } = {}): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>>(URL_PATHS.AUTH.Owner.ForgerProfiles, { params });\n return dataFromResponse(data, \"ListOwnerForgerProfiles\");\n }\n\n async ListOwnerAuthorityProfiles(params: { limit?: number; offset?: number; query?: string } = {}): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>>(URL_PATHS.AUTH.Owner.AuthorityProfiles, { params });\n return dataFromResponse(data, \"ListOwnerAuthorityProfiles\");\n }\n\n async UpdateAuthorityProfileRoles(profileId: string, params: Profile.Request.UpdateAuthorityProfileRoles): Promise<void> {\n await protectedClient.patch(URL_PATHS.AUTH.Owner.UpdateAuthorityProfileRoles(profileId), params);\n }\n}\n"],"mappings":";;;;AAoDA,IAAa,IAAb,MAAyD;CACvD,MAAM,qBAAqB,GAA+C;EACxE,IAAM,EAAE,YAAS,MAAM,EAA6B,IAA4B,EAAU,KAAK,QAAQ,aAAa,CAAI,CAAC;EACzH,OAAO;CACT;CAEA,MAAM,uBAAuB,GAAgD;EAC3E,IAAM,EAAE,YAAS,MAAM,EAA6B,IAA6B,EAAU,KAAK,SAAS,OAAO,CAAI,CAAC;EACrH,OAAO;CACT;CAEA,MAAM,qBAAqB,GAA4D;EACrF,MAAM,EAAa,KAAK,EAAU,KAAK,gBAAgB,CAAM;CAC/D;CAEA,MAAM,gBAAgB,GAAkF;EACtG,IAAM,EAAE,YAAS,MAAM,EAAa,KAAoD,EAAU,KAAK,iBAAiB,CAAM;EAC9H,OAAO,EAAK;CACd;CAEA,MAAM,eAAe,GAA8E;EACjG,IAAM,EAAE,YAAS,MAAM,EAAa,KAAkD,EAAU,KAAK,gBAAgB,CAAM;EAC3H,OAAO,EAAK;CACd;CAEA,MAAM,eAAe,GAA8E;EACjG,IAAM,EAAE,YAAS,MAAM,EAAa,KAAkD,EAAU,KAAK,gBAAgB,CAAM;EAC3H,OAAO,EAAK;CACd;CAEA,MAAM,cAAc,GAA4E;EAC9F,IAAM,EAAE,YAAS,MAAM,EAAgB,KAAiD,EAAU,KAAK,GAAG,eAAe,CAAM;EAC/H,OAAO,EAAiB,GAAM,eAAe;CAC/C;CAEA,MAAM,4CAAuE,GAA4C;EACvH,QAAQ,GAAR;GACE,KAAK,EAAgB,QAAQ;IAC3B,IAAM,EAAE,YAAS,MAAM,EAAgB,IACrC,EAAU,KAAK,GAAG,uCACpB;IACA,OAAO,EAAiB,GAAM,6CAA6C;GAC7E;GACA,KAAK,EAAgB,WAAW;IAC9B,IAAM,EAAE,YAAS,MAAM,EAAgB,IACrC,EAAU,KAAK,GAAG,0CACpB;IACA,OAAO,EAAiB,GAAM,6CAA6C;GAC7E;GACA,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,aAAa,GAAuB,GAAmD;EAC3F,QAAQ,GAAR;GACE,KAAK,EAAgB;IACnB,MAAM,EAAgB,MAA0B,EAAU,KAAK,GAAG,eAAe,CAAI;IACrF;GACF,KAAK,EAAgB;IACnB,MAAM,EAAgB,MAA0B,EAAU,KAAK,GAAG,kBAAkB,CAAI;IACxF;GACF,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,qBAAqB,GAAuB,GAA2D;EAC3G,QAAQ,GAAR;GACE,KAAK,EAAgB;IACnB,MAAM,EAAgB,MAA0B,EAAU,KAAK,GAAG,uBAAuB,CAAI;IAC7F;GACF,KAAK,EAAgB;IACnB,MAAM,EAAgB,MAA0B,EAAU,KAAK,GAAG,0BAA0B,CAAI;IAChG;GACF,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,qBAAqB,GAAuB,GAA2D;EAC3G,QAAQ,GAAR;GACE,KAAK,EAAgB;IACnB,MAAM,EAAgB,IAAwB,EAAU,KAAK,GAAG,sBAAsB,CAAI;IAC1F;GACF,KAAK,EAAgB;IACnB,MAAM,EAAgB,IAAwB,EAAU,KAAK,GAAG,yBAAyB,CAAI;IAC7F;GACF,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,mBAAmB,GAAsC;EAC7D,QAAQ,GAAR;GACE,KAAK,EAAgB;IACnB,MAAM,EAAgB,OAA2B,EAAU,KAAK,GAAG,oBAAoB;IACvF;GACF,KAAK,EAAgB;IACnB,MAAM,EAAgB,OAA2B,EAAU,KAAK,GAAG,uBAAuB;IAC1F;GACF,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,0BAA0B,GAAuB,GAAgE;EACrH,QAAQ,GAAR;GACE,KAAK,EAAgB;IACnB,MAAM,EAAgB,IAAwB,EAAU,KAAK,GAAG,0BAA0B,CAAI;IAC9F;GACF,KAAK,EAAgB;IACnB,MAAM,EAAgB,IAAwB,EAAU,KAAK,GAAG,6BAA6B,CAAI;IACjG;GACF,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,aAAwC,GAAS,IAA8C,CAAC,GAAmE;EACvK,QAAQ,GAAR;GACE,KAAK,EAAgB,QAAQ;IAC3B,IAAM,EAAE,YAAS,MAAM,EAAgB,IAA8E,EAAU,KAAK,GAAG,UAAU,EAAE,UAAO,CAAC;IAC3J,OAAO,EAAiB,GAAM,cAAc;GAC9C;GACA,KAAK,EAAgB,WAAW;IAC9B,IAAM,EAAE,YAAS,MAAM,EAAgB,IAAiF,EAAU,KAAK,GAAG,mBAAmB,EAAE,UAAO,CAAC;IACvK,OAAO,EAAiB,GAAM,cAAc;GAC9C;GACA,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,cAAc,GAAuB,GAAkC;EAC3E,QAAQ,GAAR;GACE,KAAK,EAAgB;IACnB,MAAM,EAAgB,OAA2B,EAAU,KAAK,GAAG,YAAY,CAAS,CAAC;IACzF;GACF,KAAK,EAAgB;IACnB,MAAM,EAAgB,OAA2B,EAAU,KAAK,GAAG,qBAAqB,CAAS,CAAC;IAClG;GACF,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,iBAAiB,GAAuB,GAAmC;EAC/E,QAAQ,GAAR;GACE,KAAK,EAAgB;IACnB,MAAM,EAAgB,IAAwB,EAAU,KAAK,GAAG,yBAAyB,EAAE,cAAW,CAAC;IACvG;GACF,KAAK,EAAgB;IACnB,MAAM,EAAgB,IAAwB,EAAU,KAAK,GAAG,4BAA4B,EAAE,cAAW,CAAC;IAC1G;GACF,SACE,MAAU,MAAM,sBAAsB;EAC1C;CACF;CAEA,MAAM,oBAAoB,GAAsF;EAC9G,IAAM,EAAE,YAAS,MAAM,EAAgB,KAAuD,EAAU,KAAK,GAAG,UAAU,CAAI;EAC9H,OAAO,EAAiB,GAAM,qBAAqB;CACrD;CAEA,MAAM,uBAAuB,GAA4F;EACvH,IAAM,EAAE,YAAS,MAAM,EAAgB,KAA0D,EAAU,KAAK,GAAG,mBAAmB,CAAI;EAC1I,OAAO,EAAiB,GAAM,wBAAwB;CACxD;CAEA,MAAM,qBAAqB,GAA6G;EACtI,IAAM,EAAE,YAAS,MAAM,EAAgB,KAA+E,EAAU,KAAK,GAAG,sBAAsB,CAAM;EACpK,OAAO,EAAiB,GAAM,sBAAsB;CACtD;CAEA,MAAM,wBAAwB,GAAgH;EAC5I,IAAM,EAAE,YAAS,MAAM,EAAgB,KAAkF,EAAU,KAAK,GAAG,yBAAyB,CAAM;EAC1K,OAAO,EAAiB,GAAM,yBAAyB;CACzD;CAEA,MAAM,qBAAqB,GAAgE;EACzF,IAAM,EAAE,YAAS,MAAM,EAAgB,IAAsD,EAAU,KAAK,GAAG,sBAAsB,CAAS,CAAC;EAC/I,OAAO,EAAiB,GAAM,sBAAsB;CACtD;CAEA,MAAM,WAAW,IAA8C,CAAC,GAAqD;EACnH,IAAM,EAAE,YAAS,MAAM,EAAgB,IAA2D,EAAU,KAAK,GAAG,QAAQ,EAAE,UAAO,CAAC;EACtI,OAAO,EAAiB,GAAM,YAAY;CAC5C;CAEA,MAAM,YAAY,GAAsE;EACtF,IAAM,EAAE,YAAS,MAAM,EAAgB,KAA+C,EAAU,KAAK,GAAG,QAAQ,CAAI;EACpH,OAAO,EAAiB,GAAM,aAAa;CAC7C;CAEA,MAAM,0BAA0B,GAAiB,IAAgD,CAAC,GAAkB;EAClH,MAAM,EAAgB,KAAK,EAAU,KAAK,GAAG,0BAA0B,CAAO,GAAG,CAAI;CACvF;CAEA,MAAM,YAAY,GAAiB,GAAgD;EACjF,MAAM,EAAgB,KAAK,EAAU,KAAK,GAAG,YAAY,CAAO,GAAG,CAAI;CACzE;CAEA,MAAM,YAAY,GAAiB,GAAgD;EACjF,MAAM,EAAgB,MAAM,EAAU,KAAK,GAAG,UAAU,CAAO,GAAG,CAAI;CACxE;CAEA,MAAM,gBAAgB,GAAgC;EACpD,MAAM,EAAgB,IAAI,EAAU,KAAK,GAAG,aAAa,CAAO,CAAC;CACnE;CAEA,MAAM,YAAY,GAAgC;EAChD,MAAM,EAAgB,OAAO,EAAU,KAAK,GAAG,UAAU,CAAO,CAAC;CACnE;CAEA,MAAM,WAAW,IAA8C,CAAC,GAAqD;EACnH,IAAM,EAAE,YAAS,MAAM,EAAgB,IAA2D,EAAU,KAAK,GAAG,QAAQ,EAAE,UAAO,CAAC;EACtI,OAAO,EAAiB,GAAM,YAAY;CAC5C;CAEA,MAAM,YAAY,GAAsE;EACtF,IAAM,EAAE,YAAS,MAAM,EAAgB,KAA+C,EAAU,KAAK,GAAG,QAAQ,CAAI;EACpH,OAAO,EAAiB,GAAM,aAAa;CAC7C;CAEA,MAAM,0BAA0B,GAAgC;EAC9D,MAAM,EAAgB,KAAK,EAAU,KAAK,GAAG,0BAA0B,CAAO,CAAC;CACjF;CAEA,MAAM,YAAY,GAAiB,GAAgD;EACjF,MAAM,EAAgB,KAAK,EAAU,KAAK,GAAG,YAAY,CAAO,GAAG,CAAI;CACzE;CAEA,MAAM,YAAY,GAAiB,GAAgD;EACjF,MAAM,EAAgB,MAAM,EAAU,KAAK,GAAG,UAAU,CAAO,GAAG,CAAI;CACxE;CAEA,MAAM,gBAAgB,GAAgC;EACpD,MAAM,EAAgB,IAAI,EAAU,KAAK,GAAG,aAAa,CAAO,CAAC;CACnE;CAEA,MAAM,YAAY,GAAgC;EAChD,MAAM,EAAgB,OAAO,EAAU,KAAK,GAAG,UAAU,CAAO,CAAC;CACnE;CAEA,MAAM,mCAAmC,IAAyD,CAAC,GAAkB;EACnH,MAAM,EAAgB,KAAK,EAAU,KAAK,GAAG,8BAA8B,CAAI;CACjF;CAEA,MAAM,eAAe,GAAmD;EACtE,MAAM,EAAgB,IAAI,EAAU,KAAK,GAAG,UAAU,CAAI;CAC5D;CAEA,MAAM,cAAc,GAAuE;EACzF,IAAM,EAAE,YAAS,MAAM,EAAa,KAA2C,EAAU,KAAK,SAAS,CAAM;EAC7G,OAAO,EAAiB,GAAM,eAAe;CAC/C;CAEA,MAAM,OAAO,GAA8C;EACzD,MAAM,EAAa,KAAK,EAAU,KAAK,QAAQ,CAAM;CACvD;CAEA,MAAM,wBAAwB,IAA8D,CAAC,GAAwE;EACnK,IAAM,EAAE,YAAS,MAAM,EAAgB,IAA8E,EAAU,KAAK,MAAM,gBAAgB,EAAE,UAAO,CAAC;EACpK,OAAO,EAAiB,GAAM,yBAAyB;CACzD;CAEA,MAAM,2BAA2B,IAA8D,CAAC,GAA2E;EACzK,IAAM,EAAE,YAAS,MAAM,EAAgB,IAAiF,EAAU,KAAK,MAAM,mBAAmB,EAAE,UAAO,CAAC;EAC1K,OAAO,EAAiB,GAAM,4BAA4B;CAC5D;CAEA,MAAM,4BAA4B,GAAmB,GAAoE;EACvH,MAAM,EAAgB,MAAM,EAAU,KAAK,MAAM,4BAA4B,CAAS,GAAG,CAAM;CACjG;AACF"}
1
+ {"version":3,"file":"AuthRepository.js","names":[],"sources":["../../../src/apis/repositories/AuthRepository.ts"],"sourcesContent":["import type { DataResponse, FullAccountInfoByKind, ListDTOWithTotalNumber, Login, Profile, ProfileItemsByKind, Signup, Tokens } from \"nfx-ui/types\";\n\nimport { ProfileKindEnum } from \"nfx-ui/enums\";\n\nimport { protectedClient, publicClient, publicClientWithoutTransform } from \"../clients\";\nimport { dataFromResponse, URL_PATHS } from \"../ip\";\n\nexport interface AuthRepository {\n GetErrorTranslations(lang: string): Promise<Record<string, string>>;\n GetMessageTranslations(lang: string): Promise<Record<string, unknown>>;\n SendVerificationCode(params: Signup.Request.SendVerificationCode): Promise<void>;\n SignupWithEmail(params: Signup.Request.SignupWithEmail): Promise<Signup.Response.SignupWithEmail>;\n LoginWithEmail(params: Login.Request.LoginWithEmail): Promise<Login.Response.LoginWithEmail>;\n LoginWithPhone(params: Login.Request.LoginWithPhone): Promise<Login.Response.LoginWithPhone>;\n SelectProfile(params: Login.Request.SelectProfile): Promise<Login.Response.SelectProfile>;\n GetCurrentFullAccountInformationWithProfile<K extends ProfileKindEnum>(kind: K): Promise<FullAccountInfoByKind<K>>;\n PatchProfile(kind: ProfileKindEnum, body: Profile.Request.PatchProfile): Promise<void>;\n PatchProfileSettings(kind: ProfileKindEnum, body: Profile.Request.PatchProfileSettings): Promise<void>;\n ConfirmProfileAvatar(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileAvatar): Promise<void>;\n ClearProfileAvatar(kind: ProfileKindEnum): Promise<void>;\n ConfirmProfileBackgrounds(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileBackgrounds): Promise<void>;\n ListProfiles<K extends ProfileKindEnum>(kind: K, params?: { limit?: number; offset?: number }): Promise<ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>>;\n DeleteProfile(kind: ProfileKindEnum, profileId: string): Promise<void>;\n UpdatePreference(kind: ProfileKindEnum, preference: string): Promise<void>;\n CreateForgerProfile(body: Login.Request.CreateForgerProfile): Promise<Login.Response.CreateForgerProfile>;\n CreateAuthorityProfile(body: Login.Request.CreateAuthorityProfile): Promise<Login.Response.CreateAuthorityProfile>;\n SearchForgerProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>;\n SearchAuthorityProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>;\n GetPublicProfileCard(profileId: string): Promise<Profile.Response.ForgerProfileItem>;\n ListEmails(params?: { limit?: number; offset?: number }): Promise<ListDTOWithTotalNumber<Login.EmailItem>>;\n CreateEmail(body: Login.Request.CreateEmail): Promise<Login.Response.CreateEmail>;\n SendEmailVerificationCode(emailId: string, body?: Login.Request.SendEmailVerificationCode): Promise<void>;\n VerifyEmail(emailId: string, body: Login.Request.VerifyEmail): Promise<void>;\n UpdateEmail(emailId: string, body: Login.Request.UpdateEmail): Promise<void>;\n SetPrimaryEmail(emailId: string): Promise<void>;\n DeleteEmail(emailId: string): Promise<void>;\n ListPhones(params?: { limit?: number; offset?: number }): Promise<ListDTOWithTotalNumber<Login.PhoneItem>>;\n CreatePhone(body: Login.Request.CreatePhone): Promise<Login.Response.CreatePhone>;\n SendPhoneVerificationCode(phoneId: string): Promise<void>;\n VerifyPhone(phoneId: string, body: Login.Request.VerifyPhone): Promise<void>;\n UpdatePhone(phoneId: string, body: Login.Request.UpdatePhone): Promise<void>;\n SetPrimaryPhone(phoneId: string): Promise<void>;\n DeletePhone(phoneId: string): Promise<void>;\n SendChangePasswordVerificationCode(body?: Login.Request.SendChangePasswordVerificationCode): Promise<void>;\n ChangePassword(body: Login.Request.ChangePassword): Promise<void>;\n RefreshTokens(params: Tokens.Request.RefreshTokens): Promise<Tokens.Response.Tokens>;\n Logout(params: Tokens.Request.Logout): Promise<void>;\n ListOwnerForgerProfiles(params?: { limit?: number; offset?: number; query?: string }): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>;\n ListOwnerAuthorityProfiles(params?: { limit?: number; offset?: number; query?: string }): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>;\n UpdateAuthorityProfileRoles(profileId: string, params: Profile.Request.UpdateAuthorityProfileRoles): Promise<void>;\n}\n\nexport class ApiAuthRepository implements AuthRepository {\n async GetErrorTranslations(lang: string): Promise<Record<string, string>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, string>>(URL_PATHS.AUTH.Locales.errorsByLang(lang));\n return data;\n }\n\n async GetMessageTranslations(lang: string): Promise<Record<string, unknown>> {\n const { data } = await publicClientWithoutTransform.get<Record<string, unknown>>(URL_PATHS.AUTH.Messages.byLang(lang));\n return data;\n }\n\n async SendVerificationCode(params: Signup.Request.SendVerificationCode): Promise<void> {\n await publicClient.post(URL_PATHS.AUTH.SignupSendCode, params);\n }\n\n async SignupWithEmail(params: Signup.Request.SignupWithEmail): Promise<Signup.Response.SignupWithEmail> {\n const { data } = await publicClient.post<DataResponse<Signup.Response.SignupWithEmail>>(URL_PATHS.AUTH.SignupWithEmail, params);\n return data.data;\n }\n\n async LoginWithEmail(params: Login.Request.LoginWithEmail): Promise<Login.Response.LoginWithEmail> {\n const { data } = await publicClient.post<DataResponse<Login.Response.LoginWithEmail>>(URL_PATHS.AUTH.LoginWithEmail, params);\n return data.data;\n }\n\n async LoginWithPhone(params: Login.Request.LoginWithPhone): Promise<Login.Response.LoginWithPhone> {\n const { data } = await publicClient.post<DataResponse<Login.Response.LoginWithPhone>>(URL_PATHS.AUTH.LoginWithPhone, params);\n return data.data;\n }\n\n async SelectProfile(params: Login.Request.SelectProfile): Promise<Login.Response.SelectProfile> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.SelectProfile>>(URL_PATHS.AUTH.Me.SelectProfile, params);\n return dataFromResponse(data, \"SelectProfile\");\n }\n\n async GetCurrentFullAccountInformationWithProfile<K extends ProfileKindEnum>(kind: K): Promise<FullAccountInfoByKind<K>> {\n switch (kind) {\n case ProfileKindEnum.FORGER: {\n const { data } = await protectedClient.get<DataResponse<Profile.Response.FullAccountInformationWithForgerProfile>>(\n URL_PATHS.AUTH.Me.FullAccountInformationWithForgerProfile,\n );\n return dataFromResponse(data, \"GetCurrentFullAccountInformationWithProfile\") as FullAccountInfoByKind<K>;\n }\n case ProfileKindEnum.AUTHORITY: {\n const { data } = await protectedClient.get<DataResponse<Profile.Response.FullAccountInformationWithAuthorityProfile>>(\n URL_PATHS.AUTH.Me.FullAccountInformationWithAuthorityProfile,\n );\n return dataFromResponse(data, \"GetCurrentFullAccountInformationWithProfile\") as FullAccountInfoByKind<K>;\n }\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async PatchProfile(kind: ProfileKindEnum, body: Profile.Request.PatchProfile): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfile, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfile, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async PatchProfileSettings(kind: ProfileKindEnum, body: Profile.Request.PatchProfileSettings): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileSettings, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.patch<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileSettings, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ConfirmProfileAvatar(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileAvatar): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileAvatars, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileAvatars, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ClearProfileAvatar(kind: ProfileKindEnum): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileAvatars);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileAvatars);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ConfirmProfileBackgrounds(kind: ProfileKindEnum, body: Profile.Request.ConfirmProfileBackgrounds): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfileBackgrounds, body);\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileBackgrounds, body);\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async ListProfiles<K extends ProfileKindEnum>(kind: K, params: { limit?: number; offset?: number } = {}): Promise<ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>> {\n switch (kind) {\n case ProfileKindEnum.FORGER: {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>>(URL_PATHS.AUTH.Me.Profiles, { params });\n return dataFromResponse(data, \"ListProfiles\") as ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>;\n }\n case ProfileKindEnum.AUTHORITY: {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>>(URL_PATHS.AUTH.Me.AuthorityProfiles, { params });\n return dataFromResponse(data, \"ListProfiles\") as ListDTOWithTotalNumber<ProfileItemsByKind<K>[number]>;\n }\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async DeleteProfile(kind: ProfileKindEnum, profileId: string): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.ProfileById(profileId));\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.delete<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfileById(profileId));\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async UpdatePreference(kind: ProfileKindEnum, preference: string): Promise<void> {\n switch (kind) {\n case ProfileKindEnum.FORGER:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.ForgerProfilePreference, { preference });\n return;\n case ProfileKindEnum.AUTHORITY:\n await protectedClient.put<DataResponse<null>>(URL_PATHS.AUTH.Me.AuthorityProfilePreference, { preference });\n return;\n default:\n throw new Error(\"Invalid profile kind\");\n }\n }\n\n async CreateForgerProfile(body: Login.Request.CreateForgerProfile): Promise<Login.Response.CreateForgerProfile> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreateForgerProfile>>(URL_PATHS.AUTH.Me.Profiles, body);\n return dataFromResponse(data, \"CreateForgerProfile\");\n }\n\n async CreateAuthorityProfile(body: Login.Request.CreateAuthorityProfile): Promise<Login.Response.CreateAuthorityProfile> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreateAuthorityProfile>>(URL_PATHS.AUTH.Me.AuthorityProfiles, body);\n return dataFromResponse(data, \"CreateAuthorityProfile\");\n }\n\n async SearchForgerProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>> {\n const { data } = await protectedClient.post<DataResponse<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>>(URL_PATHS.AUTH.Me.SearchForgerProfiles, params);\n return dataFromResponse(data, \"SearchForgerProfiles\");\n }\n\n async SearchAuthorityProfiles(params: Profile.Request.SearchProfiles): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>> {\n const { data } = await protectedClient.post<DataResponse<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>>(URL_PATHS.AUTH.Me.SearchAuthorityProfiles, params);\n return dataFromResponse(data, \"SearchAuthorityProfiles\");\n }\n\n async GetPublicProfileCard(profileId: string): Promise<Profile.Response.ForgerProfileItem> {\n const { data } = await protectedClient.get<DataResponse<Profile.Response.ForgerProfileItem>>(URL_PATHS.AUTH.Me.PublicProfileCardById(profileId));\n return dataFromResponse(data, \"GetPublicProfileCard\");\n }\n\n async ListEmails(params: { limit?: number; offset?: number } = {}): Promise<ListDTOWithTotalNumber<Login.EmailItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Login.EmailItem>>>(URL_PATHS.AUTH.Me.Emails, { params });\n return dataFromResponse(data, \"ListEmails\");\n }\n\n async CreateEmail(body: Login.Request.CreateEmail): Promise<Login.Response.CreateEmail> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreateEmail>>(URL_PATHS.AUTH.Me.Emails, body);\n return dataFromResponse(data, \"CreateEmail\");\n }\n\n async SendEmailVerificationCode(emailId: string, body: Login.Request.SendEmailVerificationCode = {}): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.EmailSendVerificationCode(emailId), body);\n }\n\n async VerifyEmail(emailId: string, body: Login.Request.VerifyEmail): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.EmailVerify(emailId), body);\n }\n\n async UpdateEmail(emailId: string, body: Login.Request.UpdateEmail): Promise<void> {\n await protectedClient.patch(URL_PATHS.AUTH.Me.EmailById(emailId), body);\n }\n\n async SetPrimaryEmail(emailId: string): Promise<void> {\n await protectedClient.put(URL_PATHS.AUTH.Me.EmailPrimary(emailId));\n }\n\n async DeleteEmail(emailId: string): Promise<void> {\n await protectedClient.delete(URL_PATHS.AUTH.Me.EmailById(emailId));\n }\n\n async ListPhones(params: { limit?: number; offset?: number } = {}): Promise<ListDTOWithTotalNumber<Login.PhoneItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Login.PhoneItem>>>(URL_PATHS.AUTH.Me.Phones, { params });\n return dataFromResponse(data, \"ListPhones\");\n }\n\n async CreatePhone(body: Login.Request.CreatePhone): Promise<Login.Response.CreatePhone> {\n const { data } = await protectedClient.post<DataResponse<Login.Response.CreatePhone>>(URL_PATHS.AUTH.Me.Phones, body);\n return dataFromResponse(data, \"CreatePhone\");\n }\n\n async SendPhoneVerificationCode(phoneId: string): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.PhoneSendVerificationCode(phoneId));\n }\n\n async VerifyPhone(phoneId: string, body: Login.Request.VerifyPhone): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.PhoneVerify(phoneId), body);\n }\n\n async UpdatePhone(phoneId: string, body: Login.Request.UpdatePhone): Promise<void> {\n await protectedClient.patch(URL_PATHS.AUTH.Me.PhoneById(phoneId), body);\n }\n\n async SetPrimaryPhone(phoneId: string): Promise<void> {\n await protectedClient.put(URL_PATHS.AUTH.Me.PhonePrimary(phoneId));\n }\n\n async DeletePhone(phoneId: string): Promise<void> {\n await protectedClient.delete(URL_PATHS.AUTH.Me.PhoneById(phoneId));\n }\n\n async SendChangePasswordVerificationCode(body: Login.Request.SendChangePasswordVerificationCode = {}): Promise<void> {\n await protectedClient.post(URL_PATHS.AUTH.Me.PasswordSendVerificationCode, body);\n }\n\n async ChangePassword(body: Login.Request.ChangePassword): Promise<void> {\n await protectedClient.put(URL_PATHS.AUTH.Me.Password, body);\n }\n\n async RefreshTokens(params: Tokens.Request.RefreshTokens): Promise<Tokens.Response.Tokens> {\n const { data } = await publicClient.post<DataResponse<Tokens.Response.Tokens>>(URL_PATHS.AUTH.Refresh, params);\n return dataFromResponse(data, \"RefreshTokens\");\n }\n\n async Logout(params: Tokens.Request.Logout): Promise<void> {\n await publicClient.post(URL_PATHS.AUTH.Logout, params);\n }\n\n async ListOwnerForgerProfiles(params: { limit?: number; offset?: number; query?: string } = {}): Promise<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.ForgerProfileItem>>>(URL_PATHS.AUTH.Owner.ForgerProfiles, { params });\n return dataFromResponse(data, \"ListOwnerForgerProfiles\");\n }\n\n async ListOwnerAuthorityProfiles(params: { limit?: number; offset?: number; query?: string } = {}): Promise<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>> {\n const { data } = await protectedClient.get<DataResponse<ListDTOWithTotalNumber<Profile.Response.AuthorityProfileItem>>>(URL_PATHS.AUTH.Owner.AuthorityProfiles, { params });\n return dataFromResponse(data, \"ListOwnerAuthorityProfiles\");\n }\n\n async UpdateAuthorityProfileRoles(profileId: string, params: Profile.Request.UpdateAuthorityProfileRoles): Promise<void> {\n await protectedClient.patch(URL_PATHS.AUTH.Owner.UpdateAuthorityProfileRoles(profileId), params);\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","names":[],"sources":["../../src/config/env.ts"],"sourcesContent":["import { safeOr, safeStringable } from \"@/utils/safe\";\n\nfunction resolveApiUrl(): string {\n const raw = safeStringable(import.meta.env.VITE_API_URL).trim();\n if (raw === \"\") {\n if (import.meta.env.DEV) {\n throw new Error(\"[env] 请在 .env(secure 时 .secure.env)中设置 VITE_API_URL(主 API 根地址)。\");\n }\n return \"\";\n }\n return raw.replace(/\\/$/, \"\");\n}\n\nexport const appEnv = {\n buildEnv: import.meta.env.VITE_BUILD_ENV,\n appId: import.meta.env.VITE_APP_ID,\n name: safeOr(import.meta.env.VITE_NAME, \"NFX\"),\n apiUrl: resolveApiUrl(),\n devApiProxyTarget: import.meta.env.VITE_DEV_API_PROXY_TARGET,\n} as const;\n\nexport const APP_NAME = appEnv.name;\n"],"mappings":";;AAEA,SAAS,IAAwB;CAC/B,IAAM,IAAM,EAAA,KAAA,CAA2C,CAAC,CAAC,KAAK;CAO9D,OANI,MAAQ,KAIH,KAEF,EAAI,QAAQ,OAAO,EAAE;AAC9B;AAEA,IAAa,IAAS;CACpB,UAAA,KAAA;CACA,OAAA,KAAA;CACA,MAAM,EAAA,KAAA,GAAkC,KAAK;CAC7C,QAAQ,EAAc;CACtB,mBAAA,KAAA;AACF,GAEa,IAAW,EAAO"}
1
+ {"version":3,"file":"env.js","names":[],"sources":["../../src/config/env.ts"],"sourcesContent":["import { safeOr, safeStringable } from \"nfx-ui/utils/safe\";\n\nfunction resolveApiUrl(): string {\n const raw = safeStringable(import.meta.env.VITE_API_URL).trim();\n if (raw === \"\") {\n if (import.meta.env.DEV) {\n throw new Error(\"[env] 请在 .env(secure 时 .secure.env)中设置 VITE_API_URL(主 API 根地址)。\");\n }\n return \"\";\n }\n return raw.replace(/\\/$/, \"\");\n}\n\nexport const appEnv = {\n buildEnv: import.meta.env.VITE_BUILD_ENV,\n appId: import.meta.env.VITE_APP_ID,\n name: safeOr(import.meta.env.VITE_NAME, \"NFX\"),\n apiUrl: resolveApiUrl(),\n devApiProxyTarget: import.meta.env.VITE_DEV_API_PROXY_TARGET,\n} as const;\n\nexport const APP_NAME = appEnv.name;\n"],"mappings":";;AAEA,SAAS,IAAwB;CAC/B,IAAM,IAAM,EAAA,KAAA,CAA2C,CAAC,CAAC,KAAK;CAO9D,OANI,MAAQ,KAIH,KAEF,EAAI,QAAQ,OAAO,EAAE;AAC9B;AAEA,IAAa,IAAS;CACpB,UAAA,KAAA;CACA,OAAA,KAAA;CACA,MAAM,EAAA,KAAA,GAAkC,KAAK;CAC7C,QAAQ,EAAc;CACtB,mBAAA,KAAA;AACF,GAEa,IAAW,EAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/constants/key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,QAAiB,CAAC;AAC9D,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAsB,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,QAA8B,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAmC,CAAC;AAElG,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAiD,CAAC;AACrG,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,MAAM,eAAe,KAAG,QAAwD,CAAC;AAC5H,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC;AAC3F,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/constants/key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,QAAiB,CAAC;AAC9D,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAsB,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,QAA8B,CAAC;AAChF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAmC,CAAC;AAElG,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,QAAiD,CAAC;AACrG,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,MAAM,eAAe,KAAG,QAAwD,CAAC;AAC5H,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC;AAC3F,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,QAAgD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","names":[],"sources":["../../src/constants/key.ts"],"sourcesContent":["import type { QueryKey } from \"@tanstack/react-query\";\n\nimport { ProfileKindEnum } from \"@/enums\";\n\nconst DOMAIN_AUTH = \"auth\";\n\nexport const ACCOUNT_SCOPE = (aID: string): QueryKey => [aID];\nexport const PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID];\nexport const AUTH_ACCOUNT_SCOPE = (aID: string): QueryKey => [aID, DOMAIN_AUTH];\nexport const AUTH_PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH];\n\nexport const AUTH_ME = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH, \"item\", \"me\"];\nexport const AUTH_PROFILES = (aID: string, kind: ProfileKindEnum): QueryKey => [aID, DOMAIN_AUTH, kind, \"list\", \"profiles\"];\nexport const AUTH_EMAILS = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"emails\"];\nexport const AUTH_PHONES = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"phones\"];\n"],"mappings":";AAIA,IAAM,IAAc,QAEP,KAAiB,MAA0B,CAAC,CAAG,GAC/C,KAAiB,GAAa,MAA0B,CAAC,GAAK,CAAG,GACjE,KAAsB,MAA0B,CAAC,GAAK,CAAW,GACjE,KAAsB,GAAa,MAA0B;CAAC;CAAK;CAAK;AAAW,GAEnF,KAAW,GAAa,MAA0B;CAAC;CAAK;CAAK;CAAa;CAAQ;AAAI,GACtF,KAAiB,GAAa,MAAoC;CAAC;CAAK;CAAa;CAAM;CAAQ;AAAU,GAC7G,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ,GAC5E,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ"}
1
+ {"version":3,"file":"key.js","names":[],"sources":["../../src/constants/key.ts"],"sourcesContent":["import type { QueryKey } from \"@tanstack/react-query\";\n\nimport { ProfileKindEnum } from \"nfx-ui/enums\";\n\nconst DOMAIN_AUTH = \"auth\";\n\nexport const ACCOUNT_SCOPE = (aID: string): QueryKey => [aID];\nexport const PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID];\nexport const AUTH_ACCOUNT_SCOPE = (aID: string): QueryKey => [aID, DOMAIN_AUTH];\nexport const AUTH_PROFILE_SCOPE = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH];\n\nexport const AUTH_ME = (aID: string, pID: string): QueryKey => [aID, pID, DOMAIN_AUTH, \"item\", \"me\"];\nexport const AUTH_PROFILES = (aID: string, kind: ProfileKindEnum): QueryKey => [aID, DOMAIN_AUTH, kind, \"list\", \"profiles\"];\nexport const AUTH_EMAILS = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"emails\"];\nexport const AUTH_PHONES = (aID: string): QueryKey => [aID, DOMAIN_AUTH, \"list\", \"phones\"];\n"],"mappings":";AAIA,IAAM,IAAc,QAEP,KAAiB,MAA0B,CAAC,CAAG,GAC/C,KAAiB,GAAa,MAA0B,CAAC,GAAK,CAAG,GACjE,KAAsB,MAA0B,CAAC,GAAK,CAAW,GACjE,KAAsB,GAAa,MAA0B;CAAC;CAAK;CAAK;AAAW,GAEnF,KAAW,GAAa,MAA0B;CAAC;CAAK;CAAK;CAAa;CAAQ;AAAI,GACtF,KAAiB,GAAa,MAAoC;CAAC;CAAK;CAAa;CAAM;CAAQ;AAAU,GAC7G,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ,GAC5E,KAAe,MAA0B;CAAC;CAAK;CAAa;CAAQ;AAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"querykeys.js","names":[],"sources":["../../src/constants/querykeys.ts"],"sourcesContent":["/**\n * 通用 React Query key 工厂(公用包层)\n * Universal React Query key factories for shared use.\n *\n * @example\n * ```ts\n * import { createListKey, createItemKey } from \"@/constants\";\n *\n * const CATALOG_CATEGORY_LIST = createListKey(\"catalog\", \"category\");\n * const CATALOG_CATEGORY = createItemKey(\"catalog\", \"category\");\n *\n * useQuery({ queryKey: CATALOG_CATEGORY_LIST, queryFn: ... });\n * useQuery({ queryKey: CATALOG_CATEGORY(id), queryFn: ... });\n * ```\n */\nimport type { QueryKey } from \"@tanstack/react-query\";\nimport type { ItemKeyChainable } from \"./query.itemkeys\";\nimport type { ListKeyChainable } from \"./query.listkeys\";\n\nimport { createItemKey } from \"./query.itemkeys\";\nimport { createListKey } from \"./query.listkeys\";\n\n/** 含 list / item 且可链式 withPrefix 的 bundle 类型 */\ntype QueryKeysBundle = {\n list: ListKeyChainable;\n item: ItemKeyChainable;\n withPrefix(...prefix: unknown[]): QueryKeysBundle;\n};\n\nfunction createQueryKeysBundle(list: ListKeyChainable, item: ItemKeyChainable): QueryKeysBundle {\n return {\n list,\n item,\n withPrefix(...prefix: unknown[]) {\n return createQueryKeysBundle(list.withPrefix(...prefix), item.withPrefix(...prefix));\n },\n };\n}\n\n/**\n * 创建自定义 query key(任意片段,用于 stats 等)\n * Creates a custom query key from arbitrary segments (e.g. for stats).\n *\n * @param segments - 任意片段(字符串或其它)。Arbitrary segments (strings or other).\n * @returns 由片段组成的 query key。Query key composed of the segments.\n * @example\n * ```ts\n * const key = createKey(\"catalog\", \"stats\", \"category\", \"count\");\n * * key => [\"catalog\", \"stats\", \"category\", \"count\"]\n * ```\n */\nfunction createKey(...segments: unknown[]): QueryKey {\n return segments;\n}\n\n/**\n * 根据同一 domain + subDomain 生成 list key 与 item key 工厂\n * Returns both list key and item key factory for the given domain and subDomain.\n *\n * @param domain - 域名。Domain name (e.g. \"catalog\", \"auth\").\n * @param subDomain - 子域。Sub-domain (e.g. \"category\", \"product\").\n * @returns 含 list、item 及 withPrefix 的 bundle,可链式加前缀。Bundle with list, item, and chainable withPrefix.\n * @example\n * ```ts\n * const { list, item } = createQueryKeys(\"catalog\", \"category\");\n * * list => [\"catalog\", \"list\", \"category\"]\n * * item(\"id-1\") => [\"catalog\", \"item\", \"category\", \"id-1\"]\n * const withApi = createQueryKeys(\"catalog\", \"category\").withPrefix(\"api\");\n * * withApi.list => [\"api\", \"catalog\", \"list\", \"category\"]\n * * withApi.item(\"id-1\") => [\"api\", \"catalog\", \"item\", \"category\", \"id-1\"]\n * ```\n */\nfunction createQueryKeys(domain: string, subDomain: string): QueryKeysBundle {\n return createQueryKeysBundle(createListKey(domain, subDomain), createItemKey(domain, subDomain));\n}\n\nexport { createKey, createQueryKeys };\nexport type { QueryKeysBundle };\n"],"mappings":";;;AA6BA,SAAS,EAAsB,GAAwB,GAAyC;CAC9F,OAAO;EACL;EACA;EACA,WAAW,GAAG,GAAmB;GAC/B,OAAO,EAAsB,EAAK,WAAW,GAAG,CAAM,GAAG,EAAK,WAAW,GAAG,CAAM,CAAC;EACrF;CACF;AACF;AAcA,SAAS,EAAU,GAAG,GAA+B;CACnD,OAAO;AACT;AAmBA,SAAS,EAAgB,GAAgB,GAAoC;CAC3E,OAAO,EAAsB,EAAc,GAAQ,CAAS,GAAG,EAAc,GAAQ,CAAS,CAAC;AACjG"}
1
+ {"version":3,"file":"querykeys.js","names":[],"sources":["../../src/constants/querykeys.ts"],"sourcesContent":["/**\n * 通用 React Query key 工厂(公用包层)\n * Universal React Query key factories for shared use.\n *\n * @example\n * ```ts\n * import { createListKey, createItemKey } from \"nfx-ui/constants\";\n *\n * const CATALOG_CATEGORY_LIST = createListKey(\"catalog\", \"category\");\n * const CATALOG_CATEGORY = createItemKey(\"catalog\", \"category\");\n *\n * useQuery({ queryKey: CATALOG_CATEGORY_LIST, queryFn: ... });\n * useQuery({ queryKey: CATALOG_CATEGORY(id), queryFn: ... });\n * ```\n */\nimport type { QueryKey } from \"@tanstack/react-query\";\nimport type { ItemKeyChainable } from \"./query.itemkeys\";\nimport type { ListKeyChainable } from \"./query.listkeys\";\n\nimport { createItemKey } from \"./query.itemkeys\";\nimport { createListKey } from \"./query.listkeys\";\n\n/** 含 list / item 且可链式 withPrefix 的 bundle 类型 */\ntype QueryKeysBundle = {\n list: ListKeyChainable;\n item: ItemKeyChainable;\n withPrefix(...prefix: unknown[]): QueryKeysBundle;\n};\n\nfunction createQueryKeysBundle(list: ListKeyChainable, item: ItemKeyChainable): QueryKeysBundle {\n return {\n list,\n item,\n withPrefix(...prefix: unknown[]) {\n return createQueryKeysBundle(list.withPrefix(...prefix), item.withPrefix(...prefix));\n },\n };\n}\n\n/**\n * 创建自定义 query key(任意片段,用于 stats 等)\n * Creates a custom query key from arbitrary segments (e.g. for stats).\n *\n * @param segments - 任意片段(字符串或其它)。Arbitrary segments (strings or other).\n * @returns 由片段组成的 query key。Query key composed of the segments.\n * @example\n * ```ts\n * const key = createKey(\"catalog\", \"stats\", \"category\", \"count\");\n * * key => [\"catalog\", \"stats\", \"category\", \"count\"]\n * ```\n */\nfunction createKey(...segments: unknown[]): QueryKey {\n return segments;\n}\n\n/**\n * 根据同一 domain + subDomain 生成 list key 与 item key 工厂\n * Returns both list key and item key factory for the given domain and subDomain.\n *\n * @param domain - 域名。Domain name (e.g. \"catalog\", \"auth\").\n * @param subDomain - 子域。Sub-domain (e.g. \"category\", \"product\").\n * @returns 含 list、item 及 withPrefix 的 bundle,可链式加前缀。Bundle with list, item, and chainable withPrefix.\n * @example\n * ```ts\n * const { list, item } = createQueryKeys(\"catalog\", \"category\");\n * * list => [\"catalog\", \"list\", \"category\"]\n * * item(\"id-1\") => [\"catalog\", \"item\", \"category\", \"id-1\"]\n * const withApi = createQueryKeys(\"catalog\", \"category\").withPrefix(\"api\");\n * * withApi.list => [\"api\", \"catalog\", \"list\", \"category\"]\n * * withApi.item(\"id-1\") => [\"api\", \"catalog\", \"item\", \"category\", \"id-1\"]\n * ```\n */\nfunction createQueryKeys(domain: string, subDomain: string): QueryKeysBundle {\n return createQueryKeysBundle(createListKey(domain, subDomain), createItemKey(domain, subDomain));\n}\n\nexport { createKey, createQueryKeys };\nexport type { QueryKeysBundle };\n"],"mappings":";;;AA6BA,SAAS,EAAsB,GAAwB,GAAyC;CAC9F,OAAO;EACL;EACA;EACA,WAAW,GAAG,GAAmB;GAC/B,OAAO,EAAsB,EAAK,WAAW,GAAG,CAAM,GAAG,EAAK,WAAW,GAAG,CAAM,CAAC;EACrF;CACF;AACF;AAcA,SAAS,EAAU,GAAG,GAA+B;CACnD,OAAO;AACT;AAmBA,SAAS,EAAgB,GAAgB,GAAoC;CAC3E,OAAO,EAAsB,EAAc,GAAQ,CAAS,GAAG,EAAc,GAAQ,CAAS,CAAC;AACjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/enums/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,OAAO,CAEzE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,OAAO,CAEvF;AAED,0CAA0C;AAC1C,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,mBAAmB,mBAAiC,CAAC;AAClE,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,oBAA+D,CAAC;AAElH,wBAAwB;AACxB,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;CAClB;AACD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAClE,eAAO,MAAM,uBAAuB,6BAAoC,CAAC;AACzE,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,uBAAuE,CAAC;AAE7H,oCAAoC;AACpC,oBAAY,qBAAqB;IAC/B,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAC/E,eAAO,MAAM,0BAA0B,yBAAuC,CAAC;AAC/E,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,0BACkB,CAAC;AAE3E,4CAA4C;AAC5C,eAAO,MAAM,kCAAkC,yEAE9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAErE,oBAAY,sBAAsB;IAChC,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACtB;AACD,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAC/E,eAAO,MAAM,2BAA2B,0BAAwC,CAAC;AACjF,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,2BACmB,CAAC;AAE7E,oBAAY,wBAAwB;IAClC,QAAQ,aAAa;CACtB;AACD,eAAO,MAAM,8BAA8B,oCAAoC,CAAC;AAChF,eAAO,MAAM,6BAA6B,qCAA0C,CAAC;AACrF,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,6BACqB,CAAC;AAEjF,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/enums/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,OAAO,CAEzE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,OAAO,CAEvF;AAED,0CAA0C;AAC1C,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,mBAAmB,mBAAiC,CAAC;AAClE,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,oBAA+D,CAAC;AAElH,wBAAwB;AACxB,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;CAClB;AACD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAClE,eAAO,MAAM,uBAAuB,6BAAoC,CAAC;AACzE,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,uBAAuE,CAAC;AAE7H,oCAAoC;AACpC,oBAAY,qBAAqB;IAC/B,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAC/E,eAAO,MAAM,0BAA0B,yBAAuC,CAAC;AAC/E,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,0BACkB,CAAC;AAE3E,4CAA4C;AAC5C,eAAO,MAAM,kCAAkC,yEAE9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAErE,oBAAY,sBAAsB;IAChC,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACtB;AACD,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAC/E,eAAO,MAAM,2BAA2B,0BAAwC,CAAC;AACjF,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,2BACmB,CAAC;AAE7E,oBAAY,wBAAwB;IAClC,QAAQ,aAAa;CACtB;AACD,eAAO,MAAM,8BAA8B,oCAAoC,CAAC;AAChF,eAAO,MAAM,6BAA6B,qCAA0C,CAAC;AACrF,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,6BACqB,CAAC;AAEjF,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","names":[],"sources":["../../src/enums/auth.ts"],"sourcesContent":["/**\n * Auth 枚举,镜像 Identity 后端。\n * ProfileKindEnum 与 JWT profile_scope 共用 wire 值 \"forger\" | \"authority\"。\n * 角色不在 JWT;能力门控按纯成员判定(hasRole / hasAnyRole)。\n */\n\nimport type { Nilable } from \"@/types\";\n\nimport { safeArray, safeEnum } from \"@/utils/safe\";\n\nexport function hasRole<T>(role: T, roles: Nilable<readonly T[]>): boolean {\n return safeArray(roles).includes(role);\n}\n\nexport function hasAnyRole<T>(roles: Nilable<readonly T[]>, ...candidates: T[]): boolean {\n return candidates.some((role) => hasRole(role, roles));\n}\n\n/** 与后端 ProfileKind / profile_scope 一致。 */\nexport enum ProfileKindEnum {\n FORGER = \"forger\",\n AUTHORITY = \"authority\",\n}\n\nexport const DEFAULT_PROFILE_KIND = ProfileKindEnum.FORGER;\nexport const PROFILE_KIND_VALUES = Object.values(ProfileKindEnum);\nexport const ProfileKind = (value: Nilable<string>) => safeEnum(value, PROFILE_KIND_VALUES, DEFAULT_PROFILE_KIND);\n\n/** 普通档 forger_roles。 */\nexport enum AuthForgerRoleEnum {\n FORGER = \"forger\",\n}\nexport const DEFAULT_AUTH_FORGER_ROLE = AuthForgerRoleEnum.FORGER;\nexport const AUTH_FORGER_ROLE_VALUES = Object.values(AuthForgerRoleEnum);\nexport const AuthForgerRole = (value: Nilable<string>) => safeEnum(value, AUTH_FORGER_ROLE_VALUES, DEFAULT_AUTH_FORGER_ROLE);\n\n/** 管理档 authority_roles。角色不是包含关系。 */\nexport enum AuthAuthorityRoleEnum {\n AUDITOR = \"auditor\",\n ADMINISTRATOR = \"administrator\",\n OWNER = \"owner\",\n}\n\nexport const DEFAULT_AUTH_AUTHORITY_ROLE = AuthAuthorityRoleEnum.ADMINISTRATOR;\nexport const AUTH_AUTHORITY_ROLE_VALUES = Object.values(AuthAuthorityRoleEnum);\nexport const AuthAuthorityRole = (value: Nilable<string>) =>\n safeEnum(value, AUTH_AUTHORITY_ROLE_VALUES, DEFAULT_AUTH_AUTHORITY_ROLE);\n\n/** 可通过 UI/API 分配的权限角色(owner 仅允许数据库手动变更)。 */\nexport const UI_ASSIGNABLE_AUTH_AUTHORITY_ROLES = AUTH_AUTHORITY_ROLE_VALUES.filter(\n (role): role is Exclude<AuthAuthorityRoleEnum, AuthAuthorityRoleEnum.OWNER> => role !== AuthAuthorityRoleEnum.OWNER,\n);\n\nexport type ProfileRole = AuthForgerRoleEnum | AuthAuthorityRoleEnum;\n\nexport enum AuthSignupPlatformEnum {\n NFXIDENTITY = \"nfxidentity\",\n NFXNEWS = \"nfxnews\",\n NFXSTORAGES = \"nfxstorages\",\n NFXVAULT = \"nfxvault\",\n}\nexport const DEFAULT_AUTH_SIGNUP_PLATFORM = AuthSignupPlatformEnum.NFXIDENTITY;\nexport const AUTH_SIGNUP_PLATFORM_VALUES = Object.values(AuthSignupPlatformEnum);\nexport const AuthSignupPlatform = (value: Nilable<string>) =>\n safeEnum(value, AUTH_SIGNUP_PLATFORM_VALUES, DEFAULT_AUTH_SIGNUP_PLATFORM);\n\nexport enum AuthIdentityProviderEnum {\n PASSWORD = \"password\",\n}\nexport const DEFAULT_AUTH_IDENTITY_PROVIDER = AuthIdentityProviderEnum.PASSWORD;\nexport const AUTH_IDENTITY_PROVIDER_VALUES = Object.values(AuthIdentityProviderEnum);\nexport const AuthIdentityProvider = (value: Nilable<string>) =>\n safeEnum(value, AUTH_IDENTITY_PROVIDER_VALUES, DEFAULT_AUTH_IDENTITY_PROVIDER);\n\nexport enum AssetKindEnum {\n IMAGES = \"images\",\n FILES = \"files\",\n VIDEOS = \"videos\",\n AUDIOS = \"audios\",\n}\n"],"mappings":";;AAUA,SAAgB,EAAW,GAAS,GAAuC;CACzE,OAAO,EAAU,CAAK,CAAC,CAAC,SAAS,CAAI;AACvC;AAEA,SAAgB,EAAc,GAA8B,GAAG,GAA0B;CACvF,OAAO,EAAW,MAAM,MAAS,EAAQ,GAAM,CAAK,CAAC;AACvD;AAGA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,YAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAsB,OAAO,OAAO,CAAe,GACnD,KAAe,MAA2B,EAAS,GAAO,GAAqB,CAAoB,GAGpG,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GACa,IAAA,UACA,IAA0B,OAAO,OAAO,CAAkB,GAC1D,KAAkB,MAA2B,EAAS,GAAO,GAAyB,CAAwB,GAG/G,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,gBAAA,iBACA,EAAA,QAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,iBACA,IAA6B,OAAO,OAAO,CAAqB,GAChE,KAAqB,MAChC,EAAS,GAAO,GAA4B,CAA2B,GAG5D,IAAqC,EAA2B,QAC1E,MAA8E,MAAA,OACjF,GAIY,IAAL,yBAAA,GAAA;QACL,EAAA,cAAA,eACA,EAAA,UAAA,WACA,EAAA,cAAA,eACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GACa,IAAA,eACA,IAA8B,OAAO,OAAO,CAAsB,GAClE,KAAsB,MACjC,EAAS,GAAO,GAA6B,CAA4B,GAE/D,IAAL,yBAAA,GAAA;QACL,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GACa,IAAA,YACA,IAAgC,OAAO,OAAO,CAAwB,GACtE,KAAwB,MACnC,EAAS,GAAO,GAA+B,CAA8B,GAEnE,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"auth.js","names":[],"sources":["../../src/enums/auth.ts"],"sourcesContent":["/**\n * Auth 枚举,镜像 Identity 后端。\n * ProfileKindEnum 与 JWT profile_scope 共用 wire 值 \"forger\" | \"authority\"。\n * 角色不在 JWT;能力门控按纯成员判定(hasRole / hasAnyRole)。\n */\n\nimport type { Nilable } from \"nfx-ui/types\";\n\nimport { safeArray, safeEnum } from \"nfx-ui/utils/safe\";\n\nexport function hasRole<T>(role: T, roles: Nilable<readonly T[]>): boolean {\n return safeArray(roles).includes(role);\n}\n\nexport function hasAnyRole<T>(roles: Nilable<readonly T[]>, ...candidates: T[]): boolean {\n return candidates.some((role) => hasRole(role, roles));\n}\n\n/** 与后端 ProfileKind / profile_scope 一致。 */\nexport enum ProfileKindEnum {\n FORGER = \"forger\",\n AUTHORITY = \"authority\",\n}\n\nexport const DEFAULT_PROFILE_KIND = ProfileKindEnum.FORGER;\nexport const PROFILE_KIND_VALUES = Object.values(ProfileKindEnum);\nexport const ProfileKind = (value: Nilable<string>) => safeEnum(value, PROFILE_KIND_VALUES, DEFAULT_PROFILE_KIND);\n\n/** 普通档 forger_roles。 */\nexport enum AuthForgerRoleEnum {\n FORGER = \"forger\",\n}\nexport const DEFAULT_AUTH_FORGER_ROLE = AuthForgerRoleEnum.FORGER;\nexport const AUTH_FORGER_ROLE_VALUES = Object.values(AuthForgerRoleEnum);\nexport const AuthForgerRole = (value: Nilable<string>) => safeEnum(value, AUTH_FORGER_ROLE_VALUES, DEFAULT_AUTH_FORGER_ROLE);\n\n/** 管理档 authority_roles。角色不是包含关系。 */\nexport enum AuthAuthorityRoleEnum {\n AUDITOR = \"auditor\",\n ADMINISTRATOR = \"administrator\",\n OWNER = \"owner\",\n}\n\nexport const DEFAULT_AUTH_AUTHORITY_ROLE = AuthAuthorityRoleEnum.ADMINISTRATOR;\nexport const AUTH_AUTHORITY_ROLE_VALUES = Object.values(AuthAuthorityRoleEnum);\nexport const AuthAuthorityRole = (value: Nilable<string>) =>\n safeEnum(value, AUTH_AUTHORITY_ROLE_VALUES, DEFAULT_AUTH_AUTHORITY_ROLE);\n\n/** 可通过 UI/API 分配的权限角色(owner 仅允许数据库手动变更)。 */\nexport const UI_ASSIGNABLE_AUTH_AUTHORITY_ROLES = AUTH_AUTHORITY_ROLE_VALUES.filter(\n (role): role is Exclude<AuthAuthorityRoleEnum, AuthAuthorityRoleEnum.OWNER> => role !== AuthAuthorityRoleEnum.OWNER,\n);\n\nexport type ProfileRole = AuthForgerRoleEnum | AuthAuthorityRoleEnum;\n\nexport enum AuthSignupPlatformEnum {\n NFXIDENTITY = \"nfxidentity\",\n NFXNEWS = \"nfxnews\",\n NFXSTORAGES = \"nfxstorages\",\n NFXVAULT = \"nfxvault\",\n}\nexport const DEFAULT_AUTH_SIGNUP_PLATFORM = AuthSignupPlatformEnum.NFXIDENTITY;\nexport const AUTH_SIGNUP_PLATFORM_VALUES = Object.values(AuthSignupPlatformEnum);\nexport const AuthSignupPlatform = (value: Nilable<string>) =>\n safeEnum(value, AUTH_SIGNUP_PLATFORM_VALUES, DEFAULT_AUTH_SIGNUP_PLATFORM);\n\nexport enum AuthIdentityProviderEnum {\n PASSWORD = \"password\",\n}\nexport const DEFAULT_AUTH_IDENTITY_PROVIDER = AuthIdentityProviderEnum.PASSWORD;\nexport const AUTH_IDENTITY_PROVIDER_VALUES = Object.values(AuthIdentityProviderEnum);\nexport const AuthIdentityProvider = (value: Nilable<string>) =>\n safeEnum(value, AUTH_IDENTITY_PROVIDER_VALUES, DEFAULT_AUTH_IDENTITY_PROVIDER);\n\nexport enum AssetKindEnum {\n IMAGES = \"images\",\n FILES = \"files\",\n VIDEOS = \"videos\",\n AUDIOS = \"audios\",\n}\n"],"mappings":";;AAUA,SAAgB,EAAW,GAAS,GAAuC;CACzE,OAAO,EAAU,CAAK,CAAC,CAAC,SAAS,CAAI;AACvC;AAEA,SAAgB,EAAc,GAA8B,GAAG,GAA0B;CACvF,OAAO,EAAW,MAAM,MAAS,EAAQ,GAAM,CAAK,CAAC;AACvD;AAGA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,YAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAsB,OAAO,OAAO,CAAe,GACnD,KAAe,MAA2B,EAAS,GAAO,GAAqB,CAAoB,GAGpG,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GACa,IAAA,UACA,IAA0B,OAAO,OAAO,CAAkB,GAC1D,KAAkB,MAA2B,EAAS,GAAO,GAAyB,CAAwB,GAG/G,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,gBAAA,iBACA,EAAA,QAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,iBACA,IAA6B,OAAO,OAAO,CAAqB,GAChE,KAAqB,MAChC,EAAS,GAAO,GAA4B,CAA2B,GAG5D,IAAqC,EAA2B,QAC1E,MAA8E,MAAA,OACjF,GAIY,IAAL,yBAAA,GAAA;QACL,EAAA,cAAA,eACA,EAAA,UAAA,WACA,EAAA,cAAA,eACA,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GACa,IAAA,eACA,IAA8B,OAAO,OAAO,CAAsB,GAClE,KAAsB,MACjC,EAAS,GAAO,GAA6B,CAA4B,GAE/D,IAAL,yBAAA,GAAA;QACL,EAAA,WAAA;AACF,EAAA,CAAA,CAAA,GACa,IAAA,YACA,IAAgC,OAAO,OAAO,CAAwB,GACtE,KAAwB,MACnC,EAAS,GAAO,GAA+B,CAA8B,GAEnE,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/enums/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAI9C,kCAAkC;AAClC,oBAAY,uBAAuB;IACjC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,aAAa,iBAAiB;IAC9B,WAAW,eAAe;CAC3B;AAED,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AACzE,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,uBAAuB,CAA0C,CAAC;AAClH,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,4BACkB,CAAC"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/enums/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAInD,kCAAkC;AAClC,oBAAY,uBAAuB;IACjC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,aAAa,iBAAiB;IAC9B,WAAW,eAAe;CAC3B;AAED,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AACzE,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,uBAAuB,CAA0C,CAAC;AAClH,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,4BACkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","names":[],"sources":["../../src/enums/dashboard.ts"],"sourcesContent":["import type { Array, Nilable } from \"@/types\";\n\nimport { safeEnum } from \"@/utils/safe\";\n\n/** 仪表盘背景。Dashboard background. */\nexport enum DashboardBackgroundEnum {\n NONE = \"none\",\n WAVES = \"waves\",\n SQUARES = \"squares\",\n LETTER_GLITCH = \"letterGlitch\",\n PIXEL_BLAST = \"pixelBlast\",\n}\n\nexport const DEFAULT_DASHBOARD_BACKGROUND = DashboardBackgroundEnum.NONE;\nexport const DASHBOARD_BACKGROUND_VALUES: Array<DashboardBackgroundEnum> = Object.values(DashboardBackgroundEnum);\nexport const DashboardBackground = (value: Nilable<string>) =>\n safeEnum(value, DASHBOARD_BACKGROUND_VALUES, DEFAULT_DASHBOARD_BACKGROUND);\n"],"mappings":";;AAKA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,UAAA,WACA,EAAA,gBAAA,gBACA,EAAA,cAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,QACA,IAA8D,OAAO,OAAO,CAAuB,GACnG,KAAuB,MAClC,EAAS,GAAO,GAA6B,CAA4B"}
1
+ {"version":3,"file":"dashboard.js","names":[],"sources":["../../src/enums/dashboard.ts"],"sourcesContent":["import type { Array, Nilable } from \"nfx-ui/types\";\n\nimport { safeEnum } from \"nfx-ui/utils/safe\";\n\n/** 仪表盘背景。Dashboard background. */\nexport enum DashboardBackgroundEnum {\n NONE = \"none\",\n WAVES = \"waves\",\n SQUARES = \"squares\",\n LETTER_GLITCH = \"letterGlitch\",\n PIXEL_BLAST = \"pixelBlast\",\n}\n\nexport const DEFAULT_DASHBOARD_BACKGROUND = DashboardBackgroundEnum.NONE;\nexport const DASHBOARD_BACKGROUND_VALUES: Array<DashboardBackgroundEnum> = Object.values(DashboardBackgroundEnum);\nexport const DashboardBackground = (value: Nilable<string>) =>\n safeEnum(value, DASHBOARD_BACKGROUND_VALUES, DEFAULT_DASHBOARD_BACKGROUND);\n"],"mappings":";;AAKA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,UAAA,WACA,EAAA,gBAAA,gBACA,EAAA,cAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,QACA,IAA8D,OAAO,OAAO,CAAuB,GACnG,KAAuB,MAClC,EAAS,GAAO,GAA6B,CAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../src/enums/language.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,oBAAY,YAAY;IACtB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,eAAe,gBAA8B,CAAC;AAC3D,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,iBAAuD,CAAC"}
1
+ {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../src/enums/language.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,oBAAY,YAAY;IACtB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,eAAe,gBAA8B,CAAC;AAC3D,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,iBAAuD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"language.js","names":[],"sources":["../../src/enums/language.ts"],"sourcesContent":["/**\n * 语言枚举与常量,不引用任何 JSON,供需要轻量引用的模块使用。\n */\nimport type { Nilable } from \"@/types\";\n\nimport { safeEnum } from \"@/utils/safe\";\n\nexport enum LanguageEnum {\n EN = \"en\",\n ZH = \"zh\",\n FR = \"fr\",\n}\n\nexport const DEFAULT_LANGUAGE = LanguageEnum.ZH;\nexport const LANGUAGE_VALUES = Object.values(LanguageEnum);\nexport const Language = (value: Nilable<string>) => safeEnum(value, LANGUAGE_VALUES, DEFAULT_LANGUAGE);\n"],"mappings":";;AAOA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,KAAA,MACA,EAAA,KAAA,MACA,EAAA,KAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,MACA,IAAkB,OAAO,OAAO,CAAY,GAC5C,KAAY,MAA2B,EAAS,GAAO,GAAA,IAAiC"}
1
+ {"version":3,"file":"language.js","names":[],"sources":["../../src/enums/language.ts"],"sourcesContent":["/**\n * 语言枚举与常量,不引用任何 JSON,供需要轻量引用的模块使用。\n */\nimport type { Nilable } from \"nfx-ui/types\";\n\nimport { safeEnum } from \"nfx-ui/utils/safe\";\n\nexport enum LanguageEnum {\n EN = \"en\",\n ZH = \"zh\",\n FR = \"fr\",\n}\n\nexport const DEFAULT_LANGUAGE = LanguageEnum.ZH;\nexport const LANGUAGE_VALUES = Object.values(LanguageEnum);\nexport const Language = (value: Nilable<string>) => safeEnum(value, LANGUAGE_VALUES, DEFAULT_LANGUAGE);\n"],"mappings":";;AAOA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,KAAA,MACA,EAAA,KAAA,MACA,EAAA,KAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,MACA,IAAkB,OAAO,OAAO,CAAY,GAC5C,KAAY,MAA2B,EAAS,GAAO,GAAA,IAAiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/enums/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AACvD,eAAO,MAAM,kBAAkB,kBAAgC,CAAC;AAChE,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,mBAA6D,CAAC"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/enums/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AACvD,eAAO,MAAM,kBAAkB,kBAAgC,CAAC;AAChE,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,mBAA6D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","names":[],"sources":["../../src/enums/layout.ts"],"sourcesContent":["import type { Nilable } from \"@/types\";\n\nimport { safeEnum } from \"@/utils/safe\";\n\nexport enum LayoutModeEnum {\n SHOW = \"show\",\n HIDE = \"hide\",\n}\n\nexport const DEFAULT_LAYOUT_MODE = LayoutModeEnum.SHOW;\nexport const LAYOUT_MODE_VALUES = Object.values(LayoutModeEnum);\nexport const LayoutMode = (value: Nilable<string>) => safeEnum(value, LAYOUT_MODE_VALUES, DEFAULT_LAYOUT_MODE);\n"],"mappings":";;AAIA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,QACA,IAAqB,OAAO,OAAO,CAAc,GACjD,KAAc,MAA2B,EAAS,GAAO,GAAoB,CAAmB"}
1
+ {"version":3,"file":"layout.js","names":[],"sources":["../../src/enums/layout.ts"],"sourcesContent":["import type { Nilable } from \"nfx-ui/types\";\n\nimport { safeEnum } from \"nfx-ui/utils/safe\";\n\nexport enum LayoutModeEnum {\n SHOW = \"show\",\n HIDE = \"hide\",\n}\n\nexport const DEFAULT_LAYOUT_MODE = LayoutModeEnum.SHOW;\nexport const LAYOUT_MODE_VALUES = Object.values(LayoutModeEnum);\nexport const LayoutMode = (value: Nilable<string>) => safeEnum(value, LAYOUT_MODE_VALUES, DEFAULT_LAYOUT_MODE);\n"],"mappings":";;AAIA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,QACA,IAAqB,OAAO,OAAO,CAAc,GACjD,KAAc,MAA2B,EAAS,GAAO,GAAoB,CAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/enums/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/enums/theme.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","names":[],"sources":["../../src/enums/theme.ts"],"sourcesContent":["import { safeEnum } from \"@/utils/safe\";\n\nimport type { Nilable } from \"@/types\";\n\n/** 基础主题枚举(平台/圆角等,如 iOS 24 / Android|Windows 6 / Linux 4) */\nexport enum BaseEnum {\n DEFAULT = \"default\",\n IOS = \"ios\",\n ANDROID = \"android\",\n WINDOWS = \"windows\",\n LINUX = \"linux\",\n}\n\nexport const DEFAULT_BASE = BaseEnum.DEFAULT;\nexport const BASE_VALUES = Object.values(BaseEnum);\nexport const Base = (value: Nilable<string>) => safeEnum(value, BASE_VALUES, DEFAULT_BASE);\n\n/** 外观偏好:浅色 / 深色 / 跟随系统(解析后才映射到 Radix light|dark) */\nexport enum AppearanceEnum {\n LIGHT = \"light\",\n DARK = \"dark\",\n SYSTEM = \"system\",\n}\n\nexport const DEFAULT_APPEARANCE = AppearanceEnum.SYSTEM;\nexport const APPEARANCE_VALUES = Object.values(AppearanceEnum);\nexport const Appearance = (value: Nilable<string>) => safeEnum(value, APPEARANCE_VALUES, DEFAULT_APPEARANCE);\n\n/** Radix 强调色 */\nexport enum AccentColorEnum {\n GRAY = \"gray\",\n GOLD = \"gold\",\n BRONZE = \"bronze\",\n BROWN = \"brown\",\n YELLOW = \"yellow\",\n AMBER = \"amber\",\n ORANGE = \"orange\",\n TOMATO = \"tomato\",\n RED = \"red\",\n RUBY = \"ruby\",\n CRIMSON = \"crimson\",\n PINK = \"pink\",\n PLUM = \"plum\",\n PURPLE = \"purple\",\n VIOLET = \"violet\",\n IRIS = \"iris\",\n INDIGO = \"indigo\",\n BLUE = \"blue\",\n CYAN = \"cyan\",\n TEAL = \"teal\",\n JADE = \"jade\",\n GREEN = \"green\",\n GRASS = \"grass\",\n LIME = \"lime\",\n MINT = \"mint\",\n SKY = \"sky\",\n}\n\nexport const DEFAULT_ACCENT_COLOR = AccentColorEnum.TOMATO;\nexport const ACCENT_COLOR_VALUES = Object.values(AccentColorEnum);\nexport const AccentColor = (value: Nilable<string>) => safeEnum(value, ACCENT_COLOR_VALUES, DEFAULT_ACCENT_COLOR);\n\n/** Radix 中性灰 */\nexport enum GrayColorEnum {\n AUTO = \"auto\",\n GRAY = \"gray\",\n MAUVE = \"mauve\",\n SLATE = \"slate\",\n SAGE = \"sage\",\n OLIVE = \"olive\",\n SAND = \"sand\",\n}\n\nexport const DEFAULT_GRAY_COLOR = GrayColorEnum.SLATE;\nexport const GRAY_COLOR_VALUES = Object.values(GrayColorEnum);\nexport const GrayColor = (value: Nilable<string>) => safeEnum(value, GRAY_COLOR_VALUES, DEFAULT_GRAY_COLOR);\n\n/** Radix 圆角档位(按平台映射:none=Linux / small=Android / medium=Other / large=Windows / full=iOS) */\nexport enum RadiusEnum {\n NONE = \"none\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n FULL = \"full\",\n}\n\nexport const DEFAULT_RADIUS = RadiusEnum.MEDIUM;\nexport const RADIUS_VALUES = Object.values(RadiusEnum);\nexport const Radius = (value: Nilable<string>) => safeEnum(value, RADIUS_VALUES, DEFAULT_RADIUS);\n\n/** Radix 缩放比例 */\nexport enum ScalingEnum {\n S90 = \"90%\",\n S95 = \"95%\",\n S100 = \"100%\",\n S105 = \"105%\",\n S110 = \"110%\",\n}\n\nexport const DEFAULT_SCALING = ScalingEnum.S100;\nexport const SCALING_VALUES = Object.values(ScalingEnum);\nexport const Scaling = (value: Nilable<string>) => safeEnum(value, SCALING_VALUES, DEFAULT_SCALING);\n\n/** Radix 面板背景 */\nexport enum PanelBackgroundEnum {\n SOLID = \"solid\",\n TRANSLUCENT = \"translucent\",\n}\n\nexport const DEFAULT_PANEL_BACKGROUND = PanelBackgroundEnum.TRANSLUCENT;\nexport const PANEL_BACKGROUND_VALUES = Object.values(PanelBackgroundEnum);\nexport const PanelBackground = (value: Nilable<string>) => safeEnum(value, PANEL_BACKGROUND_VALUES, DEFAULT_PANEL_BACKGROUND);\n\n/** UI 正文字体族(webfont 栈 / 系统默认;见 themes/fonts.ts + themes/index.css) */\nexport enum ThemeFontFamilyEnum {\n SYSTEM = \"system\",\n IBM_PLEX = \"ibm-plex\",\n NOTO = \"noto\",\n SOURCE_SANS = \"source-sans\",\n}\n\nexport const DEFAULT_THEME_FONT_FAMILY = ThemeFontFamilyEnum.SYSTEM;\nexport const THEME_FONT_FAMILY_VALUES = Object.values(ThemeFontFamilyEnum);\nexport const ThemeFontFamily = (value: Nilable<string>) => safeEnum(value, THEME_FONT_FAMILY_VALUES, DEFAULT_THEME_FONT_FAMILY);\n"],"mappings":";;AAKA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,MAAA,OACA,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,QAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,WACA,IAAc,OAAO,OAAO,CAAQ,GACpC,KAAQ,MAA2B,EAAS,GAAO,GAAa,CAAY,GAG7E,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAoB,OAAO,OAAO,CAAc,GAChD,KAAc,MAA2B,EAAS,GAAO,GAAmB,CAAkB,GAG/F,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,MAAA,OACA,EAAA,OAAA,QACA,EAAA,UAAA,WACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,MAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAsB,OAAO,OAAO,CAAe,GACnD,KAAe,MAA2B,EAAS,GAAO,GAAqB,CAAoB,GAGpG,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,SACA,IAAoB,OAAO,OAAO,CAAa,GAC/C,KAAa,MAA2B,EAAS,GAAO,GAAmB,CAAkB,GAG9F,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAgB,OAAO,OAAO,CAAU,GACxC,KAAU,MAA2B,EAAS,GAAO,GAAe,CAAc,GAGnF,IAAL,yBAAA,GAAA;QACL,EAAA,MAAA,OACA,EAAA,MAAA,OACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,QACA,IAAiB,OAAO,OAAO,CAAW,GAC1C,KAAW,MAA2B,EAAS,GAAO,GAAgB,CAAe,GAGtF,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,cAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,eACA,IAA0B,OAAO,OAAO,CAAmB,GAC3D,KAAmB,MAA2B,EAAS,GAAO,GAAyB,CAAwB,GAGhH,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,OAAA,QACA,EAAA,cAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAA2B,OAAO,OAAO,CAAmB,GAC5D,KAAmB,MAA2B,EAAS,GAAO,GAA0B,CAAyB"}
1
+ {"version":3,"file":"theme.js","names":[],"sources":["../../src/enums/theme.ts"],"sourcesContent":["import { safeEnum } from \"nfx-ui/utils/safe\";\n\nimport type { Nilable } from \"nfx-ui/types\";\n\n/** 基础主题枚举(平台/圆角等,如 iOS 24 / Android|Windows 6 / Linux 4) */\nexport enum BaseEnum {\n DEFAULT = \"default\",\n IOS = \"ios\",\n ANDROID = \"android\",\n WINDOWS = \"windows\",\n LINUX = \"linux\",\n}\n\nexport const DEFAULT_BASE = BaseEnum.DEFAULT;\nexport const BASE_VALUES = Object.values(BaseEnum);\nexport const Base = (value: Nilable<string>) => safeEnum(value, BASE_VALUES, DEFAULT_BASE);\n\n/** 外观偏好:浅色 / 深色 / 跟随系统(解析后才映射到 Radix light|dark) */\nexport enum AppearanceEnum {\n LIGHT = \"light\",\n DARK = \"dark\",\n SYSTEM = \"system\",\n}\n\nexport const DEFAULT_APPEARANCE = AppearanceEnum.SYSTEM;\nexport const APPEARANCE_VALUES = Object.values(AppearanceEnum);\nexport const Appearance = (value: Nilable<string>) => safeEnum(value, APPEARANCE_VALUES, DEFAULT_APPEARANCE);\n\n/** Radix 强调色 */\nexport enum AccentColorEnum {\n GRAY = \"gray\",\n GOLD = \"gold\",\n BRONZE = \"bronze\",\n BROWN = \"brown\",\n YELLOW = \"yellow\",\n AMBER = \"amber\",\n ORANGE = \"orange\",\n TOMATO = \"tomato\",\n RED = \"red\",\n RUBY = \"ruby\",\n CRIMSON = \"crimson\",\n PINK = \"pink\",\n PLUM = \"plum\",\n PURPLE = \"purple\",\n VIOLET = \"violet\",\n IRIS = \"iris\",\n INDIGO = \"indigo\",\n BLUE = \"blue\",\n CYAN = \"cyan\",\n TEAL = \"teal\",\n JADE = \"jade\",\n GREEN = \"green\",\n GRASS = \"grass\",\n LIME = \"lime\",\n MINT = \"mint\",\n SKY = \"sky\",\n}\n\nexport const DEFAULT_ACCENT_COLOR = AccentColorEnum.TOMATO;\nexport const ACCENT_COLOR_VALUES = Object.values(AccentColorEnum);\nexport const AccentColor = (value: Nilable<string>) => safeEnum(value, ACCENT_COLOR_VALUES, DEFAULT_ACCENT_COLOR);\n\n/** Radix 中性灰 */\nexport enum GrayColorEnum {\n AUTO = \"auto\",\n GRAY = \"gray\",\n MAUVE = \"mauve\",\n SLATE = \"slate\",\n SAGE = \"sage\",\n OLIVE = \"olive\",\n SAND = \"sand\",\n}\n\nexport const DEFAULT_GRAY_COLOR = GrayColorEnum.SLATE;\nexport const GRAY_COLOR_VALUES = Object.values(GrayColorEnum);\nexport const GrayColor = (value: Nilable<string>) => safeEnum(value, GRAY_COLOR_VALUES, DEFAULT_GRAY_COLOR);\n\n/** Radix 圆角档位(按平台映射:none=Linux / small=Android / medium=Other / large=Windows / full=iOS) */\nexport enum RadiusEnum {\n NONE = \"none\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n FULL = \"full\",\n}\n\nexport const DEFAULT_RADIUS = RadiusEnum.MEDIUM;\nexport const RADIUS_VALUES = Object.values(RadiusEnum);\nexport const Radius = (value: Nilable<string>) => safeEnum(value, RADIUS_VALUES, DEFAULT_RADIUS);\n\n/** Radix 缩放比例 */\nexport enum ScalingEnum {\n S90 = \"90%\",\n S95 = \"95%\",\n S100 = \"100%\",\n S105 = \"105%\",\n S110 = \"110%\",\n}\n\nexport const DEFAULT_SCALING = ScalingEnum.S100;\nexport const SCALING_VALUES = Object.values(ScalingEnum);\nexport const Scaling = (value: Nilable<string>) => safeEnum(value, SCALING_VALUES, DEFAULT_SCALING);\n\n/** Radix 面板背景 */\nexport enum PanelBackgroundEnum {\n SOLID = \"solid\",\n TRANSLUCENT = \"translucent\",\n}\n\nexport const DEFAULT_PANEL_BACKGROUND = PanelBackgroundEnum.TRANSLUCENT;\nexport const PANEL_BACKGROUND_VALUES = Object.values(PanelBackgroundEnum);\nexport const PanelBackground = (value: Nilable<string>) => safeEnum(value, PANEL_BACKGROUND_VALUES, DEFAULT_PANEL_BACKGROUND);\n\n/** UI 正文字体族(webfont 栈 / 系统默认;见 themes/fonts.ts + themes/index.css) */\nexport enum ThemeFontFamilyEnum {\n SYSTEM = \"system\",\n IBM_PLEX = \"ibm-plex\",\n NOTO = \"noto\",\n SOURCE_SANS = \"source-sans\",\n}\n\nexport const DEFAULT_THEME_FONT_FAMILY = ThemeFontFamilyEnum.SYSTEM;\nexport const THEME_FONT_FAMILY_VALUES = Object.values(ThemeFontFamilyEnum);\nexport const ThemeFontFamily = (value: Nilable<string>) => safeEnum(value, THEME_FONT_FAMILY_VALUES, DEFAULT_THEME_FONT_FAMILY);\n"],"mappings":";;AAKA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,MAAA,OACA,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,QAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,WACA,IAAc,OAAO,OAAO,CAAQ,GACpC,KAAQ,MAA2B,EAAS,GAAO,GAAa,CAAY,GAG7E,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAoB,OAAO,OAAO,CAAc,GAChD,KAAc,MAA2B,EAAS,GAAO,GAAmB,CAAkB,GAG/F,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,MAAA,OACA,EAAA,OAAA,QACA,EAAA,UAAA,WACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,MAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAsB,OAAO,OAAO,CAAe,GACnD,KAAe,MAA2B,EAAS,GAAO,GAAqB,CAAoB,GAGpG,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,SACA,IAAoB,OAAO,OAAO,CAAa,GAC/C,KAAa,MAA2B,EAAS,GAAO,GAAmB,CAAkB,GAG9F,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,QAAA,SACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAAgB,OAAO,OAAO,CAAU,GACxC,KAAU,MAA2B,EAAS,GAAO,GAAe,CAAc,GAGnF,IAAL,yBAAA,GAAA;QACL,EAAA,MAAA,OACA,EAAA,MAAA,OACA,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,OAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,QACA,IAAiB,OAAO,OAAO,CAAW,GAC1C,KAAW,MAA2B,EAAS,GAAO,GAAgB,CAAe,GAGtF,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,cAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,eACA,IAA0B,OAAO,OAAO,CAAmB,GAC3D,KAAmB,MAA2B,EAAS,GAAO,GAAyB,CAAwB,GAGhH,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,OAAA,QACA,EAAA,cAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAA,UACA,IAA2B,OAAO,OAAO,CAAmB,GAC5D,KAAmB,MAA2B,EAAS,GAAO,GAA0B,CAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../src/events/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhD,yDAAyD;AACzD,KAAK,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAE9C;;;GAGG;AACH,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAC3B,EAAE,GACF,OAAO,SAAS,CAAC,GACf,EAAE,GAAG,CAAC,CAAC,CAAC,GACR,CAAC,SAAS,OAAO,EAAE,GACjB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC;AAEZ,yDAAyD;AACzD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE5E;;;;GAIG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,GAC3D,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,eAAe,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,GAC1E,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,GACV,KAAK,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,iBAAS,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAEnF;AAUD;;;;;;GAMG;AACH,cAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;IAC7F,OAAO,CAAC,SAAS,CAAgC;gBAErC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAIpD,0CAA0C;IAC1C,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIxD,2BAA2B;IAC3B,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIzD;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAGlE;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../src/events/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAErD,yDAAyD;AACzD,KAAK,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAE9C;;;GAGG;AACH,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAC3B,EAAE,GACF,OAAO,SAAS,CAAC,GACf,EAAE,GAAG,CAAC,CAAC,CAAC,GACR,CAAC,SAAS,OAAO,EAAE,GACjB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC;AAEZ,yDAAyD;AACzD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE5E;;;;GAIG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,GAC3D,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,eAAe,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,GAC1E,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,GACV,KAAK,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,iBAAS,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAEnF;AAUD;;;;;;GAMG;AACH,cAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;IAC7F,OAAO,CAAC,SAAS,CAAgC;gBAErC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAIpD,0CAA0C;IAC1C,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIxD,2BAA2B;IAC3B,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIzD;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAGlE;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitter.js","names":[],"sources":["../../src/events/EventEmitter.ts"],"sourcesContent":["/**\n * 通用事件发射器(按事件名注册/注销/触发)\n * Generic event emitter: subscribe, unsubscribe, and emit by event name.\n *\n * 不传 PayloadMap 时默认 PayloadMap = Record<E, unknown>,每个事件可无参或单参 (unknown),通用。\n * 传 PayloadMap 时可精确到:void(无参)、单类型(单参)、元组(多参)。\n *\n * @example 不传 PayloadMap(通用:无参或单参均可)\n * ```ts\n * const events = defineEvents({ A: \"a\", B: \"b\" });\n * class Em extends EventEmitter<EventNamesOf<typeof events>> { constructor() { super(events); } }\n * const em = new Em();\n * em.on(events.A, () => {}); em.emit(events.A);\n * em.on(events.B, (x) => console.log(x)); em.emit(events.B, data);\n * ```\n * @example 传 PayloadMap(严格单参/多参)\n * ```ts\n * type Map = { FOO: string; LOG: [string, number] };\n * class Em extends EventEmitter<\"FOO\"|\"LOG\", Map> { ... }\n * em.on(events.FOO, (x) => {}); em.emit(events.FOO, \"hi\");\n * em.on(events.LOG, (msg, level) => {}); em.emit(events.LOG, \"ok\", 1);\n * ```\n */\n\nimport type { Defined, ValueOf } from \"@/types\";\n\n/** 回调类型:内部存储与 on/off 默认(unknown)时均用此,任意函数即可,无需 as 断言。 */\ntype EventCallback = (...args: any[]) => void;\n\n/**\n * 将 PayloadMap[K] 规范为参数元组。\n * void→[];unknown(默认)→ [] | [unknown];单类型 T→[T];元组→不变。\n */\ntype ToArgs<P> = P extends void\n ? []\n : unknown extends P\n ? [] | [P]\n : P extends unknown[]\n ? P\n : [P];\n\n/** 由 defineEvents 返回的「已规范事件名对象」类型;constructor 只接受此类型。 */\ntype DefinedEvents<T extends Record<string, string>> = Defined<T, \"events\">;\n\n/**\n * 从 events 对象推导出事件名字符串联合。\n * - 使用 `[T] extends [Defined<...>]` 稳定 `infer O`,避免部分 TS 版本下 `T extends Defined<infer O>` 推断失败得到 `never`。\n * - 排除 `__defineBrand`,避免 `keyof O` 混入品牌键导致值联合含 `\"events\"` 或推断异常。\n */\ntype EventNamesOf<T> = [T] extends [Defined<infer O, \"events\">]\n ? ValueOf<{ [K in keyof O as K extends \"__defineBrand\" ? never : K]: O[K] }>\n : T extends Record<string, string>\n ? T[keyof T]\n : never;\n\n/**\n * 规范创建「一级 key-value」事件名对象:仅允许 key → 字符串 value,禁止嵌套(类型约束)。\n * 返回 DefinedEvents<T>,供 EventEmitter 构造使用。\n * Define events object: one-level key-value (string values), no nested objects (type-only). Returns DefinedEvents<T> for EventEmitter.\n *\n * @param events - 事件名 key-value 对象。Event name key-value object (e.g. { FOO: \"DOMAIN:FOO\" }).\n * @returns DefinedEvents<E>,仅此类型可传入 EventEmitter 构造。DefinedEvents<E>; only this type is accepted by EventEmitter constructor.\n * @example\n * ```ts\n * const routerEvents = defineEvents({ NAVIGATE: \"ROUTER:NAVIGATE\", NAVIGATE_BACK: \"ROUTER:NAVIGATE_BACK\" });\n * class RouterEmitter extends EventEmitter<EventNamesOf<typeof routerEvents>> { constructor() { super(routerEvents); } }\n * ```\n */\nfunction defineEvents<E extends Record<string, string>>(events: E): DefinedEvents<E> {\n return events as DefinedEvents<E>;\n}\n\nfunction createListenersMap<E extends string>(eventNames: readonly E[]): Record<E, Set<EventCallback>> {\n const map = {} as Record<E, Set<EventCallback>>;\n for (const e of eventNames) {\n map[e] = new Set();\n }\n return map;\n}\n\n/**\n * 泛型 EventEmitter:构造函数仅接受 defineEvents 返回的 DefinedEvents 类型,提供 on / off / emit。\n * PayloadMap[K] 可为 void(无参)、单类型 T(单参)、或元组 [A, B, ...](多参),统一规范为参数列表。\n * PayloadMap[K] can be void (no args), single type T (one arg), or tuple [A, B, ...] (multi arg).\n *\n * @param events - 须为 defineEvents(...) 的返回值(DefinedEvents)。Must be the return value of defineEvents(...) (DefinedEvents).\n */\nclass EventEmitter<E extends string, PayloadMap extends Record<E, unknown> = Record<E, unknown>> {\n private listeners: Record<E, Set<EventCallback>>;\n\n constructor(events: DefinedEvents<Record<string, E>>) {\n this.listeners = createListenersMap(Object.values(events as Record<string, E>));\n }\n\n /** 注册事件监听;回调为任意函数,由 emit 时传入的参数决定实际类型。 */\n on<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].add(callback);\n }\n\n /** 移除事件监听(需与 on 时同一引用)。 */\n off<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].delete(callback);\n }\n\n /**\n * 触发事件;参数与 PayloadMap[K] 一致:void 无参,T 单参,[A,B] 多参。\n * Emit an event; args match PayloadMap[K]: void → no args, T → one arg, [A,B] → spread.\n */\n emit<K extends E>(event: K, ...args: ToArgs<PayloadMap[K]>): void {\n this.listeners[event].forEach((cb) => cb(...args));\n }\n}\n\nexport { EventEmitter, defineEvents };\nexport type { EventCallback, DefinedEvents, EventNamesOf };\n"],"mappings":";AAoEA,SAAS,EAA+C,GAA6B;CACnF,OAAO;AACT;AAEA,SAAS,EAAqC,GAAyD;CACrG,IAAM,IAAM,CAAC;CACb,KAAK,IAAM,KAAK,GACd,EAAI,qBAAK,IAAI,IAAI;CAEnB,OAAO;AACT;AASA,IAAM,IAAN,MAAiG;CAC/F;CAEA,YAAY,GAA0C;EACpD,KAAK,YAAY,EAAmB,OAAO,OAAO,CAA2B,CAAC;CAChF;CAGA,GAAgB,GAAU,GAA+B;EACvD,KAAK,UAAU,EAAM,CAAC,IAAI,CAAQ;CACpC;CAGA,IAAiB,GAAU,GAA+B;EACxD,KAAK,UAAU,EAAM,CAAC,OAAO,CAAQ;CACvC;CAMA,KAAkB,GAAU,GAAG,GAAmC;EAChE,KAAK,UAAU,EAAM,CAAC,SAAS,MAAO,EAAG,GAAG,CAAI,CAAC;CACnD;AACF"}
1
+ {"version":3,"file":"EventEmitter.js","names":[],"sources":["../../src/events/EventEmitter.ts"],"sourcesContent":["/**\n * 通用事件发射器(按事件名注册/注销/触发)\n * Generic event emitter: subscribe, unsubscribe, and emit by event name.\n *\n * 不传 PayloadMap 时默认 PayloadMap = Record<E, unknown>,每个事件可无参或单参 (unknown),通用。\n * 传 PayloadMap 时可精确到:void(无参)、单类型(单参)、元组(多参)。\n *\n * @example 不传 PayloadMap(通用:无参或单参均可)\n * ```ts\n * const events = defineEvents({ A: \"a\", B: \"b\" });\n * class Em extends EventEmitter<EventNamesOf<typeof events>> { constructor() { super(events); } }\n * const em = new Em();\n * em.on(events.A, () => {}); em.emit(events.A);\n * em.on(events.B, (x) => console.log(x)); em.emit(events.B, data);\n * ```\n * @example 传 PayloadMap(严格单参/多参)\n * ```ts\n * type Map = { FOO: string; LOG: [string, number] };\n * class Em extends EventEmitter<\"FOO\"|\"LOG\", Map> { ... }\n * em.on(events.FOO, (x) => {}); em.emit(events.FOO, \"hi\");\n * em.on(events.LOG, (msg, level) => {}); em.emit(events.LOG, \"ok\", 1);\n * ```\n */\n\nimport type { Defined, ValueOf } from \"nfx-ui/types\";\n\n/** 回调类型:内部存储与 on/off 默认(unknown)时均用此,任意函数即可,无需 as 断言。 */\ntype EventCallback = (...args: any[]) => void;\n\n/**\n * 将 PayloadMap[K] 规范为参数元组。\n * void→[];unknown(默认)→ [] | [unknown];单类型 T→[T];元组→不变。\n */\ntype ToArgs<P> = P extends void\n ? []\n : unknown extends P\n ? [] | [P]\n : P extends unknown[]\n ? P\n : [P];\n\n/** 由 defineEvents 返回的「已规范事件名对象」类型;constructor 只接受此类型。 */\ntype DefinedEvents<T extends Record<string, string>> = Defined<T, \"events\">;\n\n/**\n * 从 events 对象推导出事件名字符串联合。\n * - 使用 `[T] extends [Defined<...>]` 稳定 `infer O`,避免部分 TS 版本下 `T extends Defined<infer O>` 推断失败得到 `never`。\n * - 排除 `__defineBrand`,避免 `keyof O` 混入品牌键导致值联合含 `\"events\"` 或推断异常。\n */\ntype EventNamesOf<T> = [T] extends [Defined<infer O, \"events\">]\n ? ValueOf<{ [K in keyof O as K extends \"__defineBrand\" ? never : K]: O[K] }>\n : T extends Record<string, string>\n ? T[keyof T]\n : never;\n\n/**\n * 规范创建「一级 key-value」事件名对象:仅允许 key → 字符串 value,禁止嵌套(类型约束)。\n * 返回 DefinedEvents<T>,供 EventEmitter 构造使用。\n * Define events object: one-level key-value (string values), no nested objects (type-only). Returns DefinedEvents<T> for EventEmitter.\n *\n * @param events - 事件名 key-value 对象。Event name key-value object (e.g. { FOO: \"DOMAIN:FOO\" }).\n * @returns DefinedEvents<E>,仅此类型可传入 EventEmitter 构造。DefinedEvents<E>; only this type is accepted by EventEmitter constructor.\n * @example\n * ```ts\n * const routerEvents = defineEvents({ NAVIGATE: \"ROUTER:NAVIGATE\", NAVIGATE_BACK: \"ROUTER:NAVIGATE_BACK\" });\n * class RouterEmitter extends EventEmitter<EventNamesOf<typeof routerEvents>> { constructor() { super(routerEvents); } }\n * ```\n */\nfunction defineEvents<E extends Record<string, string>>(events: E): DefinedEvents<E> {\n return events as DefinedEvents<E>;\n}\n\nfunction createListenersMap<E extends string>(eventNames: readonly E[]): Record<E, Set<EventCallback>> {\n const map = {} as Record<E, Set<EventCallback>>;\n for (const e of eventNames) {\n map[e] = new Set();\n }\n return map;\n}\n\n/**\n * 泛型 EventEmitter:构造函数仅接受 defineEvents 返回的 DefinedEvents 类型,提供 on / off / emit。\n * PayloadMap[K] 可为 void(无参)、单类型 T(单参)、或元组 [A, B, ...](多参),统一规范为参数列表。\n * PayloadMap[K] can be void (no args), single type T (one arg), or tuple [A, B, ...] (multi arg).\n *\n * @param events - 须为 defineEvents(...) 的返回值(DefinedEvents)。Must be the return value of defineEvents(...) (DefinedEvents).\n */\nclass EventEmitter<E extends string, PayloadMap extends Record<E, unknown> = Record<E, unknown>> {\n private listeners: Record<E, Set<EventCallback>>;\n\n constructor(events: DefinedEvents<Record<string, E>>) {\n this.listeners = createListenersMap(Object.values(events as Record<string, E>));\n }\n\n /** 注册事件监听;回调为任意函数,由 emit 时传入的参数决定实际类型。 */\n on<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].add(callback);\n }\n\n /** 移除事件监听(需与 on 时同一引用)。 */\n off<K extends E>(event: K, callback: EventCallback): void {\n this.listeners[event].delete(callback);\n }\n\n /**\n * 触发事件;参数与 PayloadMap[K] 一致:void 无参,T 单参,[A,B] 多参。\n * Emit an event; args match PayloadMap[K]: void → no args, T → one arg, [A,B] → spread.\n */\n emit<K extends E>(event: K, ...args: ToArgs<PayloadMap[K]>): void {\n this.listeners[event].forEach((cb) => cb(...args));\n }\n}\n\nexport { EventEmitter, defineEvents };\nexport type { EventCallback, DefinedEvents, EventNamesOf };\n"],"mappings":";AAoEA,SAAS,EAA+C,GAA6B;CACnF,OAAO;AACT;AAEA,SAAS,EAAqC,GAAyD;CACrG,IAAM,IAAM,CAAC;CACb,KAAK,IAAM,KAAK,GACd,EAAI,qBAAK,IAAI,IAAI;CAEnB,OAAO;AACT;AASA,IAAM,IAAN,MAAiG;CAC/F;CAEA,YAAY,GAA0C;EACpD,KAAK,YAAY,EAAmB,OAAO,OAAO,CAA2B,CAAC;CAChF;CAGA,GAAgB,GAAU,GAA+B;EACvD,KAAK,UAAU,EAAM,CAAC,IAAI,CAAQ;CACpC;CAGA,IAAiB,GAAU,GAA+B;EACxD,KAAK,UAAU,EAAM,CAAC,OAAO,CAAQ;CACvC;CAMA,KAAkB,GAAU,GAAG,GAAmC;EAChE,KAAK,UAAU,EAAM,CAAC,SAAS,MAAO,EAAG,GAAG,CAAI,CAAC;CACnD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/events/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAgB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGnE,eAAO,MAAM,UAAU;;;;;;EAMrB,CAAC;AAEH,KAAK,SAAS,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF,cAAM,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;;IAKpD,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM;IAI7B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB;IAIrD,MAAM;IAIN,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI;IAI7B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;CAG/B;AAED,eAAO,MAAM,gBAAgB,kBAAsC,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/events/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAgB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGxE,eAAO,MAAM,UAAU;;;;;;EAMrB,CAAC;AAEH,KAAK,SAAS,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF,cAAM,gBAAiB,SAAQ,YAAY,CAAC,SAAS,CAAC;;IAKpD,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM;IAI7B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB;IAIrD,MAAM;IAIN,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI;IAI7B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;CAG/B;AAED,eAAO,MAAM,gBAAgB,kBAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","names":[],"sources":["../../src/events/auth.ts"],"sourcesContent":["import type { ProfileKindEnum } from \"@/enums\";\nimport type { EventNamesOf } from \"@/events/EventEmitter\";\n\nimport { defineEvents, EventEmitter } from \"@/events/EventEmitter\";\nimport { singleton } from \"@/utils/singleton\";\n\nexport const authEvents = defineEvents({\n UPDATE_ACCOUNT_SUCCESS: \"AUTH:UPDATE_ACCOUNT_SUCCESS\",\n LOGIN_SUCCESS: \"AUTH:LOGIN_SUCCESS\",\n LOGOUT: \"AUTH:LOGOUT\",\n INVALIDATE_EMAILS: \"AUTH:INVALIDATE_EMAILS\",\n INVALIDATE_PROFILES: \"AUTH:INVALIDATE_PROFILES\",\n});\n\ntype AuthEvent = EventNamesOf<typeof authEvents>;\n\nexport type InvalidateProfilesPayload = {\n aID: string;\n kind: ProfileKindEnum;\n};\n\nclass AuthEventEmitter extends EventEmitter<AuthEvent> {\n constructor() {\n super(authEvents);\n }\n\n invalidateEmails(aID?: string) {\n this.emit(authEvents.INVALIDATE_EMAILS, aID);\n }\n\n invalidateProfiles(payload: InvalidateProfilesPayload) {\n this.emit(authEvents.INVALIDATE_PROFILES, payload);\n }\n\n logout() {\n this.emit(authEvents.LOGOUT);\n }\n\n onLogout(callback: () => void) {\n this.on(authEvents.LOGOUT, callback);\n }\n\n offLogout(callback: () => void) {\n this.off(authEvents.LOGOUT, callback);\n }\n}\n\nexport const authEventEmitter = new (singleton(AuthEventEmitter))();\n"],"mappings":";;;AAMA,IAAa,IAAa,EAAa;CACrC,wBAAwB;CACxB,eAAe;CACf,QAAQ;CACR,mBAAmB;CACnB,qBAAqB;AACvB,CAAC,GAmCY,IAAmB,KAAK,EAAU,cA1BhB,EAAwB;CACrD,cAAc;EACZ,MAAM,CAAU;CAClB;CAEA,iBAAiB,GAAc;EAC7B,KAAK,KAAK,EAAW,mBAAmB,CAAG;CAC7C;CAEA,mBAAmB,GAAoC;EACrD,KAAK,KAAK,EAAW,qBAAqB,CAAO;CACnD;CAEA,SAAS;EACP,KAAK,KAAK,EAAW,MAAM;CAC7B;CAEA,SAAS,GAAsB;EAC7B,KAAK,GAAG,EAAW,QAAQ,CAAQ;CACrC;CAEA,UAAU,GAAsB;EAC9B,KAAK,IAAI,EAAW,QAAQ,CAAQ;CACtC;AACF,CAE+D,GAAG"}
1
+ {"version":3,"file":"auth.js","names":[],"sources":["../../src/events/auth.ts"],"sourcesContent":["import type { ProfileKindEnum } from \"nfx-ui/enums\";\nimport type { EventNamesOf } from \"nfx-ui/events/EventEmitter\";\n\nimport { defineEvents, EventEmitter } from \"nfx-ui/events/EventEmitter\";\nimport { singleton } from \"nfx-ui/utils/singleton\";\n\nexport const authEvents = defineEvents({\n UPDATE_ACCOUNT_SUCCESS: \"AUTH:UPDATE_ACCOUNT_SUCCESS\",\n LOGIN_SUCCESS: \"AUTH:LOGIN_SUCCESS\",\n LOGOUT: \"AUTH:LOGOUT\",\n INVALIDATE_EMAILS: \"AUTH:INVALIDATE_EMAILS\",\n INVALIDATE_PROFILES: \"AUTH:INVALIDATE_PROFILES\",\n});\n\ntype AuthEvent = EventNamesOf<typeof authEvents>;\n\nexport type InvalidateProfilesPayload = {\n aID: string;\n kind: ProfileKindEnum;\n};\n\nclass AuthEventEmitter extends EventEmitter<AuthEvent> {\n constructor() {\n super(authEvents);\n }\n\n invalidateEmails(aID?: string) {\n this.emit(authEvents.INVALIDATE_EMAILS, aID);\n }\n\n invalidateProfiles(payload: InvalidateProfilesPayload) {\n this.emit(authEvents.INVALIDATE_PROFILES, payload);\n }\n\n logout() {\n this.emit(authEvents.LOGOUT);\n }\n\n onLogout(callback: () => void) {\n this.on(authEvents.LOGOUT, callback);\n }\n\n offLogout(callback: () => void) {\n this.off(authEvents.LOGOUT, callback);\n }\n}\n\nexport const authEventEmitter = new (singleton(AuthEventEmitter))();\n"],"mappings":";;;AAMA,IAAa,IAAa,EAAa;CACrC,wBAAwB;CACxB,eAAe;CACf,QAAQ;CACR,mBAAmB;CACnB,qBAAqB;AACvB,CAAC,GAmCY,IAAmB,KAAK,EAAU,cA1BhB,EAAwB;CACrD,cAAc;EACZ,MAAM,CAAU;CAClB;CAEA,iBAAiB,GAAc;EAC7B,KAAK,KAAK,EAAW,mBAAmB,CAAG;CAC7C;CAEA,mBAAmB,GAAoC;EACrD,KAAK,KAAK,EAAW,qBAAqB,CAAO;CACnD;CAEA,SAAS;EACP,KAAK,KAAK,EAAW,MAAM;CAC7B;CAEA,SAAS,GAAsB;EAC7B,KAAK,GAAG,EAAW,QAAQ,CAAQ;CACrC;CAEA,UAAU,GAAsB;EAC9B,KAAK,IAAI,EAAW,QAAQ,CAAQ;CACtC;AACF,CAE+D,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/events/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAgB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGnE,eAAO,MAAM,WAAW;;EAEtB,CAAC;AAEH,KAAK,gBAAgB,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzD,cAAM,kBAAmB,SAAQ,YAAY,CAAC,gBAAgB,CAAC;;IAK7D,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI;CAGvC;AAED,eAAO,MAAM,iBAAiB,oBAAwC,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/events/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAgB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGxE,eAAO,MAAM,WAAW;;EAEtB,CAAC;AAEH,KAAK,gBAAgB,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzD,cAAM,kBAAmB,SAAQ,YAAY,CAAC,gBAAgB,CAAC;;IAK7D,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI;CAGvC;AAED,eAAO,MAAM,iBAAiB,oBAAwC,CAAC"}