@nlabs/metropolisjs 0.1.2 → 0.2.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 (329) hide show
  1. package/.github/copilot-instructions.md +167 -0
  2. package/AGENTS.md +13 -0
  3. package/CHANGELOG.md +112 -0
  4. package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
  5. package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
  6. package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
  7. package/README.md +1123 -112
  8. package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
  9. package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
  10. package/docs/ACTIONS.md +63 -0
  11. package/docs/COLLECTIONS.md +1038 -0
  12. package/docs/CONNECTIONS.md +1367 -0
  13. package/docs/CRUD_INTEGRATION.md +702 -0
  14. package/examples/connections-usage.tsx +909 -0
  15. package/examples/content-actions-usage.ts +144 -0
  16. package/examples/crud-usage.tsx +847 -0
  17. package/examples/extensibility-usage.tsx +889 -0
  18. package/examples/i18n-import-examples.ts +86 -0
  19. package/examples/i18n-namespace-usage.ts +118 -0
  20. package/examples/i18next-singleton-demo.ts +187 -0
  21. package/examples/permission-system-usage.tsx +415 -0
  22. package/examples/project-details.tsx +397 -0
  23. package/examples/shared-i18n-usage.tsx +203 -0
  24. package/examples/signup-error-handling.ts +100 -0
  25. package/examples/translation-types.ts +86 -0
  26. package/examples/translation-usage.tsx +336 -0
  27. package/index.js +1 -0
  28. package/jest.config.mjs +28 -0
  29. package/lex.config.mjs +11 -2
  30. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
  31. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
  32. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
  33. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
  34. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
  35. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
  36. package/lib/actions/appActions/appActions.d.ts +29 -0
  37. package/lib/actions/appActions/appActions.d.ts.map +1 -0
  38. package/lib/actions/appActions/appActions.js +159 -0
  39. package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
  40. package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
  41. package/lib/actions/connectionActions/connectionActions.js +131 -0
  42. package/lib/actions/contentActions/contentActions.d.ts +34 -0
  43. package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
  44. package/lib/actions/contentActions/contentActions.js +314 -0
  45. package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
  46. package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
  47. package/lib/actions/conversationActions/conversationActions.js +225 -0
  48. package/lib/actions/eventActions/eventActions.d.ts +27 -7
  49. package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
  50. package/lib/actions/eventActions/eventActions.js +436 -2
  51. package/lib/actions/groupActions/groupActions.d.ts +30 -0
  52. package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
  53. package/lib/actions/groupActions/groupActions.js +229 -0
  54. package/lib/actions/imageActions/imageActions.d.ts +16 -10
  55. package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
  56. package/lib/actions/imageActions/imageActions.js +593 -2
  57. package/lib/actions/index.d.ts +21 -9
  58. package/lib/actions/index.d.ts.map +1 -0
  59. package/lib/actions/index.js +22 -2
  60. package/lib/actions/locationActions/locationActions.d.ts +11 -9
  61. package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
  62. package/lib/actions/locationActions/locationActions.js +388 -2
  63. package/lib/actions/messageActions/messageActions.d.ts +16 -32
  64. package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
  65. package/lib/actions/messageActions/messageActions.js +235 -2
  66. package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
  67. package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
  68. package/lib/actions/permissionActions/permissionActions.js +330 -0
  69. package/lib/actions/personaActions/personaActions.d.ts +65 -0
  70. package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
  71. package/lib/actions/personaActions/personaActions.js +572 -0
  72. package/lib/actions/postActions/postActions.d.ts +12 -32
  73. package/lib/actions/postActions/postActions.d.ts.map +1 -0
  74. package/lib/actions/postActions/postActions.js +447 -2
  75. package/lib/actions/reactionActions/reactionActions.d.ts +13 -27
  76. package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
  77. package/lib/actions/reactionActions/reactionActions.js +413 -2
  78. package/lib/actions/sseActions/sseActions.d.ts +1 -0
  79. package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
  80. package/lib/actions/sseActions/sseActions.js +148 -2
  81. package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
  82. package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
  83. package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
  84. package/lib/actions/tagActions/tagActions.d.ts +13 -31
  85. package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
  86. package/lib/actions/tagActions/tagActions.js +347 -2
  87. package/lib/actions/translationActions/translationActions.d.ts +38 -0
  88. package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
  89. package/lib/actions/translationActions/translationActions.js +189 -0
  90. package/lib/actions/userActions/userActions.d.ts +42 -95
  91. package/lib/actions/userActions/userActions.d.ts.map +1 -0
  92. package/lib/actions/userActions/userActions.js +844 -2
  93. package/lib/actions/videoActions/videoActions.d.ts +41 -0
  94. package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
  95. package/lib/actions/videoActions/videoActions.js +532 -0
  96. package/lib/actions/websocketActions/websocketActions.d.ts +20 -21
  97. package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
  98. package/lib/actions/websocketActions/websocketActions.js +377 -2
  99. package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
  100. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
  101. package/lib/adapters/appAdapter/appAdapter.js +90 -0
  102. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +3 -2
  103. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
  104. package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -2
  105. package/lib/adapters/contentAdapter/contentAdapter.d.ts +3 -2
  106. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
  107. package/lib/adapters/contentAdapter/contentAdapter.js +107 -2
  108. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +3 -2
  109. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
  110. package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -2
  111. package/lib/adapters/eventAdapter/eventAdapter.d.ts +5 -2
  112. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
  113. package/lib/adapters/eventAdapter/eventAdapter.js +162 -2
  114. package/lib/adapters/fileAdapter/fileAdapter.d.ts +3 -2
  115. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
  116. package/lib/adapters/fileAdapter/fileAdapter.js +118 -2
  117. package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
  118. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
  119. package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
  120. package/lib/adapters/imageAdapter/imageAdapter.d.ts +9 -2
  121. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
  122. package/lib/adapters/imageAdapter/imageAdapter.js +134 -2
  123. package/lib/adapters/index.d.ts +34 -16
  124. package/lib/adapters/index.d.ts.map +1 -0
  125. package/lib/adapters/index.js +19 -2
  126. package/lib/adapters/locationAdapter/locationAdapter.d.ts +3 -2
  127. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
  128. package/lib/adapters/locationAdapter/locationAdapter.js +95 -2
  129. package/lib/adapters/messageAdapter/messageAdapter.d.ts +23 -19
  130. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
  131. package/lib/adapters/messageAdapter/messageAdapter.js +82 -2
  132. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
  133. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
  134. package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
  135. package/lib/adapters/personaAdapter/personaAdapter.d.ts +28 -2
  136. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
  137. package/lib/adapters/personaAdapter/personaAdapter.js +161 -2
  138. package/lib/adapters/postAdapter/postAdapter.d.ts +3 -2
  139. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
  140. package/lib/adapters/postAdapter/postAdapter.js +115 -2
  141. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +5 -2
  142. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
  143. package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -2
  144. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +3 -2
  145. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
  146. package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -2
  147. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +3 -2
  148. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
  149. package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -2
  150. package/lib/adapters/tagAdapter/tagAdapter.d.ts +3 -2
  151. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
  152. package/lib/adapters/tagAdapter/tagAdapter.js +98 -2
  153. package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
  154. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
  155. package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
  156. package/lib/adapters/userAdapter/userAdapter.d.ts +18 -6
  157. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
  158. package/lib/adapters/userAdapter/userAdapter.js +302 -2
  159. package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
  160. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
  161. package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
  162. package/lib/config/index.d.ts +19 -6
  163. package/lib/config/index.d.ts.map +1 -0
  164. package/lib/config/index.js +97 -2
  165. package/lib/constants/Collections.d.ts +44 -0
  166. package/lib/constants/Collections.d.ts.map +1 -0
  167. package/lib/constants/Collections.js +40 -0
  168. package/lib/constants/MetropolisConstants.d.ts +1 -0
  169. package/lib/constants/MetropolisConstants.d.ts.map +1 -0
  170. package/lib/constants/MetropolisConstants.js +15 -2
  171. package/lib/graphql/message.d.ts +1 -0
  172. package/lib/graphql/message.d.ts.map +1 -0
  173. package/lib/graphql/message.js +6 -4
  174. package/lib/graphql/notification.d.ts +1 -0
  175. package/lib/graphql/notification.d.ts.map +1 -0
  176. package/lib/graphql/notification.js +6 -4
  177. package/lib/graphql/session.d.ts +1 -0
  178. package/lib/graphql/session.d.ts.map +1 -0
  179. package/lib/graphql/session.js +4 -3
  180. package/lib/index.d.ts +45 -22
  181. package/lib/index.d.ts.map +1 -0
  182. package/lib/index.js +248 -2
  183. package/lib/stores/appStore.d.ts +1 -0
  184. package/lib/stores/appStore.d.ts.map +1 -0
  185. package/lib/stores/appStore.js +23 -2
  186. package/lib/stores/contentStore.d.ts +36 -0
  187. package/lib/stores/contentStore.d.ts.map +1 -0
  188. package/lib/stores/contentStore.js +139 -0
  189. package/lib/stores/conversationStore.d.ts +38 -0
  190. package/lib/stores/conversationStore.d.ts.map +1 -0
  191. package/lib/stores/conversationStore.js +117 -0
  192. package/lib/stores/eventStore.d.ts +4 -1
  193. package/lib/stores/eventStore.d.ts.map +1 -0
  194. package/lib/stores/eventStore.js +47 -2
  195. package/lib/stores/groupStore.d.ts +37 -0
  196. package/lib/stores/groupStore.d.ts.map +1 -0
  197. package/lib/stores/groupStore.js +68 -0
  198. package/lib/stores/imageStore.d.ts +6 -1
  199. package/lib/stores/imageStore.d.ts.map +1 -0
  200. package/lib/stores/imageStore.js +53 -2
  201. package/lib/stores/index.d.ts +20 -11
  202. package/lib/stores/index.d.ts.map +1 -0
  203. package/lib/stores/index.js +24 -2
  204. package/lib/stores/locationStore.d.ts +2 -1
  205. package/lib/stores/locationStore.d.ts.map +1 -0
  206. package/lib/stores/locationStore.js +42 -2
  207. package/lib/stores/messageStore.d.ts +19 -4
  208. package/lib/stores/messageStore.d.ts.map +1 -0
  209. package/lib/stores/messageStore.js +137 -2
  210. package/lib/stores/notificationStore.d.ts +33 -0
  211. package/lib/stores/notificationStore.d.ts.map +1 -0
  212. package/lib/stores/notificationStore.js +55 -0
  213. package/lib/stores/permissionStore.d.ts +37 -0
  214. package/lib/stores/permissionStore.d.ts.map +1 -0
  215. package/lib/stores/permissionStore.js +117 -0
  216. package/lib/stores/personaStore.d.ts +26 -0
  217. package/lib/stores/personaStore.d.ts.map +1 -0
  218. package/lib/stores/personaStore.js +118 -0
  219. package/lib/stores/postStore.d.ts +2 -1
  220. package/lib/stores/postStore.d.ts.map +1 -0
  221. package/lib/stores/postStore.js +53 -2
  222. package/lib/stores/reactionStore.d.ts +1 -0
  223. package/lib/stores/reactionStore.d.ts.map +1 -0
  224. package/lib/stores/reactionStore.js +28 -2
  225. package/lib/stores/subscriptionStore.d.ts +41 -0
  226. package/lib/stores/subscriptionStore.d.ts.map +1 -0
  227. package/lib/stores/subscriptionStore.js +85 -0
  228. package/lib/stores/tagStore.d.ts +8 -5
  229. package/lib/stores/tagStore.d.ts.map +1 -0
  230. package/lib/stores/tagStore.js +87 -2
  231. package/lib/stores/translationStore.d.ts +42 -0
  232. package/lib/stores/translationStore.d.ts.map +1 -0
  233. package/lib/stores/translationStore.js +122 -0
  234. package/lib/stores/userStore.d.ts +5 -4
  235. package/lib/stores/userStore.d.ts.map +1 -0
  236. package/lib/stores/userStore.js +319 -2
  237. package/lib/stores/videoStore.d.ts +39 -0
  238. package/lib/stores/videoStore.d.ts.map +1 -0
  239. package/lib/stores/videoStore.js +132 -0
  240. package/lib/stores/websocketStore.d.ts +1 -0
  241. package/lib/stores/websocketStore.d.ts.map +1 -0
  242. package/lib/stores/websocketStore.js +51 -2
  243. package/lib/types/apps.types.d.ts +17 -0
  244. package/lib/types/apps.types.d.ts.map +1 -0
  245. package/lib/types/apps.types.js +6 -0
  246. package/lib/types/common.types.d.ts +31 -0
  247. package/lib/types/common.types.d.ts.map +1 -0
  248. package/lib/types/common.types.js +6 -0
  249. package/lib/types/conversations.types.d.ts +17 -0
  250. package/lib/types/conversations.types.d.ts.map +1 -0
  251. package/lib/types/conversations.types.js +6 -0
  252. package/lib/types/edges.types.d.ts +38 -0
  253. package/lib/types/edges.types.d.ts.map +1 -0
  254. package/lib/types/edges.types.js +6 -0
  255. package/lib/types/groups.types.d.ts +19 -0
  256. package/lib/types/groups.types.d.ts.map +1 -0
  257. package/lib/types/groups.types.js +6 -0
  258. package/lib/types/index.d.ts +12 -0
  259. package/lib/types/index.d.ts.map +1 -0
  260. package/lib/types/index.js +12 -0
  261. package/lib/types/subscriptions.types.d.ts +32 -0
  262. package/lib/types/subscriptions.types.d.ts.map +1 -0
  263. package/lib/types/subscriptions.types.js +6 -0
  264. package/lib/types/videos.types.d.ts +61 -0
  265. package/lib/types/videos.types.d.ts.map +1 -0
  266. package/lib/types/videos.types.js +6 -0
  267. package/lib/utils/MetropolisProvider.d.ts +39 -15
  268. package/lib/utils/MetropolisProvider.d.ts.map +1 -0
  269. package/lib/utils/MetropolisProvider.js +31 -2
  270. package/lib/utils/actionFactory.d.ts +21 -19
  271. package/lib/utils/actionFactory.d.ts.map +1 -0
  272. package/lib/utils/actionFactory.js +95 -2
  273. package/lib/utils/api.d.ts +5 -4
  274. package/lib/utils/api.d.ts.map +1 -0
  275. package/lib/utils/api.js +252 -6
  276. package/lib/utils/app.d.ts +1 -0
  277. package/lib/utils/app.d.ts.map +1 -0
  278. package/lib/utils/app.js +15 -2
  279. package/lib/utils/baseActionFactory.d.ts +5 -23
  280. package/lib/utils/baseActionFactory.d.ts.map +1 -0
  281. package/lib/utils/baseActionFactory.js +72 -2
  282. package/lib/utils/configUtils.d.ts +11 -0
  283. package/lib/utils/configUtils.d.ts.map +1 -0
  284. package/lib/utils/configUtils.js +20 -0
  285. package/lib/utils/dateUtils.d.ts +1 -0
  286. package/lib/utils/dateUtils.d.ts.map +1 -0
  287. package/lib/utils/dateUtils.js +11 -2
  288. package/lib/utils/file.d.ts +3 -1
  289. package/lib/utils/file.d.ts.map +1 -0
  290. package/lib/utils/file.js +156 -2
  291. package/lib/utils/i18n.d.ts +7 -0
  292. package/lib/utils/i18n.d.ts.map +1 -0
  293. package/lib/utils/i18n.js +96 -0
  294. package/lib/utils/index.d.ts +20 -0
  295. package/lib/utils/index.d.ts.map +1 -0
  296. package/lib/utils/index.js +26 -0
  297. package/lib/utils/location.d.ts +4 -3
  298. package/lib/utils/location.d.ts.map +1 -0
  299. package/lib/utils/location.js +82 -2
  300. package/lib/utils/permissionUtils.d.ts +22 -0
  301. package/lib/utils/permissionUtils.d.ts.map +1 -0
  302. package/lib/utils/permissionUtils.js +72 -0
  303. package/lib/utils/requestCache.d.ts +8 -0
  304. package/lib/utils/requestCache.d.ts.map +1 -0
  305. package/lib/utils/requestCache.js +53 -0
  306. package/lib/utils/session.d.ts +14 -0
  307. package/lib/utils/session.d.ts.map +1 -0
  308. package/lib/utils/session.js +107 -0
  309. package/lib/utils/useConversationTyping.d.ts +26 -0
  310. package/lib/utils/useConversationTyping.d.ts.map +1 -0
  311. package/lib/utils/useConversationTyping.js +117 -0
  312. package/lib/utils/useMetropolis.d.ts +67 -12
  313. package/lib/utils/useMetropolis.d.ts.map +1 -0
  314. package/lib/utils/useMetropolis.js +311 -2
  315. package/lib/utils/useTranslations.d.ts +16 -0
  316. package/lib/utils/useTranslations.d.ts.map +1 -0
  317. package/lib/utils/useTranslations.js +105 -0
  318. package/lib/utils/validatorFactory.d.ts +3 -2
  319. package/lib/utils/validatorFactory.d.ts.map +1 -0
  320. package/lib/utils/validatorFactory.js +95 -2
  321. package/package.json +58 -17
  322. package/temp_signin.ts +73 -0
  323. package/lib/actions/profileActions/profileActions.d.ts +0 -50
  324. package/lib/actions/profileActions/profileActions.js +0 -2
  325. package/lib/adapters/profileAdapter/profileAdapter.d.ts +0 -32
  326. package/lib/adapters/profileAdapter/profileAdapter.js +0 -2
  327. package/lib/stores/profileStore.d.ts +0 -24
  328. package/lib/stores/profileStore.js +0 -2
  329. /package/{FACTORY_PATTERN_GUIDE.md → factoryPatternGuide.md} +0 -0
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { TRANSLATION_CONSTANTS } from '../../stores/translationStore.js';
5
+ import { appMutation, appQuery } from '../../utils/api.js';
6
+ import { createBaseActions } from '../../utils/baseActionFactory.js';
7
+ import { clearCachedRequest, getCachedRequest, setCachedRequest } from '../../utils/requestCache.js';
8
+ import { initI18n, updateI18nResources } from '../../utils/i18n.js';
9
+ const DATA_TYPE = 'translations';
10
+ const defaultTranslationValidator = (input, options)=>input;
11
+ export const createTranslationActions = (flux, options)=>{
12
+ const translationBase = createBaseActions(flux, defaultTranslationValidator, {
13
+ ...options?.translationAdapter && {
14
+ adapter: options.translationAdapter
15
+ },
16
+ ...options?.translationAdapterOptions && {
17
+ adapterOptions: options.translationAdapterOptions
18
+ }
19
+ });
20
+ const syncWithI18n = ()=>{
21
+ const state = flux.getState('translations');
22
+ const translations = state.translations || {};
23
+ if (Object.keys(translations).length > 0) {
24
+ if (!options?.autoSyncI18n) {
25
+ initI18n(translations);
26
+ } else {
27
+ updateI18nResources(translations);
28
+ }
29
+ }
30
+ };
31
+ const addTranslations = async (translations, translationProps = [], requestOptions = {})=>{
32
+ try {
33
+ const queryVariables = {
34
+ translations: {
35
+ type: '[TranslationInput!]!',
36
+ value: translations.map((t)=>translationBase.validator(t))
37
+ }
38
+ };
39
+ const onSuccess = (data)=>{
40
+ const addTranslations = data?.translations?.addTranslations || [];
41
+ const result = flux.dispatch({
42
+ translations: addTranslations,
43
+ type: TRANSLATION_CONSTANTS.ADD_TRANSLATIONS_SUCCESS
44
+ });
45
+ if (options?.autoSyncI18n) {
46
+ syncWithI18n();
47
+ }
48
+ return result;
49
+ };
50
+ return await appMutation(flux, 'addTranslations', DATA_TYPE, queryVariables, [
51
+ 'key',
52
+ 'locale',
53
+ 'value',
54
+ 'namespace',
55
+ ...translationProps
56
+ ], {
57
+ onSuccess
58
+ });
59
+ } catch (error) {
60
+ flux.dispatch({
61
+ error,
62
+ type: TRANSLATION_CONSTANTS.ADD_TRANSLATIONS_ERROR
63
+ });
64
+ throw error;
65
+ } finally{
66
+ await clearCachedRequest(flux, 'translation.getTranslations');
67
+ }
68
+ };
69
+ const getTranslation = (key, locale, namespace)=>{
70
+ const state = flux.getState('translations');
71
+ const translationKey = namespace ? `${namespace}:${key}:${locale}` : `${key}:${locale}`;
72
+ const translation = state.translations?.[translationKey];
73
+ return translation?.value || null;
74
+ };
75
+ const getTranslations = async (keys, locale, namespace, translationProps = [], requestOptions = {})=>{
76
+ try {
77
+ const cachedResult = getCachedRequest(flux, 'translation.getTranslations', {
78
+ keys,
79
+ locale,
80
+ namespace,
81
+ translationProps
82
+ }, requestOptions);
83
+ if (cachedResult) {
84
+ return cachedResult;
85
+ }
86
+ const queryVariables = {
87
+ keys: {
88
+ type: '[String!]!',
89
+ value: keys
90
+ },
91
+ locale: {
92
+ type: 'String!',
93
+ value: locale
94
+ },
95
+ ...namespace && {
96
+ namespace: {
97
+ type: 'String',
98
+ value: namespace
99
+ }
100
+ }
101
+ };
102
+ const onSuccess = (data)=>{
103
+ const getTranslations = data?.translations?.getTranslations || [];
104
+ const result = flux.dispatch({
105
+ translations: getTranslations,
106
+ type: TRANSLATION_CONSTANTS.GET_TRANSLATIONS_SUCCESS
107
+ });
108
+ if (options?.autoSyncI18n) {
109
+ syncWithI18n();
110
+ }
111
+ return result;
112
+ };
113
+ const result = await appQuery(flux, 'getTranslations', DATA_TYPE, queryVariables, [
114
+ 'key',
115
+ 'locale',
116
+ 'value',
117
+ 'namespace',
118
+ ...translationProps
119
+ ], {
120
+ onSuccess
121
+ });
122
+ return await setCachedRequest(flux, 'translation.getTranslations', {
123
+ keys,
124
+ locale,
125
+ namespace,
126
+ translationProps
127
+ }, result, requestOptions);
128
+ } catch (error) {
129
+ flux.dispatch({
130
+ error,
131
+ type: TRANSLATION_CONSTANTS.GET_TRANSLATIONS_ERROR
132
+ });
133
+ throw error;
134
+ }
135
+ };
136
+ const hasTranslation = (key, locale, namespace)=>{
137
+ const state = flux.getState('translations');
138
+ const translationKey = namespace ? `${namespace}:${key}:${locale}` : `${key}:${locale}`;
139
+ return !!state.translations?.[translationKey];
140
+ };
141
+ const queueTranslationKey = (key, locale, namespace)=>{
142
+ const translationKey = namespace ? `${namespace}:${key}:${locale}` : `${key}:${locale}`;
143
+ flux.dispatch({
144
+ key: translationKey,
145
+ type: TRANSLATION_CONSTANTS.QUEUE_TRANSLATION_KEY
146
+ });
147
+ };
148
+ const processPendingTranslations = async (locale, namespace, requestOptions = {})=>{
149
+ const state = flux.getState('translations');
150
+ const pendingKeys = Array.from(state.pendingKeys || []);
151
+ if (pendingKeys.length === 0) {
152
+ return;
153
+ }
154
+ flux.dispatch({
155
+ isQueueing: true,
156
+ type: TRANSLATION_CONSTANTS.SET_QUEUEING_STATE
157
+ });
158
+ try {
159
+ const keysToFetch = pendingKeys.map((key)=>{
160
+ const parts = key.split(':');
161
+ if (namespace) {
162
+ return parts.length === 3 ? parts[1] : null;
163
+ }
164
+ return parts.length === 2 ? parts[0] : null;
165
+ }).filter(Boolean);
166
+ if (keysToFetch.length > 0) {
167
+ await getTranslations(keysToFetch, locale, namespace, [], requestOptions);
168
+ }
169
+ } finally{
170
+ flux.dispatch({
171
+ isQueueing: false,
172
+ type: TRANSLATION_CONSTANTS.SET_QUEUEING_STATE
173
+ });
174
+ }
175
+ };
176
+ return {
177
+ addTranslations,
178
+ getTranslation,
179
+ getTranslations,
180
+ hasTranslation,
181
+ processPendingTranslations,
182
+ queueTranslationKey,
183
+ syncWithI18n,
184
+ updateTranslationAdapter: translationBase.updateAdapter,
185
+ updateTranslationAdapterOptions: translationBase.updateOptions
186
+ };
187
+ };
188
+
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmltcG9ydCB7VFJBTlNMQVRJT05fQ09OU1RBTlRTfSBmcm9tICcuLi8uLi9zdG9yZXMvdHJhbnNsYXRpb25TdG9yZS5qcyc7XG5pbXBvcnQge2FwcE11dGF0aW9uLCBhcHBRdWVyeX0gZnJvbSAnLi4vLi4vdXRpbHMvYXBpLmpzJztcbmltcG9ydCB7Y3JlYXRlQmFzZUFjdGlvbnN9IGZyb20gJy4uLy4uL3V0aWxzL2Jhc2VBY3Rpb25GYWN0b3J5LmpzJztcbmltcG9ydCB7Y2xlYXJDYWNoZWRSZXF1ZXN0LCBnZXRDYWNoZWRSZXF1ZXN0LCBzZXRDYWNoZWRSZXF1ZXN0fSBmcm9tICcuLi8uLi91dGlscy9yZXF1ZXN0Q2FjaGUuanMnO1xuXG5pbXBvcnQgdHlwZSB7Rmx1eEZyYW1ld29ya30gZnJvbSAnQG5sYWJzL2Fya2hhbWpzJztcbmltcG9ydCB0eXBlIHtUcmFuc2xhdGlvblR5cGV9IGZyb20gJy4uLy4uL3N0b3Jlcy90cmFuc2xhdGlvblN0b3JlLmpzJztcbmltcG9ydCB7aW5pdEkxOG4sIHVwZGF0ZUkxOG5SZXNvdXJjZXN9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUge0Jhc2VBZGFwdGVyT3B0aW9uc30gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5pbXBvcnQgdHlwZSB7QWN0aW9uUmVxdWVzdE9wdGlvbnN9IGZyb20gJy4uLy4uL3V0aWxzL3JlcXVlc3RDYWNoZS5qcyc7XG5cbmNvbnN0IERBVEFfVFlQRSA9ICd0cmFuc2xhdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uSW5wdXRUeXBlIHtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsZTogc3RyaW5nO1xuICByZWFkb25seSB2YWx1ZTogc3RyaW5nO1xuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRpb25BY3Rpb25zT3B0aW9ucyB7XG4gIHRyYW5zbGF0aW9uQWRhcHRlcj86IChpbnB1dDogdW5rbm93biwgb3B0aW9ucz86IEJhc2VBZGFwdGVyT3B0aW9ucykgPT4gYW55O1xuICB0cmFuc2xhdGlvbkFkYXB0ZXJPcHRpb25zPzogQmFzZUFkYXB0ZXJPcHRpb25zO1xuICBhdXRvU3luY0kxOG4/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvbkFwaVJlc3VsdHNUeXBlID0ge1xuICB0cmFuc2xhdGlvbnM6IHtcbiAgICBhZGRUcmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uVHlwZVtdO1xuICAgIGdldFRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25UeXBlW107XG4gIH07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uQWN0aW9ucyB7XG4gIGFkZFRyYW5zbGF0aW9uczogKHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25JbnB1dFR5cGVbXSwgdHJhbnNsYXRpb25Qcm9wcz86IHN0cmluZ1tdLCByZXF1ZXN0T3B0aW9ucz86IEFjdGlvblJlcXVlc3RPcHRpb25zKSA9PiBQcm9taXNlPFRyYW5zbGF0aW9uVHlwZVtdPjtcbiAgZ2V0VHJhbnNsYXRpb246IChrZXk6IHN0cmluZywgbG9jYWxlOiBzdHJpbmcsIG5hbWVzcGFjZT86IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcbiAgZ2V0VHJhbnNsYXRpb25zOiAoXG4gICAga2V5czogc3RyaW5nW10sXG4gICAgbG9jYWxlOiBzdHJpbmcsXG4gICAgbmFtZXNwYWNlPzogc3RyaW5nLFxuICAgIHRyYW5zbGF0aW9uUHJvcHM/OiBzdHJpbmdbXSxcbiAgICByZXF1ZXN0T3B0aW9ucz86IEFjdGlvblJlcXVlc3RPcHRpb25zXG4gICkgPT4gUHJvbWlzZTxUcmFuc2xhdGlvblR5cGVbXT47XG4gIGhhc1RyYW5zbGF0aW9uOiAoa2V5OiBzdHJpbmcsIGxvY2FsZTogc3RyaW5nLCBuYW1lc3BhY2U/OiBzdHJpbmcpID0+IGJvb2xlYW47XG4gIHByb2Nlc3NQZW5kaW5nVHJhbnNsYXRpb25zOiAobG9jYWxlOiBzdHJpbmcsIG5hbWVzcGFjZT86IHN0cmluZywgcmVxdWVzdE9wdGlvbnM/OiBBY3Rpb25SZXF1ZXN0T3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcXVldWVUcmFuc2xhdGlvbktleTogKGtleTogc3RyaW5nLCBsb2NhbGU6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nKSA9PiB2b2lkO1xuICBzeW5jV2l0aEkxOG46ICgpID0+IHZvaWQ7XG4gIHVwZGF0ZVRyYW5zbGF0aW9uQWRhcHRlcjogKGFkYXB0ZXI6IChpbnB1dDogdW5rbm93biwgb3B0aW9ucz86IEJhc2VBZGFwdGVyT3B0aW9ucykgPT4gYW55KSA9PiB2b2lkO1xuICB1cGRhdGVUcmFuc2xhdGlvbkFkYXB0ZXJPcHRpb25zOiAob3B0aW9uczogQmFzZUFkYXB0ZXJPcHRpb25zKSA9PiB2b2lkO1xufVxuXG5jb25zdCBkZWZhdWx0VHJhbnNsYXRpb25WYWxpZGF0b3IgPSAoaW5wdXQ6IHVua25vd24sIG9wdGlvbnM/OiBCYXNlQWRhcHRlck9wdGlvbnMpID0+IGlucHV0IGFzIFRyYW5zbGF0aW9uSW5wdXRUeXBlO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVHJhbnNsYXRpb25BY3Rpb25zID0gKFxuICBmbHV4OiBGbHV4RnJhbWV3b3JrLFxuICBvcHRpb25zPzogVHJhbnNsYXRpb25BY3Rpb25zT3B0aW9uc1xuKTogVHJhbnNsYXRpb25BY3Rpb25zID0+IHtcbiAgY29uc3QgdHJhbnNsYXRpb25CYXNlID0gY3JlYXRlQmFzZUFjdGlvbnMoZmx1eCwgZGVmYXVsdFRyYW5zbGF0aW9uVmFsaWRhdG9yLCB7XG4gICAgLi4uKG9wdGlvbnM/LnRyYW5zbGF0aW9uQWRhcHRlciAmJiB7YWRhcHRlcjogb3B0aW9ucy50cmFuc2xhdGlvbkFkYXB0ZXJ9KSxcbiAgICAuLi4ob3B0aW9ucz8udHJhbnNsYXRpb25BZGFwdGVyT3B0aW9ucyAmJiB7YWRhcHRlck9wdGlvbnM6IG9wdGlvbnMudHJhbnNsYXRpb25BZGFwdGVyT3B0aW9uc30pXG4gIH0pO1xuXG4gIGNvbnN0IHN5bmNXaXRoSTE4biA9ICgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3RyYW5zbGF0aW9ucycpIGFzIGFueTtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSBzdGF0ZS50cmFuc2xhdGlvbnMgfHwge307XG5cbiAgICBpZihPYmplY3Qua2V5cyh0cmFuc2xhdGlvbnMpLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmKCFvcHRpb25zPy5hdXRvU3luY0kxOG4pIHtcbiAgICAgICAgaW5pdEkxOG4odHJhbnNsYXRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVwZGF0ZUkxOG5SZXNvdXJjZXModHJhbnNsYXRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYWRkVHJhbnNsYXRpb25zID0gYXN5bmMgKFxuICAgIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25JbnB1dFR5cGVbXSxcbiAgICB0cmFuc2xhdGlvblByb3BzOiBzdHJpbmdbXSA9IFtdLFxuICAgIHJlcXVlc3RPcHRpb25zOiBBY3Rpb25SZXF1ZXN0T3B0aW9ucyA9IHt9XG4gICk6IFByb21pc2U8VHJhbnNsYXRpb25UeXBlW10+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcXVlcnlWYXJpYWJsZXMgPSB7XG4gICAgICAgIHRyYW5zbGF0aW9uczoge1xuICAgICAgICAgIHR5cGU6ICdbVHJhbnNsYXRpb25JbnB1dCFdIScsXG4gICAgICAgICAgdmFsdWU6IHRyYW5zbGF0aW9ucy5tYXAoKHQpID0+IHRyYW5zbGF0aW9uQmFzZS52YWxpZGF0b3IodCkpXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG9uU3VjY2VzcyA9IChkYXRhOiBUcmFuc2xhdGlvbkFwaVJlc3VsdHNUeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFRyYW5zbGF0aW9ucyA9IGRhdGE/LnRyYW5zbGF0aW9ucz8uYWRkVHJhbnNsYXRpb25zIHx8IFtdO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBmbHV4LmRpc3BhdGNoKHtcbiAgICAgICAgICB0cmFuc2xhdGlvbnM6IGFkZFRyYW5zbGF0aW9ucyxcbiAgICAgICAgICB0eXBlOiBUUkFOU0xBVElPTl9DT05TVEFOVFMuQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTXG4gICAgICAgIH0pO1xuICAgICAgICBpZihvcHRpb25zPy5hdXRvU3luY0kxOG4pIHtcbiAgICAgICAgICBzeW5jV2l0aEkxOG4oKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGF3YWl0IGFwcE11dGF0aW9uPFRyYW5zbGF0aW9uVHlwZVtdPihcbiAgICAgICAgZmx1eCxcbiAgICAgICAgJ2FkZFRyYW5zbGF0aW9ucycsXG4gICAgICAgIERBVEFfVFlQRSxcbiAgICAgICAgcXVlcnlWYXJpYWJsZXMsXG4gICAgICAgIFsna2V5JywgJ2xvY2FsZScsICd2YWx1ZScsICduYW1lc3BhY2UnLCAuLi50cmFuc2xhdGlvblByb3BzXSxcbiAgICAgICAge29uU3VjY2Vzc31cbiAgICAgICk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgZmx1eC5kaXNwYXRjaCh7ZXJyb3IsIHR5cGU6IFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5BRERfVFJBTlNMQVRJT05TX0VSUk9SfSk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgY2xlYXJDYWNoZWRSZXF1ZXN0KGZsdXgsICd0cmFuc2xhdGlvbi5nZXRUcmFuc2xhdGlvbnMnKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZ2V0VHJhbnNsYXRpb24gPSAoa2V5OiBzdHJpbmcsIGxvY2FsZTogc3RyaW5nLCBuYW1lc3BhY2U/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3RyYW5zbGF0aW9ucycpIGFzIGFueTtcbiAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IG5hbWVzcGFjZSA/IGAke25hbWVzcGFjZX06JHtrZXl9OiR7bG9jYWxlfWAgOiBgJHtrZXl9OiR7bG9jYWxlfWA7XG4gICAgY29uc3QgdHJhbnNsYXRpb24gPSBzdGF0ZS50cmFuc2xhdGlvbnM/Llt0cmFuc2xhdGlvbktleV07XG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uPy52YWx1ZSB8fCBudWxsO1xuICB9O1xuXG4gIGNvbnN0IGdldFRyYW5zbGF0aW9ucyA9IGFzeW5jIChcbiAgICBrZXlzOiBzdHJpbmdbXSxcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmcsXG4gICAgdHJhbnNsYXRpb25Qcm9wczogc3RyaW5nW10gPSBbXSxcbiAgICByZXF1ZXN0T3B0aW9uczogQWN0aW9uUmVxdWVzdE9wdGlvbnMgPSB7fVxuICApOiBQcm9taXNlPFRyYW5zbGF0aW9uVHlwZVtdPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNhY2hlZFJlc3VsdCA9IGdldENhY2hlZFJlcXVlc3Q8VHJhbnNsYXRpb25UeXBlW10+KFxuICAgICAgICBmbHV4LFxuICAgICAgICAndHJhbnNsYXRpb24uZ2V0VHJhbnNsYXRpb25zJyxcbiAgICAgICAge2tleXMsIGxvY2FsZSwgbmFtZXNwYWNlLCB0cmFuc2xhdGlvblByb3BzfSxcbiAgICAgICAgcmVxdWVzdE9wdGlvbnNcbiAgICAgICk7XG5cbiAgICAgIGlmKGNhY2hlZFJlc3VsdCkge1xuICAgICAgICByZXR1cm4gY2FjaGVkUmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBxdWVyeVZhcmlhYmxlcyA9IHtcbiAgICAgICAga2V5czoge1xuICAgICAgICAgIHR5cGU6ICdbU3RyaW5nIV0hJyxcbiAgICAgICAgICB2YWx1ZToga2V5c1xuICAgICAgICB9LFxuICAgICAgICBsb2NhbGU6IHtcbiAgICAgICAgICB0eXBlOiAnU3RyaW5nIScsXG4gICAgICAgICAgdmFsdWU6IGxvY2FsZVxuICAgICAgICB9LFxuICAgICAgICAuLi4obmFtZXNwYWNlICYmIHtcbiAgICAgICAgICBuYW1lc3BhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6ICdTdHJpbmcnLFxuICAgICAgICAgICAgdmFsdWU6IG5hbWVzcGFjZVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG9uU3VjY2VzcyA9IChkYXRhOiBUcmFuc2xhdGlvbkFwaVJlc3VsdHNUeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IGdldFRyYW5zbGF0aW9ucyA9IGRhdGE/LnRyYW5zbGF0aW9ucz8uZ2V0VHJhbnNsYXRpb25zIHx8IFtdO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBmbHV4LmRpc3BhdGNoKHtcbiAgICAgICAgICB0cmFuc2xhdGlvbnM6IGdldFRyYW5zbGF0aW9ucyxcbiAgICAgICAgICB0eXBlOiBUUkFOU0xBVElPTl9DT05TVEFOVFMuR0VUX1RSQU5TTEFUSU9OU19TVUNDRVNTXG4gICAgICAgIH0pO1xuICAgICAgICBpZihvcHRpb25zPy5hdXRvU3luY0kxOG4pIHtcbiAgICAgICAgICBzeW5jV2l0aEkxOG4oKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXBwUXVlcnk8VHJhbnNsYXRpb25UeXBlW10+KFxuICAgICAgICBmbHV4LFxuICAgICAgICAnZ2V0VHJhbnNsYXRpb25zJyxcbiAgICAgICAgREFUQV9UWVBFLFxuICAgICAgICBxdWVyeVZhcmlhYmxlcyxcbiAgICAgICAgWydrZXknLCAnbG9jYWxlJywgJ3ZhbHVlJywgJ25hbWVzcGFjZScsIC4uLnRyYW5zbGF0aW9uUHJvcHNdLFxuICAgICAgICB7b25TdWNjZXNzfVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGF3YWl0IHNldENhY2hlZFJlcXVlc3QoZmx1eCwgJ3RyYW5zbGF0aW9uLmdldFRyYW5zbGF0aW9ucycsIHtrZXlzLCBsb2NhbGUsIG5hbWVzcGFjZSwgdHJhbnNsYXRpb25Qcm9wc30sIHJlc3VsdCwgcmVxdWVzdE9wdGlvbnMpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIGZsdXguZGlzcGF0Y2goe2Vycm9yLCB0eXBlOiBUUkFOU0xBVElPTl9DT05TVEFOVFMuR0VUX1RSQU5TTEFUSU9OU19FUlJPUn0pO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhc1RyYW5zbGF0aW9uID0gKGtleTogc3RyaW5nLCBsb2NhbGU6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBmbHV4LmdldFN0YXRlKCd0cmFuc2xhdGlvbnMnKSBhcyBhbnk7XG4gICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBuYW1lc3BhY2UgPyBgJHtuYW1lc3BhY2V9OiR7a2V5fToke2xvY2FsZX1gIDogYCR7a2V5fToke2xvY2FsZX1gO1xuICAgIHJldHVybiAhIXN0YXRlLnRyYW5zbGF0aW9ucz8uW3RyYW5zbGF0aW9uS2V5XTtcbiAgfTtcblxuICBjb25zdCBxdWV1ZVRyYW5zbGF0aW9uS2V5ID0gKGtleTogc3RyaW5nLCBsb2NhbGU6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBuYW1lc3BhY2UgPyBgJHtuYW1lc3BhY2V9OiR7a2V5fToke2xvY2FsZX1gIDogYCR7a2V5fToke2xvY2FsZX1gO1xuICAgIGZsdXguZGlzcGF0Y2goe2tleTogdHJhbnNsYXRpb25LZXksIHR5cGU6IFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5RVUVVRV9UUkFOU0xBVElPTl9LRVl9KTtcbiAgfTtcblxuICBjb25zdCBwcm9jZXNzUGVuZGluZ1RyYW5zbGF0aW9ucyA9IGFzeW5jIChcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmcsXG4gICAgcmVxdWVzdE9wdGlvbnM6IEFjdGlvblJlcXVlc3RPcHRpb25zID0ge31cbiAgKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBmbHV4LmdldFN0YXRlKCd0cmFuc2xhdGlvbnMnKSBhcyBhbnk7XG4gICAgY29uc3QgcGVuZGluZ0tleXMgPSBBcnJheS5mcm9tKHN0YXRlLnBlbmRpbmdLZXlzIHx8IFtdKSBhcyBzdHJpbmdbXTtcblxuICAgIGlmKHBlbmRpbmdLZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZsdXguZGlzcGF0Y2goe2lzUXVldWVpbmc6IHRydWUsIHR5cGU6IFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5TRVRfUVVFVUVJTkdfU1RBVEV9KTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBrZXlzVG9GZXRjaCA9IHBlbmRpbmdLZXlzXG4gICAgICAgIC5tYXAoKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFydHMgPSBrZXkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZihuYW1lc3BhY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJ0cy5sZW5ndGggPT09IDMgPyBwYXJ0c1sxXSA6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBwYXJ0cy5sZW5ndGggPT09IDIgPyBwYXJ0c1swXSA6IG51bGw7XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgc3RyaW5nW107XG5cbiAgICAgIGlmKGtleXNUb0ZldGNoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXdhaXQgZ2V0VHJhbnNsYXRpb25zKGtleXNUb0ZldGNoLCBsb2NhbGUsIG5hbWVzcGFjZSwgW10sIHJlcXVlc3RPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgZmx1eC5kaXNwYXRjaCh7aXNRdWV1ZWluZzogZmFsc2UsIHR5cGU6IFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5TRVRfUVVFVUVJTkdfU1RBVEV9KTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBhZGRUcmFuc2xhdGlvbnMsXG4gICAgZ2V0VHJhbnNsYXRpb24sXG4gICAgZ2V0VHJhbnNsYXRpb25zLFxuICAgIGhhc1RyYW5zbGF0aW9uLFxuICAgIHByb2Nlc3NQZW5kaW5nVHJhbnNsYXRpb25zLFxuICAgIHF1ZXVlVHJhbnNsYXRpb25LZXksXG4gICAgc3luY1dpdGhJMThuLFxuICAgIHVwZGF0ZVRyYW5zbGF0aW9uQWRhcHRlcjogdHJhbnNsYXRpb25CYXNlLnVwZGF0ZUFkYXB0ZXIsXG4gICAgdXBkYXRlVHJhbnNsYXRpb25BZGFwdGVyT3B0aW9uczogdHJhbnNsYXRpb25CYXNlLnVwZGF0ZU9wdGlvbnNcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsiVFJBTlNMQVRJT05fQ09OU1RBTlRTIiwiYXBwTXV0YXRpb24iLCJhcHBRdWVyeSIsImNyZWF0ZUJhc2VBY3Rpb25zIiwiY2xlYXJDYWNoZWRSZXF1ZXN0IiwiZ2V0Q2FjaGVkUmVxdWVzdCIsInNldENhY2hlZFJlcXVlc3QiLCJpbml0STE4biIsInVwZGF0ZUkxOG5SZXNvdXJjZXMiLCJEQVRBX1RZUEUiLCJkZWZhdWx0VHJhbnNsYXRpb25WYWxpZGF0b3IiLCJpbnB1dCIsIm9wdGlvbnMiLCJjcmVhdGVUcmFuc2xhdGlvbkFjdGlvbnMiLCJmbHV4IiwidHJhbnNsYXRpb25CYXNlIiwidHJhbnNsYXRpb25BZGFwdGVyIiwiYWRhcHRlciIsInRyYW5zbGF0aW9uQWRhcHRlck9wdGlvbnMiLCJhZGFwdGVyT3B0aW9ucyIsInN5bmNXaXRoSTE4biIsInN0YXRlIiwiZ2V0U3RhdGUiLCJ0cmFuc2xhdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiYXV0b1N5bmNJMThuIiwiYWRkVHJhbnNsYXRpb25zIiwidHJhbnNsYXRpb25Qcm9wcyIsInJlcXVlc3RPcHRpb25zIiwicXVlcnlWYXJpYWJsZXMiLCJ0eXBlIiwidmFsdWUiLCJtYXAiLCJ0IiwidmFsaWRhdG9yIiwib25TdWNjZXNzIiwiZGF0YSIsInJlc3VsdCIsImRpc3BhdGNoIiwiQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTIiwiZXJyb3IiLCJBRERfVFJBTlNMQVRJT05TX0VSUk9SIiwiZ2V0VHJhbnNsYXRpb24iLCJrZXkiLCJsb2NhbGUiLCJuYW1lc3BhY2UiLCJ0cmFuc2xhdGlvbktleSIsInRyYW5zbGF0aW9uIiwiZ2V0VHJhbnNsYXRpb25zIiwiY2FjaGVkUmVzdWx0IiwiR0VUX1RSQU5TTEFUSU9OU19TVUNDRVNTIiwiR0VUX1RSQU5TTEFUSU9OU19FUlJPUiIsImhhc1RyYW5zbGF0aW9uIiwicXVldWVUcmFuc2xhdGlvbktleSIsIlFVRVVFX1RSQU5TTEFUSU9OX0tFWSIsInByb2Nlc3NQZW5kaW5nVHJhbnNsYXRpb25zIiwicGVuZGluZ0tleXMiLCJBcnJheSIsImZyb20iLCJpc1F1ZXVlaW5nIiwiU0VUX1FVRVVFSU5HX1NUQVRFIiwia2V5c1RvRmV0Y2giLCJwYXJ0cyIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsInVwZGF0ZVRyYW5zbGF0aW9uQWRhcHRlciIsInVwZGF0ZUFkYXB0ZXIiLCJ1cGRhdGVUcmFuc2xhdGlvbkFkYXB0ZXJPcHRpb25zIiwidXBkYXRlT3B0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBRUQsU0FBUUEscUJBQXFCLFFBQU8sbUNB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
@@ -1,131 +1,78 @@
1
1
  import type { FluxFramework } from '@nlabs/arkhamjs';
