@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
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ import { OxyServices } from '../OxyServices';
4
+ /**
5
+ * Default cloud URL for Oxy services, cloud is where the user files are. (e.g. images, videos, etc.). Not the API.
6
+ */
7
+ export const OXY_CLOUD_URL = 'https://cloud.oxy.so';
8
+
9
+ /**
10
+ * File service for handling file operations and management
11
+ */
12
+ export class FileService extends OxyServices {
13
+ /**
14
+ * Upload a single file
15
+ * Note: This method is deprecated. Use the new raw upload approach instead.
16
+ */
17
+ async uploadFile(file,
18
+ // Use 'any' to handle Buffer type in cross-platform scenarios
19
+ filename, metadata) {
20
+ try {
21
+ const formData = new FormData();
22
+ formData.append('file', file, filename);
23
+ if (metadata) {
24
+ formData.append('metadata', JSON.stringify(metadata));
25
+ }
26
+ const res = await this.getClient().post('/files/upload', formData, {
27
+ headers: {
28
+ 'Content-Type': 'multipart/form-data'
29
+ }
30
+ });
31
+ return res.data;
32
+ } catch (error) {
33
+ throw this.handleError(error);
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Upload multiple files
39
+ * Note: This method is deprecated. Use the new raw upload approach instead.
40
+ */
41
+ async uploadFiles(files, filenames, metadata) {
42
+ try {
43
+ const formData = new FormData();
44
+ files.forEach((file, index) => {
45
+ formData.append('files', file, filenames[index]);
46
+ });
47
+ if (metadata) {
48
+ formData.append('metadata', JSON.stringify(metadata));
49
+ }
50
+ const res = await this.getClient().post('/files/upload-multiple', formData, {
51
+ headers: {
52
+ 'Content-Type': 'multipart/form-data'
53
+ }
54
+ });
55
+ return res.data;
56
+ } catch (error) {
57
+ throw this.handleError(error);
58
+ }
59
+ }
60
+
61
+ /**
62
+ * Get file metadata
63
+ */
64
+ async getFileMetadata(fileId) {
65
+ try {
66
+ const res = await this.getClient().get(`/files/${fileId}/metadata`);
67
+ return res.data;
68
+ } catch (error) {
69
+ throw this.handleError(error);
70
+ }
71
+ }
72
+
73
+ /**
74
+ * Update file metadata
75
+ */
76
+ async updateFileMetadata(fileId, updates) {
77
+ try {
78
+ const res = await this.getClient().put(`/files/${fileId}/metadata`, updates);
79
+ return res.data;
80
+ } catch (error) {
81
+ throw this.handleError(error);
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Delete file
87
+ */
88
+ async deleteFile(fileId) {
89
+ try {
90
+ const res = await this.getClient().delete(`/files/${fileId}`);
91
+ return res.data;
92
+ } catch (error) {
93
+ throw this.handleError(error);
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Get file download URL
99
+ */
100
+ getFileDownloadUrl(fileId) {
101
+ return `${OXY_CLOUD_URL}/files/${fileId}/download`;
102
+ }
103
+
104
+ /**
105
+ * Get file stream URL
106
+ */
107
+ getFileStreamUrl(fileId) {
108
+ return `${OXY_CLOUD_URL}/files/${fileId}/stream`;
109
+ }
110
+
111
+ /**
112
+ * List user files
113
+ */
114
+ async listUserFiles(userId, limit, offset, filters) {
115
+ try {
116
+ const params = new URLSearchParams();
117
+ if (limit) params.append('limit', limit.toString());
118
+ if (offset) params.append('offset', offset.toString());
119
+ if (filters) {
120
+ Object.entries(filters).forEach(([key, value]) => {
121
+ params.append(key, value.toString());
122
+ });
123
+ }
124
+ const res = await this.getClient().get(`/files/user/${userId}?${params.toString()}`);
125
+ return res.data;
126
+ } catch (error) {
127
+ throw this.handleError(error);
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Download file content
133
+ */
134
+ async downloadFileContent(fileId) {
135
+ try {
136
+ const res = await this.getClient().get(`/files/${fileId}/content`, {
137
+ responseType: 'blob'
138
+ });
139
+ return res.data;
140
+ } catch (error) {
141
+ throw this.handleError(error);
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Get file content as text
147
+ */
148
+ async getFileContentAsText(fileId) {
149
+ try {
150
+ const res = await this.getClient().get(`/files/${fileId}/content/text`);
151
+ return res.data;
152
+ } catch (error) {
153
+ throw this.handleError(error);
154
+ }
155
+ }
156
+
157
+ /**
158
+ * Get file content as blob
159
+ */
160
+ async getFileContentAsBlob(fileId) {
161
+ try {
162
+ const res = await this.getClient().get(`/files/${fileId}/content/blob`, {
163
+ responseType: 'blob'
164
+ });
165
+ return res.data;
166
+ } catch (error) {
167
+ throw this.handleError(error);
168
+ }
169
+ }
170
+ }
171
+ //# sourceMappingURL=FileService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OxyServices","OXY_CLOUD_URL","FileService","uploadFile","file","filename","metadata","formData","FormData","append","JSON","stringify","res","getClient","post","headers","data","error","handleError","uploadFiles","files","filenames","forEach","index","getFileMetadata","fileId","get","updateFileMetadata","updates","put","deleteFile","delete","getFileDownloadUrl","getFileStreamUrl","listUserFiles","userId","limit","offset","filters","params","URLSearchParams","toString","Object","entries","key","value","downloadFileContent","responseType","getFileContentAsText","getFileContentAsBlob"],"sourceRoot":"../../../../src","sources":["core/files/FileService.ts"],"mappings":"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","ignoreList":[]}