@oxyhq/services 5.16.4 → 5.16.8

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 (102) hide show
  1. package/lib/commonjs/core/OxyServices.base.js +3 -1
  2. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  3. package/lib/commonjs/core/mixins/OxyServices.assets.js +20 -330
  4. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  5. package/lib/commonjs/index.js +156 -0
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/ui/context/OxyContext.js +95 -9
  8. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  9. package/lib/commonjs/ui/hooks/mutations/index.js +60 -20
  10. package/lib/commonjs/ui/hooks/mutations/index.js.map +1 -1
  11. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +230 -1
  12. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  13. package/lib/commonjs/ui/hooks/queries/index.js +96 -30
  14. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -1
  15. package/lib/commonjs/ui/hooks/queries/queryKeys.js +5 -0
  16. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  17. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +75 -1
  18. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  19. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +50 -2
  20. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  21. package/lib/commonjs/ui/hooks/useAssets.js +8 -29
  22. package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
  23. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +6 -6
  24. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  25. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +3 -3
  26. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  27. package/lib/commonjs/ui/screens/FileManagementScreen.js +14 -10
  28. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  29. package/lib/commonjs/ui/utils/fileManagement.js +88 -0
  30. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  31. package/lib/module/core/OxyServices.base.js +3 -1
  32. package/lib/module/core/OxyServices.base.js.map +1 -1
  33. package/lib/module/core/mixins/OxyServices.assets.js +20 -331
  34. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  35. package/lib/module/index.js +17 -1
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/module/ui/context/OxyContext.js +95 -9
  38. package/lib/module/ui/context/OxyContext.js.map +1 -1
  39. package/lib/module/ui/hooks/mutations/index.js +12 -3
  40. package/lib/module/ui/hooks/mutations/index.js.map +1 -1
  41. package/lib/module/ui/hooks/mutations/useAccountMutations.js +227 -0
  42. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  43. package/lib/module/ui/hooks/queries/index.js +15 -4
  44. package/lib/module/ui/hooks/queries/index.js.map +1 -1
  45. package/lib/module/ui/hooks/queries/queryKeys.js +5 -0
  46. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  47. package/lib/module/ui/hooks/queries/useAccountQueries.js +73 -0
  48. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  49. package/lib/module/ui/hooks/queries/useServicesQueries.js +50 -2
  50. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  51. package/lib/module/ui/hooks/useAssets.js +8 -29
  52. package/lib/module/ui/hooks/useAssets.js.map +1 -1
  53. package/lib/module/ui/screens/AccountOverviewScreen.js +6 -6
  54. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  55. package/lib/module/ui/screens/AccountSettingsScreen.js +3 -3
  56. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  57. package/lib/module/ui/screens/FileManagementScreen.js +12 -10
  58. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  59. package/lib/module/ui/utils/fileManagement.js +87 -0
  60. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  61. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  62. package/lib/typescript/core/mixins/OxyServices.assets.d.ts +1 -70
  63. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  64. package/lib/typescript/core/mixins/index.d.ts +4 -14
  65. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  66. package/lib/typescript/index.d.ts +2 -0
  67. package/lib/typescript/index.d.ts.map +1 -1
  68. package/lib/typescript/ui/context/OxyContext.d.ts +1 -0
  69. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  70. package/lib/typescript/ui/hooks/mutations/index.d.ts +8 -2
  71. package/lib/typescript/ui/hooks/mutations/index.d.ts.map +1 -1
  72. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +19 -0
  73. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  74. package/lib/typescript/ui/hooks/queries/index.d.ts +9 -3
  75. package/lib/typescript/ui/hooks/queries/index.d.ts.map +1 -1
  76. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts +4 -0
  77. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  78. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +6 -0
  79. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  80. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  81. package/lib/typescript/ui/hooks/useAssets.d.ts.map +1 -1
  82. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  83. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  84. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
  85. package/lib/typescript/ui/utils/fileManagement.d.ts +48 -0
  86. package/lib/typescript/ui/utils/fileManagement.d.ts.map +1 -1
  87. package/package.json +6 -2
  88. package/src/core/OxyServices.base.ts +5 -1
  89. package/src/core/mixins/OxyServices.assets.ts +21 -338
  90. package/src/index.ts +49 -2
  91. package/src/ui/context/OxyContext.tsx +98 -7
  92. package/src/ui/hooks/mutations/index.ts +24 -3
  93. package/src/ui/hooks/mutations/useAccountMutations.ts +205 -0
  94. package/src/ui/hooks/queries/index.ts +29 -4
  95. package/src/ui/hooks/queries/queryKeys.ts +6 -0
  96. package/src/ui/hooks/queries/useAccountQueries.ts +69 -0
  97. package/src/ui/hooks/queries/useServicesQueries.ts +49 -2
  98. package/src/ui/hooks/useAssets.ts +8 -28
  99. package/src/ui/screens/AccountOverviewScreen.tsx +4 -3
  100. package/src/ui/screens/AccountSettingsScreen.tsx +3 -5
  101. package/src/ui/screens/FileManagementScreen.tsx +10 -11
  102. package/src/ui/utils/fileManagement.ts +105 -0
