@nlabs/metropolisjs 0.1.1 → 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 (326) 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 +1343 -0
  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/factory-pattern-usage.ts +283 -0
  19. package/examples/i18n-import-examples.ts +86 -0
  20. package/examples/i18n-namespace-usage.ts +118 -0
  21. package/examples/i18next-singleton-demo.ts +187 -0
  22. package/examples/permission-system-usage.tsx +415 -0
  23. package/examples/project-details.tsx +397 -0
  24. package/examples/shared-i18n-usage.tsx +203 -0
  25. package/examples/signup-error-handling.ts +100 -0
  26. package/examples/translation-types.ts +86 -0
  27. package/examples/translation-usage.tsx +336 -0
  28. package/factoryPatternGuide.md +244 -0
  29. package/index.js +1 -0
  30. package/jest.config.mjs +28 -0
  31. package/lex.config.mjs +26 -0
  32. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
  33. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
  34. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
  35. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
  36. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
  37. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
  38. package/lib/actions/appActions/appActions.d.ts +29 -0
  39. package/lib/actions/appActions/appActions.d.ts.map +1 -0
  40. package/lib/actions/appActions/appActions.js +159 -0
  41. package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
  42. package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
  43. package/lib/actions/connectionActions/connectionActions.js +131 -0
  44. package/lib/actions/contentActions/contentActions.d.ts +34 -0
  45. package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
  46. package/lib/actions/contentActions/contentActions.js +314 -0
  47. package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
  48. package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
  49. package/lib/actions/conversationActions/conversationActions.js +225 -0
  50. package/lib/actions/eventActions/eventActions.d.ts +65 -0
  51. package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
  52. package/lib/actions/eventActions/eventActions.js +436 -0
  53. package/lib/actions/groupActions/groupActions.d.ts +30 -0
  54. package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
  55. package/lib/actions/groupActions/groupActions.js +229 -0
  56. package/lib/actions/imageActions/imageActions.d.ts +62 -0
  57. package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
  58. package/lib/actions/imageActions/imageActions.js +593 -0
  59. package/lib/actions/index.d.ts +21 -0
  60. package/lib/actions/index.d.ts.map +1 -0
  61. package/lib/actions/index.js +22 -0
  62. package/lib/actions/locationActions/locationActions.d.ts +60 -0
  63. package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
  64. package/lib/actions/locationActions/locationActions.js +388 -0
  65. package/lib/actions/messageActions/messageActions.d.ts +38 -0
  66. package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
  67. package/lib/actions/messageActions/messageActions.js +235 -0
  68. package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
  69. package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
  70. package/lib/actions/permissionActions/permissionActions.js +330 -0
  71. package/lib/actions/personaActions/personaActions.d.ts +65 -0
  72. package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
  73. package/lib/actions/personaActions/personaActions.js +572 -0
  74. package/lib/actions/postActions/postActions.d.ts +36 -0
  75. package/lib/actions/postActions/postActions.d.ts.map +1 -0
  76. package/lib/actions/postActions/postActions.js +447 -0
  77. package/lib/actions/reactionActions/reactionActions.d.ts +38 -0
  78. package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
  79. package/lib/actions/reactionActions/reactionActions.js +413 -0
  80. package/lib/actions/sseActions/sseActions.d.ts +38 -0
  81. package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
  82. package/lib/actions/sseActions/sseActions.js +148 -0
  83. package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
  84. package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
  85. package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
  86. package/lib/actions/tagActions/tagActions.d.ts +37 -0
  87. package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
  88. package/lib/actions/tagActions/tagActions.js +347 -0
  89. package/lib/actions/translationActions/translationActions.d.ts +38 -0
  90. package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
  91. package/lib/actions/translationActions/translationActions.js +189 -0
  92. package/lib/actions/userActions/userActions.d.ts +78 -0
  93. package/lib/actions/userActions/userActions.d.ts.map +1 -0
  94. package/lib/actions/userActions/userActions.js +844 -0
  95. package/lib/actions/videoActions/videoActions.d.ts +41 -0
  96. package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
  97. package/lib/actions/videoActions/videoActions.js +532 -0
  98. package/lib/actions/websocketActions/websocketActions.d.ts +30 -0
  99. package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
  100. package/lib/actions/websocketActions/websocketActions.js +377 -0
  101. package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
  102. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
  103. package/lib/adapters/appAdapter/appAdapter.js +90 -0
  104. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +21 -0
  105. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
  106. package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -0
  107. package/lib/adapters/contentAdapter/contentAdapter.d.ts +32 -0
  108. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
  109. package/lib/adapters/contentAdapter/contentAdapter.js +107 -0
  110. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +24 -0
  111. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
  112. package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -0
  113. package/lib/adapters/eventAdapter/eventAdapter.d.ts +46 -0
  114. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
  115. package/lib/adapters/eventAdapter/eventAdapter.js +162 -0
  116. package/lib/adapters/fileAdapter/fileAdapter.d.ts +30 -0
  117. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
  118. package/lib/adapters/fileAdapter/fileAdapter.js +118 -0
  119. package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
  120. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
  121. package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
  122. package/lib/adapters/imageAdapter/imageAdapter.d.ts +38 -0
  123. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
  124. package/lib/adapters/imageAdapter/imageAdapter.js +134 -0
  125. package/lib/adapters/index.d.ts +34 -0
  126. package/lib/adapters/index.d.ts.map +1 -0
  127. package/lib/adapters/index.js +19 -0
  128. package/lib/adapters/locationAdapter/locationAdapter.d.ts +28 -0
  129. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
  130. package/lib/adapters/locationAdapter/locationAdapter.js +95 -0
  131. package/lib/adapters/messageAdapter/messageAdapter.d.ts +31 -0
  132. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
  133. package/lib/adapters/messageAdapter/messageAdapter.js +82 -0
  134. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
  135. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
  136. package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
  137. package/lib/adapters/personaAdapter/personaAdapter.d.ts +44 -0
  138. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
  139. package/lib/adapters/personaAdapter/personaAdapter.js +161 -0
  140. package/lib/adapters/postAdapter/postAdapter.d.ts +33 -0
  141. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
  142. package/lib/adapters/postAdapter/postAdapter.js +115 -0
  143. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +23 -0
  144. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
  145. package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -0
  146. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +17 -0
  147. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
  148. package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -0
  149. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +24 -0
  150. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
  151. package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -0
  152. package/lib/adapters/tagAdapter/tagAdapter.d.ts +21 -0
  153. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
  154. package/lib/adapters/tagAdapter/tagAdapter.js +98 -0
  155. package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
  156. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
  157. package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
  158. package/lib/adapters/userAdapter/userAdapter.d.ts +67 -0
  159. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
  160. package/lib/adapters/userAdapter/userAdapter.js +302 -0
  161. package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
  162. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
  163. package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
  164. package/lib/config/index.d.ts +44 -0
  165. package/lib/config/index.d.ts.map +1 -0
  166. package/lib/config/index.js +97 -0
  167. package/lib/constants/Collections.d.ts +44 -0
  168. package/lib/constants/Collections.d.ts.map +1 -0
  169. package/lib/constants/Collections.js +40 -0
  170. package/lib/constants/MetropolisConstants.d.ts +15 -0
  171. package/lib/constants/MetropolisConstants.d.ts.map +1 -0
  172. package/lib/constants/MetropolisConstants.js +15 -0
  173. package/lib/graphql/message.d.ts +3 -0
  174. package/lib/graphql/message.d.ts.map +1 -0
  175. package/lib/graphql/message.js +20 -0
  176. package/lib/graphql/notification.d.ts +3 -0
  177. package/lib/graphql/notification.d.ts.map +1 -0
  178. package/lib/graphql/notification.js +20 -0
  179. package/lib/graphql/session.d.ts +2 -0
  180. package/lib/graphql/session.d.ts.map +1 -0
  181. package/lib/graphql/session.js +17 -0
  182. package/lib/index.d.ts +52 -0
  183. package/lib/index.d.ts.map +1 -0
  184. package/lib/index.js +248 -0
  185. package/lib/stores/appStore.d.ts +23 -0
  186. package/lib/stores/appStore.d.ts.map +1 -0
  187. package/lib/stores/appStore.js +23 -0
  188. package/lib/stores/contentStore.d.ts +36 -0
  189. package/lib/stores/contentStore.d.ts.map +1 -0
  190. package/lib/stores/contentStore.js +139 -0
  191. package/lib/stores/conversationStore.d.ts +38 -0
  192. package/lib/stores/conversationStore.d.ts.map +1 -0
  193. package/lib/stores/conversationStore.js +117 -0
  194. package/lib/stores/eventStore.d.ts +37 -0
  195. package/lib/stores/eventStore.d.ts.map +1 -0
  196. package/lib/stores/eventStore.js +47 -0
  197. package/lib/stores/groupStore.d.ts +37 -0
  198. package/lib/stores/groupStore.d.ts.map +1 -0
  199. package/lib/stores/groupStore.js +68 -0
  200. package/lib/stores/imageStore.d.ts +40 -0
  201. package/lib/stores/imageStore.d.ts.map +1 -0
  202. package/lib/stores/imageStore.js +53 -0
  203. package/lib/stores/index.d.ts +24 -0
  204. package/lib/stores/index.d.ts.map +1 -0
  205. package/lib/stores/index.js +24 -0
  206. package/lib/stores/locationStore.d.ts +34 -0
  207. package/lib/stores/locationStore.d.ts.map +1 -0
  208. package/lib/stores/locationStore.js +42 -0
  209. package/lib/stores/messageStore.d.ts +51 -0
  210. package/lib/stores/messageStore.d.ts.map +1 -0
  211. package/lib/stores/messageStore.js +137 -0
  212. package/lib/stores/notificationStore.d.ts +33 -0
  213. package/lib/stores/notificationStore.d.ts.map +1 -0
  214. package/lib/stores/notificationStore.js +55 -0
  215. package/lib/stores/permissionStore.d.ts +37 -0
  216. package/lib/stores/permissionStore.d.ts.map +1 -0
  217. package/lib/stores/permissionStore.js +117 -0
  218. package/lib/stores/personaStore.d.ts +26 -0
  219. package/lib/stores/personaStore.d.ts.map +1 -0
  220. package/lib/stores/personaStore.js +118 -0
  221. package/lib/stores/postStore.d.ts +34 -0
  222. package/lib/stores/postStore.d.ts.map +1 -0
  223. package/lib/stores/postStore.js +53 -0
  224. package/lib/stores/reactionStore.d.ts +25 -0
  225. package/lib/stores/reactionStore.d.ts.map +1 -0
  226. package/lib/stores/reactionStore.js +28 -0
  227. package/lib/stores/subscriptionStore.d.ts +41 -0
  228. package/lib/stores/subscriptionStore.d.ts.map +1 -0
  229. package/lib/stores/subscriptionStore.js +85 -0
  230. package/lib/stores/tagStore.d.ts +34 -0
  231. package/lib/stores/tagStore.d.ts.map +1 -0
  232. package/lib/stores/tagStore.js +87 -0
  233. package/lib/stores/translationStore.d.ts +42 -0
  234. package/lib/stores/translationStore.d.ts.map +1 -0
  235. package/lib/stores/translationStore.js +122 -0
  236. package/lib/stores/userStore.d.ts +74 -0
  237. package/lib/stores/userStore.d.ts.map +1 -0
  238. package/lib/stores/userStore.js +319 -0
  239. package/lib/stores/videoStore.d.ts +39 -0
  240. package/lib/stores/videoStore.d.ts.map +1 -0
  241. package/lib/stores/videoStore.js +132 -0
  242. package/lib/stores/websocketStore.d.ts +24 -0
  243. package/lib/stores/websocketStore.d.ts.map +1 -0
  244. package/lib/stores/websocketStore.js +51 -0
  245. package/lib/types/apps.types.d.ts +17 -0
  246. package/lib/types/apps.types.d.ts.map +1 -0
  247. package/lib/types/apps.types.js +6 -0
  248. package/lib/types/common.types.d.ts +31 -0
  249. package/lib/types/common.types.d.ts.map +1 -0
  250. package/lib/types/common.types.js +6 -0
  251. package/lib/types/conversations.types.d.ts +17 -0
  252. package/lib/types/conversations.types.d.ts.map +1 -0
  253. package/lib/types/conversations.types.js +6 -0
  254. package/lib/types/edges.types.d.ts +38 -0
  255. package/lib/types/edges.types.d.ts.map +1 -0
  256. package/lib/types/edges.types.js +6 -0
  257. package/lib/types/groups.types.d.ts +19 -0
  258. package/lib/types/groups.types.d.ts.map +1 -0
  259. package/lib/types/groups.types.js +6 -0
  260. package/lib/types/index.d.ts +12 -0
  261. package/lib/types/index.d.ts.map +1 -0
  262. package/lib/types/index.js +12 -0
  263. package/lib/types/subscriptions.types.d.ts +32 -0
  264. package/lib/types/subscriptions.types.d.ts.map +1 -0
  265. package/lib/types/subscriptions.types.js +6 -0
  266. package/lib/types/videos.types.d.ts +61 -0
  267. package/lib/types/videos.types.d.ts.map +1 -0
  268. package/lib/types/videos.types.js +6 -0
  269. package/lib/utils/MetropolisProvider.d.ts +58 -0
  270. package/lib/utils/MetropolisProvider.d.ts.map +1 -0
  271. package/lib/utils/MetropolisProvider.js +31 -0
  272. package/lib/utils/actionFactory.d.ts +24 -0
  273. package/lib/utils/actionFactory.d.ts.map +1 -0
  274. package/lib/utils/actionFactory.js +95 -0
  275. package/lib/utils/api.d.ts +44 -0
  276. package/lib/utils/api.d.ts.map +1 -0
  277. package/lib/utils/api.js +253 -0
  278. package/lib/utils/app.d.ts +7 -0
  279. package/lib/utils/app.d.ts.map +1 -0
  280. package/lib/utils/app.js +15 -0
  281. package/lib/utils/baseActionFactory.d.ts +16 -0
  282. package/lib/utils/baseActionFactory.d.ts.map +1 -0
  283. package/lib/utils/baseActionFactory.js +72 -0
  284. package/lib/utils/configUtils.d.ts +11 -0
  285. package/lib/utils/configUtils.d.ts.map +1 -0
  286. package/lib/utils/configUtils.js +20 -0
  287. package/lib/utils/dateUtils.d.ts +3 -0
  288. package/lib/utils/dateUtils.d.ts.map +1 -0
  289. package/lib/utils/dateUtils.js +11 -0
  290. package/lib/utils/file.d.ts +3 -0
  291. package/lib/utils/file.d.ts.map +1 -0
  292. package/lib/utils/file.js +156 -0
  293. package/lib/utils/i18n.d.ts +7 -0
  294. package/lib/utils/i18n.d.ts.map +1 -0
  295. package/lib/utils/i18n.js +96 -0
  296. package/lib/utils/index.d.ts +20 -0
  297. package/lib/utils/index.d.ts.map +1 -0
  298. package/lib/utils/index.js +26 -0
  299. package/lib/utils/location.d.ts +10 -0
  300. package/lib/utils/location.d.ts.map +1 -0
  301. package/lib/utils/location.js +82 -0
  302. package/lib/utils/permissionUtils.d.ts +22 -0
  303. package/lib/utils/permissionUtils.d.ts.map +1 -0
  304. package/lib/utils/permissionUtils.js +72 -0
  305. package/lib/utils/requestCache.d.ts +8 -0
  306. package/lib/utils/requestCache.d.ts.map +1 -0
  307. package/lib/utils/requestCache.js +53 -0
  308. package/lib/utils/session.d.ts +14 -0
  309. package/lib/utils/session.d.ts.map +1 -0
  310. package/lib/utils/session.js +107 -0
  311. package/lib/utils/useConversationTyping.d.ts +26 -0
  312. package/lib/utils/useConversationTyping.d.ts.map +1 -0
  313. package/lib/utils/useConversationTyping.js +117 -0
  314. package/lib/utils/useMetropolis.d.ts +67 -0
  315. package/lib/utils/useMetropolis.d.ts.map +1 -0
  316. package/lib/utils/useMetropolis.js +311 -0
  317. package/lib/utils/useTranslations.d.ts +16 -0
  318. package/lib/utils/useTranslations.d.ts.map +1 -0
  319. package/lib/utils/useTranslations.js +105 -0
  320. package/lib/utils/validatorFactory.d.ts +49 -0
  321. package/lib/utils/validatorFactory.d.ts.map +1 -0
  322. package/lib/utils/validatorFactory.js +95 -0
  323. package/package.json +75 -28
  324. package/temp_signin.ts +73 -0
  325. package/tsconfig.lint.json +25 -0
  326. package/tsconfig.test.json +14 -0
