@oxyhq/services 5.16.1 → 5.16.3

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 (175) hide show
  1. package/lib/commonjs/core/mixins/OxyServices.user.js +14 -13
  2. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  3. package/lib/commonjs/crypto/keyManager.js +164 -3
  4. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  5. package/lib/commonjs/crypto/signatureService.js +26 -0
  6. package/lib/commonjs/crypto/signatureService.js.map +1 -1
  7. package/lib/commonjs/ui/components/GroupedSection.js +1 -1
  8. package/lib/commonjs/ui/components/GroupedSection.js.map +1 -1
  9. package/lib/commonjs/ui/components/OxyProvider.js +71 -24
  10. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  11. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js +1 -4
  12. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  13. package/lib/commonjs/ui/context/OxyContext.js +175 -4
  14. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  15. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +148 -49
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  17. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +22 -2
  18. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -1
  19. package/lib/commonjs/ui/hooks/mutations/index.js +28 -0
  20. package/lib/commonjs/ui/hooks/mutations/index.js.map +1 -0
  21. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +314 -0
  22. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  23. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +193 -0
  24. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  25. package/lib/commonjs/ui/hooks/queries/index.js +39 -0
  26. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -0
  27. package/lib/commonjs/ui/hooks/queries/queryKeys.js +85 -0
  28. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -0
  29. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +145 -0
  30. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -0
  31. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +138 -0
  32. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -0
  33. package/lib/commonjs/ui/hooks/queryClient.js +117 -0
  34. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -0
  35. package/lib/commonjs/ui/hooks/useIdentityMutations.js +111 -0
  36. package/lib/commonjs/ui/hooks/useIdentityMutations.js.map +1 -0
  37. package/lib/commonjs/ui/hooks/useProfileEditing.js +42 -58
  38. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  39. package/lib/commonjs/ui/hooks/useQueryClient.js +20 -0
  40. package/lib/commonjs/ui/hooks/useQueryClient.js.map +1 -0
  41. package/lib/commonjs/ui/hooks/useSessionManagement.js +22 -2
  42. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  43. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +43 -42
  44. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +63 -58
  46. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +6 -6
  48. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  49. package/lib/commonjs/ui/stores/accountStore.js +57 -42
  50. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  51. package/lib/commonjs/ui/stores/authStore.js +4 -25
  52. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  53. package/lib/module/core/mixins/OxyServices.user.js +14 -13
  54. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  55. package/lib/module/crypto/keyManager.js +164 -3
  56. package/lib/module/crypto/keyManager.js.map +1 -1
  57. package/lib/module/crypto/signatureService.js +26 -0
  58. package/lib/module/crypto/signatureService.js.map +1 -1
  59. package/lib/module/ui/components/GroupedSection.js +1 -1
  60. package/lib/module/ui/components/GroupedSection.js.map +1 -1
  61. package/lib/module/ui/components/OxyProvider.js +72 -25
  62. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  63. package/lib/module/ui/components/profile/EditDisplayNameModal.js +1 -4
  64. package/lib/module/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  65. package/lib/module/ui/context/OxyContext.js +174 -4
  66. package/lib/module/ui/context/OxyContext.js.map +1 -1
  67. package/lib/module/ui/context/hooks/useAuthOperations.js +148 -49
  68. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  69. package/lib/module/ui/context/hooks/useSessionManagement.js +22 -2
  70. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -1
  71. package/lib/module/ui/hooks/mutations/index.js +6 -0
  72. package/lib/module/ui/hooks/mutations/index.js.map +1 -0
  73. package/lib/module/ui/hooks/mutations/useAccountMutations.js +308 -0
  74. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  75. package/lib/module/ui/hooks/mutations/useServicesMutations.js +185 -0
  76. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  77. package/lib/module/ui/hooks/queries/index.js +7 -0
  78. package/lib/module/ui/hooks/queries/index.js.map +1 -0
  79. package/lib/module/ui/hooks/queries/queryKeys.js +78 -0
  80. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -0
  81. package/lib/module/ui/hooks/queries/useAccountQueries.js +136 -0
  82. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -0
  83. package/lib/module/ui/hooks/queries/useServicesQueries.js +130 -0
  84. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -0
  85. package/lib/module/ui/hooks/queryClient.js +110 -0
  86. package/lib/module/ui/hooks/queryClient.js.map +1 -0
  87. package/lib/module/ui/hooks/useIdentityMutations.js +105 -0
  88. package/lib/module/ui/hooks/useIdentityMutations.js.map +1 -0
  89. package/lib/module/ui/hooks/useProfileEditing.js +43 -59
  90. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  91. package/lib/module/ui/hooks/useQueryClient.js +15 -0
  92. package/lib/module/ui/hooks/useQueryClient.js.map +1 -0
  93. package/lib/module/ui/hooks/useSessionManagement.js +22 -2
  94. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  95. package/lib/module/ui/screens/AccountOverviewScreen.js +43 -42
  96. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  97. package/lib/module/ui/screens/AccountSettingsScreen.js +63 -58
  98. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  99. package/lib/module/ui/screens/WelcomeNewUserScreen.js +6 -6
  100. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  101. package/lib/module/ui/stores/accountStore.js +57 -42
  102. package/lib/module/ui/stores/accountStore.js.map +1 -1
  103. package/lib/module/ui/stores/authStore.js +4 -25
  104. package/lib/module/ui/stores/authStore.js.map +1 -1
  105. package/lib/typescript/core/mixins/OxyServices.user.d.ts +4 -5
  106. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  107. package/lib/typescript/core/mixins/index.d.ts +0 -1
  108. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  109. package/lib/typescript/crypto/keyManager.d.ts +19 -2
  110. package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
  111. package/lib/typescript/crypto/signatureService.d.ts +5 -0
  112. package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
  113. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  114. package/lib/typescript/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -1
  115. package/lib/typescript/ui/context/OxyContext.d.ts +4 -0
  116. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  117. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  118. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +3 -1
  119. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -1
  120. package/lib/typescript/ui/hooks/mutations/index.d.ts +3 -0
  121. package/lib/typescript/ui/hooks/mutations/index.d.ts.map +1 -0
  122. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +25 -0
  123. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -0
  124. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts +23 -0
  125. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -0
  126. package/lib/typescript/ui/hooks/queries/index.d.ts +4 -0
  127. package/lib/typescript/ui/hooks/queries/index.d.ts.map +1 -0
  128. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts +56 -0
  129. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts.map +1 -0
  130. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +41 -0
  131. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -0
  132. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts +34 -0
  133. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -0
  134. package/lib/typescript/ui/hooks/queryClient.d.ts +19 -0
  135. package/lib/typescript/ui/hooks/queryClient.d.ts.map +1 -0
  136. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts +29 -0
  137. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts.map +1 -0
  138. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  139. package/lib/typescript/ui/hooks/useQueryClient.d.ts +7 -0
  140. package/lib/typescript/ui/hooks/useQueryClient.d.ts.map +1 -0
  141. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +3 -1
  142. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  143. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  144. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  145. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  146. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  147. package/lib/typescript/ui/stores/authStore.d.ts +0 -4
  148. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  149. package/package.json +5 -4
  150. package/src/core/mixins/OxyServices.user.ts +17 -10
  151. package/src/crypto/keyManager.ts +177 -2
  152. package/src/crypto/signatureService.ts +30 -0
  153. package/src/ui/components/GroupedSection.tsx +1 -1
  154. package/src/ui/components/OxyProvider.tsx +91 -37
  155. package/src/ui/components/profile/EditDisplayNameModal.tsx +1 -3
  156. package/src/ui/context/OxyContext.tsx +185 -2
  157. package/src/ui/context/hooks/useAuthOperations.ts +171 -58
  158. package/src/ui/context/hooks/useSessionManagement.ts +24 -1
  159. package/src/ui/hooks/mutations/index.ts +4 -0
  160. package/src/ui/hooks/mutations/useAccountMutations.ts +277 -0
  161. package/src/ui/hooks/mutations/useServicesMutations.ts +164 -0
  162. package/src/ui/hooks/queries/index.ts +5 -0
  163. package/src/ui/hooks/queries/queryKeys.ts +73 -0
  164. package/src/ui/hooks/queries/useAccountQueries.ts +126 -0
  165. package/src/ui/hooks/queries/useServicesQueries.ts +121 -0
  166. package/src/ui/hooks/queryClient.ts +112 -0
  167. package/src/ui/hooks/useIdentityMutations.ts +115 -0
  168. package/src/ui/hooks/useProfileEditing.ts +46 -60
  169. package/src/ui/hooks/useQueryClient.ts +17 -0
  170. package/src/ui/hooks/useSessionManagement.ts +24 -1
  171. package/src/ui/screens/AccountOverviewScreen.tsx +38 -46
  172. package/src/ui/screens/AccountSettingsScreen.tsx +54 -54
  173. package/src/ui/screens/WelcomeNewUserScreen.tsx +13 -12
  174. package/src/ui/stores/accountStore.ts +54 -43
  175. package/src/ui/stores/authStore.ts +3 -17
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useUpdateDeviceName = exports.useSwitchSession = exports.useRemoveDevice = exports.useLogoutSession = exports.useLogoutAll = void 0;
7
+ var _reactQuery = require("@tanstack/react-query");
8
+ var _queryKeys = require("../queries/queryKeys");
9
+ var _OxyContext = require("../../context/OxyContext");
10
+ var _sonner = require("../../../lib/sonner");
11
+ /**
12
+ * Switch active session
13
+ */
14
+ const useSwitchSession = () => {
15
+ const {
16
+ switchSession,
17
+ activeSessionId
18
+ } = (0, _OxyContext.useOxy)();
19
+ const queryClient = (0, _reactQuery.useQueryClient)();
20
+ return (0, _reactQuery.useMutation)({
21
+ mutationFn: async sessionId => {
22
+ return await switchSession(sessionId);
23
+ },
24
+ onSuccess: user => {
25
+ // Invalidate all session queries
26
+ (0, _queryKeys.invalidateSessionQueries)(queryClient);
27
+
28
+ // Update current user query
29
+ queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), user);
30
+
31
+ // Invalidate account queries
32
+ queryClient.invalidateQueries({
33
+ queryKey: _queryKeys.queryKeys.accounts.all
34
+ });
35
+ },
36
+ onError: error => {
37
+ _sonner.toast.error(error instanceof Error ? error.message : 'Failed to switch session');
38
+ }
39
+ });
40
+ };
41
+
42
+ /**
43
+ * Logout from a session
44
+ */
45
+ exports.useSwitchSession = useSwitchSession;
46
+ const useLogoutSession = () => {
47
+ const {
48
+ oxyServices,
49
+ activeSessionId,
50
+ sessions
51
+ } = (0, _OxyContext.useOxy)();
52
+ const queryClient = (0, _reactQuery.useQueryClient)();
53
+ return (0, _reactQuery.useMutation)({
54
+ mutationFn: async targetSessionId => {
55
+ if (!activeSessionId) {
56
+ throw new Error('No active session');
57
+ }
58
+ const sessionToLogout = targetSessionId || activeSessionId;
59
+ await oxyServices.logoutSession(activeSessionId, sessionToLogout);
60
+ return sessionToLogout;
61
+ },
62
+ onMutate: async targetSessionId => {
63
+ // Cancel outgoing queries
64
+ await queryClient.cancelQueries({
65
+ queryKey: _queryKeys.queryKeys.sessions.all
66
+ });
67
+
68
+ // Snapshot previous sessions
69
+ const previousSessions = queryClient.getQueryData(_queryKeys.queryKeys.sessions.list());
70
+
71
+ // Optimistically remove session
72
+ if (previousSessions) {
73
+ const sessionToLogout = targetSessionId || activeSessionId;
74
+ const updatedSessions = previousSessions.filter(s => s.sessionId !== sessionToLogout);
75
+ queryClient.setQueryData(_queryKeys.queryKeys.sessions.list(), updatedSessions);
76
+ }
77
+ return {
78
+ previousSessions
79
+ };
80
+ },
81
+ onError: (error, targetSessionId, context) => {
82
+ // Rollback on error
83
+ if (context?.previousSessions) {
84
+ queryClient.setQueryData(_queryKeys.queryKeys.sessions.list(), context.previousSessions);
85
+ }
86
+ _sonner.toast.error(error instanceof Error ? error.message : 'Failed to logout');
87
+ },
88
+ onSuccess: () => {
89
+ // Invalidate all session queries
90
+ (0, _queryKeys.invalidateSessionQueries)(queryClient);
91
+ },
92
+ onSettled: () => {
93
+ queryClient.invalidateQueries({
94
+ queryKey: _queryKeys.queryKeys.sessions.all
95
+ });
96
+ }
97
+ });
98
+ };
99
+
100
+ /**
101
+ * Logout from all sessions
102
+ */
103
+ exports.useLogoutSession = useLogoutSession;
104
+ const useLogoutAll = () => {
105
+ const {
106
+ oxyServices,
107
+ activeSessionId,
108
+ clearSessionState
109
+ } = (0, _OxyContext.useOxy)();
110
+ const queryClient = (0, _reactQuery.useQueryClient)();
111
+ return (0, _reactQuery.useMutation)({
112
+ mutationFn: async () => {
113
+ if (!activeSessionId) {
114
+ throw new Error('No active session');
115
+ }
116
+ await oxyServices.logoutAllSessions(activeSessionId);
117
+ await clearSessionState();
118
+ },
119
+ onSuccess: () => {
120
+ // Clear all queries
121
+ queryClient.clear();
122
+ _sonner.toast.success('Logged out from all sessions');
123
+ },
124
+ onError: error => {
125
+ _sonner.toast.error(error instanceof Error ? error.message : 'Failed to logout from all sessions');
126
+ }
127
+ });
128
+ };
129
+
130
+ /**
131
+ * Update device name
132
+ */
133
+ exports.useLogoutAll = useLogoutAll;
134
+ const useUpdateDeviceName = () => {
135
+ const {
136
+ oxyServices,
137
+ activeSessionId
138
+ } = (0, _OxyContext.useOxy)();
139
+ const queryClient = (0, _reactQuery.useQueryClient)();
140
+ return (0, _reactQuery.useMutation)({
141
+ mutationFn: async deviceName => {
142
+ if (!activeSessionId) {
143
+ throw new Error('No active session');
144
+ }
145
+ return await oxyServices.updateDeviceName(activeSessionId, deviceName);
146
+ },
147
+ onSuccess: () => {
148
+ // Invalidate device and session queries
149
+ queryClient.invalidateQueries({
150
+ queryKey: _queryKeys.queryKeys.devices.all
151
+ });
152
+ queryClient.invalidateQueries({
153
+ queryKey: _queryKeys.queryKeys.sessions.all
154
+ });
155
+ _sonner.toast.success('Device name updated');
156
+ },
157
+ onError: error => {
158
+ _sonner.toast.error(error instanceof Error ? error.message : 'Failed to update device name');
159
+ }
160
+ });
161
+ };
162
+
163
+ /**
164
+ * Remove a device
165
+ */
166
+ exports.useUpdateDeviceName = useUpdateDeviceName;
167
+ const useRemoveDevice = () => {
168
+ const {
169
+ oxyServices
170
+ } = (0, _OxyContext.useOxy)();
171
+ const queryClient = (0, _reactQuery.useQueryClient)();
172
+ return (0, _reactQuery.useMutation)({
173
+ mutationFn: async deviceId => {
174
+ await oxyServices.removeDevice(deviceId);
175
+ return deviceId;
176
+ },
177
+ onSuccess: () => {
178
+ // Invalidate device queries
179
+ queryClient.invalidateQueries({
180
+ queryKey: _queryKeys.queryKeys.devices.all
181
+ });
182
+ queryClient.invalidateQueries({
183
+ queryKey: _queryKeys.queryKeys.sessions.all
184
+ });
185
+ _sonner.toast.success('Device removed');
186
+ },
187
+ onError: error => {
188
+ _sonner.toast.error(error instanceof Error ? error.message : 'Failed to remove device');
189
+ }
190
+ });
191
+ };
192
+ exports.useRemoveDevice = useRemoveDevice;
193
+ //# sourceMappingURL=useServicesMutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactQuery","require","_queryKeys","_OxyContext","_sonner","useSwitchSession","switchSession","activeSessionId","useOxy","queryClient","useQueryClient","useMutation","mutationFn","sessionId","onSuccess","user","invalidateSessionQueries","setQueryData","queryKeys","accounts","current","invalidateQueries","queryKey","all","onError","error","toast","Error","message","exports","useLogoutSession","oxyServices","sessions","targetSessionId","sessionToLogout","logoutSession","onMutate","cancelQueries","previousSessions","getQueryData","list","updatedSessions","filter","s","context","onSettled","useLogoutAll","clearSessionState","logoutAllSessions","clear","success","useUpdateDeviceName","deviceName","updateDeviceName","devices","useRemoveDevice","deviceId","removeDevice"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/useServicesMutations.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _useAccountQueries = require("./useAccountQueries");
7
+ Object.keys(_useAccountQueries).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useAccountQueries[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _useAccountQueries[key];
14
+ }
15
+ });
16
+ });
17
+ var _useServicesQueries = require("./useServicesQueries");
18
+ Object.keys(_useServicesQueries).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _useServicesQueries[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _useServicesQueries[key];
25
+ }
26
+ });
27
+ });
28
+ var _queryKeys = require("./queryKeys");
29
+ Object.keys(_queryKeys).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _queryKeys[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _queryKeys[key];
36
+ }
37
+ });
38
+ });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_useAccountQueries","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useServicesQueries","_queryKeys"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/index.ts"],"mappings":";;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,mBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,mBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,mBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,mBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.queryKeys = exports.invalidateUserQueries = exports.invalidateSessionQueries = exports.invalidateAccountQueries = void 0;
7
+ /**
8
+ * Centralized query keys for TanStack Query
9
+ *
10
+ * Following best practices:
11
+ * - Use arrays for hierarchical keys
12
+ * - Include all parameters in the key
13
+ * - Use consistent naming conventions
14
+ */
15
+
16
+ const queryKeys = exports.queryKeys = {
17
+ // Account queries
18
+ accounts: {
19
+ all: ['accounts'],
20
+ lists: () => [...queryKeys.accounts.all, 'list'],
21
+ list: sessionIds => [...queryKeys.accounts.lists(), sessionIds],
22
+ details: () => [...queryKeys.accounts.all, 'detail'],
23
+ detail: sessionId => [...queryKeys.accounts.details(), sessionId],
24
+ current: () => [...queryKeys.accounts.all, 'current'],
25
+ settings: () => [...queryKeys.accounts.all, 'settings']
26
+ },
27
+ // User queries
28
+ users: {
29
+ all: ['users'],
30
+ lists: () => [...queryKeys.users.all, 'list'],
31
+ list: userIds => [...queryKeys.users.lists(), userIds],
32
+ details: () => [...queryKeys.users.all, 'detail'],
33
+ detail: userId => [...queryKeys.users.details(), userId],
34
+ profile: sessionId => [...queryKeys.users.details(), sessionId, 'profile']
35
+ },
36
+ // Session queries
37
+ sessions: {
38
+ all: ['sessions'],
39
+ lists: () => [...queryKeys.sessions.all, 'list'],
40
+ list: userId => [...queryKeys.sessions.lists(), userId],
41
+ details: () => [...queryKeys.sessions.all, 'detail'],
42
+ detail: sessionId => [...queryKeys.sessions.details(), sessionId],
43
+ active: () => [...queryKeys.sessions.all, 'active'],
44
+ device: deviceId => [...queryKeys.sessions.all, 'device', deviceId]
45
+ },
46
+ // Device queries
47
+ devices: {
48
+ all: ['devices'],
49
+ lists: () => [...queryKeys.devices.all, 'list'],
50
+ list: userId => [...queryKeys.devices.lists(), userId],
51
+ details: () => [...queryKeys.devices.all, 'detail'],
52
+ detail: deviceId => [...queryKeys.devices.details(), deviceId]
53
+ }
54
+ };
55
+
56
+ /**
57
+ * Helper to invalidate all account-related queries
58
+ */
59
+ const invalidateAccountQueries = queryClient => {
60
+ queryClient.invalidateQueries({
61
+ queryKey: queryKeys.accounts.all
62
+ });
63
+ };
64
+
65
+ /**
66
+ * Helper to invalidate all user-related queries
67
+ */
68
+ exports.invalidateAccountQueries = invalidateAccountQueries;
69
+ const invalidateUserQueries = queryClient => {
70
+ queryClient.invalidateQueries({
71
+ queryKey: queryKeys.users.all
72
+ });
73
+ };
74
+
75
+ /**
76
+ * Helper to invalidate all session-related queries
77
+ */
78
+ exports.invalidateUserQueries = invalidateUserQueries;
79
+ const invalidateSessionQueries = queryClient => {
80
+ queryClient.invalidateQueries({
81
+ queryKey: queryKeys.sessions.all
82
+ });
83
+ };
84
+ exports.invalidateSessionQueries = invalidateSessionQueries;
85
+ //# sourceMappingURL=queryKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryKeys","exports","accounts","all","lists","list","sessionIds","details","detail","sessionId","current","settings","users","userIds","userId","profile","sessions","active","device","deviceId","devices","invalidateAccountQueries","queryClient","invalidateQueries","queryKey","invalidateUserQueries","invalidateSessionQueries"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/queryKeys.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvB;EACAE,QAAQ,EAAE;IACRC,GAAG,EAAE,CAAC,UAAU,CAAU;IAC1BC,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGJ,SAAS,CAACE,QAAQ,CAACC,GAAG,EAAE,MAAM,CAAU;IACzDE,IAAI,EAAGC,UAAoB,IAAK,CAAC,GAAGN,SAAS,CAACE,QAAQ,CAACE,KAAK,CAAC,CAAC,EAAEE,UAAU,CAAU;IACpFC,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGP,SAAS,CAACE,QAAQ,CAACC,GAAG,EAAE,QAAQ,CAAU;IAC7DK,MAAM,EAAGC,SAAiB,IAAK,CAAC,GAAGT,SAAS,CAACE,QAAQ,CAACK,OAAO,CAAC,CAAC,EAAEE,SAAS,CAAU;IACpFC,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGV,SAAS,CAACE,QAAQ,CAACC,GAAG,EAAE,SAAS,CAAU;IAC9DQ,QAAQ,EAAEA,CAAA,KAAM,CAAC,GAAGX,SAAS,CAACE,QAAQ,CAACC,GAAG,EAAE,UAAU;EACxD,CAAC;EAED;EACAS,KAAK,EAAE;IACLT,GAAG,EAAE,CAAC,OAAO,CAAU;IACvBC,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGJ,SAAS,CAACY,KAAK,CAACT,GAAG,EAAE,MAAM,CAAU;IACtDE,IAAI,EAAGQ,OAAiB,IAAK,CAAC,GAAGb,SAAS,CAACY,KAAK,CAACR,KAAK,CAAC,CAAC,EAAES,OAAO,CAAU;IAC3EN,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGP,SAAS,CAACY,KAAK,CAACT,GAAG,EAAE,QAAQ,CAAU;IAC1DK,MAAM,EAAGM,MAAc,IAAK,CAAC,GAAGd,SAAS,CAACY,KAAK,CAACL,OAAO,CAAC,CAAC,EAAEO,MAAM,CAAU;IAC3EC,OAAO,EAAGN,SAAiB,IAAK,CAAC,GAAGT,SAAS,CAACY,KAAK,CAACL,OAAO,CAAC,CAAC,EAAEE,SAAS,EAAE,SAAS;EACrF,CAAC;EAED;EACAO,QAAQ,EAAE;IACRb,GAAG,EAAE,CAAC,UAAU,CAAU;IAC1BC,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGJ,SAAS,CAACgB,QAAQ,CAACb,GAAG,EAAE,MAAM,CAAU;IACzDE,IAAI,EAAGS,MAAe,IAAK,CAAC,GAAGd,SAAS,CAACgB,QAAQ,CAACZ,KAAK,CAAC,CAAC,EAAEU,MAAM,CAAU;IAC3EP,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGP,SAAS,CAACgB,QAAQ,CAACb,GAAG,EAAE,QAAQ,CAAU;IAC7DK,MAAM,EAAGC,SAAiB,IAAK,CAAC,GAAGT,SAAS,CAACgB,QAAQ,CAACT,OAAO,CAAC,CAAC,EAAEE,SAAS,CAAU;IACpFQ,MAAM,EAAEA,CAAA,KAAM,CAAC,GAAGjB,SAAS,CAACgB,QAAQ,CAACb,GAAG,EAAE,QAAQ,CAAU;IAC5De,MAAM,EAAGC,QAAgB,IAAK,CAAC,GAAGnB,SAAS,CAACgB,QAAQ,CAACb,GAAG,EAAE,QAAQ,EAAEgB,QAAQ;EAC9E,CAAC;EAED;EACAC,OAAO,EAAE;IACPjB,GAAG,EAAE,CAAC,SAAS,CAAU;IACzBC,KAAK,EAAEA,CAAA,KAAM,CAAC,GAAGJ,SAAS,CAACoB,OAAO,CAACjB,GAAG,EAAE,MAAM,CAAU;IACxDE,IAAI,EAAGS,MAAe,IAAK,CAAC,GAAGd,SAAS,CAACoB,OAAO,CAAChB,KAAK,CAAC,CAAC,EAAEU,MAAM,CAAU;IAC1EP,OAAO,EAAEA,CAAA,KAAM,CAAC,GAAGP,SAAS,CAACoB,OAAO,CAACjB,GAAG,EAAE,QAAQ,CAAU;IAC5DK,MAAM,EAAGW,QAAgB,IAAK,CAAC,GAAGnB,SAAS,CAACoB,OAAO,CAACb,OAAO,CAAC,CAAC,EAAEY,QAAQ;EACzE;AACF,CAAU;;AAEV;AACA;AACA;AACO,MAAME,wBAAwB,GAAIC,WAAgB,IAAK;EAC5DA,WAAW,CAACC,iBAAiB,CAAC;IAAEC,QAAQ,EAAExB,SAAS,CAACE,QAAQ,CAACC;EAAI,CAAC,CAAC;AACrE,CAAC;;AAED;AACA;AACA;AAFAF,OAAA,CAAAoB,wBAAA,GAAAA,wBAAA;AAGO,MAAMI,qBAAqB,GAAIH,WAAgB,IAAK;EACzDA,WAAW,CAACC,iBAAiB,CAAC;IAAEC,QAAQ,EAAExB,SAAS,CAACY,KAAK,CAACT;EAAI,CAAC,CAAC;AAClE,CAAC;;AAED;AACA;AACA;AAFAF,OAAA,CAAAwB,qBAAA,GAAAA,qBAAA;AAGO,MAAMC,wBAAwB,GAAIJ,WAAgB,IAAK;EAC5DA,WAAW,CAACC,iBAAiB,CAAC;IAAEC,QAAQ,EAAExB,SAAS,CAACgB,QAAQ,CAACb;EAAI,CAAC,CAAC;AACrE,CAAC;AAACF,OAAA,CAAAyB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useUsersBySessions = exports.useUserProfiles = exports.useUserProfile = exports.useUserByUsername = exports.useUserById = exports.useCurrentUser = void 0;
7
+ var _reactQuery = require("@tanstack/react-query");
8
+ var _queryKeys = require("./queryKeys");
9
+ var _OxyContext = require("../../context/OxyContext");
10
+ /**
11
+ * Get user profile by session ID
12
+ */
13
+ const useUserProfile = (sessionId, options) => {
14
+ const {
15
+ oxyServices
16
+ } = (0, _OxyContext.useOxy)();
17
+ return (0, _reactQuery.useQuery)({
18
+ queryKey: _queryKeys.queryKeys.users.profile(sessionId || ''),
19
+ queryFn: async () => {
20
+ if (!sessionId) {
21
+ throw new Error('Session ID is required');
22
+ }
23
+ return await oxyServices.getUserBySession(sessionId);
24
+ },
25
+ enabled: options?.enabled !== false && !!sessionId,
26
+ staleTime: 5 * 60 * 1000,
27
+ // 5 minutes
28
+ gcTime: 30 * 60 * 1000 // 30 minutes
29
+ });
30
+ };
31
+
32
+ /**
33
+ * Get multiple user profiles by session IDs (batch query)
34
+ */
35
+ exports.useUserProfile = useUserProfile;
36
+ const useUserProfiles = (sessionIds, options) => {
37
+ const {
38
+ oxyServices
39
+ } = (0, _OxyContext.useOxy)();
40
+ return (0, _reactQuery.useQueries)({
41
+ queries: sessionIds.map(sessionId => ({
42
+ queryKey: _queryKeys.queryKeys.users.profile(sessionId),
43
+ queryFn: async () => {
44
+ const results = await oxyServices.getUsersBySessions([sessionId]);
45
+ return results[0]?.user || null;
46
+ },
47
+ enabled: options?.enabled !== false && !!sessionId,
48
+ staleTime: 5 * 60 * 1000,
49
+ gcTime: 30 * 60 * 1000
50
+ }))
51
+ });
52
+ };
53
+
54
+ /**
55
+ * Get current authenticated user
56
+ */
57
+ exports.useUserProfiles = useUserProfiles;
58
+ const useCurrentUser = options => {
59
+ const {
60
+ oxyServices,
61
+ activeSessionId,
62
+ isAuthenticated
63
+ } = (0, _OxyContext.useOxy)();
64
+ return (0, _reactQuery.useQuery)({
65
+ queryKey: _queryKeys.queryKeys.accounts.current(),
66
+ queryFn: async () => {
67
+ if (!activeSessionId) {
68
+ throw new Error('No active session');
69
+ }
70
+ return await oxyServices.getUserBySession(activeSessionId);
71
+ },
72
+ enabled: options?.enabled !== false && isAuthenticated && !!activeSessionId,
73
+ staleTime: 1 * 60 * 1000,
74
+ // 1 minute for current user
75
+ gcTime: 30 * 60 * 1000
76
+ });
77
+ };
78
+
79
+ /**
80
+ * Get user by ID
81
+ */
82
+ exports.useCurrentUser = useCurrentUser;
83
+ const useUserById = (userId, options) => {
84
+ const {
85
+ oxyServices
86
+ } = (0, _OxyContext.useOxy)();
87
+ return (0, _reactQuery.useQuery)({
88
+ queryKey: _queryKeys.queryKeys.users.detail(userId || ''),
89
+ queryFn: async () => {
90
+ if (!userId) {
91
+ throw new Error('User ID is required');
92
+ }
93
+ return await oxyServices.getUserById(userId);
94
+ },
95
+ enabled: options?.enabled !== false && !!userId,
96
+ staleTime: 5 * 60 * 1000,
97
+ gcTime: 30 * 60 * 1000
98
+ });
99
+ };
100
+
101
+ /**
102
+ * Get user profile by username
103
+ */
104
+ exports.useUserById = useUserById;
105
+ const useUserByUsername = (username, options) => {
106
+ const {
107
+ oxyServices
108
+ } = (0, _OxyContext.useOxy)();
109
+ return (0, _reactQuery.useQuery)({
110
+ queryKey: [..._queryKeys.queryKeys.users.details(), 'username', username || ''],
111
+ queryFn: async () => {
112
+ if (!username) {
113
+ throw new Error('Username is required');
114
+ }
115
+ return await oxyServices.getProfileByUsername(username);
116
+ },
117
+ enabled: options?.enabled !== false && !!username,
118
+ staleTime: 5 * 60 * 1000,
119
+ gcTime: 30 * 60 * 1000
120
+ });
121
+ };
122
+
123
+ /**
124
+ * Batch get users by session IDs (optimized single API call)
125
+ */
126
+ exports.useUserByUsername = useUserByUsername;
127
+ const useUsersBySessions = (sessionIds, options) => {
128
+ const {
129
+ oxyServices
130
+ } = (0, _OxyContext.useOxy)();
131
+ return (0, _reactQuery.useQuery)({
132
+ queryKey: _queryKeys.queryKeys.accounts.list(sessionIds),
133
+ queryFn: async () => {
134
+ if (sessionIds.length === 0) {
135
+ return [];
136
+ }
137
+ return await oxyServices.getUsersBySessions(sessionIds);
138
+ },
139
+ enabled: options?.enabled !== false && sessionIds.length > 0,
140
+ staleTime: 5 * 60 * 1000,
141
+ gcTime: 30 * 60 * 1000
142
+ });
143
+ };
144
+ exports.useUsersBySessions = useUsersBySessions;
145
+ //# sourceMappingURL=useAccountQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactQuery","require","_queryKeys","_OxyContext","useUserProfile","sessionId","options","oxyServices","useOxy","useQuery","queryKey","queryKeys","users","profile","queryFn","Error","getUserBySession","enabled","staleTime","gcTime","exports","useUserProfiles","sessionIds","useQueries","queries","map","results","getUsersBySessions","user","useCurrentUser","activeSessionId","isAuthenticated","accounts","current","useUserById","userId","detail","getUserById","useUserByUsername","username","details","getProfileByUsername","useUsersBySessions","list","length"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useAccountQueries.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,cAAc,GAAGA,CAACC,SAAwB,EAAEC,OAA+B,KAAK;EAC3F,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAEhC,OAAO,IAAAC,oBAAQ,EAAC;IACdC,QAAQ,EAAEC,oBAAS,CAACC,KAAK,CAACC,OAAO,CAACR,SAAS,IAAI,EAAE,CAAC;IAClDS,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,IAAI,CAACT,SAAS,EAAE;QACd,MAAM,IAAIU,KAAK,CAAC,wBAAwB,CAAC;MAC3C;MACA,OAAO,MAAMR,WAAW,CAACS,gBAAgB,CAACX,SAAS,CAAC;IACtD,CAAC;IACDY,OAAO,EAAGX,OAAO,EAAEW,OAAO,KAAK,KAAK,IAAK,CAAC,CAACZ,SAAS;IACpDa,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAAE;IAC1BC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAE;EAC1B,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAhB,cAAA,GAAAA,cAAA;AAGO,MAAMiB,eAAe,GAAGA,CAACC,UAAoB,EAAEhB,OAA+B,KAAK;EACxF,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAEhC,OAAO,IAAAe,sBAAU,EAAC;IAChBC,OAAO,EAAEF,UAAU,CAACG,GAAG,CAAEpB,SAAS,KAAM;MACtCK,QAAQ,EAAEC,oBAAS,CAACC,KAAK,CAACC,OAAO,CAACR,SAAS,CAAC;MAC5CS,OAAO,EAAE,MAAAA,CAAA,KAAY;QACnB,MAAMY,OAAO,GAAG,MAAMnB,WAAW,CAACoB,kBAAkB,CAAC,CAACtB,SAAS,CAAC,CAAC;QACjE,OAAOqB,OAAO,CAAC,CAAC,CAAC,EAAEE,IAAI,IAAI,IAAI;MACjC,CAAC;MACDX,OAAO,EAAGX,OAAO,EAAEW,OAAO,KAAK,KAAK,IAAK,CAAC,CAACZ,SAAS;MACpDa,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;MACxBC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAGO,MAAMQ,cAAc,GAAIvB,OAA+B,IAAK;EACjE,MAAM;IAAEC,WAAW;IAAEuB,eAAe;IAAEC;EAAgB,CAAC,GAAG,IAAAvB,kBAAM,EAAC,CAAC;EAElE,OAAO,IAAAC,oBAAQ,EAAC;IACdC,QAAQ,EAAEC,oBAAS,CAACqB,QAAQ,CAACC,OAAO,CAAC,CAAC;IACtCnB,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,IAAI,CAACgB,eAAe,EAAE;QACpB,MAAM,IAAIf,KAAK,CAAC,mBAAmB,CAAC;MACtC;MACA,OAAO,MAAMR,WAAW,CAACS,gBAAgB,CAACc,eAAe,CAAC;IAC5D,CAAC;IACDb,OAAO,EAAGX,OAAO,EAAEW,OAAO,KAAK,KAAK,IAAKc,eAAe,IAAI,CAAC,CAACD,eAAe;IAC7EZ,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAAE;IAC1BC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG;EACpB,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAS,cAAA,GAAAA,cAAA;AAGO,MAAMK,WAAW,GAAGA,CAACC,MAAqB,EAAE7B,OAA+B,KAAK;EACrF,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAEhC,OAAO,IAAAC,oBAAQ,EAAC;IACdC,QAAQ,EAAEC,oBAAS,CAACC,KAAK,CAACwB,MAAM,CAACD,MAAM,IAAI,EAAE,CAAC;IAC9CrB,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,IAAI,CAACqB,MAAM,EAAE;QACX,MAAM,IAAIpB,KAAK,CAAC,qBAAqB,CAAC;MACxC;MACA,OAAO,MAAMR,WAAW,CAAC8B,WAAW,CAACF,MAAM,CAAC;IAC9C,CAAC;IACDlB,OAAO,EAAGX,OAAO,EAAEW,OAAO,KAAK,KAAK,IAAK,CAAC,CAACkB,MAAM;IACjDjB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IACxBC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG;EACpB,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAc,WAAA,GAAAA,WAAA;AAGO,MAAMI,iBAAiB,GAAGA,CAACC,QAAuB,EAAEjC,OAA+B,KAAK;EAC7F,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAEhC,OAAO,IAAAC,oBAAQ,EAAC;IACdC,QAAQ,EAAE,CAAC,GAAGC,oBAAS,CAACC,KAAK,CAAC4B,OAAO,CAAC,CAAC,EAAE,UAAU,EAAED,QAAQ,IAAI,EAAE,CAAC;IACpEzB,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,IAAI,CAACyB,QAAQ,EAAE;QACb,MAAM,IAAIxB,KAAK,CAAC,sBAAsB,CAAC;MACzC;MACA,OAAO,MAAMR,WAAW,CAACkC,oBAAoB,CAACF,QAAQ,CAAC;IACzD,CAAC;IACDtB,OAAO,EAAGX,OAAO,EAAEW,OAAO,KAAK,KAAK,IAAK,CAAC,CAACsB,QAAQ;IACnDrB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IACxBC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG;EACpB,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAkB,iBAAA,GAAAA,iBAAA;AAGO,MAAMI,kBAAkB,GAAGA,CAACpB,UAAoB,EAAEhB,OAA+B,KAAK;EAC3F,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAEhC,OAAO,IAAAC,oBAAQ,EAAC;IACdC,QAAQ,EAAEC,oBAAS,CAACqB,QAAQ,CAACW,IAAI,CAACrB,UAAU,CAAC;IAC7CR,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,IAAIQ,UAAU,CAACsB,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,EAAE;MACX;MACA,OAAO,MAAMrC,WAAW,CAACoB,kBAAkB,CAACL,UAAU,CAAC;IACzD,CAAC;IACDL,OAAO,EAAGX,OAAO,EAAEW,OAAO,KAAK,KAAK,IAAKK,UAAU,CAACsB,MAAM,GAAG,CAAC;IAC9D1B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IACxBC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG;EACpB,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAsB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useUserDevices = exports.useSessions = exports.useSession = exports.useSecurityInfo = exports.useDeviceSessions = void 0;
7
+ var _reactQuery = require("@tanstack/react-query");
8
+ var _queryKeys = require("./queryKeys");
9
+ var _OxyContext = require("../../context/OxyContext");
10
+ var _sessionHelpers = require("../../context/utils/sessionHelpers");
11
+ /**
12
+ * Get all active sessions for the current user
13
+ */
14
+ const useSessions = (userId, options) => {
15
+ const {
16
+ oxyServices,
17
+ activeSessionId
18
+ } = (0, _OxyContext.useOxy)();
19
+ return (0, _reactQuery.useQuery)({
20
+ queryKey: _queryKeys.queryKeys.sessions.list(userId),
21
+ queryFn: async () => {
22
+ if (!activeSessionId) {
23
+ throw new Error('No active session');
24
+ }
25
+ const sessions = await (0, _sessionHelpers.fetchSessionsWithFallback)(oxyServices, activeSessionId, {
26
+ fallbackDeviceId: undefined,
27
+ fallbackUserId: userId
28
+ });
29
+ return (0, _sessionHelpers.mapSessionsToClient)(sessions, activeSessionId);
30
+ },
31
+ enabled: options?.enabled !== false && !!activeSessionId,
32
+ staleTime: 2 * 60 * 1000,
33
+ // 2 minutes (sessions change frequently)
34
+ gcTime: 10 * 60 * 1000 // 10 minutes
35
+ });
36
+ };
37
+
38
+ /**
39
+ * Get specific session by ID
40
+ */
41
+ exports.useSessions = useSessions;
42
+ const useSession = (sessionId, options) => {
43
+ const {
44
+ oxyServices
45
+ } = (0, _OxyContext.useOxy)();
46
+ return (0, _reactQuery.useQuery)({
47
+ queryKey: _queryKeys.queryKeys.sessions.detail(sessionId || ''),
48
+ queryFn: async () => {
49
+ if (!sessionId) {
50
+ throw new Error('Session ID is required');
51
+ }
52
+ const validation = await oxyServices.validateSession(sessionId, {
53
+ useHeaderValidation: true
54
+ });
55
+ if (!validation?.valid || !validation.user) {
56
+ throw new Error('Session not found or invalid');
57
+ }
58
+ const now = new Date();
59
+ return {
60
+ sessionId,
61
+ deviceId: '',
62
+ // Device ID not available from validation response
63
+ expiresAt: validation.expiresAt || new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000).toISOString(),
64
+ lastActive: validation.lastActivity || now.toISOString(),
65
+ userId: validation.user.id?.toString() ?? '',
66
+ isCurrent: false
67
+ };
68
+ },
69
+ enabled: options?.enabled !== false && !!sessionId,
70
+ staleTime: 2 * 60 * 1000,
71
+ gcTime: 10 * 60 * 1000
72
+ });
73
+ };
74
+
75
+ /**
76
+ * Get device sessions for the current active session
77
+ */
78
+ exports.useSession = useSession;
79
+ const useDeviceSessions = options => {
80
+ const {
81
+ oxyServices,
82
+ activeSessionId
83
+ } = (0, _OxyContext.useOxy)();
84
+ return (0, _reactQuery.useQuery)({
85
+ queryKey: _queryKeys.queryKeys.sessions.active(),
86
+ queryFn: async () => {
87
+ if (!activeSessionId) {
88
+ throw new Error('No active session');
89
+ }
90
+ return await oxyServices.getDeviceSessions(activeSessionId);
91
+ },
92
+ enabled: options?.enabled !== false && !!activeSessionId,
93
+ staleTime: 2 * 60 * 1000,
94
+ gcTime: 10 * 60 * 1000
95
+ });
96
+ };
97
+
98
+ /**
99
+ * Get user devices
100
+ */
101
+ exports.useDeviceSessions = useDeviceSessions;
102
+ const useUserDevices = options => {
103
+ const {
104
+ oxyServices,
105
+ isAuthenticated
106
+ } = (0, _OxyContext.useOxy)();
107
+ return (0, _reactQuery.useQuery)({
108
+ queryKey: _queryKeys.queryKeys.devices.list(),
109
+ queryFn: async () => {
110
+ return await oxyServices.getUserDevices();
111
+ },
112
+ enabled: options?.enabled !== false && isAuthenticated,
113
+ staleTime: 5 * 60 * 1000,
114
+ gcTime: 30 * 60 * 1000
115
+ });
116
+ };
117
+
118
+ /**
119
+ * Get security information
120
+ */
121
+ exports.useUserDevices = useUserDevices;
122
+ const useSecurityInfo = options => {
123
+ const {
124
+ oxyServices,
125
+ isAuthenticated
126
+ } = (0, _OxyContext.useOxy)();
127
+ return (0, _reactQuery.useQuery)({
128
+ queryKey: [..._queryKeys.queryKeys.devices.all, 'security'],
129
+ queryFn: async () => {
130
+ return await oxyServices.getSecurityInfo();
131
+ },
132
+ enabled: options?.enabled !== false && isAuthenticated,
133
+ staleTime: 5 * 60 * 1000,
134
+ gcTime: 30 * 60 * 1000
135
+ });
136
+ };
137
+ exports.useSecurityInfo = useSecurityInfo;
138
+ //# sourceMappingURL=useServicesQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactQuery","require","_queryKeys","_OxyContext","_sessionHelpers","useSessions","userId","options","oxyServices","activeSessionId","useOxy","useQuery","queryKey","queryKeys","sessions","list","queryFn","Error","fetchSessionsWithFallback","fallbackDeviceId","undefined","fallbackUserId","mapSessionsToClient","enabled","staleTime","gcTime","exports","useSession","sessionId","detail","validation","validateSession","useHeaderValidation","valid","user","now","Date","deviceId","expiresAt","getTime","toISOString","lastActive","lastActivity","id","toString","isCurrent","useDeviceSessions","active","getDeviceSessions","useUserDevices","isAuthenticated","devices","getUserDevices","useSecurityInfo","all","getSecurityInfo"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useServicesQueries.ts"],"mappings":"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","ignoreList":[]}