@datalayer/core 0.0.14 → 0.0.15
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/components/checkout/StripeCheckout.js +19 -23
- package/lib/components/context/OrganizationSelect.js +12 -15
- package/lib/components/context/SpaceSelect.js +24 -25
- package/lib/hooks/useAuthorization.js +4 -2
- package/lib/hooks/useCache.d.ts +932 -285
- package/lib/hooks/useCache.js +5736 -2767
- package/lib/hooks/useCache0.d.ts +312 -0
- package/lib/hooks/useCache0.js +3189 -0
- package/lib/hooks/useIAM.js +18 -17
- package/lib/models/Runtime.d.ts +49 -49
- package/package.json +1 -1
package/lib/hooks/useIAM.js
CHANGED
|
@@ -14,7 +14,9 @@ export const useIAM = (props = { user: undefined, token: undefined }) => {
|
|
|
14
14
|
const layoutStore = useLayoutStore();
|
|
15
15
|
const organizationStore = useOrganizationStore();
|
|
16
16
|
const spaceStore = useSpaceStore();
|
|
17
|
-
const {
|
|
17
|
+
const { useWhoami, useLogout } = useCache();
|
|
18
|
+
const { data: whoamiData } = useWhoami();
|
|
19
|
+
const logoutMutation = useLogout();
|
|
18
20
|
const loginAndNavigate = async (token, logout, refresh, navigate, homeRoute) => {
|
|
19
21
|
try {
|
|
20
22
|
const resp = await requestDatalayerAPI({
|
|
@@ -60,27 +62,26 @@ export const useIAM = (props = { user: undefined, token: undefined }) => {
|
|
|
60
62
|
layoutStore.reset();
|
|
61
63
|
organizationStore.updateOrganizations([]);
|
|
62
64
|
spaceStore.updateSpaces([]);
|
|
63
|
-
|
|
65
|
+
// Call TanStack Query logout mutation which will clear all caches
|
|
66
|
+
logoutMutation.mutate();
|
|
64
67
|
setIAMState({ user: ANONYMOUS_USER, token: ANONYMOUS_USER_TOKEN });
|
|
65
68
|
};
|
|
66
69
|
useEffect(() => {
|
|
67
|
-
if (token) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
79
|
-
}
|
|
70
|
+
if (token && whoamiData) {
|
|
71
|
+
if (whoamiData.success) {
|
|
72
|
+
const user = asUser(whoamiData.profile);
|
|
73
|
+
setIAMState({ user, token });
|
|
74
|
+
iamStore.setLogin(user, token);
|
|
75
|
+
// TODO centralize user settings management.
|
|
76
|
+
const aiagentsRunUrl = user.settings?.aiAgentsUrl;
|
|
77
|
+
if (aiagentsRunUrl) {
|
|
78
|
+
coreStore.getState().setConfiguration({
|
|
79
|
+
aiagentsRunUrl,
|
|
80
|
+
});
|
|
80
81
|
}
|
|
81
|
-
}
|
|
82
|
+
}
|
|
82
83
|
}
|
|
83
|
-
}, []);
|
|
84
|
+
}, [token, whoamiData, iamStore]);
|
|
84
85
|
return {
|
|
85
86
|
user: iamState.user,
|
|
86
87
|
token: iamState.token,
|
package/lib/models/Runtime.d.ts
CHANGED
|
@@ -21,6 +21,55 @@ export type IRuntimeLocation = 'browser' | 'local' | string;
|
|
|
21
21
|
*/
|
|
22
22
|
export interface IRuntimeModel extends IRuntimePod, Kernel.IModel {
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Runtime pod.
|
|
26
|
+
*/
|
|
27
|
+
export interface IRuntimePod {
|
|
28
|
+
/**
|
|
29
|
+
* Environment display name
|
|
30
|
+
*/
|
|
31
|
+
environment_title: string;
|
|
32
|
+
/**
|
|
33
|
+
* Environment name
|
|
34
|
+
*/
|
|
35
|
+
environment_name: string;
|
|
36
|
+
/**
|
|
37
|
+
* Runtime name
|
|
38
|
+
*/
|
|
39
|
+
pod_name: string;
|
|
40
|
+
/**
|
|
41
|
+
* Runtime ingress URL
|
|
42
|
+
*/
|
|
43
|
+
ingress: string;
|
|
44
|
+
/**
|
|
45
|
+
* Runtime user given name
|
|
46
|
+
*/
|
|
47
|
+
given_name: string;
|
|
48
|
+
/**
|
|
49
|
+
* Runtime type
|
|
50
|
+
*/
|
|
51
|
+
type: IRuntimeType;
|
|
52
|
+
/**
|
|
53
|
+
* Server authentication token
|
|
54
|
+
*/
|
|
55
|
+
token: string;
|
|
56
|
+
/**
|
|
57
|
+
* Credits burning rate per second
|
|
58
|
+
*/
|
|
59
|
+
burning_rate: number;
|
|
60
|
+
/**
|
|
61
|
+
* Kernel reservation ID
|
|
62
|
+
*/
|
|
63
|
+
reservation_id?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Runtime usage starting timestamp
|
|
66
|
+
*/
|
|
67
|
+
started_at: string;
|
|
68
|
+
/**
|
|
69
|
+
* Runtime credits reservation expiration timestamp
|
|
70
|
+
*/
|
|
71
|
+
expired_at?: string;
|
|
72
|
+
}
|
|
24
73
|
/**
|
|
25
74
|
* Runtime description.
|
|
26
75
|
*/
|
|
@@ -72,52 +121,3 @@ export type IRuntimeType = 'notebook' | 'cell';
|
|
|
72
121
|
* Runtime optional capabilities.
|
|
73
122
|
*/
|
|
74
123
|
export type IRuntimeCapabilities = 'user_storage';
|
|
75
|
-
/**
|
|
76
|
-
* Runtime pod.
|
|
77
|
-
*/
|
|
78
|
-
export interface IRuntimePod {
|
|
79
|
-
/**
|
|
80
|
-
* Environment display name
|
|
81
|
-
*/
|
|
82
|
-
environment_title: string;
|
|
83
|
-
/**
|
|
84
|
-
* Environment name
|
|
85
|
-
*/
|
|
86
|
-
environment_name: string;
|
|
87
|
-
/**
|
|
88
|
-
* Runtime name
|
|
89
|
-
*/
|
|
90
|
-
pod_name: string;
|
|
91
|
-
/**
|
|
92
|
-
* Runtime ingress URL
|
|
93
|
-
*/
|
|
94
|
-
ingress: string;
|
|
95
|
-
/**
|
|
96
|
-
* Runtime user given name
|
|
97
|
-
*/
|
|
98
|
-
given_name: string;
|
|
99
|
-
/**
|
|
100
|
-
* Runtime type
|
|
101
|
-
*/
|
|
102
|
-
type: IRuntimeType;
|
|
103
|
-
/**
|
|
104
|
-
* Server authentication token
|
|
105
|
-
*/
|
|
106
|
-
token: string;
|
|
107
|
-
/**
|
|
108
|
-
* Credits burning rate per second
|
|
109
|
-
*/
|
|
110
|
-
burning_rate: number;
|
|
111
|
-
/**
|
|
112
|
-
* Kernel reservation ID
|
|
113
|
-
*/
|
|
114
|
-
reservation_id?: string;
|
|
115
|
-
/**
|
|
116
|
-
* Runtime usage starting timestamp
|
|
117
|
-
*/
|
|
118
|
-
started_at: string;
|
|
119
|
-
/**
|
|
120
|
-
* Runtime credits reservation expiration timestamp
|
|
121
|
-
*/
|
|
122
|
-
expired_at?: string;
|
|
123
|
-
}
|