@@ -0,0 +1,74 @@
1
+ import type { ReactionAdapterType as ReactionType, User } from '../adapters/index.js';
2
+ import type { PersonaType } from '../adapters/personaAdapter/personaAdapter.js';
3
+ export declare const USER_CONSTANTS: {
4
+ readonly ADD_ITEM_ERROR: "USER_ADD_ITEM_ERROR";
5
+ readonly ADD_ITEM_SUCCESS: "USER_ADD_ITEM_SUCCESS";
6
+ readonly ADD_RELATION_ERROR: "USER_ADD_RELATION_ERROR";
7
+ readonly ADD_RELATION_SUCCESS: "USER_ADD_RELATION_SUCCESS";
8
+ readonly AUTHENTICATION_UPDATE: "USER_AUTHENTICATION_UPDATE";
9
+ readonly CONFIRM_SIGN_UP_ERROR: "USER_CONFIRM_SIGN_UP_ERROR";
10
+ readonly CONFIRM_SIGN_UP_SUCCESS: "USER_CONFIRM_SIGN_UP_SUCCESS";
11
+ readonly FORGOT_PASSWORD_ERROR: "USER_FORGOT_PASSWORD_ERROR";
12
+ readonly FORGOT_PASSWORD_SUCCESS: "USER_FORGOT_PASSWORD_SUCCESS";
13
+ readonly GET_DETAILS_SUCCESS: "USER_GET_DETAILS_SUCCESS";
14
+ readonly GET_ITEM_ERROR: "USER_GET_ITEM_ERROR";
15
+ readonly GET_ITEM_SUCCESS: "USER_GET_ITEM_SUCCESS";
16
+ readonly GET_LIST_ERROR: "USER_GET_LIST_ERROR";
17
+ readonly GET_LIST_SUCCESS: "USER_GET_LIST_SUCCESS";
18
+ readonly GET_SESSION_ERROR: "USER_GET_SESSION_ERROR";
19
+ readonly GET_SESSION_SUCCESS: "USER_GET_SESSION_SUCCESS";
20
+ readonly HAS_USER_REACTIONS: "USER_HAS_USER_REACTIONS";
21
+ readonly RECOVERY_ERROR: "USER_RECOVERY_ERROR";
22
+ readonly RECOVERY_SUCCESS: "USER_RECOVERY_SUCCESS";
23
+ readonly REMOVE_ITEM_ERROR: "USER_REMOVE_ITEM_ERROR";
24
+ readonly REMOVE_ITEM_SUCCESS: "USER_REMOVE_ITEM_SUCCESS";
25
+ readonly REMOVE_RELATION: "USER_REMOVE_RELATION";
26
+ readonly RESET_PASSWORD_ERROR: "USER_RESET_PASSWORD_ERROR";
27
+ readonly RESET_PASSWORD_SUCCESS: "USER_RESET_PASSWORD_SUCCESS";
28
+ readonly SIGN_IN_ERROR: "USER_SIGN_IN_ERROR";
29
+ readonly SIGN_IN_SUCCESS: "USER_SIGN_IN_SUCCESS";
30
+ readonly SIGN_OUT_ERROR: "USER_SIGN_OUT_ERROR";
31
+ readonly SIGN_OUT_SUCCESS: "USER_SIGN_OUT_SUCCESS";
32
+ readonly SIGN_UP_ERROR: "USER_SIGN_UP_ERROR";
33
+ readonly SIGN_UP_SUCCESS: "USER_SIGN_UP_SUCCESS";
34
+ readonly UPDATE_ITEM_ERROR: "USER_UPDATE_ITEM_ERROR";
35
+ readonly UPDATE_ITEM_SUCCESS: "USER_UPDATE_ITEM_SUCCESS";
36
+ readonly UPDATE_PERSONA_ERROR: "USER_UPDATE_PERSONA_ERROR";
37
+ readonly UPDATE_PERSONA_SUCCESS: "USER_UPDATE_PERSONA_SUCCESS";
38
+ readonly UPDATE_SESSION_ERROR: "USER_UPDATE_SESSION_ERROR";
39
+ readonly UPDATE_SESSION_SUCCESS: "USER_UPDATE_SESSION_SUCCESS";
40
+ readonly VERIFY_ERROR: "USER_VERIFY_ERROR";
41
+ readonly VERIFY_SUCCESS: "USER_VERIFY_SUCCESS";
42
+ };
43
+ export type UserConstantsType = typeof USER_CONSTANTS[keyof typeof USER_CONSTANTS];
44
+ interface UserState {
45
+ error?: Error;
46
+ likes: string[];
47
+ lists: Record<string, unknown>;
48
+ session: Partial<User>;
49
+ users: Record<string, Partial<User>>;
50
+ }
51
+ export declare const defaultValues: UserState;
52
+ export declare const countFieldMap: {
53
+ like: string;
54
+ view: string;
55
+ };
56
+ interface UserData {
57
+ readonly error?: Error;
58
+ readonly itemId?: string;
59
+ readonly itemType?: string;
60
+ readonly list?: User[];
61
+ readonly persona?: PersonaType;
62
+ readonly reaction?: ReactionType;
63
+ readonly session?: User;
64
+ readonly tag?: Record<string, unknown>;
65
+ readonly user?: User;
66
+ }
67
+ export declare const userStore: (type: string, data: UserData, state?: UserState) => UserState;
68
+ export declare const users: {
69
+ action: (type: string, data: UserData, state?: UserState) => UserState;
70
+ initialState: UserState;
71
+ name: string;
72
+ };
73
+ export {};
74
+ //# sourceMappingURL=userStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userStore.d.ts","sourceRoot":"","sources":["../../src/stores/userStore.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,mBAAmB,IAAI,YAAY,EAAW,IAAI,EAAC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,8CAA8C,CAAC;AAE9E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCjB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEnF,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,aAAa,EAAE,SAK3B,CAAC;AAEF,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,UAAU,QAAQ;IAChB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,MAAM,QAAQ,EAAE,iBAAqB,KAAG,SAyI/E,CAAC;AAEF,eAAO,MAAM,KAAK;mBA3Ic,MAAM,QAAQ,QAAQ,wBAA0B,SAAS;;;CA+IxF,CAAC"}
@@ -0,0 +1,319 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { capitalize, orderBy, pullAllBy, uniqBy } from '@nlabs/utils';
5
+ import { REACTION_CONSTANTS } from './reactionStore.js';
6
+ import { TAG_CONSTANTS } from './tagStore.js';
7
+ export const USER_CONSTANTS = {
8
+ ADD_ITEM_ERROR: 'USER_ADD_ITEM_ERROR',
9
+ ADD_ITEM_SUCCESS: 'USER_ADD_ITEM_SUCCESS',
10
+ ADD_RELATION_ERROR: 'USER_ADD_RELATION_ERROR',
11
+ ADD_RELATION_SUCCESS: 'USER_ADD_RELATION_SUCCESS',
12
+ AUTHENTICATION_UPDATE: 'USER_AUTHENTICATION_UPDATE',
13
+ CONFIRM_SIGN_UP_ERROR: 'USER_CONFIRM_SIGN_UP_ERROR',
14
+ CONFIRM_SIGN_UP_SUCCESS: 'USER_CONFIRM_SIGN_UP_SUCCESS',
15
+ FORGOT_PASSWORD_ERROR: 'USER_FORGOT_PASSWORD_ERROR',
16
+ FORGOT_PASSWORD_SUCCESS: 'USER_FORGOT_PASSWORD_SUCCESS',
17
+ GET_DETAILS_SUCCESS: 'USER_GET_DETAILS_SUCCESS',
18
+ GET_ITEM_ERROR: 'USER_GET_ITEM_ERROR',
19
+ GET_ITEM_SUCCESS: 'USER_GET_ITEM_SUCCESS',
20
+ GET_LIST_ERROR: 'USER_GET_LIST_ERROR',
21
+ GET_LIST_SUCCESS: 'USER_GET_LIST_SUCCESS',
22
+ GET_SESSION_ERROR: 'USER_GET_SESSION_ERROR',
23
+ GET_SESSION_SUCCESS: 'USER_GET_SESSION_SUCCESS',
24
+ HAS_USER_REACTIONS: 'USER_HAS_USER_REACTIONS',
25
+ RECOVERY_ERROR: 'USER_RECOVERY_ERROR',
26
+ RECOVERY_SUCCESS: 'USER_RECOVERY_SUCCESS',
27
+ REMOVE_ITEM_ERROR: 'USER_REMOVE_ITEM_ERROR',
28
+ REMOVE_ITEM_SUCCESS: 'USER_REMOVE_ITEM_SUCCESS',
29
+ REMOVE_RELATION: 'USER_REMOVE_RELATION',
30
+ RESET_PASSWORD_ERROR: 'USER_RESET_PASSWORD_ERROR',
31
+ RESET_PASSWORD_SUCCESS: 'USER_RESET_PASSWORD_SUCCESS',
32
+ SIGN_IN_ERROR: 'USER_SIGN_IN_ERROR',
33
+ SIGN_IN_SUCCESS: 'USER_SIGN_IN_SUCCESS',
34
+ SIGN_OUT_ERROR: 'USER_SIGN_OUT_ERROR',
35
+ SIGN_OUT_SUCCESS: 'USER_SIGN_OUT_SUCCESS',
36
+ SIGN_UP_ERROR: 'USER_SIGN_UP_ERROR',
37
+ SIGN_UP_SUCCESS: 'USER_SIGN_UP_SUCCESS',
38
+ UPDATE_ITEM_ERROR: 'USER_UPDATE_ITEM_ERROR',
39
+ UPDATE_ITEM_SUCCESS: 'USER_UPDATE_ITEM_SUCCESS',
40
+ UPDATE_PERSONA_ERROR: 'USER_UPDATE_PERSONA_ERROR',
41
+ UPDATE_PERSONA_SUCCESS: 'USER_UPDATE_PERSONA_SUCCESS',
42
+ UPDATE_SESSION_ERROR: 'USER_UPDATE_SESSION_ERROR',
43
+ UPDATE_SESSION_SUCCESS: 'USER_UPDATE_SESSION_SUCCESS',
44
+ VERIFY_ERROR: 'USER_VERIFY_ERROR',
45
+ VERIFY_SUCCESS: 'USER_VERIFY_SUCCESS'
46
+ };
47
+ export const defaultValues = {
48
+ likes: [],
49
+ lists: {},
50
+ session: {},
51
+ users: {}
52
+ };
53
+ export const countFieldMap = {
54
+ like: 'likeCount',
55
+ view: 'viewCount'
56
+ };
57
+ export const userStore = (type, data, state = defaultValues)=>{
58
+ switch(type){
59
+ case REACTION_CONSTANTS.ADD_ITEM_SUCCESS:
60
+ case REACTION_CONSTANTS.REMOVE_ITEM_SUCCESS:
61
+ {
62
+ const { itemId, itemType, reaction } = data;
63
+ if (itemType !== 'users' || !reaction) {
64
+ return state;
65
+ }
66
+ const users = {
67
+ ...state.users
68
+ };
69
+ const { name: reactionName = '', value: reactionValue } = reaction;
70
+ const value = reactionValue === 'true';
71
+ if (itemId && users[itemId]) {
72
+ users[itemId] = {
73
+ ...users[itemId]
74
+ };
75
+ users[itemId][`has${capitalize(reactionName)}`] = value;
76
+ if (reactionName !== 'view') {
77
+ const countField = reactionName;
78
+ const field = countFieldMap[countField];
79
+ const currentCount = users[itemId][field] || 0;
80
+ users[itemId][field] = value ? currentCount + 1 : currentCount - 1;
81
+ }
82
+ }
83
+ return {
84
+ ...state,
85
+ users
86
+ };
87
+ }
88
+ case USER_CONSTANTS.UPDATE_SESSION_SUCCESS:
89
+ {
90
+ const { user } = data;
91
+ if (user) {
92
+ return {
93
+ ...state,
94
+ session: {
95
+ ...state.session,
96
+ ...user
97
+ }
98
+ };
99
+ }
100
+ return state;
101
+ }
102
+ case TAG_CONSTANTS.ADD_PERSONA_SUCCESS:
103
+ {
104
+ const { tag } = data;
105
+ const session = {
106
+ ...state.session
107
+ };
108
+ const { tags = [] } = session;
109
+ const updatedTags = uniqBy([
110
+ ...tags,
111
+ tag
112
+ ], (item)=>item.tagId);
113
+ session.tags = orderBy(updatedTags, [
114
+ 'name'
115
+ ], [
116
+ 'asc'
117
+ ]);
118
+ return {
119
+ ...state,
120
+ session
121
+ };
122
+ }
123
+ case TAG_CONSTANTS.REMOVE_PERSONA_SUCCESS:
124
+ {
125
+ const { tag } = data;
126
+ const session = {
127
+ ...state.session
128
+ };
129
+ const { tags = [] } = session;
130
+ session.tags = pullAllBy(tags, [
131
+ tag
132
+ ], 'tagId');
133
+ return {
134
+ ...state,
135
+ session
136
+ };
137
+ }
138
+ case USER_CONSTANTS.ADD_ITEM_SUCCESS:
139
+ {
140
+ const { user } = data;
141
+ if (user && user.userId) {
142
+ const users = {
143
+ ...state.users
144
+ };
145
+ users[user.userId] = {
146
+ ...user,
147
+ timestamp: Date.now()
148
+ };
149
+ return {
150
+ ...state,
151
+ session: user,
152
+ users
153
+ };
154
+ }
155
+ return state;
156
+ }
157
+ case USER_CONSTANTS.GET_DETAILS_SUCCESS:
158
+ {
159
+ const { user } = data;
160
+ if (user && user.userId) {
161
+ const users = {
162
+ ...state.users
163
+ };
164
+ users[user.userId] = {
165
+ ...user,
166
+ timestamp: Date.now()
167
+ };
168
+ return {
169
+ ...state,
170
+ users
171
+ };
172
+ }
173
+ return state;
174
+ }
175
+ case USER_CONSTANTS.GET_LIST_SUCCESS:
176
+ {
177
+ const { list } = data;
178
+ if (list) {
179
+ const users = {
180
+ ...state.users
181
+ };
182
+ list.forEach((user)=>{
183
+ if (user.userId) {
184
+ const cachedUser = users[user.userId] || {};
185
+ users[user.userId] = {
186
+ ...cachedUser,
187
+ ...user
188
+ };
189
+ }
190
+ });
191
+ return {
192
+ ...state,
193
+ users
194
+ };
195
+ }
196
+ return state;
197
+ }
198
+ case USER_CONSTANTS.SIGN_IN_ERROR:
199
+ {
200
+ const { username } = state.session;
201
+ return {
202
+ ...state,
203
+ session: {
204
+ username: username || ''
205
+ }
206
+ };
207
+ }
208
+ case USER_CONSTANTS.SIGN_UP_ERROR:
209
+ {
210
+ const { error } = data;
211
+ return {
212
+ ...state,
213
+ error
214
+ };
215
+ }
216
+ case USER_CONSTANTS.SIGN_IN_SUCCESS:
217
+ {
218
+ const { session } = data;
219
+ if (session) {
220
+ return {
221
+ ...state,
222
+ lists: {},
223
+ session: {
224
+ ...session
225
+ },
226
+ users: {}
227
+ };
228
+ }
229
+ return state;
230
+ }
231
+ case USER_CONSTANTS.SIGN_OUT_SUCCESS:
232
+ {
233
+ return {
234
+ ...defaultValues
235
+ };
236
+ }
237
+ case USER_CONSTANTS.GET_SESSION_ERROR:
238
+ {
239
+ return {
240
+ ...defaultValues
241
+ };
242
+ }
243
+ case USER_CONSTANTS.SIGN_UP_SUCCESS:
244
+ {
245
+ const { user } = data;
246
+ if (user && user.userId) {
247
+ const users = {
248
+ ...state.users
249
+ };
250
+ users[user.userId] = {
251
+ ...user,
252
+ timestamp: Date.now()
253
+ };
254
+ return {
255
+ ...state,
256
+ error: undefined,
257
+ users
258
+ };
259
+ }
260
+ return state;
261
+ }
262
+ case USER_CONSTANTS.GET_SESSION_SUCCESS:
263
+ {
264
+ const { session } = data;
265
+ return {
266
+ ...state,
267
+ session: {
268
+ ...state.session,
269
+ ...session
270
+ }
271
+ };
272
+ }
273
+ case USER_CONSTANTS.UPDATE_ITEM_SUCCESS:
274
+ {
275
+ const { user } = data;
276
+ if (user && user.userId) {
277
+ const { session, users } = state;
278
+ return {
279
+ ...state,
280
+ session: {
281
+ ...session,
282
+ ...user
283
+ },
284
+ users: {
285
+ ...users,
286
+ [user.userId]: user
287
+ }
288
+ };
289
+ }
290
+ return state;
291
+ }
292
+ case USER_CONSTANTS.UPDATE_PERSONA_SUCCESS:
293
+ {
294
+ const { persona } = data;
295
+ if (persona) {
296
+ const { session } = state;
297
+ return {
298
+ ...state,
299
+ session: {
300
+ ...session,
301
+ ...persona
302
+ }
303
+ };
304
+ }
305
+ return state;
306
+ }
307
+ default:
308
+ {
309
+ return state;
310
+ }
311
+ }
312
+ };
313
+ export const users = {
314
+ action: userStore,
315
+ initialState: defaultValues,
316
+ name: 'user'
317
+ };
318
+
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3VzZXJTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjYXBpdGFsaXplLCBvcmRlckJ5LCBwdWxsQWxsQnksIHVuaXFCeX0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHtSRUFDVElPTl9DT05TVEFOVFN9IGZyb20gJy4vcmVhY3Rpb25TdG9yZS5qcyc7XG5pbXBvcnQge1RBR19DT05TVEFOVFN9IGZyb20gJy4vdGFnU3RvcmUuanMnO1xuXG5pbXBvcnQgdHlwZSB7UmVhY3Rpb25BZGFwdGVyVHlwZSBhcyBSZWFjdGlvblR5cGUsIFRhZ1R5cGUsIFVzZXJ9IGZyb20gJy4uL2FkYXB0ZXJzL2luZGV4LmpzJztcbmltcG9ydCB0eXBlIHtQZXJzb25hVHlwZX0gZnJvbSAnLi4vYWRhcHRlcnMvcGVyc29uYUFkYXB0ZXIvcGVyc29uYUFkYXB0ZXIuanMnO1xuXG5leHBvcnQgY29uc3QgVVNFUl9DT05TVEFOVFMgPSB7XG4gIEFERF9JVEVNX0VSUk9SOiAnVVNFUl9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdVU0VSX0FERF9JVEVNX1NVQ0NFU1MnLFxuICBBRERfUkVMQVRJT05fRVJST1I6ICdVU0VSX0FERF9SRUxBVElPTl9FUlJPUicsXG4gIEFERF9SRUxBVElPTl9TVUNDRVNTOiAnVVNFUl9BRERfUkVMQVRJT05fU1VDQ0VTUycsXG4gIEFVVEhFTlRJQ0FUSU9OX1VQREFURTogJ1VTRVJfQVVUSEVOVElDQVRJT05fVVBEQVRFJyxcbiAgQ09ORklSTV9TSUdOX1VQX0VSUk9SOiAnVVNFUl9DT05GSVJNX1NJR05fVVBfRVJST1InLFxuICBDT05GSVJNX1NJR05fVVBfU1VDQ0VTUzogJ1VTRVJfQ09ORklSTV9TSUdOX1VQX1NVQ0NFU1MnLFxuICBGT1JHT1RfUEFTU1dPUkRfRVJST1I6ICdVU0VSX0ZPUkdPVF9QQVNTV09SRF9FUlJPUicsXG4gIEZPUkdPVF9QQVNTV09SRF9TVUNDRVNTOiAnVVNFUl9GT1JHT1RfUEFTU1dPUkRfU1VDQ0VTUycsXG4gIEdFVF9ERVRBSUxTX1NVQ0NFU1M6ICdVU0VSX0dFVF9ERVRBSUxTX1NVQ0NFU1MnLFxuICBHRVRfSVRFTV9FUlJPUjogJ1VTRVJfR0VUX0lURU1fRVJST1InLFxuICBHRVRfSVRFTV9TVUNDRVNTOiAnVVNFUl9HRVRfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0xJU1RfRVJST1I6ICdVU0VSX0dFVF9MSVNUX0VSUk9SJyxcbiAgR0VUX0xJU1RfU1VDQ0VTUzogJ1VTRVJfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIEdFVF9TRVNTSU9OX0VSUk9SOiAnVVNFUl9HRVRfU0VTU0lPTl9FUlJPUicsXG4gIEdFVF9TRVNTSU9OX1NVQ0NFU1M6ICdVU0VSX0dFVF9TRVNTSU9OX1NVQ0NFU1MnLFxuICBIQVNfVVNFUl9SRUFDVElPTlM6ICdVU0VSX0hBU19VU0VSX1JFQUNUSU9OUycsXG4gIFJFQ09WRVJZX0VSUk9SOiAnVVNFUl9SRUNPVkVSWV9FUlJPUicsXG4gIFJFQ09WRVJZX1NVQ0NFU1M6ICdVU0VSX1JFQ09WRVJZX1NVQ0NFU1MnLFxuICBSRU1PVkVfSVRFTV9FUlJPUjogJ1VTRVJfUkVNT1ZFX0lURU1fRVJST1InLFxuICBSRU1PVkVfSVRFTV9TVUNDRVNTOiAnVVNFUl9SRU1PVkVfSVRFTV9TVUNDRVNTJyxcbiAgUkVNT1ZFX1JFTEFUSU9OOiAnVVNFUl9SRU1PVkVfUkVMQVRJT04nLFxuICBSRVNFVF9QQVNTV09SRF9FUlJPUjogJ1VTRVJfUkVTRVRfUEFTU1dPUkRfRVJST1InLFxuICBSRVNFVF9QQVNTV09SRF9TVUNDRVNTOiAnVVNFUl9SRVNFVF9QQVNTV09SRF9TVUNDRVNTJyxcbiAgU0lHTl9JTl9FUlJPUjogJ1VTRVJfU0lHTl9JTl9FUlJPUicsXG4gIFNJR05fSU5fU1VDQ0VTUzogJ1VTRVJfU0lHTl9JTl9TVUNDRVNTJyxcbiAgU0lHTl9PVVRfRVJST1I6ICdVU0VSX1NJR05fT1VUX0VSUk9SJyxcbiAgU0lHTl9PVVRfU1VDQ0VTUzogJ1VTRVJfU0lHTl9PVVRfU1VDQ0VTUycsXG4gIFNJR05fVVBfRVJST1I6ICdVU0VSX1NJR05fVVBfRVJST1InLFxuICBTSUdOX1VQX1NVQ0NFU1M6ICdVU0VSX1NJR05fVVBfU1VDQ0VTUycsXG4gIFVQREFURV9JVEVNX0VSUk9SOiAnVVNFUl9VUERBVEVfSVRFTV9FUlJPUicsXG4gIFVQREFURV9JVEVNX1NVQ0NFU1M6ICdVU0VSX1VQREFURV9JVEVNX1NVQ0NFU1MnLFxuICBVUERBVEVfUEVSU09OQV9FUlJPUjogJ1VTRVJfVVBEQVRFX1BFUlNPTkFfRVJST1InLFxuICBVUERBVEVfUEVSU09OQV9TVUNDRVNTOiAnVVNFUl9VUERBVEVfUEVSU09OQV9TVUNDRVNTJyxcbiAgVVBEQVRFX1NFU1NJT05fRVJST1I6ICdVU0VSX1VQREFURV9TRVNTSU9OX0VSUk9SJyxcbiAgVVBEQVRFX1NFU1NJT05fU1VDQ0VTUzogJ1VTRVJfVVBEQVRFX1NFU1NJT05fU1VDQ0VTUycsXG4gIFZFUklGWV9FUlJPUjogJ1VTRVJfVkVSSUZZX0VSUk9SJyxcbiAgVkVSSUZZX1NVQ0NFU1M6ICdVU0VSX1ZFUklGWV9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXNlckNvbnN0YW50c1R5cGUgPSB0eXBlb2YgVVNFUl9DT05TVEFOVFNba2V5b2YgdHlwZW9mIFVTRVJfQ09OU1RBTlRTXTtcblxuaW50ZXJmYWNlIFVzZXJTdGF0ZSB7XG4gIGVycm9yPzogRXJyb3I7XG4gIGxpa2VzOiBzdHJpbmdbXTtcbiAgbGlzdHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBzZXNzaW9uOiBQYXJ0aWFsPFVzZXI+O1xuICB1c2VyczogUmVjb3JkPHN0cmluZywgUGFydGlhbDxVc2VyPj47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VmFsdWVzOiBVc2VyU3RhdGUgPSB7XG4gIGxpa2VzOiBbXSxcbiAgbGlzdHM6IHt9LFxuICBzZXNzaW9uOiB7fSxcbiAgdXNlcnM6IHt9XG59O1xuXG5leHBvcnQgY29uc3QgY291bnRGaWVsZE1hcCA9IHtcbiAgbGlrZTogJ2xpa2VDb3VudCcsXG4gIHZpZXc6ICd2aWV3Q291bnQnXG59O1xuXG5pbnRlcmZhY2UgVXNlckRhdGEge1xuICByZWFkb25seSBlcnJvcj86IEVycm9yO1xuICByZWFkb25seSBpdGVtSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGl0ZW1UeXBlPzogc3RyaW5nO1xuICByZWFkb25seSBsaXN0PzogVXNlcltdO1xuICByZWFkb25seSBwZXJzb25hPzogUGVyc29uYVR5cGU7XG4gIHJlYWRvbmx5IHJlYWN0aW9uPzogUmVhY3Rpb25UeXBlO1xuICByZWFkb25seSBzZXNzaW9uPzogVXNlcjtcbiAgcmVhZG9ubHkgdGFnPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHJlYWRvbmx5IHVzZXI/OiBVc2VyO1xufVxuXG5leHBvcnQgY29uc3QgdXNlclN0b3JlID0gKHR5cGU6IHN0cmluZywgZGF0YTogVXNlckRhdGEsIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IFVzZXJTdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVElPTl9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUzpcbiAgICBjYXNlIFJFQUNUSU9OX0NPTlNUQU5UUy5SRU1PVkVfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7aXRlbUlkLCBpdGVtVHlwZSwgcmVhY3Rpb259ID0gZGF0YTtcblxuICAgICAgaWYoaXRlbVR5cGUgIT09ICd1c2VycycgfHwgIXJlYWN0aW9uKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXNlcnMgPSB7Li4uc3RhdGUudXNlcnN9O1xuICAgICAgY29uc3Qge25hbWU6IHJlYWN0aW9uTmFtZSA9ICcnLCB2YWx1ZTogcmVhY3Rpb25WYWx1ZX0gPSByZWFjdGlvbjtcbiAgICAgIGNvbnN0IHZhbHVlOiBib29sZWFuID0gcmVhY3Rpb25WYWx1ZSA9PT0gJ3RydWUnO1xuXG4gICAgICBpZihpdGVtSWQgJiYgdXNlcnNbaXRlbUlkXSkge1xuICAgICAgICB1c2Vyc1tpdGVtSWRdID0gey4uLnVzZXJzW2l0ZW1JZF19O1xuICAgICAgICB1c2Vyc1tpdGVtSWRdW2BoYXMke2NhcGl0YWxpemUocmVhY3Rpb25OYW1lKX1gXSA9IHZhbHVlO1xuXG4gICAgICAgIGlmKHJlYWN0aW9uTmFtZSAhPT0gJ3ZpZXcnKSB7XG4gICAgICAgICAgY29uc3QgY291bnRGaWVsZDoga2V5b2YgdHlwZW9mIGNvdW50RmllbGRNYXAgPSByZWFjdGlvbk5hbWUgYXMga2V5b2YgdHlwZW9mIGNvdW50RmllbGRNYXA7XG4gICAgICAgICAgY29uc3QgZmllbGQgPSBjb3VudEZpZWxkTWFwW2NvdW50RmllbGRdO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDb3VudCA9IHVzZXJzW2l0ZW1JZF1bZmllbGRdIGFzIG51bWJlciB8fCAwO1xuICAgICAgICAgIHVzZXJzW2l0ZW1JZF1bZmllbGRdID0gdmFsdWUgPyBjdXJyZW50Q291bnQgKyAxIDogY3VycmVudENvdW50IC0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gey4uLnN0YXRlLCB1c2Vyc307XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3VzZXJ9ID0gZGF0YTtcbiAgICAgIGlmKHVzZXIpIHtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbjogey4uLnN0YXRlLnNlc3Npb24sIC4uLnVzZXJ9fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBUQUdfQ09OU1RBTlRTLkFERF9QRVJTT05BX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt0YWd9ID0gZGF0YTtcbiAgICAgIGNvbnN0IHNlc3Npb24gPSB7Li4uc3RhdGUuc2Vzc2lvbn07XG4gICAgICBjb25zdCB7dGFncyA9IFtdfSA9IHNlc3Npb247XG4gICAgICBjb25zdCB1cGRhdGVkVGFncyA9IHVuaXFCeShbLi4udGFncywgdGFnXSwgKGl0ZW06IFRhZ1R5cGUpID0+IGl0ZW0udGFnSWQpO1xuICAgICAgc2Vzc2lvbi50YWdzID0gb3JkZXJCeSh1cGRhdGVkVGFncywgWyduYW1lJ10sIFsnYXNjJ10pO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbn07XG4gICAgfVxuICAgIGNhc2UgVEFHX0NPTlNUQU5UUy5SRU1PVkVfUEVSU09OQV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dGFnfSA9IGRhdGE7XG4gICAgICBjb25zdCBzZXNzaW9uID0gey4uLnN0YXRlLnNlc3Npb259O1xuICAgICAgY29uc3Qge3RhZ3MgPSBbXX0gPSBzZXNzaW9uO1xuICAgICAgc2Vzc2lvbi50YWdzID0gcHVsbEFsbEJ5KHRhZ3MsIFt0YWddLCAndGFnSWQnKTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb259O1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLkFERF9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt1c2VyfSA9IGRhdGE7XG4gICAgICBpZih1c2VyICYmIHVzZXIudXNlcklkKSB7XG4gICAgICAgIGNvbnN0IHVzZXJzID0gey4uLnN0YXRlLnVzZXJzfTtcbiAgICAgICAgdXNlcnNbdXNlci51c2VySWRdID0gey4uLnVzZXIsIHRpbWVzdGFtcDogRGF0ZS5ub3coKX07XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb246IHVzZXIsIHVzZXJzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5HRVRfREVUQUlMU19TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dXNlcn0gPSBkYXRhO1xuICAgICAgaWYodXNlciAmJiB1c2VyLnVzZXJJZCkge1xuICAgICAgICBjb25zdCB1c2VycyA9IHsuLi5zdGF0ZS51c2Vyc307XG4gICAgICAgIHVzZXJzW3VzZXIudXNlcklkXSA9IHsuLi51c2VyLCB0aW1lc3RhbXA6IERhdGUubm93KCl9O1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCB1c2Vyc307XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuR0VUX0xJU1RfU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge2xpc3R9ID0gZGF0YTtcbiAgICAgIGlmKGxpc3QpIHtcbiAgICAgICAgY29uc3QgdXNlcnMgPSB7Li4uc3RhdGUudXNlcnN9O1xuXG4gICAgICAgIGxpc3QuZm9yRWFjaCgodXNlcjogVXNlcikgPT4ge1xuICAgICAgICAgIGlmKHVzZXIudXNlcklkKSB7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWRVc2VyOiBQYXJ0aWFsPFVzZXI+ID0gdXNlcnNbdXNlci51c2VySWRdIHx8IHt9O1xuICAgICAgICAgICAgdXNlcnNbdXNlci51c2VySWRdID0gey4uLmNhY2hlZFVzZXIsIC4uLnVzZXJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHVzZXJzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5TSUdOX0lOX0VSUk9SOiB7XG4gICAgICBjb25zdCB7dXNlcm5hbWV9ID0gc3RhdGUuc2Vzc2lvbjtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb246IHt1c2VybmFtZTogdXNlcm5hbWUgfHwgJyd9fTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5TSUdOX1VQX0VSUk9SOiB7XG4gICAgICBjb25zdCB7ZXJyb3J9ID0gZGF0YTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIGVycm9yfTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5TSUdOX0lOX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtzZXNzaW9ufSA9IGRhdGE7XG4gICAgICBpZihzZXNzaW9uKSB7XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIGxpc3RzOiB7fSwgc2Vzc2lvbjogey4uLnNlc3Npb259LCB1c2Vyczoge319O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLlNJR05fT1VUX1NVQ0NFU1M6IHtcbiAgICAgIHJldHVybiB7Li4uZGVmYXVsdFZhbHVlc307XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuR0VUX1NFU1NJT05fRVJST1I6IHtcbiAgICAgIHJldHVybiB7Li4uZGVmYXVsdFZhbHVlc307XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuU0lHTl9VUF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dXNlcn0gPSBkYXRhO1xuICAgICAgaWYodXNlciAmJiB1c2VyLnVzZXJJZCkge1xuICAgICAgICBjb25zdCB1c2VycyA9IHsuLi5zdGF0ZS51c2Vyc307XG4gICAgICAgIHVzZXJzW3VzZXIudXNlcklkXSA9IHsuLi51c2VyLCB0aW1lc3RhbXA6IERhdGUubm93KCl9O1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBlcnJvcjogdW5kZWZpbmVkLCB1c2Vyc307XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuR0VUX1NFU1NJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3Nlc3Npb259ID0gZGF0YTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb246IHsuLi5zdGF0ZS5zZXNzaW9uLCAuLi5zZXNzaW9ufX07XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuVVBEQVRFX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3VzZXJ9ID0gZGF0YTtcbiAgICAgIGlmKHVzZXIgJiYgdXNlci51c2VySWQpIHtcbiAgICAgICAgY29uc3Qge3Nlc3Npb24sIHVzZXJzfSA9IHN0YXRlO1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBzZXNzaW9uOiB7Li4uc2Vzc2lvbiwgLi4udXNlcn0sIHVzZXJzOiB7Li4udXNlcnMsIFt1c2VyLnVzZXJJZF06IHVzZXJ9fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5VUERBVEVfUEVSU09OQV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7cGVyc29uYX0gPSBkYXRhO1xuICAgICAgaWYocGVyc29uYSkge1xuICAgICAgICBjb25zdCB7c2Vzc2lvbn0gPSBzdGF0ZTtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbjogey4uLnNlc3Npb24sIC4uLnBlcnNvbmF9fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzID0ge1xuICBhY3Rpb246IHVzZXJTdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBkZWZhdWx0VmFsdWVzLFxuICBuYW1lOiAndXNlcidcbn07XG4iXSwibmFtZXMiOlsiY2FwaXRhbGl6ZSIsIm9yZGVyQnkiLCJwdWxsQWxsQnkiLCJ1bmlxQnkiLCJSRUFDVElPTl9DT05TVEFOVFMiLCJUQUdfQ09OU1RBTlRTIiwiVVNFUl9DT05TVEFOVFMiLCJBRERfSVRFTV9FUlJPUiIsIkFERF9JVEVNX1NVQ0NFU1MiLCJBRERfUkVMQVRJT05fRVJST1IiLCJBRERfUkVMQVRJT05fU1VDQ0VTUyIsIkFVVEhFTlRJQ0FUSU9OX1VQREFURSIsIkNPTkZJUk1fU0lHTl9VUF9FUlJPUiIsIkNPTkZJUk1fU0lHTl9VUF9TVUNDRVNTIiwiRk9SR09UX1BBU1NXT1JEX0VSUk9SIiwiRk9SR09UX1BBU1NXT1JEX1NVQ0NFU1MiLCJHRVRfREVUQUlMU19TVUNDRVNTIiwiR0VUX0lURU1fRVJST1IiLCJHRVRfSVRFTV9TVUNDRVNTIiwiR0VUX0xJU1RfRVJST1IiLCJHRVRfTElTVF9TVUNDRVNTIiwiR0VUX1NFU1NJT05fRVJST1IiLCJHRVRfU0VTU0lPTl9TVUNDRVNTIiwiSEFTX1VTRVJfUkVBQ1RJT05TIiwiUkVDT1ZFUllfRVJST1IiLCJSRUNPVkVSWV9TVUNDRVNTIiwiUkVNT1ZFX0lURU1fRVJST1IiLCJSRU1PVkVfSVRFTV9TVUNDRVNTIiwiUkVNT1ZFX1JFTEFUSU9OIiwiUkVTRVRfUEFTU1dPUkRfRVJST1IiLCJSRVNFVF9QQVNTV09SRF9TVUNDRVNTIiwiU0lHTl9JTl9FUlJPUiIsIlNJR05fSU5fU1VDQ0VTUyIsIlNJR05fT1VUX0VSUk9SIiwiU0lHTl9PVVRfU1VDQ0VTUyIsIlNJR05fVVBfRVJST1IiLCJTSUdOX1VQX1NVQ0NFU1MiLCJVUERBVEVfSVRFTV9FUlJPUiIsIlVQREFURV9JVEVNX1NVQ0NFU1MiLCJVUERBVEVfUEVSU09OQV9FUlJPUiIsIlVQREFURV9QRVJTT05BX1NVQ0NFU1MiLCJVUERBVEVfU0VTU0lPTl9FUlJPUiIsIlVQREFURV9TRVNTSU9OX1NVQ0NFU1MiLCJWRVJJRllfRVJST1IiLCJWRVJJRllfU1VDQ0VTUyIsImRlZmF1bHRWYWx1ZXMiLCJsaWtlcyIsImxpc3RzIiwic2Vzc2lvbiIsInVzZXJzIiwiY291bnRGaWVsZE1hcCIsImxpa2UiLCJ2aWV3IiwidXNlclN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsIml0ZW1JZCIsIml0ZW1UeXBlIiwicmVhY3Rpb24iLCJuYW1lIiwicmVhY3Rpb25OYW1lIiwidmFsdWUiLCJyZWFjdGlvblZhbHVlIiwiY291bnRGaWVsZCIsImZpZWxkIiwiY3VycmVudENvdW50IiwidXNlciIsIkFERF9QRVJTT05BX1NVQ0NFU1MiLCJ0YWciLCJ0YWdzIiwidXBkYXRlZFRhZ3MiLCJpdGVtIiwidGFnSWQiLCJSRU1PVkVfUEVSU09OQV9TVUNDRVNTIiwidXNlcklkIiwidGltZXN0YW1wIiwiRGF0ZSIsIm5vdyIsImxpc3QiLCJmb3JFYWNoIiwiY2FjaGVkVXNlciIsInVzZXJuYW1lIiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJwZXJzb25hIiwiYWN0aW9uIiwiaW5pdGlhbFN0YXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxNQUFNLFFBQU8sZUFBZTtBQUVwRSxTQUFRQyxrQkFBa0IsUUFBTyxxQkFBcUI7QUFDdEQsU0FBUUMsYUFBYSxRQUFPLGdCQUFnQjtBQUs1QyxPQUFPLE1BQU1DLGlCQUFpQjtJQUM1QkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG9CQUFvQjtJQUNwQkMsc0JBQXNCO0lBQ3RCQyx1QkFBdUI7SUFDdkJDLHVCQUF1QjtJQUN2QkMseUJBQXlCO0lBQ3pCQyx1QkFBdUI7SUFDdkJDLHlCQUF5QjtJQUN6QkMscUJBQXFCO0lBQ3JCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxvQkFBb0I7SUFDcEJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtJQUNyQkMsaUJBQWlCO0lBQ2pCQyxzQkFBc0I7SUFDdEJDLHdCQUF3QjtJQUN4QkMsZUFBZTtJQUNmQyxpQkFBaUI7SUFDakJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxlQUFlO0lBQ2ZDLGlCQUFpQjtJQUNqQkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7SUFDckJDLHNCQUFzQjtJQUN0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
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ export declare const VIDEO_CONSTANTS: {
6
+ readonly ADD_ITEM_ERROR: "VIDEO_ADD_ITEM_ERROR";
7
+ readonly ADD_ITEM_SUCCESS: "VIDEO_ADD_ITEM_SUCCESS";
8
+ readonly GET_ITEM_ERROR: "VIDEO_GET_ITEM_ERROR";
9
+ readonly GET_ITEM_SUCCESS: "VIDEO_GET_ITEM_SUCCESS";
10
+ readonly GET_LIST_ERROR: "VIDEO_GET_LIST_ERROR";
11
+ readonly GET_LIST_SUCCESS: "VIDEO_GET_LIST_SUCCESS";
12
+ readonly REMOVE_ITEM_ERROR: "VIDEO_REMOVE_ITEM_ERROR";
13
+ readonly REMOVE_ITEM_SUCCESS: "VIDEO_REMOVE_ITEM_SUCCESS";
14
+ readonly PROCESSING_COMPLETE: "VIDEO_PROCESSING_COMPLETE";
15
+ readonly UPDATE_ITEM_ERROR: "VIDEO_UPDATE_ITEM_ERROR";
16
+ readonly UPDATE_ITEM_SUCCESS: "VIDEO_UPDATE_ITEM_SUCCESS";
17
+ };
18
+ export type VideoConstantsType = typeof VIDEO_CONSTANTS[keyof typeof VIDEO_CONSTANTS];
19
+ interface VideoState {
20
+ error?: Error;
21
+ item?: Record<string, any>;
22
+ list?: any[];
23
+ videos?: Record<string, any>;
24
+ }
25
+ export declare const defaultValues: VideoState;
26
+ interface VideoData {
27
+ readonly error?: Error;
28
+ readonly list?: any[];
29
+ readonly video?: Record<string, any>;
30
+ readonly videos?: Record<string, any>;
31
+ }
32
+ export declare const videoStore: (type: string, data: VideoData, state?: VideoState) => VideoState;
33
+ export declare const video: {
34
+ action: (type: string, data: VideoData, state?: VideoState) => VideoState;
35
+ initialState: VideoState;
36
+ name: string;
37
+ };
38
+ export {};
39
+ //# sourceMappingURL=videoStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"videoStore.d.ts","sourceRoot":"","sources":["../../src/stores/videoStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEtF,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,EAAE,UAG3B,CAAC;AAEF,UAAU,SAAS;IACjB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,MAAM,SAAS,EACf,kBAAqB,KACpB,UA2DF,CAAC;AAEF,eAAO,MAAM,KAAK;mBAhEV,MAAM,QACN,SAAS,yBAEd,UAAU;;;CAiEZ,CAAC"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export const VIDEO_CONSTANTS = {
5
+ ADD_ITEM_ERROR: 'VIDEO_ADD_ITEM_ERROR',
6
+ ADD_ITEM_SUCCESS: 'VIDEO_ADD_ITEM_SUCCESS',
7
+ GET_ITEM_ERROR: 'VIDEO_GET_ITEM_ERROR',
8
+ GET_ITEM_SUCCESS: 'VIDEO_GET_ITEM_SUCCESS',
9
+ GET_LIST_ERROR: 'VIDEO_GET_LIST_ERROR',
10
+ GET_LIST_SUCCESS: 'VIDEO_GET_LIST_SUCCESS',
11
+ REMOVE_ITEM_ERROR: 'VIDEO_REMOVE_ITEM_ERROR',
12
+ REMOVE_ITEM_SUCCESS: 'VIDEO_REMOVE_ITEM_SUCCESS',
13
+ PROCESSING_COMPLETE: 'VIDEO_PROCESSING_COMPLETE',
14
+ UPDATE_ITEM_ERROR: 'VIDEO_UPDATE_ITEM_ERROR',
15
+ UPDATE_ITEM_SUCCESS: 'VIDEO_UPDATE_ITEM_SUCCESS'
16
+ };
17
+ export const defaultValues = {
18
+ list: [],
19
+ videos: {}
20
+ };
21
+ export const videoStore = (type, data, state = defaultValues)=>{
22
+ switch(type){
23
+ case VIDEO_CONSTANTS.ADD_ITEM_SUCCESS:
24
+ {
25
+ const { video = {} } = data;
26
+ const { videoId = '' } = video;
27
+ const updatedVideos = {
28
+ ...state.videos,
29
+ [videoId]: video
30
+ };
31
+ return {
32
+ ...state,
33
+ item: video,
34
+ videos: updatedVideos
35
+ };
36
+ }
37
+ case VIDEO_CONSTANTS.GET_ITEM_SUCCESS:
38
+ {
39
+ const { video = {} } = data;
40
+ const { videoId = '' } = video;
41
+ const updatedVideos = {
42
+ ...state.videos,
43
+ [videoId]: video
44
+ };
45
+ return {
46
+ ...state,
47
+ item: video,
48
+ videos: updatedVideos
49
+ };
50
+ }
51
+ case VIDEO_CONSTANTS.GET_LIST_SUCCESS:
52
+ {
53
+ const { list = [] } = data;
54
+ const videos = list.reduce((acc, item)=>{
55
+ const { videoId } = item;
56
+ return videoId ? {
57
+ ...acc,
58
+ [videoId]: item
59
+ } : acc;
60
+ }, {});
61
+ return {
62
+ ...state,
63
+ list,
64
+ videos: {
65
+ ...state.videos,
66
+ ...videos
67
+ }
68
+ };
69
+ }
70
+ case VIDEO_CONSTANTS.UPDATE_ITEM_SUCCESS:
71
+ {
72
+ const { video = {} } = data;
73
+ const { videoId = '' } = video;
74
+ const updatedVideos = {
75
+ ...state.videos,
76
+ [videoId]: video
77
+ };
78
+ return {
79
+ ...state,
80
+ item: video,
81
+ videos: updatedVideos
82
+ };
83
+ }
84
+ case VIDEO_CONSTANTS.PROCESSING_COMPLETE:
85
+ {
86
+ const { video = {} } = data;
87
+ const { videoId = '' } = video;
88
+ const updatedVideos = {
89
+ ...state.videos,
90
+ [videoId]: video
91
+ };
92
+ return {
93
+ ...state,
94
+ item: video,
95
+ videos: updatedVideos
96
+ };
97
+ }
98
+ case VIDEO_CONSTANTS.REMOVE_ITEM_SUCCESS:
99
+ {
100
+ const { video = {} } = data;
101
+ const { videoId = '' } = video;
102
+ const { [videoId]: removed, ...updatedVideos } = state.videos || {};
103
+ return {
104
+ ...state,
105
+ videos: updatedVideos
106
+ };
107
+ }
108
+ case VIDEO_CONSTANTS.ADD_ITEM_ERROR:
109
+ case VIDEO_CONSTANTS.GET_ITEM_ERROR:
110
+ case VIDEO_CONSTANTS.GET_LIST_ERROR:
111
+ case VIDEO_CONSTANTS.UPDATE_ITEM_ERROR:
112
+ case VIDEO_CONSTANTS.REMOVE_ITEM_ERROR:
113
+ {
114
+ const { error } = data;
115
+ return {
116
+ ...state,
117
+ error
118
+ };
119
+ }
120
+ default:
121
+ {
122
+ return state;
123
+ }
124
+ }
125
+ };
126
+ export const video = {
127
+ action: videoStore,
128
+ initialState: defaultValues,
129
+ name: 'video'
130
+ };
131
+
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3ZpZGVvU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjYtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cblxuZXhwb3J0IGNvbnN0IFZJREVPX0NPTlNUQU5UUyA9IHtcbiAgQUREX0lURU1fRVJST1I6ICdWSURFT19BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdWSURFT19BRERfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0lURU1fRVJST1I6ICdWSURFT19HRVRfSVRFTV9FUlJPUicsXG4gIEdFVF9JVEVNX1NVQ0NFU1M6ICdWSURFT19HRVRfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0xJU1RfRVJST1I6ICdWSURFT19HRVRfTElTVF9FUlJPUicsXG4gIEdFVF9MSVNUX1NVQ0NFU1M6ICdWSURFT19HRVRfTElTVF9TVUNDRVNTJyxcbiAgUkVNT1ZFX0lURU1fRVJST1I6ICdWSURFT19SRU1PVkVfSVRFTV9FUlJPUicsXG4gIFJFTU9WRV9JVEVNX1NVQ0NFU1M6ICdWSURFT19SRU1PVkVfSVRFTV9TVUNDRVNTJyxcbiAgUFJPQ0VTU0lOR19DT01QTEVURTogJ1ZJREVPX1BST0NFU1NJTkdfQ09NUExFVEUnLFxuICBVUERBVEVfSVRFTV9FUlJPUjogJ1ZJREVPX1VQREFURV9JVEVNX0VSUk9SJyxcbiAgVVBEQVRFX0lURU1fU1VDQ0VTUzogJ1ZJREVPX1VQREFURV9JVEVNX1NVQ0NFU1MnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBWaWRlb0NvbnN0YW50c1R5cGUgPSB0eXBlb2YgVklERU9fQ09OU1RBTlRTW2tleW9mIHR5cGVvZiBWSURFT19DT05TVEFOVFNdO1xuXG5pbnRlcmZhY2UgVmlkZW9TdGF0ZSB7XG4gIGVycm9yPzogRXJyb3I7XG4gIGl0ZW0/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBsaXN0PzogYW55W107XG4gIHZpZGVvcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VmFsdWVzOiBWaWRlb1N0YXRlID0ge1xuICBsaXN0OiBbXSxcbiAgdmlkZW9zOiB7fVxufTtcblxuaW50ZXJmYWNlIFZpZGVvRGF0YSB7XG4gIHJlYWRvbmx5IGVycm9yPzogRXJyb3I7XG4gIHJlYWRvbmx5IGxpc3Q/OiBhbnlbXTtcbiAgcmVhZG9ubHkgdmlkZW8/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICByZWFkb25seSB2aWRlb3M/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgY29uc3QgdmlkZW9TdG9yZSA9IChcbiAgdHlwZTogc3RyaW5nLFxuICBkYXRhOiBWaWRlb0RhdGEsXG4gIHN0YXRlID0gZGVmYXVsdFZhbHVlc1xuKTogVmlkZW9TdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBWSURFT19DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3ZpZGVvID0ge319ID0gZGF0YTtcbiAgICAgIGNvbnN0IHt2aWRlb0lkID0gJyd9ID0gdmlkZW87XG4gICAgICBjb25zdCB1cGRhdGVkVmlkZW9zID0gey4uLnN0YXRlLnZpZGVvcywgW3ZpZGVvSWRdOiB2aWRlb307XG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBpdGVtOiB2aWRlbywgdmlkZW9zOiB1cGRhdGVkVmlkZW9zfTtcbiAgICB9XG5cbiAgICBjYXNlIFZJREVPX0NPTlNUQU5UUy5HRVRfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dmlkZW8gPSB7fX0gPSBkYXRhO1xuICAgICAgY29uc3Qge3ZpZGVvSWQgPSAnJ30gPSB2aWRlbztcbiAgICAgIGNvbnN0IHVwZGF0ZWRWaWRlb3MgPSB7Li4uc3RhdGUudmlkZW9zLCBbdmlkZW9JZF06IHZpZGVvfTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIGl0ZW06IHZpZGVvLCB2aWRlb3M6IHVwZGF0ZWRWaWRlb3N9O1xuICAgIH1cblxuICAgIGNhc2UgVklERU9fQ09OU1RBTlRTLkdFVF9MSVNUX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtsaXN0ID0gW119ID0gZGF0YTtcbiAgICAgIGNvbnN0IHZpZGVvcyA9IGxpc3QucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3Qge3ZpZGVvSWR9ID0gaXRlbTtcbiAgICAgICAgcmV0dXJuIHZpZGVvSWQgPyB7Li4uYWNjLCBbdmlkZW9JZF06IGl0ZW19IDogYWNjO1xuICAgICAgfSwge30pO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgbGlzdCwgdmlkZW9zOiB7Li4uc3RhdGUudmlkZW9zLCAuLi52aWRlb3N9fTtcbiAgICB9XG5cbiAgICBjYXNlIFZJREVPX0NPTlNUQU5UUy5VUERBVEVfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dmlkZW8gPSB7fX0gPSBkYXRhO1xuICAgICAgY29uc3Qge3ZpZGVvSWQgPSAnJ30gPSB2aWRlbztcbiAgICAgIGNvbnN0IHVwZGF0ZWRWaWRlb3MgPSB7Li4uc3RhdGUudmlkZW9zLCBbdmlkZW9JZF06IHZpZGVvfTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIGl0ZW06IHZpZGVvLCB2aWRlb3M6IHVwZGF0ZWRWaWRlb3N9O1xuICAgIH1cblxuICAgIGNhc2UgVklERU9fQ09OU1RBTlRTLlBST0NFU1NJTkdfQ09NUExFVEU6IHtcbiAgICAgIGNvbnN0IHt2aWRlbyA9IHt9fSA9IGRhdGE7XG4gICAgICBjb25zdCB7dmlkZW9JZCA9ICcnfSA9IHZpZGVvO1xuICAgICAgY29uc3QgdXBkYXRlZFZpZGVvcyA9IHsuLi5zdGF0ZS52aWRlb3MsIFt2aWRlb0lkXTogdmlkZW99O1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXRlbTogdmlkZW8sIHZpZGVvczogdXBkYXRlZFZpZGVvc307XG4gICAgfVxuXG4gICAgY2FzZSBWSURFT19DT05TVEFOVFMuUkVNT1ZFX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3ZpZGVvID0ge319ID0gZGF0YTtcbiAgICAgIGNvbnN0IHt2aWRlb0lkID0gJyd9ID0gdmlkZW87XG4gICAgICBjb25zdCB7W3ZpZGVvSWRdOiByZW1vdmVkLCAuLi51cGRhdGVkVmlkZW9zfSA9IHN0YXRlLnZpZGVvcyB8fCB7fTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHZpZGVvczogdXBkYXRlZFZpZGVvc307XG4gICAgfVxuXG4gICAgY2FzZSBWSURFT19DT05TVEFOVFMuQUREX0lURU1fRVJST1I6XG4gICAgY2FzZSBWSURFT19DT05TVEFOVFMuR0VUX0lURU1fRVJST1I6XG4gICAgY2FzZSBWSURFT19DT05TVEFOVFMuR0VUX0xJU1RfRVJST1I6XG4gICAgY2FzZSBWSURFT19DT05TVEFOVFMuVVBEQVRFX0lURU1fRVJST1I6XG4gICAgY2FzZSBWSURFT19DT05TVEFOVFMuUkVNT1ZFX0lURU1fRVJST1I6IHtcbiAgICAgIGNvbnN0IHtlcnJvcn0gPSBkYXRhO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgZXJyb3J9O1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2aWRlbyA9IHtcbiAgYWN0aW9uOiB2aWRlb1N0b3JlLFxuICBpbml0aWFsU3RhdGU6IGRlZmF1bHRWYWx1ZXMsXG4gIG5hbWU6ICd2aWRlbydcbn07XG4iXSwibmFtZXMiOlsiVklERU9fQ09OU1RBTlRTIiwiQUREX0lURU1fRVJST1IiLCJBRERfSVRFTV9TVUNDRVNTIiwiR0VUX0lURU1fRVJST1IiLCJHRVRfSVRFTV9TVUNDRVNTIiwiR0VUX0xJU1RfRVJST1IiLCJHRVRfTElTVF9TVUNDRVNTIiwiUkVNT1ZFX0lURU1fRVJST1IiLCJSRU1PVkVfSVRFTV9TVUNDRVNTIiwiUFJPQ0VTU0lOR19DT01QTEVURSIsIlVQREFURV9JVEVNX0VSUk9SIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsImRlZmF1bHRWYWx1ZXMiLCJsaXN0IiwidmlkZW9zIiwidmlkZW9TdG9yZSIsInR5cGUiLCJkYXRhIiwic3RhdGUiLCJ2aWRlbyIsInZpZGVvSWQiLCJ1cGRhdGVkVmlkZW9zIiwiaXRlbSIsInJlZHVjZSIsImFjYyIsInJlbW92ZWQiLCJlcnJvciIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUVELE9BQU8sTUFBTUEsa0JBQWtCO0lBQzdCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtJQUNyQkMscUJBQXFCO0lBQ3JCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtBQUN2QixFQUFXO0FBV1gsT0FBTyxNQUFNQyxnQkFBNEI7SUFDdkNDLE1BQU0sRUFBRTtJQUNSQyxRQUFRLENBQUM7QUFDWCxFQUFFO0FBU0YsT0FBTyxNQUFNQyxhQUFhLENBQ3hCQyxNQUNBQyxNQUNBQyxRQUFRTixhQUFhO0lBRXJCLE9BQU9JO1FBQ0wsS0FBS2hCLGdCQUFnQkUsZ0JBQWdCO1lBQUU7Z0JBQ3JDLE1BQU0sRUFBQ2lCLFFBQVEsQ0FBQyxDQUFDLEVBQUMsR0FBR0Y7Z0JBQ3JCLE1BQU0sRUFBQ0csVUFBVSxFQUFFLEVBQUMsR0FBR0Q7Z0JBQ3ZCLE1BQU1FLGdCQUFnQjtvQkFBQyxHQUFHSCxNQUFNSixNQUFNO29CQUFFLENBQUNNLFFBQVEsRUFBRUQ7Z0JBQUs7Z0JBQ3hELE9BQU87b0JBQUMsR0FBR0QsS0FBSztvQkFBRUksTUFBTUg7b0JBQU9MLFFBQVFPO2dCQUFhO1lBQ3REO1FBRUEsS0FBS3JCLGdCQUFnQkksZ0JB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
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ export declare const WEBSOCKET_CONSTANTS: {
6
+ readonly CLOSE: "WEBSOCKET_CLOSE";
7
+ readonly ERROR: "WEBSOCKET_ERROR";
8
+ readonly MESSAGE: "WEBSOCKET_MESSAGE";
9
+ readonly OPEN: "WEBSOCKET_OPEN";
10
+ };
11
+ interface WebSocketState {
12
+ isOpen: boolean;
13
+ data?: unknown;
14
+ timestamp?: number;
15
+ }
16
+ export declare const defaultValues: WebSocketState;
17
+ export declare const websocketStore: (type: string, data: Partial<WebSocketState>, state?: WebSocketState) => WebSocketState;
18
+ export declare const websocket: {
19
+ action: (type: string, data: Partial<WebSocketState>, state?: WebSocketState) => WebSocketState;
20
+ initialState: WebSocketState;
21
+ name: string;
22
+ };
23
+ export {};
24
+ //# sourceMappingURL=websocketStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocketStore.d.ts","sourceRoot":"","sources":["../../src/stores/websocketStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,UAAU,cAAc;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,cAE3B,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,sBAAqB,KAAG,cAenG,CAAC;AAEF,eAAO,MAAM,SAAS;mBAjBe,MAAM,QAAQ,OAAO,CAAC,cAAc,CAAC,6BAA0B,cAAc;;;CAqBjH,CAAC"}