@oxyhq/services 5.17.1 → 5.17.4
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/ui/components/OxyProvider.js +5 -12
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +34 -15
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContextBase.js +21 -0
- package/lib/commonjs/ui/context/OxyContextBase.js.map +1 -0
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +28 -11
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +8 -8
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +6 -6
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +5 -12
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +23 -13
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/OxyContextBase.js +16 -0
- package/lib/module/ui/context/OxyContextBase.js.map +1 -0
- package/lib/module/ui/context/hooks/useAuthOperations.js +28 -11
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts +2 -94
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContextBase.d.ts +99 -0
- package/lib/typescript/ui/context/OxyContextBase.d.ts.map +1 -0
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/components/OxyProvider.tsx +7 -13
- package/src/ui/context/OxyContext.tsx +27 -88
- package/src/ui/context/OxyContextBase.tsx +95 -0
- package/src/ui/context/hooks/useAuthOperations.ts +35 -19
- package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
- package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
- package/src/ui/hooks/queries/useServicesQueries.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useQuery","useQueries","queryKeys","useOxy","useUserProfile","sessionId","options","oxyServices","queryKey","users","profile","queryFn","Error","getUserBySession","enabled","staleTime","gcTime","useUserProfiles","sessionIds","queries","map","results","getUsersBySessions","user","useCurrentUser","activeSessionId","isAuthenticated","accounts","current","useUserById","userId","detail","getUserById","useUserByUsername","username","details","getProfileByUsername","useUsersBySessions","list","length","usePrivacySettings","syncIdentity","sessions","targetUserId","getCurrentUserId","undefined","deviceId","find","s","privacy","settings","hasValidToken","getTokenBySession","tokenError","errorMessage","message","String","includes","syncError","getPrivacySettings","error","status","response","retryError"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useAccountQueries.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,uBAAuB;AAG5D,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"names":["useQuery","useQueries","queryKeys","useOxy","useUserProfile","sessionId","options","oxyServices","queryKey","users","profile","queryFn","Error","getUserBySession","enabled","staleTime","gcTime","useUserProfiles","sessionIds","queries","map","results","getUsersBySessions","user","useCurrentUser","activeSessionId","isAuthenticated","accounts","current","useUserById","userId","detail","getUserById","useUserByUsername","username","details","getProfileByUsername","useUsersBySessions","list","length","usePrivacySettings","syncIdentity","sessions","targetUserId","getCurrentUserId","undefined","deviceId","find","s","privacy","settings","hasValidToken","getTokenBySession","tokenError","errorMessage","message","String","includes","syncError","getPrivacySettings","error","status","response","retryError"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useAccountQueries.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useQuery","queryKeys","useOxy","useSecurityActivity","options","oxyServices","activeSessionId","queryKey","security","activity","limit","offset","eventType","queryFn","Error","response","getSecurityActivity","enabled","staleTime","gcTime","useRecentSecurityActivity","recent","getRecentSecurityActivity"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useSecurityQueries.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"names":["useQuery","queryKeys","useOxy","useSecurityActivity","options","oxyServices","activeSessionId","queryKey","security","activity","limit","offset","eventType","queryFn","Error","response","getSecurityActivity","enabled","staleTime","gcTime","useRecentSecurityActivity","recent","getRecentSecurityActivity"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useSecurityQueries.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,QAAQ,8BAA8B;AAGrD;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAC9BC,OAKC,IACE;EACH,MAAM;IAAEC,WAAW;IAAEC;EAAgB,CAAC,GAAGJ,MAAM,CAAC,CAAC;EAEjD,OAAOF,QAAQ,CAAC;IACdO,QAAQ,EAAEN,SAAS,CAACO,QAAQ,CAACC,QAAQ,CACnCL,OAAO,EAAEM,KAAK,EACdN,OAAO,EAAEO,MAAM,EACfP,OAAO,EAAEQ,SACX,CAAC;IACDC,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,IAAI,CAACP,eAAe,EAAE;QACpB,MAAM,IAAIQ,KAAK,CAAC,mBAAmB,CAAC;MACtC;MAEA,MAAMC,QAAQ,GAAG,MAAMV,WAAW,CAACW,mBAAmB,CACpDZ,OAAO,EAAEM,KAAK,EACdN,OAAO,EAAEO,MAAM,EACfP,OAAO,EAAEQ,SACX,CAAC;MAED,OAAOG,QAAQ;IACjB,CAAC;IACDE,OAAO,EAAGb,OAAO,EAAEa,OAAO,KAAK,KAAK,IAAK,CAAC,CAACX,eAAe;IAC1DY,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAAE;IAC1BC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAE;EAC1B,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,GAAGA,CAACV,KAAa,GAAG,EAAE,KAAK;EAC/D,MAAM;IAAEL,WAAW;IAAEC;EAAgB,CAAC,GAAGJ,MAAM,CAAC,CAAC;EAEjD,OAAOF,QAAQ,CAAqB;IAClCO,QAAQ,EAAEN,SAAS,CAACO,QAAQ,CAACa,MAAM,CAACX,KAAK,CAAC;IAC1CG,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,IAAI,CAACP,eAAe,EAAE;QACpB,MAAM,IAAIQ,KAAK,CAAC,mBAAmB,CAAC;MACtC;MAEA,OAAO,MAAMT,WAAW,CAACiB,yBAAyB,CAACZ,KAAK,CAAC;IAC3D,CAAC;IACDO,OAAO,EAAE,CAAC,CAACX,eAAe;IAC1BY,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAAE;IAC1BC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAE;EAC1B,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useQuery } from '@tanstack/react-query';
|
|
4
4
|
import { queryKeys } from './queryKeys';
|
|
5
|
-
import { useOxy } from '../../context/
|
|
5
|
+
import { useOxy } from '../../context/OxyContextBase';
|
|
6
6
|
import { fetchSessionsWithFallback, mapSessionsToClient } from '../../utils/sessionHelpers';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useQuery","queryKeys","useOxy","fetchSessionsWithFallback","mapSessionsToClient","useSessions","userId","options","oxyServices","activeSessionId","queryKey","sessions","list","queryFn","Error","fallbackDeviceId","undefined","fallbackUserId","enabled","staleTime","gcTime","useSession","sessionId","detail","validation","validateSession","useHeaderValidation","valid","user","now","Date","deviceId","expiresAt","getTime","toISOString","lastActive","lastActivity","id","toString","isCurrent","useDeviceSessions","active","getDeviceSessions","useUserDevices","isAuthenticated","syncIdentity","find","s","devices","hasValidToken","getTokenBySession","tokenError","errorMessage","message","String","includes","syncError","getUserDevices","error","status","response","retryError","useSecurityInfo","all","getSecurityInfo"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useServicesQueries.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAEhD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"names":["useQuery","queryKeys","useOxy","fetchSessionsWithFallback","mapSessionsToClient","useSessions","userId","options","oxyServices","activeSessionId","queryKey","sessions","list","queryFn","Error","fallbackDeviceId","undefined","fallbackUserId","enabled","staleTime","gcTime","useSession","sessionId","detail","validation","validateSession","useHeaderValidation","valid","user","now","Date","deviceId","expiresAt","getTime","toISOString","lastActive","lastActivity","id","toString","isCurrent","useDeviceSessions","active","getDeviceSessions","useUserDevices","isAuthenticated","syncIdentity","find","s","devices","hasValidToken","getTokenBySession","tokenError","errorMessage","message","String","includes","syncError","getUserDevices","error","status","response","retryError","useSecurityInfo","all","getSecurityInfo"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/useServicesQueries.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAK7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D;;;;;GAKG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAK7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D;;;;;GAKG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA6GrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,99 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
import type { User, ApiError } from '../../models/interfaces';
|
|
5
|
-
import type { ClientSession } from '../../models/session';
|
|
6
|
-
import type { UseFollowHook } from '../hooks/useFollow.types';
|
|
7
|
-
import { useLanguageManagement } from '../hooks/useLanguageManagement';
|
|
8
|
-
import type { RouteName } from '../navigation/routes';
|
|
9
|
-
import { type BackupData } from '../../crypto';
|
|
10
|
-
export interface OxyContextState {
|
|
11
|
-
user: User | null;
|
|
12
|
-
sessions: ClientSession[];
|
|
13
|
-
activeSessionId: string | null;
|
|
14
|
-
currentDeviceId: string | null;
|
|
15
|
-
isAuthenticated: boolean;
|
|
16
|
-
isLoading: boolean;
|
|
17
|
-
isTokenReady: boolean;
|
|
18
|
-
isStorageReady: boolean;
|
|
19
|
-
error: string | null;
|
|
20
|
-
currentLanguage: string;
|
|
21
|
-
currentLanguageMetadata: ReturnType<typeof useLanguageManagement>['metadata'];
|
|
22
|
-
currentLanguageName: string;
|
|
23
|
-
currentNativeLanguageName: string;
|
|
24
|
-
createIdentity: () => Promise<{
|
|
25
|
-
synced: boolean;
|
|
26
|
-
}>;
|
|
27
|
-
importIdentity: (backupData: BackupData, password: string) => Promise<{
|
|
28
|
-
synced: boolean;
|
|
29
|
-
}>;
|
|
30
|
-
signIn: (deviceName?: string) => Promise<User>;
|
|
31
|
-
hasIdentity: () => Promise<boolean>;
|
|
32
|
-
getPublicKey: () => Promise<string | null>;
|
|
33
|
-
isIdentitySynced: () => Promise<boolean>;
|
|
34
|
-
syncIdentity: () => Promise<User>;
|
|
35
|
-
deleteIdentityAndClearAccount: (skipBackup?: boolean, force?: boolean, userConfirmed?: boolean) => Promise<void>;
|
|
36
|
-
storeTransferCode: (transferId: string, code: string, sourceDeviceId: string | null, publicKey: string) => Promise<void>;
|
|
37
|
-
getTransferCode: (transferId: string) => {
|
|
38
|
-
code: string;
|
|
39
|
-
sourceDeviceId: string | null;
|
|
40
|
-
publicKey: string;
|
|
41
|
-
timestamp: number;
|
|
42
|
-
state: 'pending' | 'completed' | 'failed';
|
|
43
|
-
} | null;
|
|
44
|
-
clearTransferCode: (transferId: string) => Promise<void>;
|
|
45
|
-
getAllPendingTransfers: () => Array<{
|
|
46
|
-
transferId: string;
|
|
47
|
-
data: {
|
|
48
|
-
code: string;
|
|
49
|
-
sourceDeviceId: string | null;
|
|
50
|
-
publicKey: string;
|
|
51
|
-
timestamp: number;
|
|
52
|
-
state: 'pending' | 'completed' | 'failed';
|
|
53
|
-
};
|
|
54
|
-
}>;
|
|
55
|
-
getActiveTransferId: () => string | null;
|
|
56
|
-
updateTransferState: (transferId: string, state: 'pending' | 'completed' | 'failed') => Promise<void>;
|
|
57
|
-
identitySyncState: {
|
|
58
|
-
isSynced: boolean;
|
|
59
|
-
isSyncing: boolean;
|
|
60
|
-
};
|
|
61
|
-
logout: (targetSessionId?: string) => Promise<void>;
|
|
62
|
-
logoutAll: () => Promise<void>;
|
|
63
|
-
switchSession: (sessionId: string) => Promise<void>;
|
|
64
|
-
removeSession: (sessionId: string) => Promise<void>;
|
|
65
|
-
refreshSessions: () => Promise<void>;
|
|
66
|
-
setLanguage: (languageId: string) => Promise<void>;
|
|
67
|
-
getDeviceSessions: () => Promise<Array<{
|
|
68
|
-
sessionId: string;
|
|
69
|
-
deviceId: string;
|
|
70
|
-
deviceName?: string;
|
|
71
|
-
lastActive?: string;
|
|
72
|
-
expiresAt?: string;
|
|
73
|
-
}>>;
|
|
74
|
-
logoutAllDeviceSessions: () => Promise<void>;
|
|
75
|
-
updateDeviceName: (deviceName: string) => Promise<void>;
|
|
76
|
-
clearSessionState: () => Promise<void>;
|
|
77
|
-
clearAllAccountData: () => Promise<void>;
|
|
78
|
-
oxyServices: OxyServices;
|
|
79
|
-
useFollow?: UseFollowHook;
|
|
80
|
-
showBottomSheet?: (screenOrConfig: RouteName | {
|
|
81
|
-
screen: RouteName;
|
|
82
|
-
props?: Record<string, unknown>;
|
|
83
|
-
}) => void;
|
|
84
|
-
openAvatarPicker: () => void;
|
|
85
|
-
}
|
|
86
|
-
declare const OxyContext: React.Context<OxyContextState | null>;
|
|
87
|
-
export interface OxyContextProviderProps {
|
|
88
|
-
children: ReactNode;
|
|
89
|
-
oxyServices?: OxyServices;
|
|
90
|
-
baseURL?: string;
|
|
91
|
-
storageKeyPrefix?: string;
|
|
92
|
-
onAuthStateChange?: (user: User | null) => void;
|
|
93
|
-
onError?: (error: ApiError) => void;
|
|
94
|
-
}
|
|
2
|
+
import { OxyContext, useOxy, type OxyContextState, type OxyContextProviderProps } from './OxyContextBase';
|
|
3
|
+
export { OxyContext, useOxy, type OxyContextState, type OxyContextProviderProps };
|
|
95
4
|
export declare const OxyProvider: React.FC<OxyContextProviderProps>;
|
|
96
5
|
export declare const OxyContextProvider: React.FC<OxyContextProviderProps>;
|
|
97
|
-
export declare const useOxy: () => OxyContextState;
|
|
98
6
|
export default OxyContext;
|
|
99
7
|
//# sourceMappingURL=OxyContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoC/B,OAAO,EACL,UAAU,EACV,MAAM,EACN,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,uBAAuB,EAAE,CAAC;AAgClF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmjCzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,mCAAc,CAAC;AAE9C,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { OxyServices } from '../../core';
|
|
3
|
+
import type { User, ApiError } from '../../models/interfaces';
|
|
4
|
+
import type { ClientSession } from '../../models/session';
|
|
5
|
+
import type { UseFollowHook } from '../hooks/useFollow.types';
|
|
6
|
+
import type { useLanguageManagement } from '../hooks/useLanguageManagement';
|
|
7
|
+
import type { RouteName } from '../navigation/routes';
|
|
8
|
+
import type { BackupData } from '../../crypto';
|
|
9
|
+
export interface OxyContextState {
|
|
10
|
+
user: User | null;
|
|
11
|
+
sessions: ClientSession[];
|
|
12
|
+
activeSessionId: string | null;
|
|
13
|
+
currentDeviceId: string | null;
|
|
14
|
+
isAuthenticated: boolean;
|
|
15
|
+
isLoading: boolean;
|
|
16
|
+
isTokenReady: boolean;
|
|
17
|
+
isStorageReady: boolean;
|
|
18
|
+
error: string | null;
|
|
19
|
+
currentLanguage: string;
|
|
20
|
+
currentLanguageMetadata: ReturnType<typeof useLanguageManagement>['metadata'];
|
|
21
|
+
currentLanguageName: string;
|
|
22
|
+
currentNativeLanguageName: string;
|
|
23
|
+
createIdentity: () => Promise<{
|
|
24
|
+
synced: boolean;
|
|
25
|
+
}>;
|
|
26
|
+
importIdentity: (backupData: BackupData, password: string) => Promise<{
|
|
27
|
+
synced: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
signIn: (deviceName?: string) => Promise<User>;
|
|
30
|
+
hasIdentity: () => Promise<boolean>;
|
|
31
|
+
getPublicKey: () => Promise<string | null>;
|
|
32
|
+
isIdentitySynced: () => Promise<boolean>;
|
|
33
|
+
syncIdentity: () => Promise<User>;
|
|
34
|
+
deleteIdentityAndClearAccount: (skipBackup?: boolean, force?: boolean, userConfirmed?: boolean) => Promise<void>;
|
|
35
|
+
storeTransferCode: (transferId: string, code: string, sourceDeviceId: string | null, publicKey: string) => Promise<void>;
|
|
36
|
+
getTransferCode: (transferId: string) => {
|
|
37
|
+
code: string;
|
|
38
|
+
sourceDeviceId: string | null;
|
|
39
|
+
publicKey: string;
|
|
40
|
+
timestamp: number;
|
|
41
|
+
state: 'pending' | 'completed' | 'failed';
|
|
42
|
+
} | null;
|
|
43
|
+
clearTransferCode: (transferId: string) => Promise<void>;
|
|
44
|
+
getAllPendingTransfers: () => Array<{
|
|
45
|
+
transferId: string;
|
|
46
|
+
data: {
|
|
47
|
+
code: string;
|
|
48
|
+
sourceDeviceId: string | null;
|
|
49
|
+
publicKey: string;
|
|
50
|
+
timestamp: number;
|
|
51
|
+
state: 'pending' | 'completed' | 'failed';
|
|
52
|
+
};
|
|
53
|
+
}>;
|
|
54
|
+
getActiveTransferId: () => string | null;
|
|
55
|
+
updateTransferState: (transferId: string, state: 'pending' | 'completed' | 'failed') => Promise<void>;
|
|
56
|
+
identitySyncState: {
|
|
57
|
+
isSynced: boolean;
|
|
58
|
+
isSyncing: boolean;
|
|
59
|
+
};
|
|
60
|
+
logout: (targetSessionId?: string) => Promise<void>;
|
|
61
|
+
logoutAll: () => Promise<void>;
|
|
62
|
+
switchSession: (sessionId: string) => Promise<void>;
|
|
63
|
+
removeSession: (sessionId: string) => Promise<void>;
|
|
64
|
+
refreshSessions: () => Promise<void>;
|
|
65
|
+
setLanguage: (languageId: string) => Promise<void>;
|
|
66
|
+
getDeviceSessions: () => Promise<Array<{
|
|
67
|
+
sessionId: string;
|
|
68
|
+
deviceId: string;
|
|
69
|
+
deviceName?: string;
|
|
70
|
+
lastActive?: string;
|
|
71
|
+
expiresAt?: string;
|
|
72
|
+
}>>;
|
|
73
|
+
logoutAllDeviceSessions: () => Promise<void>;
|
|
74
|
+
updateDeviceName: (deviceName: string) => Promise<void>;
|
|
75
|
+
clearSessionState: () => Promise<void>;
|
|
76
|
+
clearAllAccountData: () => Promise<void>;
|
|
77
|
+
oxyServices: OxyServices;
|
|
78
|
+
useFollow?: UseFollowHook;
|
|
79
|
+
showBottomSheet?: (screenOrConfig: RouteName | {
|
|
80
|
+
screen: RouteName;
|
|
81
|
+
props?: Record<string, unknown>;
|
|
82
|
+
}) => void;
|
|
83
|
+
openAvatarPicker: () => void;
|
|
84
|
+
}
|
|
85
|
+
export declare const OxyContext: import("react").Context<OxyContextState | null>;
|
|
86
|
+
export interface OxyContextProviderProps {
|
|
87
|
+
children: ReactNode;
|
|
88
|
+
oxyServices?: OxyServices;
|
|
89
|
+
baseURL?: string;
|
|
90
|
+
storageKeyPrefix?: string;
|
|
91
|
+
onAuthStateChange?: (user: User | null) => void;
|
|
92
|
+
onError?: (error: ApiError) => void;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Hook to access the Oxy context.
|
|
96
|
+
* Must be used within an OxyContextProvider.
|
|
97
|
+
*/
|
|
98
|
+
export declare const useOxy: () => OxyContextState;
|
|
99
|
+
//# sourceMappingURL=OxyContextBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OxyContextBase.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContextBase.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "5.17.
|
|
3
|
+
"version": "5.17.4",
|
|
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",
|
|
@@ -35,21 +35,18 @@ const OxyProvider: FC<OxyProviderProps> = ({
|
|
|
35
35
|
|
|
36
36
|
// Initialize React Query Client (in-memory; persistence handled separately if needed)
|
|
37
37
|
const queryClientRef = useRef<ReturnType<typeof createQueryClient> | null>(null);
|
|
38
|
-
const [queryClient, setQueryClient] = useState<ReturnType<typeof createQueryClient
|
|
38
|
+
const [queryClient, setQueryClient] = useState<ReturnType<typeof createQueryClient>>(
|
|
39
|
+
() => providedQueryClient ?? createQueryClient(),
|
|
40
|
+
);
|
|
39
41
|
|
|
40
42
|
useEffect(() => {
|
|
41
|
-
if (providedQueryClient) {
|
|
43
|
+
if (providedQueryClient && queryClientRef.current !== providedQueryClient) {
|
|
42
44
|
queryClientRef.current = providedQueryClient;
|
|
43
45
|
setQueryClient(providedQueryClient);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (!queryClientRef.current) {
|
|
48
|
-
const client = createQueryClient();
|
|
49
|
-
queryClientRef.current = client;
|
|
50
|
-
setQueryClient(client);
|
|
46
|
+
} else if (!queryClientRef.current) {
|
|
47
|
+
queryClientRef.current = queryClient;
|
|
51
48
|
}
|
|
52
|
-
}, [providedQueryClient]);
|
|
49
|
+
}, [providedQueryClient, queryClient]);
|
|
53
50
|
|
|
54
51
|
// Hook React Query focus manager into React Native AppState
|
|
55
52
|
useEffect(() => {
|
|
@@ -110,9 +107,6 @@ const OxyProvider: FC<OxyProviderProps> = ({
|
|
|
110
107
|
};
|
|
111
108
|
}, []);
|
|
112
109
|
|
|
113
|
-
// Ensure we have a valid QueryClient
|
|
114
|
-
if (!queryClient) return null;
|
|
115
|
-
|
|
116
110
|
return (
|
|
117
111
|
<SafeAreaProvider>
|
|
118
112
|
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import {
|
|
3
|
-
createContext,
|
|
4
3
|
useCallback,
|
|
5
|
-
useContext,
|
|
6
4
|
useEffect,
|
|
7
5
|
useMemo,
|
|
8
6
|
useRef,
|
|
9
7
|
useState,
|
|
10
|
-
type ReactNode,
|
|
11
8
|
} from 'react';
|
|
12
9
|
import { Platform } from 'react-native';
|
|
13
10
|
import { OxyServices } from '../../core';
|
|
14
|
-
import type { User
|
|
11
|
+
import type { User } from '../../models/interfaces';
|
|
15
12
|
import type { ClientSession } from '../../models/session';
|
|
16
13
|
import { toast } from '../../lib/sonner';
|
|
17
14
|
import { useAuthStore, type AuthState } from '../stores/authStore';
|
|
@@ -27,88 +24,25 @@ import { getStorageKeys } from '../utils/storageHelpers';
|
|
|
27
24
|
import { isInvalidSessionError, isTimeoutOrNetworkError } from '../utils/errorHandlers';
|
|
28
25
|
import type { RouteName } from '../navigation/routes';
|
|
29
26
|
import { showBottomSheet as globalShowBottomSheet } from '../navigation/bottomSheetManager';
|
|
30
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
31
|
-
import { useCurrentUser } from '../hooks/queries';
|
|
27
|
+
import { useQueryClient, useQuery } from '@tanstack/react-query';
|
|
32
28
|
import { clearQueryCache } from '../hooks/queryClient';
|
|
29
|
+
import { queryKeys } from '../hooks/queries/queryKeys';
|
|
33
30
|
import { KeyManager, type BackupData } from '../../crypto';
|
|
34
31
|
import { translate } from '../../i18n';
|
|
35
32
|
import { updateAvatarVisibility, updateProfileWithAvatar } from '../utils/avatarUtils';
|
|
36
33
|
import { useAccountStore } from '../stores/accountStore';
|
|
37
34
|
import { logger as loggerUtil } from '../../utils/loggerUtils';
|
|
38
35
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
currentLanguage: string;
|
|
50
|
-
currentLanguageMetadata: ReturnType<typeof useLanguageManagement>['metadata'];
|
|
51
|
-
currentLanguageName: string;
|
|
52
|
-
currentNativeLanguageName: string;
|
|
53
|
-
|
|
54
|
-
// Identity management (public key authentication - offline-first)
|
|
55
|
-
createIdentity: () => Promise<{ synced: boolean }>;
|
|
56
|
-
importIdentity: (backupData: BackupData, password: string) => Promise<{ synced: boolean }>;
|
|
57
|
-
signIn: (deviceName?: string) => Promise<User>;
|
|
58
|
-
hasIdentity: () => Promise<boolean>;
|
|
59
|
-
getPublicKey: () => Promise<string | null>;
|
|
60
|
-
isIdentitySynced: () => Promise<boolean>;
|
|
61
|
-
syncIdentity: () => Promise<User>;
|
|
62
|
-
deleteIdentityAndClearAccount: (skipBackup?: boolean, force?: boolean, userConfirmed?: boolean) => Promise<void>;
|
|
63
|
-
storeTransferCode: (transferId: string, code: string, sourceDeviceId: string | null, publicKey: string) => Promise<void>;
|
|
64
|
-
getTransferCode: (transferId: string) => { code: string; sourceDeviceId: string | null; publicKey: string; timestamp: number; state: 'pending' | 'completed' | 'failed' } | null;
|
|
65
|
-
clearTransferCode: (transferId: string) => Promise<void>;
|
|
66
|
-
getAllPendingTransfers: () => Array<{ transferId: string; data: { code: string; sourceDeviceId: string | null; publicKey: string; timestamp: number; state: 'pending' | 'completed' | 'failed' } }>;
|
|
67
|
-
getActiveTransferId: () => string | null;
|
|
68
|
-
updateTransferState: (transferId: string, state: 'pending' | 'completed' | 'failed') => Promise<void>;
|
|
69
|
-
|
|
70
|
-
// Identity sync state (reactive, from Zustand store)
|
|
71
|
-
identitySyncState: {
|
|
72
|
-
isSynced: boolean;
|
|
73
|
-
isSyncing: boolean;
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
// Session management
|
|
77
|
-
logout: (targetSessionId?: string) => Promise<void>;
|
|
78
|
-
logoutAll: () => Promise<void>;
|
|
79
|
-
switchSession: (sessionId: string) => Promise<void>;
|
|
80
|
-
removeSession: (sessionId: string) => Promise<void>;
|
|
81
|
-
refreshSessions: () => Promise<void>;
|
|
82
|
-
setLanguage: (languageId: string) => Promise<void>;
|
|
83
|
-
getDeviceSessions: () => Promise<
|
|
84
|
-
Array<{
|
|
85
|
-
sessionId: string;
|
|
86
|
-
deviceId: string;
|
|
87
|
-
deviceName?: string;
|
|
88
|
-
lastActive?: string;
|
|
89
|
-
expiresAt?: string;
|
|
90
|
-
}>
|
|
91
|
-
>;
|
|
92
|
-
logoutAllDeviceSessions: () => Promise<void>;
|
|
93
|
-
updateDeviceName: (deviceName: string) => Promise<void>;
|
|
94
|
-
clearSessionState: () => Promise<void>;
|
|
95
|
-
clearAllAccountData: () => Promise<void>;
|
|
96
|
-
oxyServices: OxyServices;
|
|
97
|
-
useFollow?: UseFollowHook;
|
|
98
|
-
showBottomSheet?: (screenOrConfig: RouteName | { screen: RouteName; props?: Record<string, unknown> }) => void;
|
|
99
|
-
openAvatarPicker: () => void;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const OxyContext = createContext<OxyContextState | null>(null);
|
|
103
|
-
|
|
104
|
-
export interface OxyContextProviderProps {
|
|
105
|
-
children: ReactNode;
|
|
106
|
-
oxyServices?: OxyServices;
|
|
107
|
-
baseURL?: string;
|
|
108
|
-
storageKeyPrefix?: string;
|
|
109
|
-
onAuthStateChange?: (user: User | null) => void;
|
|
110
|
-
onError?: (error: ApiError) => void;
|
|
111
|
-
}
|
|
36
|
+
// Import context, types and useOxy from base file to avoid circular dependencies
|
|
37
|
+
import {
|
|
38
|
+
OxyContext,
|
|
39
|
+
useOxy,
|
|
40
|
+
type OxyContextState,
|
|
41
|
+
type OxyContextProviderProps,
|
|
42
|
+
} from './OxyContextBase';
|
|
43
|
+
|
|
44
|
+
// Re-export for backwards compatibility
|
|
45
|
+
export { OxyContext, useOxy, type OxyContextState, type OxyContextProviderProps };
|
|
112
46
|
|
|
113
47
|
let cachedUseFollowHook: UseFollowHook | null = null;
|
|
114
48
|
|
|
@@ -297,7 +231,20 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
297
231
|
|
|
298
232
|
// Get current user from query (no persistent cache - always fetch fresh)
|
|
299
233
|
// Services never caches profile - always fetch from backend
|
|
300
|
-
|
|
234
|
+
// Note: We use useQuery directly here instead of useCurrentUser to avoid
|
|
235
|
+
// circular dependency (useCurrentUser calls useOxy, but we're inside the provider)
|
|
236
|
+
const { data: userData } = useQuery({
|
|
237
|
+
queryKey: queryKeys.accounts.current(),
|
|
238
|
+
queryFn: async () => {
|
|
239
|
+
if (!activeSessionId) {
|
|
240
|
+
throw new Error('No active session');
|
|
241
|
+
}
|
|
242
|
+
return await oxyServices.getUserBySession(activeSessionId);
|
|
243
|
+
},
|
|
244
|
+
enabled: isAuthenticated && !!activeSessionId,
|
|
245
|
+
staleTime: 0, // Always fetch fresh - Services never caches profile
|
|
246
|
+
gcTime: 0, // No garbage collection time - always fetch fresh
|
|
247
|
+
});
|
|
301
248
|
const user = userData ?? null;
|
|
302
249
|
|
|
303
250
|
const {
|
|
@@ -1206,12 +1153,4 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
1206
1153
|
|
|
1207
1154
|
export const OxyContextProvider = OxyProvider;
|
|
1208
1155
|
|
|
1209
|
-
export const useOxy = (): OxyContextState => {
|
|
1210
|
-
const context = useContext(OxyContext);
|
|
1211
|
-
if (!context) {
|
|
1212
|
-
throw new Error('useOxy must be used within an OxyContextProvider');
|
|
1213
|
-
}
|
|
1214
|
-
return context;
|
|
1215
|
-
};
|
|
1216
|
-
|
|
1217
1156
|
export default OxyContext;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { OxyServices } from '../../core';
|
|
4
|
+
import type { User, ApiError } from '../../models/interfaces';
|
|
5
|
+
import type { ClientSession } from '../../models/session';
|
|
6
|
+
import type { UseFollowHook } from '../hooks/useFollow.types';
|
|
7
|
+
import type { useLanguageManagement } from '../hooks/useLanguageManagement';
|
|
8
|
+
import type { RouteName } from '../navigation/routes';
|
|
9
|
+
import type { BackupData } from '../../crypto';
|
|
10
|
+
|
|
11
|
+
export interface OxyContextState {
|
|
12
|
+
user: User | null;
|
|
13
|
+
sessions: ClientSession[];
|
|
14
|
+
activeSessionId: string | null;
|
|
15
|
+
currentDeviceId: string | null;
|
|
16
|
+
isAuthenticated: boolean;
|
|
17
|
+
isLoading: boolean;
|
|
18
|
+
isTokenReady: boolean;
|
|
19
|
+
isStorageReady: boolean;
|
|
20
|
+
error: string | null;
|
|
21
|
+
currentLanguage: string;
|
|
22
|
+
currentLanguageMetadata: ReturnType<typeof useLanguageManagement>['metadata'];
|
|
23
|
+
currentLanguageName: string;
|
|
24
|
+
currentNativeLanguageName: string;
|
|
25
|
+
|
|
26
|
+
// Identity management (public key authentication - offline-first)
|
|
27
|
+
createIdentity: () => Promise<{ synced: boolean }>;
|
|
28
|
+
importIdentity: (backupData: BackupData, password: string) => Promise<{ synced: boolean }>;
|
|
29
|
+
signIn: (deviceName?: string) => Promise<User>;
|
|
30
|
+
hasIdentity: () => Promise<boolean>;
|
|
31
|
+
getPublicKey: () => Promise<string | null>;
|
|
32
|
+
isIdentitySynced: () => Promise<boolean>;
|
|
33
|
+
syncIdentity: () => Promise<User>;
|
|
34
|
+
deleteIdentityAndClearAccount: (skipBackup?: boolean, force?: boolean, userConfirmed?: boolean) => Promise<void>;
|
|
35
|
+
storeTransferCode: (transferId: string, code: string, sourceDeviceId: string | null, publicKey: string) => Promise<void>;
|
|
36
|
+
getTransferCode: (transferId: string) => { code: string; sourceDeviceId: string | null; publicKey: string; timestamp: number; state: 'pending' | 'completed' | 'failed' } | null;
|
|
37
|
+
clearTransferCode: (transferId: string) => Promise<void>;
|
|
38
|
+
getAllPendingTransfers: () => Array<{ transferId: string; data: { code: string; sourceDeviceId: string | null; publicKey: string; timestamp: number; state: 'pending' | 'completed' | 'failed' } }>;
|
|
39
|
+
getActiveTransferId: () => string | null;
|
|
40
|
+
updateTransferState: (transferId: string, state: 'pending' | 'completed' | 'failed') => Promise<void>;
|
|
41
|
+
|
|
42
|
+
// Identity sync state (reactive, from Zustand store)
|
|
43
|
+
identitySyncState: {
|
|
44
|
+
isSynced: boolean;
|
|
45
|
+
isSyncing: boolean;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Session management
|
|
49
|
+
logout: (targetSessionId?: string) => Promise<void>;
|
|
50
|
+
logoutAll: () => Promise<void>;
|
|
51
|
+
switchSession: (sessionId: string) => Promise<void>;
|
|
52
|
+
removeSession: (sessionId: string) => Promise<void>;
|
|
53
|
+
refreshSessions: () => Promise<void>;
|
|
54
|
+
setLanguage: (languageId: string) => Promise<void>;
|
|
55
|
+
getDeviceSessions: () => Promise<
|
|
56
|
+
Array<{
|
|
57
|
+
sessionId: string;
|
|
58
|
+
deviceId: string;
|
|
59
|
+
deviceName?: string;
|
|
60
|
+
lastActive?: string;
|
|
61
|
+
expiresAt?: string;
|
|
62
|
+
}>
|
|
63
|
+
>;
|
|
64
|
+
logoutAllDeviceSessions: () => Promise<void>;
|
|
65
|
+
updateDeviceName: (deviceName: string) => Promise<void>;
|
|
66
|
+
clearSessionState: () => Promise<void>;
|
|
67
|
+
clearAllAccountData: () => Promise<void>;
|
|
68
|
+
oxyServices: OxyServices;
|
|
69
|
+
useFollow?: UseFollowHook;
|
|
70
|
+
showBottomSheet?: (screenOrConfig: RouteName | { screen: RouteName; props?: Record<string, unknown> }) => void;
|
|
71
|
+
openAvatarPicker: () => void;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export const OxyContext = createContext<OxyContextState | null>(null);
|
|
75
|
+
|
|
76
|
+
export interface OxyContextProviderProps {
|
|
77
|
+
children: ReactNode;
|
|
78
|
+
oxyServices?: OxyServices;
|
|
79
|
+
baseURL?: string;
|
|
80
|
+
storageKeyPrefix?: string;
|
|
81
|
+
onAuthStateChange?: (user: User | null) => void;
|
|
82
|
+
onError?: (error: ApiError) => void;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Hook to access the Oxy context.
|
|
87
|
+
* Must be used within an OxyContextProvider.
|
|
88
|
+
*/
|
|
89
|
+
export const useOxy = (): OxyContextState => {
|
|
90
|
+
const context = useContext(OxyContext);
|
|
91
|
+
if (!context) {
|
|
92
|
+
throw new Error('useOxy must be used within an OxyContextProvider');
|
|
93
|
+
}
|
|
94
|
+
return context;
|
|
95
|
+
};
|