2
- import type { PersonaType } from '../../adapters/personaAdapter/personaAdapter';
3
- import type { User } from '../../adapters/userAdapter/userAdapter';
4
- import type { SessionType } from '../../utils/api';
5
- import type { BaseAdapterOptions } from '../../utils/validatorFactory';
6
- export interface UserAdapterOptions extends BaseAdapterOptions {
7
- }
8
- export interface PersonaAdapterOptions extends BaseAdapterOptions {
9
- }
2
+ import type { User } from '../../adapters/userAdapter/userAdapter.js';
3
+ import type { SessionType } from '../../utils/api.js';
4
+ import type { BaseAdapterOptions } from '../../utils/validatorFactory.js';
5
+ import type { ActionRequestOptions } from '../../utils/requestCache.js';
6
+ export type UserAdapterOptions = BaseAdapterOptions;
10
7
  export interface UserActionsOptions {
11
8
  readonly userAdapter?: (input: unknown, options?: UserAdapterOptions) => any;
12
- readonly personaAdapter?: (input: unknown, options?: PersonaAdapterOptions) => any;
13
9
  readonly userAdapterOptions?: UserAdapterOptions;
14
- readonly personaAdapterOptions?: PersonaAdapterOptions;
15
10
  }
16
11
  export interface UserApiResultsType {
17
12
  readonly users: {
18
13
  readonly activeCount?: number;
19
- readonly add?: Partial<User>;
14
+ readonly addUser?: Partial<User>;
20
15
  readonly confirmCode?: boolean;
21
16
  readonly deactivate?: Partial<User>;
22
17
  readonly forgotPassword?: boolean;
23
18
  readonly itemById?: Partial<User>;
19
+ readonly getUserBySession?: Partial<User>;
24
20
  readonly itemBySession?: Partial<User>;
25
21
  readonly itemByToken?: Partial<User>;
26
22
  readonly itemByUsername?: Partial<User>;
23
+ readonly getUserList?: User[];
27
24
  readonly list?: User[];
28
25
  readonly listByConnection?: User[];
29
26
  readonly listByLatest?: User[];
30
27
  readonly listByReactions?: User[];
31
28
  readonly listByTags?: User[];
29
+ readonly search?: User[];
32
30
  readonly refreshSession?: SessionType;
33
31
  readonly remove?: Partial<User>;
34
32
  readonly resetPassword?: boolean;
33
+ readonly saveBillingCard?: Partial<User>;
35
34
  readonly session?: Partial<User>;
36
35
  readonly signIn?: Partial<User>;
37
36
  readonly signUp?: Partial<User>;
37
+ readonly deleteBillingCard?: Partial<User>;
38
38
  readonly update?: Partial<User>;
39
+ readonly updateUser?: Partial<User>;
39
40
  readonly updatePassword?: Partial<boolean>;
40
- readonly updatePersona?: Partial<PersonaType>;
41
+ readonly updatePlan?: Partial<User>;
41
42
  };
42
43
  }
