@oxyhq/services 5.9.2 → 5.9.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 (202) hide show
  1. package/README.md +1 -33
  2. package/lib/commonjs/core/OxyServices.js +159 -0
  3. package/lib/commonjs/core/OxyServices.js.map +1 -0
  4. package/lib/commonjs/core/OxyServicesMain.js +51 -0
  5. package/lib/commonjs/core/OxyServicesMain.js.map +1 -0
  6. package/lib/commonjs/core/analytics/AnalyticsService.js +67 -0
  7. package/lib/commonjs/core/analytics/AnalyticsService.js.map +1 -0
  8. package/lib/commonjs/core/auth/AuthService.js +526 -0
  9. package/lib/commonjs/core/auth/AuthService.js.map +1 -0
  10. package/lib/commonjs/core/devices/DeviceService.js +61 -0
  11. package/lib/commonjs/core/devices/DeviceService.js.map +1 -0
  12. package/lib/commonjs/core/files/FileService.js +176 -0
  13. package/lib/commonjs/core/files/FileService.js.map +1 -0
  14. package/lib/commonjs/core/index.js +103 -1701
  15. package/lib/commonjs/core/index.js.map +1 -1
  16. package/lib/commonjs/core/karma/KarmaService.js +100 -0
  17. package/lib/commonjs/core/karma/KarmaService.js.map +1 -0
  18. package/lib/commonjs/core/locations/LocationService.js +131 -0
  19. package/lib/commonjs/core/locations/LocationService.js.map +1 -0
  20. package/lib/commonjs/core/payments/PaymentService.js +124 -0
  21. package/lib/commonjs/core/payments/PaymentService.js.map +1 -0
  22. package/lib/commonjs/core/users/UserService.js +234 -0
  23. package/lib/commonjs/core/users/UserService.js.map +1 -0
  24. package/lib/commonjs/index.js +164 -3
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/models/session.js +2 -0
  27. package/lib/commonjs/{types/middleware.js.map → models/session.js.map} +1 -1
  28. package/lib/commonjs/ui/context/OxyContext.js +28 -24
  29. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  30. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +2 -2
  31. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/FileManagementScreen.js +12 -12
  33. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/ProfileScreen.js +2 -2
  35. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  37. package/lib/commonjs/ui/screens/SignInScreen.js +1 -1
  38. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  39. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
  40. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
  42. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +1 -1
  44. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  45. package/lib/commonjs/ui/stores/followStore.js +4 -4
  46. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  47. package/lib/commonjs/utils/apiUtils.js +93 -0
  48. package/lib/commonjs/utils/apiUtils.js.map +1 -0
  49. package/lib/commonjs/utils/asyncUtils.js +219 -0
  50. package/lib/commonjs/utils/asyncUtils.js.map +1 -0
  51. package/lib/commonjs/utils/errorUtils.js +148 -0
  52. package/lib/commonjs/utils/errorUtils.js.map +1 -0
  53. package/lib/commonjs/utils/hookUtils.js +399 -0
  54. package/lib/commonjs/utils/hookUtils.js.map +1 -0
  55. package/lib/commonjs/utils/loggerUtils.js +160 -0
  56. package/lib/commonjs/utils/loggerUtils.js.map +1 -0
  57. package/lib/commonjs/utils/validationUtils.js +174 -0
  58. package/lib/commonjs/utils/validationUtils.js.map +1 -0
  59. package/lib/module/core/OxyServices.js +153 -0
  60. package/lib/module/core/OxyServices.js.map +1 -0
  61. package/lib/module/core/OxyServicesMain.js +47 -0
  62. package/lib/module/core/OxyServicesMain.js.map +1 -0
  63. package/lib/module/core/analytics/AnalyticsService.js +62 -0
  64. package/lib/module/core/analytics/AnalyticsService.js.map +1 -0
  65. package/lib/module/core/auth/AuthService.js +521 -0
  66. package/lib/module/core/auth/AuthService.js.map +1 -0
  67. package/lib/module/core/devices/DeviceService.js +57 -0
  68. package/lib/module/core/devices/DeviceService.js.map +1 -0
  69. package/lib/module/core/files/FileService.js +171 -0
  70. package/lib/module/core/files/FileService.js.map +1 -0
  71. package/lib/module/core/index.js +25 -1690
  72. package/lib/module/core/index.js.map +1 -1
  73. package/lib/module/core/karma/KarmaService.js +95 -0
  74. package/lib/module/core/karma/KarmaService.js.map +1 -0
  75. package/lib/module/core/locations/LocationService.js +127 -0
  76. package/lib/module/core/locations/LocationService.js.map +1 -0
  77. package/lib/module/core/payments/PaymentService.js +119 -0
  78. package/lib/module/core/payments/PaymentService.js.map +1 -0
  79. package/lib/module/core/users/UserService.js +230 -0
  80. package/lib/module/core/users/UserService.js.map +1 -0
  81. package/lib/module/index.js +8 -4
  82. package/lib/module/index.js.map +1 -1
  83. package/lib/module/models/session.js +2 -0
  84. package/lib/module/{types/middleware.js.map → models/session.js.map} +1 -1
  85. package/lib/module/ui/context/OxyContext.js +28 -24
  86. package/lib/module/ui/context/OxyContext.js.map +1 -1
  87. package/lib/module/ui/screens/AccountSwitcherScreen.js +2 -2
  88. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  89. package/lib/module/ui/screens/FileManagementScreen.js +12 -12
  90. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  91. package/lib/module/ui/screens/ProfileScreen.js +2 -2
  92. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  93. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  94. package/lib/module/ui/screens/SignInScreen.js +1 -1
  95. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  96. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
  97. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  98. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
  99. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  100. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +1 -1
  101. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  102. package/lib/module/ui/stores/followStore.js +4 -4
  103. package/lib/module/ui/stores/followStore.js.map +1 -1
  104. package/lib/module/utils/apiUtils.js +85 -0
  105. package/lib/module/utils/apiUtils.js.map +1 -0
  106. package/lib/module/utils/asyncUtils.js +202 -0
  107. package/lib/module/utils/asyncUtils.js.map +1 -0
  108. package/lib/module/utils/errorUtils.js +139 -0
  109. package/lib/module/utils/errorUtils.js.map +1 -0
  110. package/lib/module/utils/hookUtils.js +381 -0
  111. package/lib/module/utils/hookUtils.js.map +1 -0
  112. package/lib/module/utils/loggerUtils.js +149 -0
  113. package/lib/module/utils/loggerUtils.js.map +1 -0
  114. package/lib/module/utils/validationUtils.js +154 -0
  115. package/lib/module/utils/validationUtils.js.map +1 -0
  116. package/lib/typescript/core/OxyServices.d.ts +64 -0
  117. package/lib/typescript/core/OxyServices.d.ts.map +1 -0
  118. package/lib/typescript/core/OxyServicesMain.d.ts +33 -0
  119. package/lib/typescript/core/OxyServicesMain.d.ts.map +1 -0
  120. package/lib/typescript/core/analytics/AnalyticsService.d.ts +26 -0
  121. package/lib/typescript/core/analytics/AnalyticsService.d.ts.map +1 -0
  122. package/lib/typescript/core/auth/AuthService.d.ts +165 -0
  123. package/lib/typescript/core/auth/AuthService.d.ts.map +1 -0
  124. package/lib/typescript/core/devices/DeviceService.d.ts +20 -0
  125. package/lib/typescript/core/devices/DeviceService.d.ts.map +1 -0
  126. package/lib/typescript/core/files/FileService.d.ts +59 -0
  127. package/lib/typescript/core/files/FileService.d.ts.map +1 -0
  128. package/lib/typescript/core/index.d.ts +19 -656
  129. package/lib/typescript/core/index.d.ts.map +1 -1
  130. package/lib/typescript/core/karma/KarmaService.d.ts +50 -0
  131. package/lib/typescript/core/karma/KarmaService.d.ts.map +1 -0
  132. package/lib/typescript/core/locations/LocationService.d.ts +39 -0
  133. package/lib/typescript/core/locations/LocationService.d.ts.map +1 -0
  134. package/lib/typescript/core/payments/PaymentService.d.ts +50 -0
  135. package/lib/typescript/core/payments/PaymentService.d.ts.map +1 -0
  136. package/lib/typescript/core/users/UserService.d.ts +111 -0
  137. package/lib/typescript/core/users/UserService.d.ts.map +1 -0
  138. package/lib/typescript/index.d.ts +7 -3
  139. package/lib/typescript/index.d.ts.map +1 -1
  140. package/lib/typescript/models/{secureSession.d.ts → session.d.ts} +4 -4
  141. package/lib/typescript/models/session.d.ts.map +1 -0
  142. package/lib/typescript/ui/context/OxyContext.d.ts +2 -2
  143. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  144. package/lib/typescript/utils/apiUtils.d.ts +61 -0
  145. package/lib/typescript/utils/apiUtils.d.ts.map +1 -0
  146. package/lib/typescript/utils/asyncUtils.d.ts +64 -0
  147. package/lib/typescript/utils/asyncUtils.d.ts.map +1 -0
  148. package/lib/typescript/utils/errorUtils.d.ts +45 -0
  149. package/lib/typescript/utils/errorUtils.d.ts.map +1 -0
  150. package/lib/typescript/utils/hookUtils.d.ts +102 -0
  151. package/lib/typescript/utils/hookUtils.d.ts.map +1 -0
  152. package/lib/typescript/utils/loggerUtils.d.ts +49 -0
  153. package/lib/typescript/utils/loggerUtils.d.ts.map +1 -0
  154. package/lib/typescript/utils/validationUtils.d.ts +80 -0
  155. package/lib/typescript/utils/validationUtils.d.ts.map +1 -0
  156. package/package.json +2 -8
  157. package/src/core/OxyServices.ts +168 -0
  158. package/src/core/OxyServicesMain.ts +57 -0
  159. package/src/core/analytics/AnalyticsService.ts +64 -0
  160. package/src/core/auth/AuthService.ts +544 -0
  161. package/src/core/devices/DeviceService.ts +55 -0
  162. package/src/core/files/FileService.ts +194 -0
  163. package/src/core/index.ts +27 -1765
  164. package/src/core/karma/KarmaService.ts +104 -0
  165. package/src/core/locations/LocationService.ts +141 -0
  166. package/src/core/payments/PaymentService.ts +133 -0
  167. package/src/core/users/UserService.ts +241 -0
  168. package/src/index.ts +29 -8
  169. package/src/models/{secureSession.ts → session.ts} +5 -5
  170. package/src/ui/context/OxyContext.tsx +34 -30
  171. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  172. package/src/ui/screens/FileManagementScreen.tsx +12 -12
  173. package/src/ui/screens/ProfileScreen.tsx +3 -3
  174. package/src/ui/screens/SessionManagementScreen.tsx +2 -2
  175. package/src/ui/screens/SignInScreen.tsx +1 -1
  176. package/src/ui/screens/karma/KarmaCenterScreen.tsx +2 -2
  177. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +3 -3
  178. package/src/ui/screens/karma/KarmaRulesScreen.tsx +3 -3
  179. package/src/ui/stores/followStore.ts +4 -4
  180. package/src/utils/apiUtils.ts +102 -0
  181. package/src/utils/asyncUtils.ts +265 -0
  182. package/src/utils/errorUtils.ts +172 -0
  183. package/src/utils/hookUtils.ts +397 -0
  184. package/src/utils/loggerUtils.ts +153 -0
  185. package/src/utils/validationUtils.ts +158 -0
  186. package/lib/commonjs/middleware.js +0 -17
  187. package/lib/commonjs/middleware.js.map +0 -1
  188. package/lib/commonjs/models/secureSession.js +0 -2
  189. package/lib/commonjs/models/secureSession.js.map +0 -1
  190. package/lib/commonjs/types/middleware.js +0 -6
  191. package/lib/module/middleware.js +0 -12
  192. package/lib/module/middleware.js.map +0 -1
  193. package/lib/module/models/secureSession.js +0 -2
  194. package/lib/module/models/secureSession.js.map +0 -1
  195. package/lib/module/types/middleware.js +0 -4
  196. package/lib/typescript/middleware.d.ts +0 -9
  197. package/lib/typescript/middleware.d.ts.map +0 -1
  198. package/lib/typescript/models/secureSession.d.ts.map +0 -1
  199. package/lib/typescript/types/middleware.d.ts +0 -19
  200. package/lib/typescript/types/middleware.d.ts.map +0 -1
  201. package/src/middleware.ts +0 -11
  202. package/src/types/middleware.ts +0 -20
