@oxyhq/services 5.12.8 → 5.12.9
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.
- package/lib/commonjs/core/OxyServices.js +66 -7
- package/lib/commonjs/core/OxyServices.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
- package/lib/commonjs/ui/components/internal/TextField.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAssets.js +6 -3
- package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +10 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +7 -0
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/core/OxyServices.js +66 -7
- package/lib/module/core/OxyServices.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
- package/lib/module/ui/components/internal/TextField.js.map +1 -1
- package/lib/module/ui/hooks/useAssets.js +6 -3
- package/lib/module/ui/hooks/useAssets.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +10 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +7 -0
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/typescript/core/OxyServices.d.ts +27 -4
- package/lib/typescript/core/OxyServices.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +21 -0
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useAssets.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/package.json +31 -17
- package/src/core/OxyServices.ts +68 -6
- package/src/index.ts +4 -1
- package/src/models/interfaces.ts +25 -0
- package/src/ui/components/StepBasedScreen.tsx +4 -3
- package/src/ui/components/internal/TextField.tsx +1 -1
- package/src/ui/hooks/useAssets.ts +8 -3
- package/src/ui/screens/AccountSettingsScreen.tsx +11 -1
- package/src/ui/screens/WelcomeNewUserScreen.tsx +33 -13
- package/lib/typescript/types/shims.d.ts +0 -24
- package/src/types/shims.d.ts +0 -24
|
@@ -177,6 +177,13 @@ export interface FileDeleteResponse {
|
|
|
177
177
|
/**
|
|
178
178
|
* Central Asset Service interfaces
|
|
179
179
|
*/
|
|
180
|
+
/**
|
|
181
|
+
* File visibility levels
|
|
182
|
+
* - private: Only accessible by owner (default)
|
|
183
|
+
* - public: Accessible by anyone without authentication (e.g., avatars, public profile content)
|
|
184
|
+
* - unlisted: Accessible with direct link but not listed publicly
|
|
185
|
+
*/
|
|
186
|
+
export type FileVisibility = 'private' | 'public' | 'unlisted';
|
|
180
187
|
export interface AssetLink {
|
|
181
188
|
app: string;
|
|
182
189
|
entityType: string;
|
|
@@ -203,6 +210,7 @@ export interface Asset {
|
|
|
203
210
|
originalName?: string;
|
|
204
211
|
ownerUserId: string;
|
|
205
212
|
status: 'active' | 'trash' | 'deleted';
|
|
213
|
+
visibility: FileVisibility;
|
|
206
214
|
usageCount: number;
|
|
207
215
|
createdAt: string;
|
|
208
216
|
updatedAt: string;
|
|
@@ -225,12 +233,14 @@ export interface AssetCompleteRequest {
|
|
|
225
233
|
originalName: string;
|
|
226
234
|
size: number;
|
|
227
235
|
mime: string;
|
|
236
|
+
visibility?: FileVisibility;
|
|
228
237
|
metadata?: AssetMetadata;
|
|
229
238
|
}
|
|
230
239
|
export interface AssetLinkRequest {
|
|
231
240
|
app: string;
|
|
232
241
|
entityType: string;
|
|
233
242
|
entityId: string;
|
|
243
|
+
visibility?: FileVisibility;
|
|
234
244
|
}
|
|
235
245
|
export interface AssetUnlinkRequest {
|
|
236
246
|
app: string;
|
|
@@ -250,6 +260,17 @@ export interface AssetDeleteSummary {
|
|
|
250
260
|
remainingLinks: number;
|
|
251
261
|
variants: string[];
|
|
252
262
|
}
|
|
263
|
+
export interface AssetUpdateVisibilityRequest {
|
|
264
|
+
visibility: FileVisibility;
|
|
265
|
+
}
|
|
266
|
+
export interface AssetUpdateVisibilityResponse {
|
|
267
|
+
success: boolean;
|
|
268
|
+
file: {
|
|
269
|
+
id: string;
|
|
270
|
+
visibility: FileVisibility;
|
|
271
|
+
updatedAt: string;
|
|
272
|
+
};
|
|
273
|
+
}
|
|
253
274
|
export interface AssetUploadProgress {
|
|
254
275
|
fileId: string;
|
|
255
276
|
uploaded: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/models/interfaces.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/models/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepBasedScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/StepBasedScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StepBasedScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/StepBasedScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IAC3E,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACnE,WAAW,EAAE,GAAG,CAAC;CACpB;AAyDD,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4TnD,CAAC;AAEF,eAAe,eAAe,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;
|
|
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 +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;;
|
|
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;;AAs1D3D,wBAAiD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WelcomeNewUserScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/WelcomeNewUserScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAU3D;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"WelcomeNewUserScreen.d.ts","sourceRoot":"","sources":["../../../../src/ui/screens/WelcomeNewUserScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAU3D;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CA0JvE,CAAC;AAqIF,eAAe,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "5.12.
|
|
3
|
+
"version": "5.12.9",
|
|
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",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"delete-debug-view": "rm -rf ./lib/commonjs/components/bottomSheetDebugView ./lib/module/components/bottomSheetDebugView ./lib/typescript/components/bottomSheetDebugView || true",
|
|
81
81
|
"delete-dts.js": "find ./lib/commonjs -name '*.d.js*' -delete && find ./lib/module -name '*.d.js*' -delete",
|
|
82
82
|
"release": "rm -rf lib && npm run build && release-it",
|
|
83
|
-
"prepublishOnly": "npm run typescript && npm run build"
|
|
83
|
+
"prepublishOnly": "npm run typescript && npm test && npm run build"
|
|
84
84
|
},
|
|
85
85
|
"dependencies": {
|
|
86
86
|
"@amir-hossein-karimi/bottom-sheet": "^9.1.2",
|
|
@@ -104,39 +104,49 @@
|
|
|
104
104
|
"@commitlint/cli": "^17.6.5",
|
|
105
105
|
"@commitlint/config-conventional": "^17.6.5",
|
|
106
106
|
"@release-it/conventional-changelog": "^8.0.1",
|
|
107
|
+
"@testing-library/jest-dom": "^6.4.2",
|
|
108
|
+
"@testing-library/react": "^14.2.1",
|
|
109
|
+
"@testing-library/react-native": "^12.4.3",
|
|
107
110
|
"@types/invariant": "^2.2.34",
|
|
108
111
|
"@types/jest": "^29.5.14",
|
|
109
112
|
"@types/jwt-decode": "^2.2.1",
|
|
110
|
-
"@types/node": "^20.19.
|
|
111
|
-
"@types/react": "~19.0
|
|
113
|
+
"@types/node": "^20.19.9",
|
|
114
|
+
"@types/react": "~19.1.0",
|
|
112
115
|
"@types/react-native": "~0.73.0",
|
|
113
116
|
"copyfiles": "^2.4.1",
|
|
114
|
-
"expo-font": "
|
|
115
|
-
"expo-image": "
|
|
117
|
+
"expo-font": "~14.0.9",
|
|
118
|
+
"expo-image": "~3.0.10",
|
|
116
119
|
"husky": "^4.3.8",
|
|
120
|
+
"jest": "~29.7.0",
|
|
117
121
|
"lint-staged": "^13.2.2",
|
|
118
122
|
"metro-react-native-babel-preset": "^0.77.0",
|
|
119
123
|
"react-native-builder-bob": "^0.30.3",
|
|
124
|
+
"react-native-gesture-handler": "~2.28.0",
|
|
125
|
+
"react-native-reanimated": "~4.1.1",
|
|
126
|
+
"react-native-safe-area-context": "~5.6.0",
|
|
127
|
+
"react-native-svg": "15.11.2",
|
|
128
|
+
"react-test-renderer": "^18.3.1",
|
|
120
129
|
"release-it": "^17.6.0",
|
|
121
|
-
"
|
|
130
|
+
"ts-jest": "^29.4.0",
|
|
131
|
+
"typescript": "^5.9.2"
|
|
122
132
|
},
|
|
123
133
|
"peerDependencies": {
|
|
124
|
-
"@expo/vector-icons": "^
|
|
125
|
-
"@react-navigation/native": "^7.
|
|
134
|
+
"@expo/vector-icons": "^15.0.3",
|
|
135
|
+
"@react-navigation/native": "^7.1.8",
|
|
126
136
|
"@types/react": "*",
|
|
127
137
|
"@types/react-native": "*",
|
|
128
138
|
"axios": "^1.9.0",
|
|
129
|
-
"expo": "
|
|
130
|
-
"expo-font": "
|
|
131
|
-
"expo-image": "
|
|
139
|
+
"expo": "~54.0.22",
|
|
140
|
+
"expo-font": "~14.0.9",
|
|
141
|
+
"expo-image": "~3.0.10",
|
|
132
142
|
"expo-linear-gradient": "^14.0.0",
|
|
133
143
|
"invariant": "^2.2.4",
|
|
134
144
|
"jwt-decode": "^4.0.0",
|
|
135
145
|
"react": ">=18.0.0",
|
|
136
|
-
"react-native": ">=0.
|
|
137
|
-
"react-native-gesture-handler": "
|
|
138
|
-
"react-native-reanimated": "
|
|
139
|
-
"react-native-safe-area-context": "
|
|
146
|
+
"react-native": ">=0.76.0",
|
|
147
|
+
"react-native-gesture-handler": "~2.28.0",
|
|
148
|
+
"react-native-reanimated": "~4.1.1",
|
|
149
|
+
"react-native-safe-area-context": "~5.6.0",
|
|
140
150
|
"react-native-svg": ">=13.0.0"
|
|
141
151
|
},
|
|
142
152
|
"peerDependenciesMeta": {
|
|
@@ -177,5 +187,9 @@
|
|
|
177
187
|
"module",
|
|
178
188
|
"typescript"
|
|
179
189
|
]
|
|
190
|
+
},
|
|
191
|
+
"resolutions": {
|
|
192
|
+
"react-native-gesture-handler": "~2.28.0",
|
|
193
|
+
"react-native-reanimated": "~4.1.1"
|
|
180
194
|
}
|
|
181
|
-
}
|
|
195
|
+
}
|
package/src/core/OxyServices.ts
CHANGED
|
@@ -1260,9 +1260,9 @@ export class OxyServices {
|
|
|
1260
1260
|
/**
|
|
1261
1261
|
* Upload raw file data
|
|
1262
1262
|
*/
|
|
1263
|
-
async uploadRawFile(file: File | Blob, metadata?: Record<string, any>): Promise<any> {
|
|
1263
|
+
async uploadRawFile(file: File | Blob, visibility?: 'private' | 'public' | 'unlisted', metadata?: Record<string, any>): Promise<any> {
|
|
1264
1264
|
// Switch to Central Asset Service upload flow
|
|
1265
|
-
return this.assetUpload(file as File, metadata);
|
|
1265
|
+
return this.assetUpload(file as File, visibility, metadata);
|
|
1266
1266
|
}
|
|
1267
1267
|
|
|
1268
1268
|
// ============================================================================
|
|
@@ -1298,13 +1298,14 @@ export class OxyServices {
|
|
|
1298
1298
|
/**
|
|
1299
1299
|
* Complete asset upload - commit metadata and trigger variant generation
|
|
1300
1300
|
*/
|
|
1301
|
-
async assetComplete(fileId: string, originalName: string, size: number, mime: string, metadata?: Record<string, any>): Promise<any> {
|
|
1301
|
+
async assetComplete(fileId: string, originalName: string, size: number, mime: string, visibility?: 'private' | 'public' | 'unlisted', metadata?: Record<string, any>): Promise<any> {
|
|
1302
1302
|
try {
|
|
1303
1303
|
const res = await this.client.post('/api/assets/complete', {
|
|
1304
1304
|
fileId,
|
|
1305
1305
|
originalName,
|
|
1306
1306
|
size,
|
|
1307
1307
|
mime,
|
|
1308
|
+
visibility,
|
|
1308
1309
|
metadata
|
|
1309
1310
|
});
|
|
1310
1311
|
return res.data;
|
|
@@ -1316,7 +1317,7 @@ export class OxyServices {
|
|
|
1316
1317
|
/**
|
|
1317
1318
|
* Upload file using Central Asset Service
|
|
1318
1319
|
*/
|
|
1319
|
-
async assetUpload(file: File, metadata?: Record<string, any>, onProgress?: (progress: number) => void): Promise<any> {
|
|
1320
|
+
async assetUpload(file: File, visibility?: 'private' | 'public' | 'unlisted', metadata?: Record<string, any>, onProgress?: (progress: number) => void): Promise<any> {
|
|
1320
1321
|
try {
|
|
1321
1322
|
// Calculate SHA256
|
|
1322
1323
|
const sha256 = await this.calculateSHA256(file);
|
|
@@ -1342,6 +1343,7 @@ export class OxyServices {
|
|
|
1342
1343
|
file.name,
|
|
1343
1344
|
file.size,
|
|
1344
1345
|
file.type,
|
|
1346
|
+
visibility,
|
|
1345
1347
|
metadata
|
|
1346
1348
|
);
|
|
1347
1349
|
} catch (error) {
|
|
@@ -1384,12 +1386,13 @@ export class OxyServices {
|
|
|
1384
1386
|
/**
|
|
1385
1387
|
* Link asset to an entity
|
|
1386
1388
|
*/
|
|
1387
|
-
async assetLink(fileId: string, app: string, entityType: string, entityId: string): Promise<any> {
|
|
1389
|
+
async assetLink(fileId: string, app: string, entityType: string, entityId: string, visibility?: 'private' | 'public' | 'unlisted'): Promise<any> {
|
|
1388
1390
|
try {
|
|
1389
1391
|
const res = await this.client.post(`/api/assets/${fileId}/links`, {
|
|
1390
1392
|
app,
|
|
1391
1393
|
entityType,
|
|
1392
|
-
entityId
|
|
1394
|
+
entityId,
|
|
1395
|
+
visibility
|
|
1393
1396
|
});
|
|
1394
1397
|
return res.data;
|
|
1395
1398
|
} catch (error) {
|
|
@@ -1483,6 +1486,65 @@ export class OxyServices {
|
|
|
1483
1486
|
}
|
|
1484
1487
|
}
|
|
1485
1488
|
|
|
1489
|
+
/**
|
|
1490
|
+
* Update asset visibility
|
|
1491
|
+
* @param fileId - The file ID
|
|
1492
|
+
* @param visibility - New visibility level ('private', 'public', or 'unlisted')
|
|
1493
|
+
* @returns Updated asset information
|
|
1494
|
+
*/
|
|
1495
|
+
async assetUpdateVisibility(fileId: string, visibility: 'private' | 'public' | 'unlisted'): Promise<any> {
|
|
1496
|
+
try {
|
|
1497
|
+
const res = await this.client.patch(`/api/assets/${fileId}/visibility`, {
|
|
1498
|
+
visibility
|
|
1499
|
+
});
|
|
1500
|
+
return res.data;
|
|
1501
|
+
} catch (error) {
|
|
1502
|
+
throw this.handleError(error);
|
|
1503
|
+
}
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
/**
|
|
1507
|
+
* Helper: Upload and link avatar with automatic public visibility
|
|
1508
|
+
* @param file - The avatar file
|
|
1509
|
+
* @param userId - User ID to link to
|
|
1510
|
+
* @param app - App name (defaults to 'profiles')
|
|
1511
|
+
* @returns The uploaded and linked asset
|
|
1512
|
+
*/
|
|
1513
|
+
async uploadAvatar(file: File, userId: string, app: string = 'profiles'): Promise<any> {
|
|
1514
|
+
try {
|
|
1515
|
+
// Upload as public
|
|
1516
|
+
const asset = await this.assetUpload(file, 'public');
|
|
1517
|
+
|
|
1518
|
+
// Link to user profile as avatar
|
|
1519
|
+
await this.assetLink(asset.file.id, app, 'avatar', userId, 'public');
|
|
1520
|
+
|
|
1521
|
+
return asset;
|
|
1522
|
+
} catch (error) {
|
|
1523
|
+
throw this.handleError(error);
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
/**
|
|
1528
|
+
* Helper: Upload and link profile banner with automatic public visibility
|
|
1529
|
+
* @param file - The banner file
|
|
1530
|
+
* @param userId - User ID to link to
|
|
1531
|
+
* @param app - App name (defaults to 'profiles')
|
|
1532
|
+
* @returns The uploaded and linked asset
|
|
1533
|
+
*/
|
|
1534
|
+
async uploadProfileBanner(file: File, userId: string, app: string = 'profiles'): Promise<any> {
|
|
1535
|
+
try {
|
|
1536
|
+
// Upload as public
|
|
1537
|
+
const asset = await this.assetUpload(file, 'public');
|
|
1538
|
+
|
|
1539
|
+
// Link to user profile as banner
|
|
1540
|
+
await this.assetLink(asset.file.id, app, 'profile-banner', userId, 'public');
|
|
1541
|
+
|
|
1542
|
+
return asset;
|
|
1543
|
+
} catch (error) {
|
|
1544
|
+
throw this.handleError(error);
|
|
1545
|
+
}
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1486
1548
|
// ============================================================================
|
|
1487
1549
|
// LOCATION METHODS
|
|
1488
1550
|
// ============================================================================
|
package/src/index.ts
CHANGED
|
@@ -56,6 +56,7 @@ export type {
|
|
|
56
56
|
DeviceSessionLogoutResponse,
|
|
57
57
|
UpdateDeviceNameResponse,
|
|
58
58
|
// Central Asset Service types
|
|
59
|
+
FileVisibility,
|
|
59
60
|
AssetLink,
|
|
60
61
|
AssetVariant,
|
|
61
62
|
Asset,
|
|
@@ -66,7 +67,9 @@ export type {
|
|
|
66
67
|
AssetUnlinkRequest,
|
|
67
68
|
AssetUrlResponse,
|
|
68
69
|
AssetDeleteSummary,
|
|
69
|
-
AssetUploadProgress
|
|
70
|
+
AssetUploadProgress,
|
|
71
|
+
AssetUpdateVisibilityRequest,
|
|
72
|
+
AssetUpdateVisibilityResponse
|
|
70
73
|
} from './models/interfaces';
|
|
71
74
|
|
|
72
75
|
export type {
|
package/src/models/interfaces.ts
CHANGED
|
@@ -215,6 +215,15 @@ export interface FileDeleteResponse {
|
|
|
215
215
|
/**
|
|
216
216
|
* Central Asset Service interfaces
|
|
217
217
|
*/
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* File visibility levels
|
|
221
|
+
* - private: Only accessible by owner (default)
|
|
222
|
+
* - public: Accessible by anyone without authentication (e.g., avatars, public profile content)
|
|
223
|
+
* - unlisted: Accessible with direct link but not listed publicly
|
|
224
|
+
*/
|
|
225
|
+
export type FileVisibility = 'private' | 'public' | 'unlisted';
|
|
226
|
+
|
|
218
227
|
export interface AssetLink {
|
|
219
228
|
app: string;
|
|
220
229
|
entityType: string;
|
|
@@ -244,6 +253,7 @@ export interface Asset {
|
|
|
244
253
|
originalName?: string;
|
|
245
254
|
ownerUserId: string;
|
|
246
255
|
status: 'active' | 'trash' | 'deleted';
|
|
256
|
+
visibility: FileVisibility;
|
|
247
257
|
usageCount: number;
|
|
248
258
|
createdAt: string;
|
|
249
259
|
updatedAt: string;
|
|
@@ -269,6 +279,7 @@ export interface AssetCompleteRequest {
|
|
|
269
279
|
originalName: string;
|
|
270
280
|
size: number;
|
|
271
281
|
mime: string;
|
|
282
|
+
visibility?: FileVisibility;
|
|
272
283
|
metadata?: AssetMetadata;
|
|
273
284
|
}
|
|
274
285
|
|
|
@@ -276,6 +287,7 @@ export interface AssetLinkRequest {
|
|
|
276
287
|
app: string;
|
|
277
288
|
entityType: string;
|
|
278
289
|
entityId: string;
|
|
290
|
+
visibility?: FileVisibility;
|
|
279
291
|
}
|
|
280
292
|
|
|
281
293
|
export interface AssetUnlinkRequest {
|
|
@@ -299,6 +311,19 @@ export interface AssetDeleteSummary {
|
|
|
299
311
|
variants: string[];
|
|
300
312
|
}
|
|
301
313
|
|
|
314
|
+
export interface AssetUpdateVisibilityRequest {
|
|
315
|
+
visibility: FileVisibility;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export interface AssetUpdateVisibilityResponse {
|
|
319
|
+
success: boolean;
|
|
320
|
+
file: {
|
|
321
|
+
id: string;
|
|
322
|
+
visibility: FileVisibility;
|
|
323
|
+
updatedAt: string;
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
|
|
302
327
|
export interface AssetUploadProgress {
|
|
303
328
|
fileId: string;
|
|
304
329
|
uploaded: number;
|
|
@@ -18,6 +18,7 @@ import Animated, {
|
|
|
18
18
|
withSpring,
|
|
19
19
|
runOnJS,
|
|
20
20
|
interpolate,
|
|
21
|
+
type SharedValue,
|
|
21
22
|
} from 'react-native-reanimated';
|
|
22
23
|
import { useThemeColors, createAuthStyles } from '../styles';
|
|
23
24
|
import type { BaseScreenProps } from '../navigation/types';
|
|
@@ -75,9 +76,9 @@ const ProgressIndicator: React.FC<{
|
|
|
75
76
|
// Step container with animations
|
|
76
77
|
const AnimatedStepContainer: React.FC<{
|
|
77
78
|
children: React.ReactNode;
|
|
78
|
-
fadeAnim:
|
|
79
|
-
slideAnim:
|
|
80
|
-
scaleAnim:
|
|
79
|
+
fadeAnim: SharedValue<number>;
|
|
80
|
+
slideAnim: SharedValue<number>;
|
|
81
|
+
scaleAnim: SharedValue<number>;
|
|
81
82
|
styles: any;
|
|
82
83
|
stepKey: string;
|
|
83
84
|
}> = ({ children, fadeAnim, slideAnim, scaleAnim, styles, stepKey }) => {
|
|
@@ -597,7 +597,7 @@ const TextField = forwardRef<TextInput, TextFieldProps>(({
|
|
|
597
597
|
|
|
598
598
|
// Render trailing elements
|
|
599
599
|
const renderTrailingElements = () => {
|
|
600
|
-
const elements
|
|
600
|
+
const elements = [];
|
|
601
601
|
|
|
602
602
|
// Loading indicator
|
|
603
603
|
if (isValidating) {
|
|
@@ -70,8 +70,8 @@ export const useAssets = () => {
|
|
|
70
70
|
status: 'uploading'
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
-
// Upload with progress callback
|
|
74
|
-
const result = await oxyInstance.assetUpload(file, metadata, (percentage) => {
|
|
73
|
+
// Upload with progress callback (visibility undefined, metadata, then onProgress)
|
|
74
|
+
const result = await oxyInstance.assetUpload(file, undefined, metadata, (percentage: number) => {
|
|
75
75
|
if (initialProgress.fileId) {
|
|
76
76
|
setUploadProgress(initialProgress.fileId, {
|
|
77
77
|
...initialProgress,
|
|
@@ -135,7 +135,12 @@ export const useAssets = () => {
|
|
|
135
135
|
clearErrors();
|
|
136
136
|
setLinking(true);
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
// Auto-detect visibility for avatars and profile banners
|
|
139
|
+
const visibility = (entityType === 'avatar' || entityType === 'profile-banner')
|
|
140
|
+
? 'public' as const
|
|
141
|
+
: undefined;
|
|
142
|
+
|
|
143
|
+
const result = await oxyInstance.assetLink(assetId, app, entityType, entityId, visibility);
|
|
139
144
|
|
|
140
145
|
if (result.file) {
|
|
141
146
|
setAsset(result.file);
|
|
@@ -251,7 +251,7 @@ const AccountSettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
251
251
|
selectMode: true,
|
|
252
252
|
multiSelect: false,
|
|
253
253
|
afterSelect: 'back',
|
|
254
|
-
onSelect: (file: FileMetadata) => {
|
|
254
|
+
onSelect: async (file: FileMetadata) => {
|
|
255
255
|
if (!file.contentType.startsWith('image/')) {
|
|
256
256
|
toast.error(t('editProfile.toasts.selectImage') || 'Please select an image file');
|
|
257
257
|
return;
|
|
@@ -268,6 +268,16 @@ const AccountSettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
268
268
|
try {
|
|
269
269
|
console.log('[AccountSettings] Auto-saving avatar', file.id);
|
|
270
270
|
setIsSaving(true);
|
|
271
|
+
|
|
272
|
+
// Update file visibility to public for avatar
|
|
273
|
+
try {
|
|
274
|
+
await oxyServices.assetUpdateVisibility(file.id, 'public');
|
|
275
|
+
console.log('[AccountSettings] Avatar visibility updated to public');
|
|
276
|
+
} catch (visError) {
|
|
277
|
+
console.warn('[AccountSettings] Failed to update avatar visibility, continuing anyway:', visError);
|
|
278
|
+
// Continue with avatar update even if visibility update fails
|
|
279
|
+
}
|
|
280
|
+
|
|
271
281
|
await updateUser({ avatar: file.id }, oxyServices);
|
|
272
282
|
// Force refresh current user cache (updateUser already does a fetch with force=true internally)
|
|
273
283
|
// Extra safeguard: ensure avatarFileId reflects saved id (already set) and trigger any dependent UI.
|
|
@@ -42,17 +42,21 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: any }> = ({
|
|
|
42
42
|
: (t('welcomeNew.welcome.title') || 'Welcome 👋');
|
|
43
43
|
const steps: Array<{ key: string; title: string; bullets?: string[]; body?: string; showAvatar?: boolean; }> = [
|
|
44
44
|
{ key: 'welcome', title: welcomeTitle, body: t('welcomeNew.welcome.body') || "You just created an account in a calm, ethical space. A few quick things — then you're in." },
|
|
45
|
-
{
|
|
46
|
-
t('welcomeNew.account.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
t('welcomeNew.principles.
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
{
|
|
46
|
+
key: 'account', title: t('welcomeNew.account.title') || 'One Account. Simple.', bullets: [
|
|
47
|
+
t('welcomeNew.account.bullets.0') || 'One identity across everything',
|
|
48
|
+
t('welcomeNew.account.bullets.1') || 'No re‑signing in all the time',
|
|
49
|
+
t('welcomeNew.account.bullets.2') || 'Your preferences stay with you',
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: 'principles', title: t('welcomeNew.principles.title') || 'What We Stand For', bullets: [
|
|
54
|
+
t('welcomeNew.principles.bullets.0') || 'Privacy by default',
|
|
55
|
+
t('welcomeNew.principles.bullets.1') || 'No manipulative feeds',
|
|
56
|
+
t('welcomeNew.principles.bullets.2') || 'You decide what to share',
|
|
57
|
+
t('welcomeNew.principles.bullets.3') || 'No selling your data',
|
|
58
|
+
]
|
|
59
|
+
},
|
|
56
60
|
{ key: 'karma', title: t('welcomeNew.karma.title') || 'Karma = Trust & Growth', body: t('welcomeNew.karma.body') || 'Oxy Karma is a points system that reacts to what you do. Helpful, respectful, constructive actions earn it. Harmful or low‑effort stuff chips it away. More karma can unlock benefits; low karma can limit features. It keeps things fair and rewards real contribution.' },
|
|
57
61
|
{ key: 'avatar', title: t('welcomeNew.avatar.title') || 'Make It Yours', body: t('welcomeNew.avatar.body') || 'Add an avatar so people recognize you. It will show anywhere you show up here. Skip if you want — you can add it later.', showAvatar: true },
|
|
58
62
|
{ key: 'ready', title: t('welcomeNew.ready.title') || "You're Ready", body: t('welcomeNew.ready.body') || 'Explore. Contribute. Earn karma. Stay in control.' }
|
|
@@ -82,8 +86,24 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: any }> = ({
|
|
|
82
86
|
disabledMimeTypes: ['video/', 'audio/', 'application/pdf'],
|
|
83
87
|
afterSelect: 'back',
|
|
84
88
|
onSelect: async (file: any) => {
|
|
85
|
-
if (!file.contentType.startsWith('image/')) {
|
|
86
|
-
|
|
89
|
+
if (!file.contentType.startsWith('image/')) {
|
|
90
|
+
toast.error(t('editProfile.toasts.selectImage') || 'Please select an image file');
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
// Update file visibility to public for avatar
|
|
95
|
+
try {
|
|
96
|
+
await oxyServices.assetUpdateVisibility(file.id, 'public');
|
|
97
|
+
console.log('[WelcomeNewUser] Avatar visibility updated to public');
|
|
98
|
+
} catch (visError) {
|
|
99
|
+
console.warn('[WelcomeNewUser] Failed to update avatar visibility, continuing anyway:', visError);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
await updateUser({ avatar: file.id }, oxyServices);
|
|
103
|
+
toast.success(t('editProfile.toasts.avatarUpdated') || 'Avatar updated');
|
|
104
|
+
} catch (e: any) {
|
|
105
|
+
toast.error(e.message || t('editProfile.toasts.updateAvatarFailed') || 'Failed to update avatar');
|
|
106
|
+
}
|
|
87
107
|
}
|
|
88
108
|
});
|
|
89
109
|
}, [navigate, updateUser, oxyServices]);
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
declare module 'react-native-gesture-handler';
|
|
2
|
-
declare module 'react-native-safe-area-context';
|
|
3
|
-
declare module 'react-native-svg';
|
|
4
|
-
|
|
5
|
-
declare module 'react-native-reanimated' {
|
|
6
|
-
export type SharedValue<T = any> = any;
|
|
7
|
-
export const withTiming: any,
|
|
8
|
-
withSpring: any,
|
|
9
|
-
withSequence: any,
|
|
10
|
-
withDelay: any,
|
|
11
|
-
useSharedValue: any,
|
|
12
|
-
useAnimatedStyle: any,
|
|
13
|
-
runOnJS: any,
|
|
14
|
-
interpolate: any,
|
|
15
|
-
interpolateColor: any,
|
|
16
|
-
Easing: any;
|
|
17
|
-
const _d: any;
|
|
18
|
-
export default _d;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
declare type SharedValue<T = any> = any;
|
|
22
|
-
declare namespace Animated {
|
|
23
|
-
type SharedValue<T = any> = any;
|
|
24
|
-
}
|
package/src/types/shims.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
declare module 'react-native-gesture-handler';
|
|
2
|
-
declare module 'react-native-safe-area-context';
|
|
3
|
-
declare module 'react-native-svg';
|
|
4
|
-
|
|
5
|
-
declare module 'react-native-reanimated' {
|
|
6
|
-
export type SharedValue<T = any> = any;
|
|
7
|
-
export const withTiming: any,
|
|
8
|
-
withSpring: any,
|
|
9
|
-
withSequence: any,
|
|
10
|
-
withDelay: any,
|
|
11
|
-
useSharedValue: any,
|
|
12
|
-
useAnimatedStyle: any,
|
|
13
|
-
runOnJS: any,
|
|
14
|
-
interpolate: any,
|
|
15
|
-
interpolateColor: any,
|
|
16
|
-
Easing: any;
|
|
17
|
-
const _d: any;
|
|
18
|
-
export default _d;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
declare type SharedValue<T = any> = any;
|
|
22
|
-
declare namespace Animated {
|
|
23
|
-
type SharedValue<T = any> = any;
|
|
24
|
-
}
|