43
44
  export interface userActions {
44
- add: (userInput: Partial<User>, userProps?: string[]) => Promise<User>;
45
- confirmCode: (type: 'email' | 'phone', code: number) => Promise<boolean>;
46
- remove: (userId: string) => Promise<User>;
47
- session: (userProps?: string[]) => Promise<User>;
48
- itemById: (userId: string, userProps?: string[]) => Promise<User>;
49
- listByLatest: (username?: string, from?: number, to?: number, userProps?: string[]) => Promise<User[]>;
50
- listByConnection: (userId: string, from?: number, to?: number, userProps?: string[]) => Promise<User[]>;
51
- listByReactions: (username: string, reactionNames: string[], from?: number, to?: number, profileProps?: string[]) => Promise<User[]>;
52
- listByTags: (username: string, tagNames: string[], from?: number, to?: number, profileProps?: string[]) => Promise<User[]>;
45
+ addUser: (userInput: Partial<User>, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
46
+ confirmCode: (code: number, { type, value }: {
47
+ type: 'email' | 'phone';
48
+ value: string;
49
+ }, requestOptions?: ActionRequestOptions) => Promise<boolean>;
50
+ confirmSignUp: (code: string, type: 'email' | 'phone', requestOptions?: ActionRequestOptions) => Promise<boolean>;
51
+ currentAuthenticatedUser: (requestOptions?: ActionRequestOptions) => Promise<User>;
52
+ currentUser: (requestOptions?: ActionRequestOptions) => Promise<User>;
53
+ list: (userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User[]>;
54
+ listByConnection: (userId: string, from?: number, to?: number, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User[]>;
55
+ itemById: (userId: string, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
56
+ deleteBillingCard: (userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
57
+ listByLatest: (username?: string, from?: number, to?: number, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User[]>;
58
+ listByReactions: (username: string, reactionNames: string[], from?: number, to?: number, personaProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User[]>;
59
+ listByTags: (username: string, tagNames: string[], from?: number, to?: number, personaProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User[]>;
60
+ forgotPassword: (username: string, requestOptions?: ActionRequestOptions) => Promise<boolean>;
53
61
  isLoggedIn: () => boolean;
54
- refreshSession: (token?: string, expires?: number) => Promise<SessionType>;
55
- signIn: (username: string, password: string, expires?: number) => Promise<SessionType>;
56
- signOut: () => Promise<boolean>;
57
- confirmSignUp: (code: string, type: 'email' | 'phone') => Promise<boolean>;
58
- forgotPassword: (username: string) => Promise<boolean>;
59
- resetPassword: (username: string, password: string, code: string, type: 'email' | 'phone') => Promise<boolean>;
60
- updatePassword: (password: string, newPassword: string) => Promise<boolean>;
61
- updateUser: (userInput: Partial<User>, userProps?: string[]) => Promise<User>;
62
- updatePersona: (personaInput: Partial<PersonaType>) => Promise<PersonaType>;
63
- signUp: (userInput: Partial<User>, userProps?: string[]) => Promise<User>;
62
+ refreshSession: (token?: string, expires?: number, requestOptions?: ActionRequestOptions) => Promise<SessionType>;
63
+ remove: (userId: string, requestOptions?: ActionRequestOptions) => Promise<User>;
64
+ resetPassword: (username: string, password: string, code: string, type: 'email' | 'phone', requestOptions?: ActionRequestOptions) => Promise<boolean>;
65
+ search: (query: string, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User[]>;
66
+ session: (userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
67
+ saveBillingCard: (card: Record<string, unknown>, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
68
+ signIn: (user: Partial<User>, expires?: number, requestOptions?: ActionRequestOptions) => Promise<SessionType>;
69
+ signOut: (requestOptions?: ActionRequestOptions) => Promise<boolean>;
70
+ signUp: (userInput: Partial<User>, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
71
+ updatePassword: (password: string, newPassword: string, requestOptions?: ActionRequestOptions) => Promise<boolean>;
72
+ updateUser: (userInput: Partial<User>, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
73
+ updatePlan: (planId: string, userProps?: string[], requestOptions?: ActionRequestOptions) => Promise<User>;
64
74
  updateUserAdapter: (adapter: (input: unknown, options?: UserAdapterOptions) => any) => void;
65
- updatePersonaAdapter: (adapter: (input: unknown, options?: PersonaAdapterOptions) => any) => void;
66
75
  updateUserAdapterOptions: (options: UserAdapterOptions) => void;
67
- updatePersonaAdapterOptions: (options: PersonaAdapterOptions) => void;
68
76
  }
69
- /**
70
- * Factory function to create userActions with enhanced adapter injection capabilities.
71
- * Custom adapters are merged with default behavior, allowing partial overrides.
72
- *
73
- * @example
74
- * // Basic usage with default adapters
75
- * const userActions = createUserActions(flux);
76
- *
77
- * @example
78
- * // Custom adapter that extends default behavior
79
- * const customUserAdapter = (input: unknown, options?: UserAdapterOptions) => {
80
- * // input is already validated by default adapter
81
- * if (input.email && !input.email.includes('@company.com')) {
82
- * throw new Error('Only company emails allowed');
83
- * }
84
- * return input;
85
- * };
86
- *
87
- * const userActions = createUserActions(flux, {
88
- * userAdapter: customUserAdapter
89
- * });
90
- *
91
- * @example
92
- * // Configuration-based adapters
93
- * const userActions = createUserActions(flux, {
94
- * userAdapterOptions: {
95
- * strict: true,
96
- * environment: 'production'
97
- * }
98
- * });
99
- *
100
- * @example
101
- * // Runtime adapter updates
102
- * userActions.updateUserAdapter(customUserAdapter);
103
- *
104
- * @example
105
- * // Complex adapter with business logic
106
- * const businessUserAdapter = (input: unknown, options?: UserAdapterOptions) => {
107
- * // input is already validated by default adapter
108
- * const user = input as any;
109
- *
110
- * // Add business-specific validation
111
- * if (user.userAccess > 5) {
112
- * throw new Error('User access level too high');
113
- * }
114
- *
115
- * // Add computed fields
116
- * return {
117
- * ...user,
118
- * fullName: `${user.first || ''} ${user.last || ''}`.trim(),
119
- * isAdmin: user.userAccess >= 3
120
- * };
121
- * };
122
- *
123
- * const userActions = createUserActions(flux, {
124
- * userAdapter: businessUserAdapter,
125
- * userAdapterOptions: {
126
- * strict: true,
127
- * environment: 'production'
128
- * }
129
- * });
130
- */
131
77
  export declare const createUserActions: (flux: FluxFramework, options?: UserActionsOptions) => userActions;
78
+ //# sourceMappingURL=userActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userActions.d.ts","sourceRoot":"","sources":["../../../src/actions/userActions/userActions.ts"],"names":[],"mappings":"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"}