@@ -1,9 +1,5 @@
1
- /**
2
- * Asset & File Methods Mixin
3
- */
4
- import type { AccountStorageUsageResponse, AssetInitResponse, AssetUrlResponse, AssetVariant } from '../../models/interfaces';
1
+ import type { AccountStorageUsageResponse, AssetUrlResponse, AssetVariant } from '../../models/interfaces';
5
2
  import type { OxyServicesBase } from '../OxyServices.base';
6
- import { File } from 'expo-file-system';
7
3
  export declare function OxyServicesAssetsMixin<T extends typeof OxyServicesBase>(Base: T): {
8
4
  new (...args: any[]): {
9
5
  /**
@@ -12,14 +8,10 @@ export declare function OxyServicesAssetsMixin<T extends typeof OxyServicesBase>
12
8
  deleteFile(fileId: string): Promise<any>;
13
9
  /**
14
10
  * Get file download URL (synchronous - uses stream endpoint for images to avoid ORB blocking)
15
- * The stream endpoint serves images directly with proper CORS headers, avoiding browser ORB blocking
16
- * For better performance with signed URLs, use getFileDownloadUrlAsync when possible
17
11
  */
18
12
  getFileDownloadUrl(fileId: string, variant?: string, expiresIn?: number): string;
19
13
  /**
20
14
  * Get file download URL asynchronously (returns signed URL directly from CDN)
21
- * This is more efficient than the synchronous version as it avoids redirects
22
- * Use this when you can handle async operations (e.g., in useEffect, useMemo with async)
23
15
  */
24
16
  getFileDownloadUrlAsync(fileId: string, variant?: string, expiresIn?: number): Promise<string>;
25
17
  /**
@@ -32,8 +24,6 @@ export declare function OxyServicesAssetsMixin<T extends typeof OxyServicesBase>
32
24
  }>;
33
25
  /**
34
26
  * Get account storage usage (server-side usage aggregated from assets)
35
- *
36
- * NOTE: This is NOT the same as `getStorage()` from the language mixin (which returns local storage).
37
27
  */
38
28
  getAccountStorageUsage(): Promise<AccountStorageUsageResponse>;
39
29
  /**
@@ -46,7 +36,6 @@ export declare function OxyServicesAssetsMixin<T extends typeof OxyServicesBase>
46
36
  getFileContentAsBlob(fileId: string, variant?: string): Promise<Blob>;
47
37
  /**
48
38
  * Get batch access to multiple files
49
- * Returns URLs and access status for each file
50
39
  */
51
40
  getBatchFileAccess(fileIds: string[], context?: string): Promise<Record<string, any>>;
52
41
  /**
@@ -57,51 +46,10 @@ export declare function OxyServicesAssetsMixin<T extends typeof OxyServicesBase>
57
46
  * Upload raw file data
58
47
  */
59
48
  uploadRawFile(file: File | Blob, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
60
- /**
61
- * Get base64 string from file - uses expo-file-system when URI is available
62
- * Returns base64 string directly for use with expo-crypto
63
- */
64
- getFileBase64(file: File | Blob): Promise<string>;
65
- /**
66
- * Convert File or Blob to ArrayBuffer - uses expo-file-system when URI available
67
- */
68
- fileToArrayBuffer(file: File | Blob): Promise<ArrayBuffer>;
69
- /**
70
- * Convert ArrayBuffer to hex string
71
- */
72
- arrayBufferToHex(buffer: ArrayBuffer): string;
73
- /**
74
- * Convert base64 string to ArrayBuffer (safe for large files)
75
- */
76
- base64ToArrayBuffer(base64: string): ArrayBuffer;
77
- /**
78
- * Convert binary string to base64 (manual implementation for Node.js when btoa is not available)
79
- */
80
- binaryToBase64(binary: string): string;
81
- /**
82
- * Convert ArrayBuffer to base64 string (safe chunked approach to avoid stack overflow)
83
- */
84
- arrayBufferToBase64Safe(buffer: ArrayBuffer): string;
85
- /**
86
- * Calculate SHA256 hash of file content - uses expo-crypto (Expo 54 unified API)
87
- */
88
- calculateSHA256(file: File | Blob): Promise<string>;
89
- /**
90
- * Initialize asset upload - returns pre-signed URL and file ID
91
- */
92
- assetInit(sha256: string, size: number, mime: string): Promise<AssetInitResponse>;
93
- /**
94
- * Complete asset upload - commit metadata and trigger variant generation
95
- */
96
- assetComplete(fileId: string, originalName: string, size: number, mime: string, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
97
49
  /**
98
50
  * Upload file using Central Asset Service
99
51
  */
100
52
  assetUpload(file: File, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>, onProgress?: (progress: number) => void): Promise<any>;
101
- /**
102
- * Upload file to pre-signed URL
103
- */
104
- uploadToPresignedUrl(url: string, file: File, onProgress?: (progress: number) => void): Promise<void>;
105
53
  /**
106
54
  * Link asset to an entity
107
55
  */
@@ -132,26 +80,9 @@ export declare function OxyServicesAssetsMixin<T extends typeof OxyServicesBase>
132
80
  assetGetVariants(fileId: string): Promise<AssetVariant[]>;
133
81
  /**
134
82
  * Update asset visibility
135
- * @param fileId - The file ID
136
- * @param visibility - New visibility level ('private', 'public', or 'unlisted')
137
- * @returns Updated asset information
138
83
  */
139
84
  assetUpdateVisibility(fileId: string, visibility: "private" | "public" | "unlisted"): Promise<any>;
140
- /**
141
- * Helper: Upload and link avatar with automatic public visibility
142
- * @param file - The avatar file
143
- * @param userId - User ID to link to
144
- * @param app - App name (defaults to 'profiles')
145
- * @returns The uploaded and linked asset
146
- */
147
85
  uploadAvatar(file: File, userId: string, app?: string): Promise<any>;
148
- /**
149
- * Helper: Upload and link profile banner with automatic public visibility
150
- * @param file - The banner file
151
- * @param userId - User ID to link to
152
- * @param app - App name (defaults to 'profiles')
153
- * @returns The uploaded and linked asset
154
- */
155
86
  uploadProfileBanner(file: File, userId: string, app?: string): Promise<any>;
156
87
  getAssetUrlCacheTTL(expiresIn?: number): number;
157
88
  fetchAssetDownloadUrl(fileId: string, variant?: string, cacheTTL?: number, expiresIn?: number): Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"OxyServices.assets.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OxyServices.assets.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/OxyServices.assets.ts"],"names":[],"mappings":"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"}
@@ -301,18 +301,8 @@ export declare function composeOxyServices(): {
301
301
  getFileContentAsBlob(fileId: string, variant?: string): Promise<Blob>;
302
302
  getBatchFileAccess(fileIds: string[], context?: string): Promise<Record<string, any>>;
303
303
  getFileDownloadUrls(fileIds: string[], context?: string): Promise<Record<string, string>>;
304
- uploadRawFile(file: import("expo-file-system").File | Blob, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
305
- getFileBase64(file: import("expo-file-system").File | Blob): Promise<string>;
306
- fileToArrayBuffer(file: import("expo-file-system").File | Blob): Promise<ArrayBuffer>;
307
- arrayBufferToHex(buffer: ArrayBuffer): string;
308
- base64ToArrayBuffer(base64: string): ArrayBuffer;
309
- binaryToBase64(binary: string): string;
310
- arrayBufferToBase64Safe(buffer: ArrayBuffer): string;
311
- calculateSHA256(file: import("expo-file-system").File | Blob): Promise<string>;
312
- assetInit(sha256: string, size: number, mime: string): Promise<import("..").AssetInitResponse>;
313
- assetComplete(fileId: string, originalName: string, size: number, mime: string, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
314
- assetUpload(file: import("expo-file-system").File, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>, onProgress?: ((progress: number) => void) | undefined): Promise<any>;
315
- uploadToPresignedUrl(url: string, file: import("expo-file-system").File, onProgress?: ((progress: number) => void) | undefined): Promise<void>;
304
+ uploadRawFile(file: File | Blob, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
305
+ assetUpload(file: File, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>, onProgress?: ((progress: number) => void) | undefined): Promise<any>;
316
306
  assetLink(fileId: string, app: string, entityType: string, entityId: string, visibility?: "private" | "public" | "unlisted", webhookUrl?: string): Promise<any>;
317
307
  assetUnlink(fileId: string, app: string, entityType: string, entityId: string): Promise<any>;
318
308
  assetGet(fileId: string): Promise<any>;
@@ -321,8 +311,8 @@ export declare function composeOxyServices(): {
321
311
  assetDelete(fileId: string, force?: boolean): Promise<any>;
322
312
  assetGetVariants(fileId: string): Promise<import("..").AssetVariant[]>;
323
313
  assetUpdateVisibility(fileId: string, visibility: "private" | "public" | "unlisted"): Promise<any>;
324
- uploadAvatar(file: import("expo-file-system").File, userId: string, app?: string): Promise<any>;
325
- uploadProfileBanner(file: import("expo-file-system").File, userId: string, app?: string): Promise<any>;
314
+ uploadAvatar(file: File, userId: string, app?: string): Promise<any>;
315
+ uploadProfileBanner(file: File, userId: string, app?: string): Promise<any>;
326
316
  getAssetUrlCacheTTL(expiresIn?: number): number;
327
317
  fetchAssetDownloadUrl(fileId: string, variant?: string, cacheTTL?: number, expiresIn?: number): Promise<string | null>;
328
318
  fetchAssetContent(url: string, type: "text"): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AActD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;aA0B6mB,QAAQ,EAAC,QAAS,EAAC,SAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAkyG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;2BAFxjO"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/mixins/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AActD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB;;;;;;;;;;;;;aA0B6mB,QAAQ,EAAC,QAAS,EAAC,SAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAkyG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA3mG,CAAC;sBAA0B,CAAC;yBAA6B,CAAC;;;;;;iBAAuhG,CAAC;qBAAwB,CAAC;;;;;2BAFxjO"}
@@ -24,6 +24,8 @@ export { useAssetStore, useAssets as useAssetsStore, useAsset, useUploadProgress
24
24
  export { useSessionSocket } from './ui/hooks/useSessionSocket';
25
25
  export { useAssets, setOxyAssetInstance } from './ui/hooks/useAssets';
26
26
  export { useFileDownloadUrl, setOxyFileUrlInstance } from './ui/hooks/useFileDownloadUrl';
27
+ export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, } from './ui/hooks/queries';
28
+ export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUploadFile, useSwitchSession, useLogoutSession, useLogoutAll, useUpdateDeviceName, useRemoveDevice, } from './ui/hooks/mutations';
27
29
  export { OxySignInButton } from './ui/components/OxySignInButton';
28
30
  export { OxyLogo, FollowButton } from './ui';
29
31
  export * from './utils/apiUtils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,7 @@ export interface OxyContextState {
59
59
  screen: RouteName;
60
60
  props?: Record<string, unknown>;
61
61
  }) => void;
62
+ openAvatarPicker: () => void;
62
63
  }
63
64
  declare const OxyContext: React.Context<OxyContextState | null>;
64
65
  export interface OxyContextProviderProps {
@@ -1 +1 @@
1
- {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
- export * from './useAccountMutations';
2
- export * from './useServicesMutations';
1
+ /**
2
+ * Mutation Hooks
3
+ *
4
+ * TanStack Query mutation hooks for updating Oxy services data.
5
+ * All mutations handle authentication, error handling, and query invalidation.
6
+ */
7
+ export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUploadFile, } from './useAccountMutations';
8
+ export { useSwitchSession, useLogoutSession, useLogoutAll, useUpdateDeviceName, useRemoveDevice, } from './useServicesMutations';
3
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/mutations/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/mutations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,eAAe,GAChB,MAAM,wBAAwB,CAAC"}
@@ -22,4 +22,23 @@ export declare const useUploadAvatar: () => import("@tanstack/react-query").UseM
22
22
  export declare const useUpdateAccountSettings: () => import("@tanstack/react-query").UseMutationResult<User, Error, Record<string, any>, {
23
23
  previousUser: User | undefined;
24
24
  }>;
25
+ /**
26
+ * Update privacy settings with optimistic updates and authentication handling
27
+ */
28
+ export declare const useUpdatePrivacySettings: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
29
+ settings: Record<string, any>;
30
+ userId?: string;
31
+ }, {
32
+ previousPrivacySettings: unknown;
33
+ previousUser: User | undefined;
34
+ } | undefined>;
35
+ /**
36
+ * Upload file with authentication handling and progress tracking
37
+ */
38
+ export declare const useUploadFile: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
39
+ file: File;
40
+ visibility?: "private" | "public" | "unlisted";
41
+ metadata?: Record<string, any>;
42
+ onProgress?: (progress: number) => void;
43
+ }, unknown>;
25
44
  //# sourceMappingURL=useAccountMutations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKvD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;EA8G5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;SAKQ,MAAM;WAAS,MAAM;WAAS,MAAM;WAAS,MAAM;;;EAsGtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;EAuCpC,CAAC"}
1
+ {"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKvD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;EA8G5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;SAKQ,MAAM;WAAS,MAAM;WAAS,MAAM;WAAS,MAAM;;;EAsGtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;EAuCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;cAKoB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAAW,MAAM;;;;cA6H5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;UAUd,IAAI;iBACG,SAAS,GAAG,QAAQ,GAAG,UAAU;eACnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;iBACjB,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;WAoD5C,CAAC"}
@@ -1,4 +1,10 @@
1
- export * from './useAccountQueries';
2
- export * from './useServicesQueries';
3
- export * from './queryKeys';
1
+ /**
2
+ * Query Hooks
3
+ *
4
+ * TanStack Query hooks for fetching Oxy services data.
5
+ * All hooks follow the same pattern with optional `enabled` parameter.
6
+ */
7
+ export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, } from './useAccountQueries';
8
+ export { useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, } from './useServicesQueries';
9
+ export { queryKeys, invalidateAccountQueries, invalidateUserQueries, invalidateSessionQueries } from './queryKeys';
4
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
@@ -40,6 +40,10 @@ export declare const queryKeys: {
40
40
  readonly details: () => readonly ["devices", "detail"];
41
41
  readonly detail: (deviceId: string) => readonly ["devices", "detail", string];
42
42
  };