package/README.md CHANGED
@@ -110,13 +110,7 @@ const user = await oxy.users.getCurrentUser();
110
110
 
111
111
  ## Documentation
112
112
 
113
- For comprehensive documentation, API reference, and examples:
114
-
115
- - [📚 Full Documentation](./docs/README.md)
116
- - [🚀 Quick Start Guide](./docs/quick-start.md)
117
- - [🔐 Core API Reference](./docs/core-api.md)
118
- - [⚡ Streamlined Authentication](./docs/core-api.md#streamlined-authentication) - **NEW!**
119
- - [💼 Integration Examples](./docs/examples/)
113
+ This package provides a TypeScript client library for the Oxy API with authentication, user management, and UI components.
120
114
 
121
115
  ## UI Components
122
116
 
@@ -141,19 +135,7 @@ import { OxyProvider, Avatar } from '@oxyhq/services/ui';
141
135
  import { OxyServices, OxyProvider } from '@oxyhq/services/full';
142
136
  ```
143
137
 
144
- ## Zero-Config Express Router
145
-
146
- Quickly mount authentication routes in any Express app:
147
-
148
- ```typescript
149
- import express from 'express';
150
- import { createAuth } from '@oxyhq/services/core';
151
-
152
- const app = express();
153
- app.use('/auth', createAuth({ baseURL: 'http://localhost:3000' }).middleware());
154
- ```
155
138
 
156
- This automatically provides sign-up, login, logout, refresh, and session management endpoints.
157
139
 
158
140
  ## Requirements
159
141
 
@@ -205,22 +187,8 @@ npm install
205
187
 
206
188
  # Build the library
207
189
  npm run build
208
-
209
- # Run tests
210
- npm test
211
-
212
- # Development mode
213
- npm run dev
214
190
  ```
215
191
 
216
- ## Integration
217
-
218
- This library works with:
219
- - **[Oxy API](../oxy-api/)** - The companion authentication server
220
- - **Express.js** - Built-in middleware support
221
- - **React/React Native** - UI components and hooks
222
- - **Next.js** - SSR/SSG authentication
223
-
224
192
  ## License
225
193
 
226
194
  This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OxyServices = void 0;
7
+ var _axios = _interopRequireDefault(require("axios"));
8
+ var _jwtDecode = require("jwt-decode");
9
+ var _errorUtils = require("../utils/errorUtils");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /**
12
+ * OxyServices - Base client library for interacting with the Oxy API
13
+ *
14
+ * This class provides the core HTTP client setup, token management, and error handling.
15
+ * Specific functionality is delegated to focused service modules.
16
+ */
17
+ class OxyServices {
18
+ accessToken = null;
19
+ refreshToken = null;
20
+
21
+ /**
22
+ * Creates a new instance of the OxyServices client
23
+ * @param config - Configuration for the client
24
+ */
25
+ constructor(config) {
26
+ this.client = _axios.default.create({
27
+ baseURL: config.baseURL,
28
+ timeout: 10000 // 10 second timeout
29
+ });
30
+ this.setupInterceptors();
31
+ }
32
+
33
+ /**
34
+ * Setup axios interceptors for authentication and error handling
35
+ */
36
+ setupInterceptors() {
37
+ // Request interceptor for adding auth header and handling token refresh
38
+ this.client.interceptors.request.use(async req => {
39
+ if (!this.accessToken) {
40
+ return req;
41
+ }
42
+
43
+ // Check if token is expired and refresh if needed
44
+ try {
45
+ const decoded = (0, _jwtDecode.jwtDecode)(this.accessToken);
46
+ const currentTime = Math.floor(Date.now() / 1000);
47
+
48
+ // If token expires in less than 60 seconds, refresh it
49
+ if (decoded.exp - currentTime < 60) {
50
+ // For session-based tokens, get a new token from the session
51
+ if (decoded.sessionId) {
52
+ try {
53
+ const res = await this.client.get(`/session/token/${decoded.sessionId}`);
54
+ this.accessToken = res.data.accessToken;
55
+ } catch (refreshError) {
56
+ // If refresh fails, clear tokens
57
+ this.clearTokens();
58
+ }
59
+ }
60
+ }
61
+
62
+ // Add authorization header
63
+ req.headers.Authorization = `Bearer ${this.accessToken}`;
64
+ } catch (error) {
65
+ // If token is invalid, clear it
66
+ this.clearTokens();
67
+ }
68
+ return req;
69
+ });
70
+ }
71
+
72
+ /**
73
+ * Get the configured base URL
74
+ */
75
+ getBaseURL() {
76
+ return this.client.defaults.baseURL || '';
77
+ }
78
+
79
+ /**
80
+ * Set authentication tokens
81
+ */
82
+ setTokens(accessToken, refreshToken = '') {
83
+ this.accessToken = accessToken;
84
+ this.refreshToken = refreshToken;
85
+ }
86
+
87
+ /**
88
+ * Clear stored authentication tokens
89
+ */
90
+ clearTokens() {
91
+ this.accessToken = null;
92
+ this.refreshToken = null;
93
+ }
94
+
95
+ /**
96
+ * Get the current user ID from the access token
97
+ */
98
+ getCurrentUserId() {
99
+ if (!this.accessToken) {
100
+ return null;
101
+ }
102
+ try {
103
+ const decoded = (0, _jwtDecode.jwtDecode)(this.accessToken);
104
+ return decoded.userId || decoded.id || null;
105
+ } catch (error) {
106
+ return null;
107
+ }
108
+ }
109
+
110
+ /**
111
+ * Check if the client has a valid access token
112
+ */
113
+ hasAccessToken() {
114
+ return !!this.accessToken;
115
+ }
116
+
117
+ /**
118
+ * Validate the current access token with the server
119
+ */
120
+ async validate() {
121
+ if (!this.hasAccessToken()) {
122
+ return false;
123
+ }
124
+ try {
125
+ const res = await this.client.get('/auth/validate');
126
+ return res.data.valid === true;
127
+ } catch (error) {
128
+ return false;
129
+ }
130
+ }
131
+
132
+ /**
133
+ * Get the HTTP client instance (protected for use by service modules)
134
+ */
135
+ getClient() {
136
+ return this.client;
137
+ }
138
+
139
+ /**
140
+ * Centralized error handling
141
+ */
142
+ handleError(error) {
143
+ return (0, _errorUtils.handleHttpError)(error);
144
+ }
145
+
146
+ /**
147
+ * Health check endpoint
148
+ */
149
+ async healthCheck() {
150
+ try {
151
+ const res = await this.client.get('/health');
152
+ return res.data;
153
+ } catch (error) {
154
+ throw this.handleError(error);
155
+ }
156
+ }
157
+ }
158
+ exports.OxyServices = OxyServices;
159
+ //# sourceMappingURL=OxyServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_axios","_interopRequireDefault","require","_jwtDecode","_errorUtils","e","__esModule","default","OxyServices","accessToken","refreshToken","constructor","config","client","axios","create","baseURL","timeout","setupInterceptors","interceptors","request","use","req","decoded","jwtDecode","currentTime","Math","floor","Date","now","exp","sessionId","res","get","data","refreshError","clearTokens","headers","Authorization","error","getBaseURL","defaults","setTokens","getCurrentUserId","userId","id","hasAccessToken","validate","valid","getClient","handleError","handleHttpError","healthCheck","exports"],"sourceRoot":"../../../src","sources":["core/OxyServices.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OxyServicesMain = void 0;
7
+ var _AuthService = require("./auth/AuthService");
8
+ var _UserService = require("./users/UserService");
9
+ var _PaymentService = require("./payments/PaymentService");
10
+ var _KarmaService = require("./karma/KarmaService");
11
+ var _FileService = require("./files/FileService");
12
+ var _LocationService = require("./locations/LocationService");
13
+ var _AnalyticsService = require("./analytics/AnalyticsService");
14
+ var _DeviceService = require("./devices/DeviceService");
15
+ /**
16
+ * Main OxyServices class that combines all individual services
17
+ *
18
+ * This class provides a unified interface to all Oxy API services while maintaining
19
+ * backward compatibility with the original monolithic structure.
20
+ */
21
+ class OxyServicesMain extends _AuthService.AuthService {
22
+ // Service instances
23
+
24
+ constructor(config) {
25
+ super(config);
26
+
27
+ // Initialize all service instances
28
+ this.users = new _UserService.UserService(config);
29
+ this.payments = new _PaymentService.PaymentService(config);
30
+ this.karma = new _KarmaService.KarmaService(config);
31
+ this.files = new _FileService.FileService(config);
32
+ this.locations = new _LocationService.LocationService(config);
33
+ this.analytics = new _AnalyticsService.AnalyticsService(config);
34
+ this.devices = new _DeviceService.DeviceService(config);
35
+ }
36
+
37
+ // Re-export OXY_CLOUD_URL for convenience
38
+ static OXY_CLOUD_URL = _FileService.OXY_CLOUD_URL;
39
+
40
+ // Additional utility methods that span multiple services
41
+ async fetchLinkMetadata(url) {
42
+ try {
43
+ const res = await this.getClient().get(`/link-metadata?url=${encodeURIComponent(url)}`);
44
+ return res.data;
45
+ } catch (error) {
46
+ throw this.handleError(error);
47
+ }
48
+ }
49
+ }
50
+ exports.OxyServicesMain = OxyServicesMain;
51
+ //# sourceMappingURL=OxyServicesMain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AuthService","require","_UserService","_PaymentService","_KarmaService","_FileService","_LocationService","_AnalyticsService","_DeviceService","OxyServicesMain","AuthService","constructor","config","users","UserService","payments","PaymentService","karma","KarmaService","files","FileService","locations","LocationService","analytics","AnalyticsService","devices","DeviceService","OXY_CLOUD_URL","fetchLinkMetadata","url","res","getClient","get","encodeURIComponent","data","error","handleError","exports"],"sourceRoot":"../../../src","sources":["core/OxyServicesMain.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMQ,eAAe,SAASC,wBAAW,CAAC;EAC/C;;EASAC,WAAWA,CAACC,MAAiB,EAAE;IAC7B,KAAK,CAACA,MAAM,CAAC;;IAEb;IACA,IAAI,CAACC,KAAK,GAAG,IAAIC,wBAAW,CAACF,MAAM,CAAC;IACpC,IAAI,CAACG,QAAQ,GAAG,IAAIC,8BAAc,CAACJ,MAAM,CAAC;IAC1C,IAAI,CAACK,KAAK,GAAG,IAAIC,0BAAY,CAACN,MAAM,CAAC;IACrC,IAAI,CAACO,KAAK,GAAG,IAAIC,wBAAW,CAACR,MAAM,CAAC;IACpC,IAAI,CAACS,SAAS,GAAG,IAAIC,gCAAe,CAACV,MAAM,CAAC;IAC5C,IAAI,CAACW,SAAS,GAAG,IAAIC,kCAAgB,CAACZ,MAAM,CAAC;IAC7C,IAAI,CAACa,OAAO,GAAG,IAAIC,4BAAa,CAACd,MAAM,CAAC;EAC1C;;EAEA;EACA,OAAgBe,aAAa,GAAGA,0BAAa;;EAE7C;EACA,MAAMC,iBAAiBA,CAACC,GAAW,EAKhC;IACD,IAAI;MACF,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACC,SAAS,CAAC,CAAC,CAACC,GAAG,CAAC,sBAAsBC,kBAAkB,CAACJ,GAAG,CAAC,EAAE,CAAC;MACvF,OAAOC,GAAG,CAACI,IAAI;IACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;IAC/B;EACF;AACF;AAACE,OAAA,CAAA5B,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AnalyticsService = void 0;
7
+ var _OxyServices = require("../OxyServices");
8
+ /**
9
+ * Analytics service for handling analytics and content viewer operations
10
+ */
11
+ class AnalyticsService extends _OxyServices.OxyServices {
12
+ /**
13
+ * Get analytics data for user
14
+ */
15
+ async getAnalytics(userId, period) {
16
+ try {
17
+ const params = new URLSearchParams();
18
+ if (period) params.append('period', period);
19
+ const res = await this.getClient().get(`/analytics/users/${userId}?${params.toString()}`);
20
+ return res.data;
21
+ } catch (error) {
22
+ throw this.handleError(error);
23
+ }
24
+ }
25
+
26
+ /**
27
+ * Update analytics data
28
+ */
29
+ async updateAnalytics(userId, type, data) {
30
+ try {
31
+ const res = await this.getClient().put(`/analytics/users/${userId}/${type}`, data);
32
+ return res.data;
33
+ } catch (error) {
34
+ throw this.handleError(error);
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Get content viewers for user
40
+ */
41
+ async getContentViewers(userId, period) {
42
+ try {
43
+ const params = new URLSearchParams();
44
+ if (period) params.append('period', period);
45
+ const res = await this.getClient().get(`/analytics/users/${userId}/viewers?${params.toString()}`);
46
+ return res.data;
47
+ } catch (error) {
48
+ throw this.handleError(error);
49
+ }
50
+ }
51
+
52
+ /**
53
+ * Get follower details for user
54
+ */
55
+ async getFollowerDetails(userId, period) {
56
+ try {
57
+ const params = new URLSearchParams();
58
+ if (period) params.append('period', period);
59
+ const res = await this.getClient().get(`/analytics/users/${userId}/followers?${params.toString()}`);
60
+ return res.data;
61
+ } catch (error) {
62
+ throw this.handleError(error);
63
+ }
64
+ }
65
+ }
66
+ exports.AnalyticsService = AnalyticsService;
67
+ //# sourceMappingURL=AnalyticsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_OxyServices","require","AnalyticsService","OxyServices","getAnalytics","userId","period","params","URLSearchParams","append","res","getClient","get","toString","data","error","handleError","updateAnalytics","type","put","getContentViewers","getFollowerDetails","exports"],"sourceRoot":"../../../../src","sources":["core/analytics/AnalyticsService.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACO,MAAMC,gBAAgB,SAASC,wBAAW,CAAC;EAChD;AACF;AACA;EACE,MAAMC,YAAYA,CAACC,MAAc,EAAEC,MAAe,EAA0B;IAC1E,IAAI;MACF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC,CAAC;MACpC,IAAIF,MAAM,EAAEC,MAAM,CAACE,MAAM,CAAC,QAAQ,EAAEH,MAAM,CAAC;MAE3C,MAAMI,GAAG,GAAG,MAAM,IAAI,CAACC,SAAS,CAAC,CAAC,CAACC,GAAG,CAAC,oBAAoBP,MAAM,IAAIE,MAAM,CAACM,QAAQ,CAAC,CAAC,EAAE,CAAC;MACzF,OAAOH,GAAG,CAACI,IAAI;IACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;IAC/B;EACF;;EAEA;AACF;AACA;EACE,MAAME,eAAeA,CAACZ,MAAc,EAAEa,IAAY,EAAEJ,IAAyB,EAAgC;IAC3G,IAAI;MACF,MAAMJ,GAAG,GAAG,MAAM,IAAI,CAACC,SAAS,CAAC,CAAC,CAACQ,GAAG,CAAC,oBAAoBd,MAAM,IAAIa,IAAI,EAAE,EAAEJ,IAAI,CAAC;MAClF,OAAOJ,GAAG,CAACI,IAAI;IACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;IAC/B;EACF;;EAEA;AACF;AACA;EACE,MAAMK,iBAAiBA,CAACf,MAAc,EAAEC,MAAe,EAA4B;IACjF,IAAI;MACF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC,CAAC;MACpC,IAAIF,MAAM,EAAEC,MAAM,CAACE,MAAM,CAAC,QAAQ,EAAEH,MAAM,CAAC;MAE3C,MAAMI,GAAG,GAAG,MAAM,IAAI,CAACC,SAAS,CAAC,CAAC,CAACC,GAAG,CAAC,oBAAoBP,MAAM,YAAYE,MAAM,CAACM,QAAQ,CAAC,CAAC,EAAE,CAAC;MACjG,OAAOH,GAAG,CAACI,IAAI;IACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;IAC/B;EACF;;EAEA;AACF;AACA;EACE,MAAMM,kBAAkBA,CAAChB,MAAc,EAAEC,MAAe,EAA4B;IAClF,IAAI;MACF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC,CAAC;MACpC,IAAIF,MAAM,EAAEC,MAAM,CAACE,MAAM,CAAC,QAAQ,EAAEH,MAAM,CAAC;MAE3C,MAAMI,GAAG,GAAG,MAAM,IAAI,CAACC,SAAS,CAAC,CAAC,CAACC,GAAG,CAAC,oBAAoBP,MAAM,cAAcE,MAAM,CAACM,QAAQ,CAAC,CAAC,EAAE,CAAC;MACnG,OAAOH,GAAG,CAACI,IAAI;IACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAM,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;IAC/B;EACF;AACF;AAACO,OAAA,CAAApB,gBAAA,GAAAA,gBAAA","ignoreList":[]}