@forgerock/davinci-client 0.0.0-beta-20250506165419 → 0.0.0-beta-20250616170612
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/dist/src/lib/client.store.d.ts +19 -9
- package/dist/src/lib/client.store.d.ts.map +1 -1
- package/dist/src/lib/client.store.js +78 -78
- package/dist/src/lib/client.store.js.map +1 -1
- package/dist/src/lib/client.store.utils.d.ts +14 -1
- package/dist/src/lib/client.store.utils.d.ts.map +1 -1
- package/dist/src/lib/client.store.utils.js +15 -2
- package/dist/src/lib/client.store.utils.js.map +1 -1
- package/dist/src/lib/client.types.d.ts +3 -1
- package/dist/src/lib/client.types.d.ts.map +1 -1
- package/dist/src/lib/collector.types.d.ts +55 -15
- package/dist/src/lib/collector.types.d.ts.map +1 -1
- package/dist/src/lib/collector.utils.d.ts +5 -3
- package/dist/src/lib/collector.utils.d.ts.map +1 -1
- package/dist/src/lib/collector.utils.js +53 -15
- package/dist/src/lib/collector.utils.js.map +1 -1
- package/dist/src/lib/davinci.api.d.ts +2 -0
- package/dist/src/lib/davinci.api.d.ts.map +1 -1
- package/dist/src/lib/davinci.api.js +29 -16
- package/dist/src/lib/davinci.api.js.map +1 -1
- package/dist/src/lib/davinci.types.d.ts +12 -4
- package/dist/src/lib/davinci.types.d.ts.map +1 -1
- package/dist/src/lib/davinci.utils.d.ts +4 -7
- package/dist/src/lib/davinci.utils.d.ts.map +1 -1
- package/dist/src/lib/davinci.utils.js +14 -31
- package/dist/src/lib/davinci.utils.js.map +1 -1
- package/dist/src/lib/node.reducer.d.ts +4 -4
- package/dist/src/lib/node.reducer.d.ts.map +1 -1
- package/dist/src/lib/node.reducer.js +22 -4
- package/dist/src/lib/node.reducer.js.map +1 -1
- package/dist/src/lib/node.slice.d.ts +25 -7
- package/dist/src/lib/node.slice.d.ts.map +1 -1
- package/dist/src/lib/node.slice.js +39 -9
- package/dist/src/lib/node.slice.js.map +1 -1
- package/dist/src/lib/node.types.d.ts +2 -2
- package/dist/src/lib/node.types.d.ts.map +1 -1
- package/dist/src/types.d.ts +8 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +9 -21
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import RTK slices and api
|
|
3
|
+
*/
|
|
4
|
+
import { CustomLogger, LogLevel } from '@forgerock/sdk-logger';
|
|
1
5
|
import type { ActionTypes, RequestMiddleware } from '@forgerock/sdk-request-middleware';
|
|
2
6
|
/**
|
|
3
7
|
* Import the DaVinciRequest types
|
|
4
8
|
*/
|
|
5
9
|
import type { DaVinciConfig } from './config.types.js';
|
|
6
10
|
import type { DaVinciAction, DaVinciRequest, OutgoingQueryParams, StartOptions } from './davinci.types.js';
|
|
7
|
-
import type { SingleValueCollectors,
|
|
8
|
-
import type { InitFlow, Updater, Validator } from './client.types.js';
|
|
9
|
-
import {
|
|
11
|
+
import type { SingleValueCollectors, MultiSelectCollector, ObjectValueCollectors } from './collector.types.js';
|
|
12
|
+
import type { InitFlow, InternalErrorResponse, NodeStates, Updater, Validator } from './client.types.js';
|
|
13
|
+
import { ContinueNode, StartNode } from './node.types.js';
|
|
10
14
|
/**
|
|
11
15
|
* Create a client function that returns a set of methods
|
|
12
16
|
* to interact with and normalize the DaVinci API.
|
|
@@ -15,9 +19,13 @@ import { NodeStates } from '../types.js';
|
|
|
15
19
|
* @param {ConfigurationOptions} options - the configuration options for the client
|
|
16
20
|
* @returns {Observable} - an observable client for DaVinci flows
|
|
17
21
|
*/
|
|
18
|
-
export declare function davinci<ActionType extends ActionTypes = ActionTypes>({ config, requestMiddleware, }: {
|
|
22
|
+
export declare function davinci<ActionType extends ActionTypes = ActionTypes>({ config, requestMiddleware, logger, }: {
|
|
19
23
|
config: DaVinciConfig;
|
|
20
24
|
requestMiddleware?: RequestMiddleware<ActionType>[];
|
|
25
|
+
logger?: {
|
|
26
|
+
level: LogLevel;
|
|
27
|
+
custom?: CustomLogger;
|
|
28
|
+
};
|
|
21
29
|
}): Promise<{
|
|
22
30
|
subscribe: (listener: () => void) => import("@reduxjs/toolkit").Unsubscribe;
|
|
23
31
|
/**
|
|
@@ -37,7 +45,7 @@ export declare function davinci<ActionType extends ActionTypes = ActionTypes>({
|
|
|
37
45
|
* @param collector IdpCollector
|
|
38
46
|
* @returns {function}
|
|
39
47
|
*/
|
|
40
|
-
externalIdp: (
|
|
48
|
+
externalIdp: () => (() => Promise<void | InternalErrorResponse>);
|
|
41
49
|
/**
|
|
42
50
|
* @method flow - Method for initiating a new flow, different than current flow
|
|
43
51
|
* @param {DaVinciAction} action - the action to initiate the flow
|
|
@@ -54,14 +62,14 @@ export declare function davinci<ActionType extends ActionTypes = ActionTypes>({
|
|
|
54
62
|
* @method: resume - Resume a social login flow when returned to application
|
|
55
63
|
* @returns unknown
|
|
56
64
|
*/
|
|
57
|
-
resume: ({ continueToken }: {
|
|
65
|
+
resume: ({ continueToken, }: {
|
|
58
66
|
continueToken: string;
|
|
59
|
-
}) => Promise<
|
|
67
|
+
}) => Promise<InternalErrorResponse | NodeStates>;
|
|
60
68
|
/**
|
|
61
69
|
* @method start - Method for initiating a DaVinci flow
|
|
62
70
|
* @returns {Promise} - a promise that initiates a DaVinci flow and returns a node
|
|
63
71
|
*/
|
|
64
|
-
start: <QueryParams extends OutgoingQueryParams = OutgoingQueryParams>(options?: StartOptions<QueryParams> | undefined) => Promise<
|
|
72
|
+
start: <QueryParams extends OutgoingQueryParams = OutgoingQueryParams>(options?: StartOptions<QueryParams> | undefined) => Promise<ContinueNode | import("./node.types.js").ErrorNode | import("./node.types.js").FailureNode | StartNode | import("./node.types.js").SuccessNode>;
|
|
65
73
|
/**
|
|
66
74
|
* @method update - Exclusive method for updating the current node with user provided values
|
|
67
75
|
* @param {SingleValueCollector} collector - the collector to update
|
|
@@ -113,7 +121,7 @@ export declare function davinci<ActionType extends ActionTypes = ActionTypes>({
|
|
|
113
121
|
* @method node - Selector to get the node from state
|
|
114
122
|
* @returns {Node} - the current node from state
|
|
115
123
|
*/
|
|
116
|
-
getNode: () =>
|
|
124
|
+
getNode: () => ContinueNode | import("./node.types.js").ErrorNode | import("./node.types.js").FailureNode | StartNode | import("./node.types.js").SuccessNode;
|
|
117
125
|
/**
|
|
118
126
|
* @method server - Selector to get the node.server from state
|
|
119
127
|
* @returns {Node.server} - the server property from the current node
|
|
@@ -162,6 +170,7 @@ export declare function davinci<ActionType extends ActionTypes = ActionTypes>({
|
|
|
162
170
|
next: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", any>;
|
|
163
171
|
start: import("@reduxjs/toolkit/query").MutationDefinition<StartOptions<OutgoingQueryParams> | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
164
172
|
resume: import("@reduxjs/toolkit/query").QueryDefinition<{
|
|
173
|
+
serverInfo: ContinueNode["server"];
|
|
165
174
|
continueToken: string;
|
|
166
175
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
167
176
|
}, never, "davinci">) => ({
|
|
@@ -252,6 +261,7 @@ export declare function davinci<ActionType extends ActionTypes = ActionTypes>({
|
|
|
252
261
|
next: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", any>;
|
|
253
262
|
start: import("@reduxjs/toolkit/query").MutationDefinition<StartOptions<OutgoingQueryParams> | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
254
263
|
resume: import("@reduxjs/toolkit/query").QueryDefinition<{
|
|
264
|
+
serverInfo: ContinueNode["server"];
|
|
255
265
|
continueToken: string;
|
|
256
266
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
257
267
|
}, never, "davinci">) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.store.d.ts","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.store.d.ts","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAsB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASnF,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACxF;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,UAAU,SAAS,WAAW,GAAG,WAAW,EAAE,EAC1E,MAAM,EACN,iBAAiB,EACjB,MAAM,GACP,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;IACpD,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;CACH;;IAqCG;;;;;;;;;;;;;;;;OAgBG;uBACc,CAAC,MAAM,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC;IAoB9D;;;;OAIG;mBACY,aAAa,KAAG,QAAQ;IAkBvC;;;;OAIG;kBACiB,cAAc,KAAG,OAAO,CAAC,UAAU,CAAC;IAkBxD;;;OAGG;iCAGA;QACD,aAAa,EAAE,MAAM,CAAC;KACvB,KAAG,OAAO,CAAC,qBAAqB,GAAG,UAAU,CAAC;IAwB/C;;;OAGG;YACW,WAAW,SAAS,mBAAmB,kCACzC,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS;IAMjD;;;;OAIG;wBAEU,qBAAqB,GAAG,oBAAoB,GAAG,qBAAqB,KAC9E,OAAO;IAkDV;;;;;OAKG;0BACmB,qBAAqB,KAAG,SAAS;IA0CvD;;;OAGG;;;;;;;;;;;;;;;;;;;gBArPwE,CAAC;iBACxE,CAAC;;;;IAuPL;;;OAGG;;;;IAgCH;;;OAGG;;IAKH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAgB8B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAc1C"}
|
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Import RTK slices and api
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { logger as loggerFn } from '@forgerock/sdk-logger';
|
|
11
|
+
import { createStorage } from '@forgerock/storage';
|
|
12
|
+
import { createClientStore, handleUpdateValidateError } from './client.store.utils.js';
|
|
11
13
|
import { nodeSlice } from './node.slice.js';
|
|
12
14
|
import { davinciApi } from './davinci.api.js';
|
|
13
15
|
import { configSlice } from './config.slice.js';
|
|
14
16
|
import { wellknownApi } from './wellknown.api.js';
|
|
15
17
|
import { returnValidator } from './collector.utils.js';
|
|
16
|
-
import { authorize } from './davinci.utils.js';
|
|
17
18
|
/**
|
|
18
19
|
* Create a client function that returns a set of methods
|
|
19
20
|
* to interact with and normalize the DaVinci API.
|
|
@@ -22,17 +23,25 @@ import { authorize } from './davinci.utils.js';
|
|
|
22
23
|
* @param {ConfigurationOptions} options - the configuration options for the client
|
|
23
24
|
* @returns {Observable} - an observable client for DaVinci flows
|
|
24
25
|
*/
|
|
25
|
-
export async function davinci({ config, requestMiddleware, }) {
|
|
26
|
-
const
|
|
26
|
+
export async function davinci({ config, requestMiddleware, logger, }) {
|
|
27
|
+
const log = loggerFn({ level: logger?.level || 'error', custom: logger?.custom });
|
|
28
|
+
const store = createClientStore({ requestMiddleware, logger: log });
|
|
29
|
+
const serverInfo = createStorage({ storeType: 'localStorage' }, 'serverInfo');
|
|
27
30
|
if (!config.serverConfig.wellknown) {
|
|
28
|
-
|
|
31
|
+
const error = new Error('`wellknown` property is a required as part of the `config.serverConfig`');
|
|
32
|
+
log.error(error.message);
|
|
33
|
+
throw error;
|
|
29
34
|
}
|
|
30
35
|
if (!config.clientId) {
|
|
31
|
-
|
|
36
|
+
const error = new Error('`clientId` property is a required as part of the `config`');
|
|
37
|
+
log.error(error.message);
|
|
38
|
+
throw error;
|
|
32
39
|
}
|
|
33
40
|
const { data: openIdResponse } = await store.dispatch(wellknownApi.endpoints.wellknown.initiate(config.serverConfig.wellknown));
|
|
34
41
|
if (!openIdResponse) {
|
|
35
|
-
|
|
42
|
+
const error = new Error('error fetching `wellknown` response for OpenId Configuration');
|
|
43
|
+
log.error(error.message);
|
|
44
|
+
throw error;
|
|
36
45
|
}
|
|
37
46
|
store.dispatch(configSlice.actions.set({ ...config, wellknownResponse: openIdResponse }));
|
|
38
47
|
return {
|
|
@@ -55,10 +64,22 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
55
64
|
* @param collector IdpCollector
|
|
56
65
|
* @returns {function}
|
|
57
66
|
*/
|
|
58
|
-
externalIdp: (
|
|
67
|
+
externalIdp: () => {
|
|
59
68
|
const rootState = store.getState();
|
|
60
69
|
const serverSlice = nodeSlice.selectors.selectServer(rootState);
|
|
61
|
-
|
|
70
|
+
if (serverSlice && serverSlice.status === 'continue') {
|
|
71
|
+
return async () => {
|
|
72
|
+
await serverInfo.set(serverSlice);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return async () => {
|
|
76
|
+
return {
|
|
77
|
+
error: {
|
|
78
|
+
message: 'Not in a continue node state, must be in a continue node to use external idp method',
|
|
79
|
+
type: 'state_error',
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
};
|
|
62
83
|
},
|
|
63
84
|
/**
|
|
64
85
|
* @method flow - Method for initiating a new flow, different than current flow
|
|
@@ -67,7 +88,7 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
67
88
|
*/
|
|
68
89
|
flow: (action) => {
|
|
69
90
|
if (!action.action) {
|
|
70
|
-
|
|
91
|
+
log.error('Missing `argument.action`');
|
|
71
92
|
return async function () {
|
|
72
93
|
return {
|
|
73
94
|
error: { message: 'Missing argument.action', type: 'argument_error' },
|
|
@@ -106,10 +127,24 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
106
127
|
* @method: resume - Resume a social login flow when returned to application
|
|
107
128
|
* @returns unknown
|
|
108
129
|
*/
|
|
109
|
-
resume: async ({ continueToken }) => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
130
|
+
resume: async ({ continueToken, }) => {
|
|
131
|
+
try {
|
|
132
|
+
const storedServerInfo = (await serverInfo.get());
|
|
133
|
+
await store.dispatch(davinciApi.endpoints.resume.initiate({ continueToken, serverInfo: storedServerInfo }));
|
|
134
|
+
await serverInfo.remove();
|
|
135
|
+
const node = nodeSlice.selectSlice(store.getState());
|
|
136
|
+
return node;
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// logger.error('No url found in collector, social login needs a url in the collector');
|
|
140
|
+
return {
|
|
141
|
+
error: {
|
|
142
|
+
message: 'No url found in storage, social login needs a continue url which is saved in local storage. You may have cleared your browser data',
|
|
143
|
+
type: 'internal_error',
|
|
144
|
+
},
|
|
145
|
+
type: 'internal_error',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
113
148
|
},
|
|
114
149
|
/**
|
|
115
150
|
* @method start - Method for initiating a DaVinci flow
|
|
@@ -126,42 +161,21 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
126
161
|
*/
|
|
127
162
|
update: (collector) => {
|
|
128
163
|
if (!collector.id) {
|
|
129
|
-
|
|
130
|
-
return function () {
|
|
131
|
-
return {
|
|
132
|
-
error: {
|
|
133
|
-
message: 'Argument for `collector` has no ID',
|
|
134
|
-
type: 'argument_error',
|
|
135
|
-
},
|
|
136
|
-
type: 'internal_error',
|
|
137
|
-
};
|
|
138
|
-
};
|
|
164
|
+
return handleUpdateValidateError('Argument for `collector` has no ID', 'argument_error', log.error);
|
|
139
165
|
}
|
|
140
166
|
const { id } = collector;
|
|
141
|
-
const collectorToUpdate = nodeSlice.selectors.selectCollector(store.getState(), id);
|
|
167
|
+
const { error, state: collectorToUpdate } = nodeSlice.selectors.selectCollector(store.getState(), id);
|
|
168
|
+
if (error) {
|
|
169
|
+
return handleUpdateValidateError(error.message, 'state_error', log.error);
|
|
170
|
+
}
|
|
142
171
|
if (!collectorToUpdate) {
|
|
143
|
-
return
|
|
144
|
-
console.error('Collector not found');
|
|
145
|
-
return {
|
|
146
|
-
type: 'internal_error',
|
|
147
|
-
error: { message: 'Collector not found', type: 'state_error' },
|
|
148
|
-
};
|
|
149
|
-
};
|
|
172
|
+
return handleUpdateValidateError('Collector not found', 'state_error', log.error);
|
|
150
173
|
}
|
|
151
174
|
if (collectorToUpdate.category !== 'MultiValueCollector' &&
|
|
152
175
|
collectorToUpdate.category !== 'SingleValueCollector' &&
|
|
153
176
|
collectorToUpdate.category !== 'ValidatedSingleValueCollector' &&
|
|
154
177
|
collectorToUpdate.category !== 'ObjectValueCollector') {
|
|
155
|
-
|
|
156
|
-
return function () {
|
|
157
|
-
return {
|
|
158
|
-
type: 'internal_error',
|
|
159
|
-
error: {
|
|
160
|
-
message: 'Collector is not a SingleValueCollector or ValidatedSingleValueCollector and cannot be updated',
|
|
161
|
-
type: 'state_error',
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
};
|
|
178
|
+
return handleUpdateValidateError('Collector is not a MultiValueCollector, SingleValueCollector or ValidatedSingleValueCollector and cannot be updated', 'state_error', log.error);
|
|
165
179
|
}
|
|
166
180
|
return function (value, index) {
|
|
167
181
|
try {
|
|
@@ -185,45 +199,21 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
185
199
|
*/
|
|
186
200
|
validate: (collector) => {
|
|
187
201
|
if (!collector.id) {
|
|
188
|
-
|
|
189
|
-
return function () {
|
|
190
|
-
return {
|
|
191
|
-
error: { message: 'Argument for `collector` has no ID', type: 'argument_error' },
|
|
192
|
-
type: 'internal_error',
|
|
193
|
-
};
|
|
194
|
-
};
|
|
202
|
+
return handleUpdateValidateError('Argument for `collector` has no ID', 'argument_error', log.error);
|
|
195
203
|
}
|
|
196
204
|
const { id } = collector;
|
|
197
|
-
const collectorToUpdate = nodeSlice.selectors.selectCollector(store.getState(), id);
|
|
205
|
+
const { error, state: collectorToUpdate } = nodeSlice.selectors.selectCollector(store.getState(), id);
|
|
206
|
+
if (error) {
|
|
207
|
+
return handleUpdateValidateError(error.message, 'state_error', log.error);
|
|
208
|
+
}
|
|
198
209
|
if (!collectorToUpdate) {
|
|
199
|
-
return
|
|
200
|
-
console.error('Collector not found');
|
|
201
|
-
return {
|
|
202
|
-
type: 'internal_error',
|
|
203
|
-
error: { message: 'Collector not found', type: 'state_error' },
|
|
204
|
-
};
|
|
205
|
-
};
|
|
210
|
+
return handleUpdateValidateError('Collector not found', 'state_error', log.error);
|
|
206
211
|
}
|
|
207
212
|
if (collectorToUpdate.category !== 'ValidatedSingleValueCollector') {
|
|
208
|
-
|
|
209
|
-
return function () {
|
|
210
|
-
return {
|
|
211
|
-
type: 'internal_error',
|
|
212
|
-
error: {
|
|
213
|
-
message: 'Collector is not a SingleValueCollector and cannot be validated',
|
|
214
|
-
type: 'state_error',
|
|
215
|
-
},
|
|
216
|
-
};
|
|
217
|
-
};
|
|
213
|
+
return handleUpdateValidateError('Collector is not a SingleValueCollector and cannot be validated', 'state_error', log.error);
|
|
218
214
|
}
|
|
219
215
|
if (!('validation' in collectorToUpdate.input)) {
|
|
220
|
-
|
|
221
|
-
return function () {
|
|
222
|
-
return {
|
|
223
|
-
type: 'internal_error',
|
|
224
|
-
error: { message: 'Collector has no validation rules', type: 'state_error' },
|
|
225
|
-
};
|
|
226
|
-
};
|
|
216
|
+
return handleUpdateValidateError('Collector has no validation rules', 'state_error', log.error);
|
|
227
217
|
}
|
|
228
218
|
return returnValidator(collectorToUpdate);
|
|
229
219
|
},
|
|
@@ -241,7 +231,12 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
241
231
|
const client = nodeSlice.selectors.selectClient(state);
|
|
242
232
|
// Let's check if the node has a client and collectors
|
|
243
233
|
if (client && 'collectors' in client) {
|
|
244
|
-
|
|
234
|
+
const { error, state: collectors } = nodeSlice.selectors.selectCollectors(state) || [];
|
|
235
|
+
if (error) {
|
|
236
|
+
log.error(error.message);
|
|
237
|
+
return [];
|
|
238
|
+
}
|
|
239
|
+
return collectors;
|
|
245
240
|
}
|
|
246
241
|
// Return an empty array if no client or collectors are found
|
|
247
242
|
return [];
|
|
@@ -252,7 +247,12 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
252
247
|
},
|
|
253
248
|
getErrorCollectors: () => {
|
|
254
249
|
const state = store.getState();
|
|
255
|
-
|
|
250
|
+
const { error, state: collectors } = nodeSlice.selectors.selectErrorCollectors(state);
|
|
251
|
+
if (error) {
|
|
252
|
+
log.error(error.message);
|
|
253
|
+
return [];
|
|
254
|
+
}
|
|
255
|
+
return collectors;
|
|
256
256
|
},
|
|
257
257
|
/**
|
|
258
258
|
* @method node - Selector to get the node from state
|
|
@@ -276,7 +276,7 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
276
276
|
getLatestResponse: () => {
|
|
277
277
|
const node = nodeSlice.selectSlice(store.getState());
|
|
278
278
|
if (!node.cache?.key) {
|
|
279
|
-
|
|
279
|
+
log.error(`Cannot find current node's cache key or no current node`);
|
|
280
280
|
return { error: { message: 'Cannot find current node', type: 'state_error' } };
|
|
281
281
|
}
|
|
282
282
|
const flowItem = davinciApi.endpoints.flow.select(node.cache.key);
|
|
@@ -286,7 +286,7 @@ export async function davinci({ config, requestMiddleware, }) {
|
|
|
286
286
|
},
|
|
287
287
|
getResponseWithId: (requestId) => {
|
|
288
288
|
if (!requestId) {
|
|
289
|
-
|
|
289
|
+
log.error('Please provide the cache key');
|
|
290
290
|
return { error: { message: 'Please provide the cache key', type: 'argument_error' } };
|
|
291
291
|
}
|
|
292
292
|
const flowItem = davinciApi.endpoints.flow.select(requestId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.store.js","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAa,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.store.js","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { ActionTypes, RequestMiddleware } from '@forgerock/sdk-request-middleware';
|
|
2
|
+
import type { logger as loggerFn } from '@forgerock/sdk-logger';
|
|
2
3
|
import { ErrorNode, ContinueNode, StartNode, SuccessNode } from '../types.js';
|
|
3
|
-
|
|
4
|
+
import { InternalErrorResponse } from './client.types.js';
|
|
5
|
+
export declare function createClientStore<ActionType extends ActionTypes>({ requestMiddleware, logger, }: {
|
|
4
6
|
requestMiddleware?: RequestMiddleware<ActionType, unknown>[];
|
|
7
|
+
logger?: ReturnType<typeof loggerFn>;
|
|
5
8
|
}): import("@reduxjs/toolkit").EnhancedStore<{
|
|
6
9
|
config: {
|
|
7
10
|
endpoints: import("./wellknown.types.js").Endpoints;
|
|
@@ -16,6 +19,7 @@ export declare function createClientStore<ActionType extends ActionTypes>({ requ
|
|
|
16
19
|
next: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", any>;
|
|
17
20
|
start: import("@reduxjs/toolkit/query").MutationDefinition<import("./davinci.types.js").StartOptions<import("./davinci.types.js").OutgoingQueryParams> | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
18
21
|
resume: import("@reduxjs/toolkit/query").QueryDefinition<{
|
|
22
|
+
serverInfo: import("./node.types.js").ContinueNode["server"];
|
|
19
23
|
continueToken: string;
|
|
20
24
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
21
25
|
}, never, "davinci">;
|
|
@@ -37,6 +41,7 @@ export declare function createClientStore<ActionType extends ActionTypes>({ requ
|
|
|
37
41
|
next: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", any>;
|
|
38
42
|
start: import("@reduxjs/toolkit/query").MutationDefinition<import("./davinci.types.js").StartOptions<import("./davinci.types.js").OutgoingQueryParams> | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
39
43
|
resume: import("@reduxjs/toolkit/query").QueryDefinition<{
|
|
44
|
+
serverInfo: import("./node.types.js").ContinueNode["server"];
|
|
40
45
|
continueToken: string;
|
|
41
46
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci", unknown>;
|
|
42
47
|
}, never, "davinci">;
|
|
@@ -49,8 +54,16 @@ export declare function createClientStore<ActionType extends ActionTypes>({ requ
|
|
|
49
54
|
* customer query wrapper for `baseQuery`
|
|
50
55
|
*/
|
|
51
56
|
requestMiddleware: RequestMiddleware<ActionType, unknown>[] | undefined;
|
|
57
|
+
logger: {
|
|
58
|
+
changeLevel: (level: import("@forgerock/sdk-logger").LogLevel) => void;
|
|
59
|
+
error: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void;
|
|
60
|
+
warn: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void;
|
|
61
|
+
info: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void;
|
|
62
|
+
debug: (...args: import("@forgerock/sdk-logger").LogMessage[]) => void;
|
|
63
|
+
} | undefined;
|
|
52
64
|
}, import("@reduxjs/toolkit").UnknownAction>;
|
|
53
65
|
}>, import("@reduxjs/toolkit").StoreEnhancer]>>;
|
|
66
|
+
export declare function handleUpdateValidateError(message: string, type: 'argument_error' | 'state_error', cb: (message: string) => void): () => InternalErrorResponse;
|
|
54
67
|
type ClientStore = typeof createClientStore;
|
|
55
68
|
export type RootState = ReturnType<ReturnType<ClientStore>['getState']>;
|
|
56
69
|
export interface RootStateWithNode<T extends ErrorNode | ContinueNode | StartNode | SuccessNode> extends RootState {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.store.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/client.store.utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.store.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/client.store.utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKhE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,iBAAiB,CAAC,UAAU,SAAS,WAAW,EAAE,EAChE,iBAAiB,EACjB,MAAM,GACP,EAAE;IACD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAYW;;;WAGG;;;;oBAjCM,GAAG;mBAEZ,GAAG;mBAAwC,GAAG;oBAChD,GAAG;;;gDAuCZ;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GAAG,aAAa,EACtC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC5B,MAAM,qBAAqB,CAW7B;AAED,KAAK,WAAW,GAAG,OAAO,iBAAiB,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAExE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAC7F,SAAQ,SAAS;IACjB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { configSlice } from './config.slice.js';
|
|
|
9
9
|
import { nodeSlice } from './node.slice.js';
|
|
10
10
|
import { davinciApi } from './davinci.api.js';
|
|
11
11
|
import { wellknownApi } from './wellknown.api.js';
|
|
12
|
-
export function createClientStore({ requestMiddleware, }) {
|
|
12
|
+
export function createClientStore({ requestMiddleware, logger, }) {
|
|
13
13
|
return configureStore({
|
|
14
14
|
reducer: {
|
|
15
15
|
config: configSlice.reducer,
|
|
@@ -24,7 +24,8 @@ export function createClientStore({ requestMiddleware, }) {
|
|
|
24
24
|
* This becomes the `api.extra` argument, and will be passed into the
|
|
25
25
|
* customer query wrapper for `baseQuery`
|
|
26
26
|
*/
|
|
27
|
-
requestMiddleware
|
|
27
|
+
requestMiddleware,
|
|
28
|
+
logger,
|
|
28
29
|
},
|
|
29
30
|
},
|
|
30
31
|
})
|
|
@@ -32,4 +33,16 @@ export function createClientStore({ requestMiddleware, }) {
|
|
|
32
33
|
.concat(wellknownApi.middleware),
|
|
33
34
|
});
|
|
34
35
|
}
|
|
36
|
+
export function handleUpdateValidateError(message, type, cb) {
|
|
37
|
+
cb(message);
|
|
38
|
+
return function () {
|
|
39
|
+
return {
|
|
40
|
+
error: {
|
|
41
|
+
message: message,
|
|
42
|
+
type: type,
|
|
43
|
+
},
|
|
44
|
+
type: 'internal_error',
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
}
|
|
35
48
|
//# sourceMappingURL=client.store.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.store.utils.js","sourceRoot":"","sources":["../../../src/lib/client.store.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.store.utils.js","sourceRoot":"","sources":["../../../src/lib/client.store.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,UAAU,iBAAiB,CAAiC,EAChE,iBAAiB,EACjB,MAAM,GAIP;IACC,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE;YACP,MAAM,EAAE,WAAW,CAAC,OAAO;YAC3B,IAAI,EAAE,SAAS,CAAC,OAAO;YACvB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO;YAC5C,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO;SACjD;QACD,UAAU,EAAE,CAAC,oBAAoB,EAAE,EAAE,CACnC,oBAAoB,CAAC;YACnB,KAAK,EAAE;gBACL,aAAa,EAAE;oBACb;;;uBAGG;oBACH,iBAAiB;oBACjB,MAAM;iBACP;aACF;SACF,CAAC;aACC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;aAC7B,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,IAAsC,EACtC,EAA6B;IAE7B,EAAE,CAAC,OAAO,CAAC,CAAC;IACZ,OAAO;QACL,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;aACX;YACD,IAAI,EAAE,gBAAyB;SAChC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PhoneNumberInputValue } from './collector.types.js';
|
|
1
2
|
import { GenericError } from './error.types.js';
|
|
2
3
|
import { ErrorNode, FailureNode, ContinueNode, StartNode, SuccessNode } from './node.types.js';
|
|
3
4
|
export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
|
|
@@ -6,7 +7,7 @@ export interface InternalErrorResponse {
|
|
|
6
7
|
type: 'internal_error';
|
|
7
8
|
}
|
|
8
9
|
export type InitFlow = () => Promise<FlowNode | InternalErrorResponse>;
|
|
9
|
-
export type Updater = (value: string | string[], index?: number) => InternalErrorResponse | null;
|
|
10
|
+
export type Updater = (value: string | string[] | PhoneNumberInputValue, index?: number) => InternalErrorResponse | null;
|
|
10
11
|
export type Validator = (value: string) => string[] | {
|
|
11
12
|
error: {
|
|
12
13
|
message: string;
|
|
@@ -14,4 +15,5 @@ export type Validator = (value: string) => string[] | {
|
|
|
14
15
|
};
|
|
15
16
|
type: string;
|
|
16
17
|
};
|
|
18
|
+
export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
|
|
17
19
|
//# sourceMappingURL=client.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.types.d.ts","sourceRoot":"","sources":["../../../src/lib/client.types.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/F,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAExF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"client.types.d.ts","sourceRoot":"","sources":["../../../src/lib/client.types.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/F,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAExF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,CACpB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,qBAAqB,EAChD,KAAK,CAAC,EAAE,MAAM,KACX,qBAAqB,GAAG,IAAI,CAAC;AAClC,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAClC,MAAM,EAAE,GACR;IACE,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC"}
|