43
+ readonly privacy: {
44
+ readonly all: readonly ["privacy"];
45
+ readonly settings: (userId?: string) => readonly ["privacy", "settings", string];
46
+ };
43
47
  };
44
48
  /**
45
49
  * Helper to invalidate all account-related queries
@@ -1 +1 @@
1
- {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;;;;;;;iCASV,MAAM,EAAE;;kCAEP,MAAM;sCACF,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;iCAOT,MAAM;;oCAEH,MAAM;;CAEnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,GAAG,SAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC"}
1
+ {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;;;;;;;iCASV,MAAM,EAAE;;kCAEP,MAAM;sCACF,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;iCAOT,MAAM;;oCAEH,MAAM;;;;qCAML,MAAM;;CAEpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,GAAG,SAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,GAAG,SAExD,CAAC"}
@@ -38,4 +38,10 @@ export declare const useUsersBySessions: (sessionIds: string[], options?: {
38
38
  sessionId: string;
39
39
  user: User | null;
40
40
  }[], Error>;
41
+ /**
42
+ * Get privacy settings for a user
43
+ */
44
+ export declare const usePrivacySettings: (userId?: string, options?: {
45
+ enabled?: boolean;
46
+ }) => import("@tanstack/react-query").UseQueryResult<any, Error>;
41
47
  //# sourceMappingURL=useAccountQueries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountQueries.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/useAccountQueries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKvD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEAepF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAe7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAejF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAezF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;;WAevF,CAAC"}
1
+ {"version":3,"file":"useAccountQueries.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/useAccountQueries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKvD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEAepF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAe7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAejF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gEAezF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;;WAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAgElF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2EAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iEAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iEAY7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;SAY9D,CAAC"}
1
+ {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2EAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iEAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iEA2D7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;SAY9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAssets.d.ts","sourceRoot":"","sources":["../../../../src/ui/hooks/useAssets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,KAAK,EAGL,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAKjC,eAAO,MAAM,mBAAmB,GAAI,UAAU,WAAW,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;mBA6BZ,IAAI,aACC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBAyEb,MAAM,OACV,MAAM,cACC,MAAM,YACR,MAAM,KACf,OAAO,CAAC,IAAI,CAAC;sBAsCL,MAAM,OACV,MAAM,cACC,MAAM,YACR,MAAM,KACf,OAAO,CAAC,IAAI,CAAC;sBA2BL,MAAM,YACL,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,MAAM,CAAC;wBAc2B,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC;2BAmBzD,MAAM,UACR,OAAO,KACb,OAAO,CAAC,IAAI,CAAC;uBAoB4B,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;2BAgBlB,MAAM;;;;;;;CAuCvD,CAAC"}
1
+ {"version":3,"file":"useAssets.d.ts","sourceRoot":"","sources":["../../../../src/ui/hooks/useAssets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,KAAK,EAGL,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAKjC,eAAO,MAAM,mBAAmB,GAAI,UAAU,WAAW,SAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;mBA6BZ,IAAI,aACC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBAqDb,MAAM,OACV,MAAM,cACC,MAAM,YACR,MAAM,KACf,OAAO,CAAC,IAAI,CAAC;sBAsCL,MAAM,OACV,MAAM,cACC,MAAM,YACR,MAAM,KACf,OAAO,CAAC,IAAI,CAAC;sBA2BL,MAAM,YACL,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,MAAM,CAAC;wBAc2B,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC;2BAmBzD,MAAM,UACR,OAAO,KACb,OAAO,CAAC,IAAI,CAAC;uBAoB4B,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;2BAgBlB,MAAM;;;;;;;CAuCvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountOverviewScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/AccountOverviewScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA8yB3D,wBAAiD"}
1
+ {"version":3,"file":"AccountOverviewScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/AccountOverviewScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA+yB3D,wBAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSettingsScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/AccountSettingsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;mBA8Cc,MAAM;qBAAmB,MAAM;;AAwgExG,wBAAiD"}
1
+ {"version":3,"file":"AccountSettingsScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/AccountSettingsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;mBA8Cc,MAAM;qBAAmB,MAAM;;AAsgExG,wBAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileManagementScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/FileManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAgBjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAgFzE,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAkpE7D,CAAC;AAIF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"FileManagementScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/FileManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiBjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAgFzE,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAgpE7D,CAAC;AAIF,eAAe,oBAAoB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { FileMetadata } from '../../models/interfaces';
2
+ import type { RouteName } from '../navigation/routes';
2
3
  /**
3
4
  * Format file size in bytes to human-readable string
4
5
  */
@@ -36,4 +37,51 @@ export declare function getSafeDownloadUrl(file: FileMetadata, variant: string |
36
37
  * Upload file raw - helper function for file uploads
37
38
  */
38
39
  export declare function uploadFileRaw(file: File | Blob, userId: string, oxyServices: any, visibility?: 'private' | 'public' | 'unlisted'): Promise<any>;
40
+ /**
41
+ * Configuration for creating an avatar picker handler
42
+ */
43
+ export interface AvatarPickerConfig {
44
+ /** Navigation function from BaseScreenProps */
45
+ navigate?: (screen: RouteName, props?: Record<string, unknown>) => void;
46
+ /** OxyServices instance */
47
+ oxyServices: any;
48
+ /** TanStack Query mutation for updating profile */
49
+ updateProfileMutation: {
50
+ mutateAsync: (updates: {
51
+ avatar: string;
52
+ }) => Promise<any>;
53
+ };
54
+ /** Callback to update local avatar state */
55
+ onAvatarSelected?: (fileId: string) => void;
56
+ /** i18n translation function */
57
+ t: (key: string) => string | undefined;
58
+ /** Optional context name for logging (e.g., 'AccountSettings', 'WelcomeNewUser') */
59
+ contextName?: string;
60
+ }
61
+ /**
62
+ * Creates a reusable avatar picker handler function.
63
+ *
64
+ * This function navigates to the FileManagement screen and handles:
65
+ * - Image file validation
66
+ * - File visibility update to public
67
+ * - Profile avatar update via mutation
68
+ * - Success/error toast notifications
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * const openAvatarPicker = createAvatarPickerHandler({
73
+ * navigate,
74
+ * oxyServices,
75
+ * updateProfileMutation,
76
+ * onAvatarSelected: setAvatarFileId,
77
+ * t,
78
+ * contextName: 'AccountSettings'
79
+ * });
80
+ *
81
+ * <TouchableOpacity onPress={openAvatarPicker}>
82
+ * <Text>Change Avatar</Text>
83
+ * </TouchableOpacity>
84
+ * ```
85
+ */
86
+ export declare function createAvatarPickerHandler(config: AvatarPickerConfig): () => void;
39
87
  //# sourceMappingURL=fileManagement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,MAAa,EAC1B,UAAU,GAAE,MAAiB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAClD,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/G,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAkEtB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,YAAU,EACzB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GACjE,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,gBAGjD"}
1
+ {"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,MAAa,EAC1B,UAAU,GAAE,MAAiB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAClD,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/G,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAkEtB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,YAAU,EACzB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GACjE,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,gBAGjD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,2BAA2B;IAC3B,WAAW,EAAE,GAAG,CAAC;IACjB,mDAAmD;IACnD,qBAAqB,EAAE;QACnB,WAAW,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KAC9D,CAAC;IACF,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gCAAgC;IAChC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAwDhF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.16.4",
3
+ "version": "5.16.8",
4
4
  "description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -161,7 +161,8 @@
161
161
  "react-native-gesture-handler": "~2.28.0",
162
162
  "react-native-reanimated": "~4.1.1",
163
163
  "react-native-safe-area-context": "~5.6.0",
164
- "react-native-svg": ">=13.0.0"
164
+ "react-native-svg": ">=13.0.0",
165
+ "expo-document-picker": "~14.0.0"
165
166
  },
166
167
  "peerDependenciesMeta": {
167
168
  "@expo/vector-icons": {
@@ -190,6 +191,9 @@
190
191
  },
191
192
  "@react-navigation/native": {
192
193
  "optional": true
194
+ },
195
+ "expo-document-picker": {
196
+ "optional": true
193
197
  }
194
198
  },
195
199
  "react-native-builder-bob": {
@@ -321,7 +321,11 @@ export class OxyServicesBase {
321
321
  [key: string]: any
322
322
  }> {
323
323
  try {
324
- return await this.makeRequest('GET', '/health', undefined, { cache: false });
324
+ return await this.makeRequest('GET', '/health', undefined, {
325
+ cache: false,
326
+ retry: false,
327
+ timeout: 5000
328
+ });
325
329
  } catch (error) {
326
330
  throw this.handleError(error);
327
331
  }