integreat 1.4.0-rc.2 → 1.4.0
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/README.md +28 -9
- package/dist/Instance.js +3 -4
- package/dist/Instance.js.map +1 -1
- package/dist/dispatch.js +4 -2
- package/dist/dispatch.js.map +1 -1
- package/dist/handlers/queue.js +1 -1
- package/dist/handlers/queue.js.map +1 -1
- package/dist/handlers/service.js +1 -1
- package/dist/handlers/service.js.map +1 -1
- package/dist/jobs/Job.js +8 -4
- package/dist/jobs/Job.js.map +1 -1
- package/dist/schema/createCast.js +55 -35
- package/dist/schema/createCast.js.map +1 -1
- package/dist/schema/types.d.ts +1 -1
- package/dist/service/Endpoint.d.ts +5 -1
- package/dist/service/Endpoint.js +7 -1
- package/dist/service/Endpoint.js.map +1 -1
- package/dist/service/Service.d.ts +1 -1
- package/dist/service/Service.js +40 -18
- package/dist/service/Service.js.map +1 -1
- package/dist/service/types.d.ts +2 -0
- package/dist/service/utils/cast.js +2 -2
- package/dist/service/utils/cast.js.map +1 -1
- package/dist/service/utils/incoming.d.ts +2 -1
- package/dist/service/utils/incoming.js +7 -3
- package/dist/service/utils/incoming.js.map +1 -1
- package/dist/service/utils/resolveAuth.d.ts +2 -2
- package/dist/service/utils/resolveAuth.js +5 -5
- package/dist/service/utils/resolveAuth.js.map +1 -1
- package/dist/utils/mutateAndSend.js +1 -1
- package/dist/utils/mutateAndSend.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -315,8 +315,11 @@ Here's the format of an endpoint definition:
|
|
|
315
315
|
}
|
|
316
316
|
],
|
|
317
317
|
mutate: <mutation pipeline>,
|
|
318
|
+
adapters: [<adapter id>, <adapter id>, ...],
|
|
319
|
+
auth: <auth config>,
|
|
318
320
|
allowRawRequest: <boolean>,
|
|
319
|
-
allowRawResponse: <boolean
|
|
321
|
+
allowRawResponse: <boolean>,
|
|
322
|
+
castWithoutDefaults: <boolean>,
|
|
320
323
|
options: {...},
|
|
321
324
|
}
|
|
322
325
|
```
|
|
@@ -347,12 +350,25 @@ specify a few things:
|
|
|
347
350
|
actions going to a service and the response coming back, so keep this in mind
|
|
348
351
|
when you set up this pipeline. See [Mutation pipelines](#mutations)
|
|
349
352
|
for more on how to define the mutation. `mutation` is an alias for `mutate`.
|
|
353
|
+
- `adapters`: An array of adapter ids that will be appended to the array of
|
|
354
|
+
adapters set on the service.
|
|
355
|
+
- `auth`: Auth config that will override the `auth` config on the service. See
|
|
356
|
+
[description of `auth` under Services](#services) for more on this. The
|
|
357
|
+
endpoint `auth` will only apply in cases where we have an endpoint, like when
|
|
358
|
+
we're sending a request to a service or receiving an incoming request, but
|
|
359
|
+
when we're e.g. connecting to a service to start listening, the `auth` on the
|
|
360
|
+
service will be used. This also goes for incoming requests where the
|
|
361
|
+
transporter does not provide an action with the auth attempt.
|
|
350
362
|
- `allowRawRequest`: When set to `true`, payload `data` sent to this endpoint
|
|
351
363
|
will not by cast automatically nor will an error be returned if the data is
|
|
352
364
|
not typed.
|
|
353
365
|
- `allowRawResponse`: When set to `true`, response `data` coming from this
|
|
354
366
|
endpoint will not by cast automatically nor will an error be returned if the
|
|
355
367
|
data is not typed.
|
|
368
|
+
- `castWithoutDefaults`: Set to `true` when you don't want to set default values
|
|
369
|
+
on casted data. This also means no `id` will be generated and no `createdAt`
|
|
370
|
+
or `updatedAt` will be set – when any of these are missing in the data.
|
|
371
|
+
Default is `false`.
|
|
356
372
|
- `options`: This object is merged with the `options` object on the service
|
|
357
373
|
definition, and provide options for transporters and adapters. See
|
|
358
374
|
[the `options` object](#options-object) for more on this.
|
|
@@ -822,8 +838,8 @@ do so without involving the other side. If you need to switch out service B with
|
|
|
822
838
|
service C, you can do so without involving the configuration of service A, or
|
|
823
839
|
you can send data to both B and C, using the same setup for service A.
|
|
824
840
|
|
|
825
|
-
To be clear, you can setup flows without schemas in Integreat, but
|
|
826
|
-
|
|
841
|
+
To be clear, you can setup flows without schemas in Integreat, but then you may
|
|
842
|
+
loose this flexibility and maintainability.
|
|
827
843
|
|
|
828
844
|
A schema describe the data you expected to get out of Integreat, or send through
|
|
829
845
|
it. You basically define the fields and their types, and may then cast data to
|
|
@@ -971,12 +987,15 @@ When data is cast to a schema, the data will be in the following format:
|
|
|
971
987
|
an `updatedAt` field, and the date is not set in the data, it will be set to
|
|
972
988
|
the same as `createdAt` (if provided) or the current date/time.
|
|
973
989
|
- `<key>`: Then follows the values of all the fields specified in the schema.
|
|
974
|
-
Any value not provided in the data will be set to their default value
|
|
975
|
-
`
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
the
|
|
990
|
+
Any value not provided in the data will be set to their default value, unless
|
|
991
|
+
`castWithoutDefaults` is set to `true` in
|
|
992
|
+
[the endpoint definition](#endpoints). When casting a value results in
|
|
993
|
+
`undefined`, it will not be included on the returned object. Fields that has
|
|
994
|
+
the `id` of other schemas as their type, will be objects. If only the id is
|
|
995
|
+
provided in the data, the `{ id: <string>, $ref: <schema id> }` format will be
|
|
996
|
+
used, with `$ref` being the id of the field type schema. When more data is
|
|
997
|
+
provided, Integreat will cast it to the target schema and provide the entire
|
|
998
|
+
data object, or array of objects, with the relevant `$type`.
|
|
980
999
|
|
|
981
1000
|
### Access rules
|
|
982
1001
|
|
package/dist/Instance.js
CHANGED
|
@@ -43,10 +43,9 @@ const createAuthObjects = (authDefs, authenticators) => authDefs
|
|
|
43
43
|
.reduce(indexById, {});
|
|
44
44
|
function prepareJobs(jobDefs, mapOptions) {
|
|
45
45
|
const jobs = new Map();
|
|
46
|
-
ensureArray(jobDefs).forEach((
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
46
|
+
ensureArray(jobDefs).forEach((jobDef) => {
|
|
47
|
+
const job = new Job(jobDef, mapOptions);
|
|
48
|
+
jobs.set(job.id, new Job(jobDef, mapOptions));
|
|
50
49
|
});
|
|
51
50
|
return jobs;
|
|
52
51
|
}
|
package/dist/Instance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Instance.js","sourceRoot":"","sources":["../src/Instance.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Instance.js","sourceRoot":"","sources":["../src/Instance.ts"],"names":[],"mappings":"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"}
|
package/dist/dispatch.js
CHANGED
|
@@ -17,7 +17,7 @@ function getActionHandlerFromType(type, handlers) {
|
|
|
17
17
|
}
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
|
-
function cleanUpActionAndSetIds({ payload: { service, ...payload }, meta: { queue,
|
|
20
|
+
function cleanUpActionAndSetIds({ payload: { service, ...payload }, meta: { queue, auth, ...meta } = {}, ...action }) {
|
|
21
21
|
const id = meta?.id || nanoid();
|
|
22
22
|
const cid = meta?.cid || id;
|
|
23
23
|
return {
|
|
@@ -70,7 +70,9 @@ async function handleAction(handlerType, action, resources, handlers) {
|
|
|
70
70
|
if (!handler) {
|
|
71
71
|
return createErrorResponse(`No handler for ${String(handlerType)} action`, 'dispatch', 'badrequest');
|
|
72
72
|
}
|
|
73
|
-
return setOrigin(await handler(action, resources), typeof handlerType === 'string'
|
|
73
|
+
return setOrigin(await handler(action, resources), typeof handlerType === 'string'
|
|
74
|
+
? `handler:${handlerType}`
|
|
75
|
+
: 'handler:queue');
|
|
74
76
|
}
|
|
75
77
|
export default function createDispatch({ handlers = {}, schemas = new Map(), services = {}, middleware = [], options, }) {
|
|
76
78
|
const getService = setupGetService(schemas, services);
|
package/dist/dispatch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,QAAQ,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAiBpE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAU/B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,GAAiB,EAAc,EAAE,CAC1D,GAAG,CAAC,MAAM,CACR,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,GAAG,IAAI,EAAE,EAAE,CACV,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAClB,CAAA;AAEH,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,OAAuB,EAAE,EAAE,CAC9D,MAAM,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAA;AAEvD,SAAS,wBAAwB,CAC/B,IAAiC,EACjC,QAAgD;IAEhD,IAAI,IAAI,EAAE;QAER,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,OAAO,OAAO,CAAA;SACf;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AASD,SAAS,sBAAsB,CAAC,EAC9B,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAChC,IAAI,EAAE,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers/queue.js
CHANGED
|
@@ -10,7 +10,7 @@ export default async function queue(action, { dispatch, getService, options: { q
|
|
|
10
10
|
return dispatch(action);
|
|
11
11
|
}
|
|
12
12
|
const nextAction = prepareQueuedAction(action);
|
|
13
|
-
const response = await service.send(nextAction);
|
|
13
|
+
const response = await service.send(nextAction, null);
|
|
14
14
|
const status = response?.status === 'ok' ? 'queued' : response?.status;
|
|
15
15
|
return setOrigin({
|
|
16
16
|
...action.response,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/handlers/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGlE,MAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,EAAU,EAAE,EAAE,CAC1D,iBAAiB,CAAC;IAChB,GAAG,MAAM;IACT,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;CACxC,CAAC,CAAA;AASJ,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,KAAK,CACjC,MAAc,EACd,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAA0B;IAE3E,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACnD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAA;KACxB;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/handlers/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGlE,MAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,EAAU,EAAE,EAAE,CAC1D,iBAAiB,CAAC;IAChB,GAAG,MAAM;IACT,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;CACxC,CAAC,CAAA;AASJ,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,KAAK,CACjC,MAAc,EACd,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAA0B;IAE3E,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACnD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAA;KACxB;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEtE,OAAO,SAAS,CACd;QACE,GAAG,MAAM,CAAC,QAAQ;QAClB,GAAG,QAAQ;QACX,MAAM,EAAE,MAAM,IAAI,aAAa;QAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;KAChE,EACD,eAAe,CAChB,CAAA;AACH,CAAC"}
|
package/dist/handlers/service.js
CHANGED
|
@@ -7,7 +7,7 @@ export default async function service(action, { getService }) {
|
|
|
7
7
|
return createUnknownServiceError(undefined, serviceId, 'SERVICE');
|
|
8
8
|
}
|
|
9
9
|
const nextAction = setAuthorizedMark(action);
|
|
10
|
-
const response = await service.send(nextAction);
|
|
10
|
+
const response = await service.send(nextAction, null);
|
|
11
11
|
return response?.status
|
|
12
12
|
? response
|
|
13
13
|
: createErrorResponse(`Service '${serviceId}' did not respond correctly to SERVICE action`, 'handler:SERVICE', 'badresponse');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/handlers/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CACnC,MAAc,EACd,EAAE,UAAU,EAA0B;IAEtC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAA;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAChD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;KAClE;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/handlers/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CACnC,MAAc,EACd,EAAE,UAAU,EAA0B;IAEtC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAA;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAChD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;KAClE;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAErD,OAAO,QAAQ,EAAE,MAAM;QACrB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,mBAAmB,CACjB,YAAY,SAAS,+CAA+C,EACpE,iBAAiB,EACjB,aAAa,CACd,CAAA;AACP,CAAC"}
|
package/dist/jobs/Job.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { nanoid } from 'nanoid';
|
|
1
2
|
import Schedule from './Schedule.js';
|
|
2
3
|
import Step, { getPrevStepId, getLastJobWithResponse, prepareMutation, mutateResponse, } from './Step.js';
|
|
3
4
|
import { isObject, isOkResponse, isErrorResponse } from '../utils/is.js';
|
|
4
5
|
import { setOrigin } from '../utils/response.js';
|
|
5
|
-
const isJobStep = (job) => isObject(job) &&
|
|
6
|
+
const isJobStep = (job) => isObject(job) && isObject(job.action);
|
|
6
7
|
const generateSubMeta = ({ ident, project, queue, cid }, jobId) => ({
|
|
7
8
|
ident,
|
|
8
9
|
jobId,
|
|
@@ -52,7 +53,8 @@ function getResponse(jobId, steps, responses, isFlow) {
|
|
|
52
53
|
return setMessageAndOrigin(lastResponse, jobId, isFlow);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
|
-
const
|
|
56
|
+
const getId = (jobDef) => typeof jobDef.id === 'string' && jobDef.id ? jobDef.id : nanoid();
|
|
57
|
+
const removePostmutationAndSetId = ({ postmutation, responseMutation, ...job }, id) => ({ ...job, id });
|
|
56
58
|
export default class Job {
|
|
57
59
|
id;
|
|
58
60
|
schedule;
|
|
@@ -60,7 +62,7 @@ export default class Job {
|
|
|
60
62
|
#postmutator;
|
|
61
63
|
#isFlow = false;
|
|
62
64
|
constructor(jobDef, mapOptions) {
|
|
63
|
-
this.id = jobDef
|
|
65
|
+
this.id = getId(jobDef);
|
|
64
66
|
if (Array.isArray(jobDef.flow)) {
|
|
65
67
|
this.#isFlow = true;
|
|
66
68
|
this.#steps = jobDef.flow
|
|
@@ -68,7 +70,9 @@ export default class Job {
|
|
|
68
70
|
.map((stepDef, index, steps) => new Step(stepDef, mapOptions, getPrevStepId(index, steps)));
|
|
69
71
|
}
|
|
70
72
|
else if (isJobStep(jobDef)) {
|
|
71
|
-
this.#steps = [
|
|
73
|
+
this.#steps = [
|
|
74
|
+
new Step(removePostmutationAndSetId(jobDef, this.id), mapOptions),
|
|
75
|
+
];
|
|
72
76
|
}
|
|
73
77
|
const postmutation = jobDef.postmutation || jobDef.responseMutation;
|
|
74
78
|
this.#postmutator = postmutation
|
package/dist/jobs/Job.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Job.js","sourceRoot":"","sources":["../../src/jobs/Job.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAA;AACpC,OAAO,IAAI,EAAE,EACX,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAWhD,MAAM,SAAS,GAAG,CAAC,GAAY,EAAqB,EAAE,CACpD,QAAQ,CAAC,GAAG,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"Job.js","sourceRoot":"","sources":["../../src/jobs/Job.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,15 +38,20 @@ const typeFromDef = (prop) => isFieldDefinition(prop)
|
|
|
38
38
|
: undefined;
|
|
39
39
|
const hasArrayNotation = (key) => typeof key === 'string' && key.endsWith('[]');
|
|
40
40
|
const removeArrayNotation = (key) => hasArrayNotation(key) ? key.slice(0, key.length - 2) : key;
|
|
41
|
-
function
|
|
41
|
+
function createCastFn(def, schemas) {
|
|
42
42
|
if (isFieldDefinition(def)) {
|
|
43
43
|
if (def?.const !== undefined) {
|
|
44
44
|
return () => () => def.const;
|
|
45
45
|
}
|
|
46
46
|
const castFn = castFnFromType(removeArrayNotation(def.$type), schemas);
|
|
47
|
-
return (isRev) => function castValue(rawValue) {
|
|
47
|
+
return (isRev, noDefaults = false) => function castValue(rawValue) {
|
|
48
48
|
const value = unwrapValue(rawValue);
|
|
49
|
-
|
|
49
|
+
if (value === undefined) {
|
|
50
|
+
return noDefaults ? undefined : def.default;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return castFn(value, isRev);
|
|
54
|
+
}
|
|
50
55
|
};
|
|
51
56
|
}
|
|
52
57
|
else if (isShape(def)) {
|
|
@@ -58,17 +63,22 @@ function createFieldCast(def, schemas) {
|
|
|
58
63
|
}
|
|
59
64
|
const unwrapSingleArrayItem = (fn) => (value) => Array.isArray(value) && value.length === 1 ? fn(value[0]) : fn(value);
|
|
60
65
|
const handleArray = (fn, isArrayExpected, type) => isArrayExpected
|
|
61
|
-
? (isRev) => (value) => value === undefined
|
|
66
|
+
? (isRev, noDefaults) => (value) => value === undefined
|
|
67
|
+
? undefined
|
|
68
|
+
: ensureArray(value).map(fn(isRev, noDefaults))
|
|
62
69
|
: type === 'unknown'
|
|
63
|
-
? (isRev) => fn(isRev)
|
|
64
|
-
: (isRev) => unwrapSingleArrayItem(fn(isRev));
|
|
65
|
-
function getDates(
|
|
66
|
-
|
|
70
|
+
? (isRev, noDefaults) => fn(isRev, noDefaults)
|
|
71
|
+
: (isRev, noDefaults) => unwrapSingleArrayItem(fn(isRev, noDefaults));
|
|
72
|
+
function getDates(shouldHaveCreatedAt, shouldHaveUpdatedAt, createdAt, updatedAt, noDefaults) {
|
|
73
|
+
if (noDefaults) {
|
|
74
|
+
return {};
|
|
75
|
+
}
|
|
76
|
+
const nextCreatedAt = shouldHaveCreatedAt
|
|
67
77
|
? createdAt
|
|
68
78
|
? createdAt
|
|
69
79
|
: updatedAt ?? new Date()
|
|
70
80
|
: undefined;
|
|
71
|
-
const nextUpdatedAt =
|
|
81
|
+
const nextUpdatedAt = shouldHaveUpdatedAt
|
|
72
82
|
? updatedAt
|
|
73
83
|
? updatedAt
|
|
74
84
|
: nextCreatedAt ?? new Date()
|
|
@@ -78,8 +88,8 @@ function getDates(shape, createdAt, updatedAt) {
|
|
|
78
88
|
...(nextUpdatedAt ? { updatedAt: nextUpdatedAt } : {}),
|
|
79
89
|
};
|
|
80
90
|
}
|
|
81
|
-
function
|
|
82
|
-
const cast =
|
|
91
|
+
function createCastFnHandlingArrays(key, def, schemas) {
|
|
92
|
+
const cast = createCastFn(def, schemas);
|
|
83
93
|
if (cast) {
|
|
84
94
|
const type = typeFromDef(def);
|
|
85
95
|
return handleArray(cast, hasArrayNotation(key) || hasArrayNotation(type), type);
|
|
@@ -88,37 +98,47 @@ function createCastFn(key, def, schemas) {
|
|
|
88
98
|
return undefined;
|
|
89
99
|
}
|
|
90
100
|
}
|
|
91
|
-
const completeItemBeforeCast = ({ id, createdAt, updatedAt, ...item },
|
|
92
|
-
id: id ?? (doGenerateId ? nanoid() : null),
|
|
101
|
+
const completeItemBeforeCast = (shouldHaveCreatedAt, shouldHaveUpdatedAt, doGenerateId) => ({ id, createdAt, updatedAt, ...item }, noDefaults) => ({
|
|
102
|
+
id: id ?? (doGenerateId && !noDefaults ? nanoid() : null),
|
|
93
103
|
...item,
|
|
94
|
-
...getDates(
|
|
104
|
+
...getDates(shouldHaveCreatedAt, shouldHaveUpdatedAt, createdAt, updatedAt, noDefaults),
|
|
95
105
|
});
|
|
106
|
+
const castField = (item, isRev, noDefaults) => ([key, cast]) => [
|
|
107
|
+
key,
|
|
108
|
+
cast(isRev, noDefaults)(item[key]),
|
|
109
|
+
];
|
|
110
|
+
const fieldHasValue = ([_, value]) => value !== undefined;
|
|
111
|
+
const createFieldCast = (schemas) => ([key, def]) => [removeArrayNotation(key), createCastFnHandlingArrays(key, def, schemas)];
|
|
112
|
+
const entryHasCastFn = (entry) => entry[1] !== undefined;
|
|
113
|
+
const includeType = (isRev, type) => !isRev && typeof type === 'string' ? [['$type', type]] : [];
|
|
114
|
+
const includeIsNewAndIsDeleted = (item) => [
|
|
115
|
+
...(item.isNew === true ? [['isNew', true]] : []),
|
|
116
|
+
...(item.isDeleted === true ? [['isDeleted', true]] : []),
|
|
117
|
+
];
|
|
118
|
+
const createCastItemFn = (completeItem, fields, type) => (isRev, noDefaults) => function castItem(rawItem) {
|
|
119
|
+
if (!isObject(rawItem)) {
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
const item = completeItem(rawItem, noDefaults);
|
|
123
|
+
return Object.fromEntries([
|
|
124
|
+
...fields.map(castField(item, isRev, noDefaults)).filter(fieldHasValue),
|
|
125
|
+
...includeType(isRev, type),
|
|
126
|
+
...includeIsNewAndIsDeleted(item),
|
|
127
|
+
]);
|
|
128
|
+
};
|
|
96
129
|
function createShapeCast(shape, type, schemas, doGenerateId = false) {
|
|
97
130
|
const fields = Object.entries(shape)
|
|
98
|
-
.map((
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return (
|
|
104
|
-
if (isObject(rawItem)) {
|
|
105
|
-
const item = completeItemBeforeCast(rawItem, shape, doGenerateId);
|
|
106
|
-
return Object.fromEntries([
|
|
107
|
-
...fields.map(([key, cast]) => [key, cast(isRev)(item[key])]),
|
|
108
|
-
...(!isRev && typeof type === 'string' ? [['$type', type]] : []),
|
|
109
|
-
...(item.isNew === true ? [['isNew', true]] : []),
|
|
110
|
-
...(item.isDeleted === true ? [['isDeleted', true]] : []),
|
|
111
|
-
]);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
};
|
|
131
|
+
.map(createFieldCast(schemas))
|
|
132
|
+
.filter(entryHasCastFn);
|
|
133
|
+
const shouldHaveCreatedAt = !!shape.createdAt;
|
|
134
|
+
const shouldHaveUpdatedAt = !!shape.updatedAt;
|
|
135
|
+
const completeItem = completeItemBeforeCast(shouldHaveCreatedAt, shouldHaveUpdatedAt, doGenerateId);
|
|
136
|
+
return createCastItemFn(completeItem, fields, type);
|
|
117
137
|
}
|
|
118
138
|
export default function createCast(shape, type, schemas = new Map(), doGenerateId = false) {
|
|
119
139
|
const castShape = createShapeCast(shape, type, schemas, doGenerateId);
|
|
120
|
-
return function castItem(data, isRev = false) {
|
|
121
|
-
const casted = mapAny(castShape(isRev), data);
|
|
140
|
+
return function castItem(data, isRev = false, noDefaults = false) {
|
|
141
|
+
const casted = mapAny(castShape(isRev, noDefaults), data);
|
|
122
142
|
return Array.isArray(casted) ? casted.filter(isNotNullOrUndefined) : casted;
|
|
123
143
|
};
|
|
124
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCast.js","sourceRoot":"","sources":["../../src/schema/createCast.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,SAAS,MAAM,sBAAsB,CAAA;AAC5C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,SAAS,MAAM,sBAAsB,CAAA;AAC5C,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AACvB,OAAO,WAAW,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,SAAS,cAAc,CAAC,IAAY,EAAE,OAA4B;IAChE,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAA;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,QAAQ,CAAA;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAA;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAA;QACf,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,SAAS;YACZ,OAAO,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAA;QAClC;YACE,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;KACvC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAuC,EAAE,EAAE,CAC9D,iBAAiB,CAAC,IAAI,CAAC;IACrB,CAAC,CAAC,IAAI,CAAC,KAAK;IACZ,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;QAC1B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAA;AAEf,MAAM,gBAAgB,GAAG,CAAC,GAAY,EAAE,EAAE,CACxC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE/C,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE,CAC1C,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AAE5D,SAAS,
|
|
1
|
+
{"version":3,"file":"createCast.js","sourceRoot":"","sources":["../../src/schema/createCast.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TransformDefinition } from 'map-transform/types.js';
|
|
2
|
+
import type Auth from './Auth.js';
|
|
2
3
|
import type { Action, Response, Adapter, MapOptions } from '../types.js';
|
|
3
4
|
import type { EndpointDef, ServiceOptions, MatchObject, PreparedOptions } from './types.js';
|
|
4
5
|
export interface PrepareOptions {
|
|
@@ -11,7 +12,10 @@ export default class Endpoint {
|
|
|
11
12
|
options: PreparedOptions;
|
|
12
13
|
allowRawRequest?: boolean;
|
|
13
14
|
allowRawResponse?: boolean;
|
|
14
|
-
|
|
15
|
+
castWithoutDefaults?: boolean;
|
|
16
|
+
outgoingAuth?: Auth;
|
|
17
|
+
incomingAuth?: Auth[];
|
|
18
|
+
constructor(endpointDef: EndpointDef, serviceId: string, options: PreparedOptions, mapOptions: MapOptions, serviceMutation?: TransformDefinition, serviceAdapters?: Adapter[], endpointAdapters?: Adapter[], outgoingAuth?: Auth, incomingAuth?: Auth[]);
|
|
15
19
|
validateAction(action: Action): Promise<Response | null>;
|
|
16
20
|
mutate(action: Action, isRev: boolean): Promise<Action>;
|
|
17
21
|
isMatch(action: Action, isIncoming?: boolean): Promise<boolean>;
|
package/dist/service/Endpoint.js
CHANGED
|
@@ -48,22 +48,28 @@ export default class Endpoint {
|
|
|
48
48
|
options;
|
|
49
49
|
allowRawRequest;
|
|
50
50
|
allowRawResponse;
|
|
51
|
+
castWithoutDefaults;
|
|
52
|
+
outgoingAuth;
|
|
53
|
+
incomingAuth;
|
|
51
54
|
#origin;
|
|
52
55
|
#validator;
|
|
53
56
|
#mutateAction;
|
|
54
57
|
#checkIfMatch;
|
|
55
|
-
constructor(endpointDef, serviceId, options, mapOptions, serviceMutation, serviceAdapters = [], endpointAdapters = []) {
|
|
58
|
+
constructor(endpointDef, serviceId, options, mapOptions, serviceMutation, serviceAdapters = [], endpointAdapters = [], outgoingAuth, incomingAuth) {
|
|
56
59
|
this.id = endpointDef.id;
|
|
57
60
|
this.#origin = endpointDef.id
|
|
58
61
|
? `service:${serviceId}:endpoint:${endpointDef.id}`
|
|
59
62
|
: `service:${serviceId}:endpoint`;
|
|
60
63
|
this.allowRawRequest = endpointDef.allowRawRequest ?? false;
|
|
61
64
|
this.allowRawResponse = endpointDef.allowRawResponse ?? false;
|
|
65
|
+
this.castWithoutDefaults = endpointDef.castWithoutDefaults ?? false;
|
|
62
66
|
this.match = endpointDef.match;
|
|
63
67
|
this.#checkIfMatch = isMatch(endpointDef, mapOptions);
|
|
64
68
|
this.options = options;
|
|
65
69
|
this.#validator = prepareValidator(endpointDef.validate, mapOptions);
|
|
66
70
|
this.#mutateAction = prepareActionMutation(serviceMutation, endpointDef.mutation || endpointDef.mutate, serviceAdapters.map(transformerFromAdapter(serviceId, options.adapters)), endpointAdapters.map(transformerFromAdapter(serviceId, options.adapters)), mapOptions);
|
|
71
|
+
this.outgoingAuth = outgoingAuth;
|
|
72
|
+
this.incomingAuth = incomingAuth;
|
|
67
73
|
}
|
|
68
74
|
async validateAction(action) {
|
|
69
75
|
const [errors] = await this.#validator(action);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../../src/service/Endpoint.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,gBAAgB,MAAM,6BAA6B,CAAA;AAC1D,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,gBAAuC,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../../src/service/Endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ export default class Service {
|
|
|
24
24
|
mutateIncomingRequest(action: Action, endpoint: Endpoint): Promise<Action>;
|
|
25
25
|
mutateResponse(action: Action, endpoint: Endpoint): Promise<Response>;
|
|
26
26
|
mutateIncomingResponse(action: Action, endpoint: Endpoint): Promise<Response>;
|
|
27
|
-
send(action: Action): Promise<Response>;
|
|
27
|
+
send(action: Action, endpoint: Endpoint | null): Promise<Response>;
|
|
28
28
|
listen(dispatch: Dispatch): Promise<Response>;
|
|
29
29
|
close(): Promise<Response>;
|
|
30
30
|
}
|
package/dist/service/Service.js
CHANGED
|
@@ -13,6 +13,23 @@ import * as authorizeData from './utils/authData.js';
|
|
|
13
13
|
import authorizeAction, { isAuthorizedAction } from './utils/authAction.js';
|
|
14
14
|
import { compose } from '../dispatch.js';
|
|
15
15
|
const debug = debugLib('great');
|
|
16
|
+
const areWeMissingAdapters = (defs, adapters) => Array.isArray(defs) && defs.length !== adapters.length;
|
|
17
|
+
const createServiceAdapterError = (serviceId) => `Service '${serviceId}' references one or more unknown adapters`;
|
|
18
|
+
const createEndpointAdapterError = (endpoint, serviceId) => `${endpoint.id ? `Endpoint '${endpoint.id}'` : 'An endpoint'} on service '${serviceId}' references one or more unknown adapters`;
|
|
19
|
+
function setUpEndpoint(serviceId, adapters, resolveOutgoingAuth, resolveIncomingAuth, serviceOutgoingAuth, serviceIncomingAuth, serviceOptions, mapOptions, mutation, serviceAdapters) {
|
|
20
|
+
return (endpointDef) => {
|
|
21
|
+
const endpointAdapters = lookupByIds(endpointDef.adapters, adapters);
|
|
22
|
+
if (areWeMissingAdapters(endpointDef.adapters, endpointAdapters)) {
|
|
23
|
+
throw new TypeError(createEndpointAdapterError(endpointDef, serviceId));
|
|
24
|
+
}
|
|
25
|
+
const outgoingAuth = resolveOutgoingAuth(endpointDef.auth) || serviceOutgoingAuth;
|
|
26
|
+
const incomingAuth = resolveIncomingAuth(endpointDef.auth) || serviceIncomingAuth;
|
|
27
|
+
const options = endpointDef.options
|
|
28
|
+
? mergeOptions(serviceOptions, prepareOptions(endpointDef.options))
|
|
29
|
+
: serviceOptions;
|
|
30
|
+
return new Endpoint(endpointDef, serviceId, options, mapOptions, mutation, serviceAdapters, endpointAdapters, outgoingAuth, incomingAuth);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
16
33
|
export default class Service {
|
|
17
34
|
id;
|
|
18
35
|
meta;
|
|
@@ -20,7 +37,7 @@ export default class Service {
|
|
|
20
37
|
#options;
|
|
21
38
|
#endpoints;
|
|
22
39
|
#transporter;
|
|
23
|
-
#
|
|
40
|
+
#outgoingAuth;
|
|
24
41
|
#incomingAuth;
|
|
25
42
|
#connection;
|
|
26
43
|
#authorizeDataFromService;
|
|
@@ -38,16 +55,19 @@ export default class Service {
|
|
|
38
55
|
throw new TypeError(`Service '${serviceId}' references unknown transporter '${transporterId}'`);
|
|
39
56
|
}
|
|
40
57
|
this.#transporter = transporter;
|
|
41
|
-
|
|
42
|
-
|
|
58
|
+
const outgoingAuthResolver = resolveAuth(authenticators, auths);
|
|
59
|
+
const incomingAuthResolver = resolveIncomingAuth(authenticators, auths);
|
|
60
|
+
this.#outgoingAuth = outgoingAuthResolver(auth);
|
|
61
|
+
this.#incomingAuth = incomingAuthResolver(auth);
|
|
43
62
|
this.#authorizeDataFromService = authorizeData.fromService(schemas);
|
|
44
63
|
this.#authorizeDataToService = authorizeData.toService(schemas);
|
|
45
64
|
const serviceAdapters = lookupByIds(adapterDefs, adapters);
|
|
65
|
+
if (areWeMissingAdapters(serviceAdapters, adapterDefs)) {
|
|
66
|
+
throw new TypeError(createServiceAdapterError(serviceId));
|
|
67
|
+
}
|
|
46
68
|
const serviceOptions = prepareOptions(options);
|
|
47
69
|
this.#options = serviceOptions.transporter;
|
|
48
|
-
this.#endpoints = Endpoint.sortAndPrepare(endpointDefs).map((
|
|
49
|
-
? mergeOptions(serviceOptions, prepareOptions(endpoint.options))
|
|
50
|
-
: serviceOptions, mapOptions, mutation, serviceAdapters, lookupByIds(endpoint.adapters, adapters)));
|
|
70
|
+
this.#endpoints = Endpoint.sortAndPrepare(endpointDefs).map(setUpEndpoint(serviceId, adapters, outgoingAuthResolver, incomingAuthResolver, this.#outgoingAuth, this.#incomingAuth, serviceOptions, mapOptions, mutation, serviceAdapters));
|
|
51
71
|
this.#middleware =
|
|
52
72
|
middleware.length > 0 ? compose(...middleware) : (fn) => fn;
|
|
53
73
|
this.#connection = new Connection(this.#transporter, serviceOptions.transporter, emit);
|
|
@@ -56,7 +76,8 @@ export default class Service {
|
|
|
56
76
|
return await Endpoint.findMatchingEndpoint(this.#endpoints, action, isIncoming);
|
|
57
77
|
}
|
|
58
78
|
async preflightAction(action, endpoint) {
|
|
59
|
-
|
|
79
|
+
const outgoingAuth = endpoint.outgoingAuth;
|
|
80
|
+
let preparedAction = authorizeAction(this.#schemas, !!outgoingAuth)(action);
|
|
60
81
|
if (preparedAction.response?.status) {
|
|
61
82
|
return preparedAction;
|
|
62
83
|
}
|
|
@@ -64,9 +85,9 @@ export default class Service {
|
|
|
64
85
|
if (validateResponse) {
|
|
65
86
|
return setResponseOnAction(action, validateResponse);
|
|
66
87
|
}
|
|
67
|
-
if (endpoint.options?.transporter.authInData &&
|
|
68
|
-
await
|
|
69
|
-
preparedAction =
|
|
88
|
+
if (endpoint.options?.transporter.authInData && outgoingAuth) {
|
|
89
|
+
await outgoingAuth.authenticate(preparedAction);
|
|
90
|
+
preparedAction = outgoingAuth.applyToAction(preparedAction, this.#transporter);
|
|
70
91
|
if (preparedAction.response?.status) {
|
|
71
92
|
return setResponseOnAction(action, preparedAction.response);
|
|
72
93
|
}
|
|
@@ -134,7 +155,7 @@ export default class Service {
|
|
|
134
155
|
const { response } = setOriginOnAction(mutatedAction, 'mutate:response:incoming', false);
|
|
135
156
|
return response || { status: undefined };
|
|
136
157
|
}
|
|
137
|
-
async send(action) {
|
|
158
|
+
async send(action, endpoint) {
|
|
138
159
|
if (action.response?.status) {
|
|
139
160
|
return action.response;
|
|
140
161
|
}
|
|
@@ -144,9 +165,10 @@ export default class Service {
|
|
|
144
165
|
if (!isAuthorizedAction(action)) {
|
|
145
166
|
return createErrorResponse('Action has not been authorized by Integreat', `internal:service:${this.id}`, 'autherror');
|
|
146
167
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
168
|
+
const outgoingAuth = endpoint?.outgoingAuth;
|
|
169
|
+
if (outgoingAuth && !action.meta?.auth) {
|
|
170
|
+
await outgoingAuth.authenticate(action);
|
|
171
|
+
action = outgoingAuth.applyToAction(action, this.#transporter);
|
|
150
172
|
if (action.response?.status) {
|
|
151
173
|
return setOrigin(action.response, `service:${this.id}`, true);
|
|
152
174
|
}
|
|
@@ -168,16 +190,16 @@ export default class Service {
|
|
|
168
190
|
debug('Transporter is not configured to listen');
|
|
169
191
|
return createErrorResponse('Transporter is not configured to listen', `service:${this.id}`, 'noaction');
|
|
170
192
|
}
|
|
171
|
-
if (this.#
|
|
193
|
+
if (this.#outgoingAuth && !(await this.#outgoingAuth.authenticate(null))) {
|
|
172
194
|
debug('Could not authenticate');
|
|
173
|
-
return setOrigin(this.#
|
|
195
|
+
return setOrigin(this.#outgoingAuth.getResponseFromAuth(), `service:${this.id}`, true);
|
|
174
196
|
}
|
|
175
|
-
if (!(await this.#connection.connect(this.#
|
|
197
|
+
if (!(await this.#connection.connect(this.#outgoingAuth?.getAuthObject(this.#transporter, null)))) {
|
|
176
198
|
debug(`Could not listen to '${this.id}' service. Failed to connect`);
|
|
177
199
|
return createErrorResponse(`Could not listen to '${this.id}' service. Failed to connect`, `service:${this.id}`);
|
|
178
200
|
}
|
|
179
201
|
debug('Calling transporter listen() ...');
|
|
180
|
-
return this.#transporter.listen(dispatchIncoming(dispatch, this.#middleware, this.id), this.#connection.object, authenticateCallback(this
|
|
202
|
+
return this.#transporter.listen(dispatchIncoming(dispatch, this.#middleware, this.id), this.#connection.object, authenticateCallback(this, this.#incomingAuth));
|
|
181
203
|
}
|
|
182
204
|
async close() {
|
|
183
205
|
debug(`Close service '${this.id}'`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"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"}
|
package/dist/service/types.d.ts
CHANGED
|
@@ -52,12 +52,14 @@ export interface MatchObject {
|
|
|
52
52
|
export interface EndpointDef {
|
|
53
53
|
id?: string;
|
|
54
54
|
adapters?: (string | Adapter)[];
|
|
55
|
+
auth?: AuthObject | AuthProp;
|
|
55
56
|
match?: MatchObject;
|
|
56
57
|
validate?: ValidateObject[];
|
|
57
58
|
mutation?: TransformDefinition;
|
|
58
59
|
mutate?: TransformDefinition;
|
|
59
60
|
allowRawRequest?: boolean;
|
|
60
61
|
allowRawResponse?: boolean;
|
|
62
|
+
castWithoutDefaults?: boolean;
|
|
61
63
|
options?: ServiceOptions;
|
|
62
64
|
}
|
|
63
65
|
export interface ServiceDef {
|
|
@@ -4,7 +4,7 @@ export const castPayload = (action, endpoint, castFn) => ({
|
|
|
4
4
|
payload: !endpoint.allowRawRequest && castFn
|
|
5
5
|
? {
|
|
6
6
|
...action.payload,
|
|
7
|
-
data: castFn(action.payload.data),
|
|
7
|
+
data: castFn(action.payload.data, false, endpoint.castWithoutDefaults),
|
|
8
8
|
}
|
|
9
9
|
: action.payload,
|
|
10
10
|
});
|
|
@@ -13,7 +13,7 @@ export const castResponse = (action, endpoint, castFn) => !endpoint.allowRawResp
|
|
|
13
13
|
...action,
|
|
14
14
|
response: {
|
|
15
15
|
...action.response,
|
|
16
|
-
data: castFn(action.response?.data),
|
|
16
|
+
data: castFn(action.response?.data, false, endpoint.castWithoutDefaults),
|
|
17
17
|
},
|
|
18
18
|
}
|
|
19
19
|
: action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast.js","sourceRoot":"","sources":["../../../src/service/utils/cast.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAA4B,EAC5B,IAAwB,EACxB,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAc,EACd,QAAkB,EAClB,MAAe,EACP,EAAE,CAAC,CAAC;IACZ,GAAG,MAAM;IACT,OAAO,EACL,CAAC,QAAQ,CAAC,eAAe,IAAI,MAAM;QACjC,CAAC,CAAC;YACE,GAAG,MAAM,CAAC,OAAO;YACjB,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cast.js","sourceRoot":"","sources":["../../../src/service/utils/cast.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAA4B,EAC5B,IAAwB,EACxB,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAc,EACd,QAAkB,EAClB,MAAe,EACP,EAAE,CAAC,CAAC;IACZ,GAAG,MAAM;IACT,OAAO,EACL,CAAC,QAAQ,CAAC,eAAe,IAAI,MAAM;QACjC,CAAC,CAAC;YACE,GAAG,MAAM,CAAC,OAAO;YACjB,IAAI,EAAE,MAAM,CACV,MAAM,CAAC,OAAO,CAAC,IAAI,EACnB,KAAK,EACL,QAAQ,CAAC,mBAAmB,CAC7B;SACF;QACH,CAAC,CAAC,MAAM,CAAC,OAAO;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,QAAkB,EAClB,MAAe,EACP,EAAE,CACV,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM;IAClC,CAAC,CAAC;QACE,GAAG,MAAM;QACT,QAAQ,EAAE;YACR,GAAG,MAAM,CAAC,QAAQ;YAClB,IAAI,EAAE,MAAM,CACV,MAAM,CAAC,QAAQ,EAAE,IAAI,EACrB,KAAK,EACL,QAAQ,CAAC,mBAAmB,CAC7B;SACF;KACF;IACH,CAAC,CAAC,MAAM,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Auth from '../Auth.js';
|
|
2
2
|
import type { Authentication } from '../types.js';
|
|
3
3
|
import type { Action, Response, Dispatch, Middleware } from '../../types.js';
|
|
4
|
-
|
|
4
|
+
import type Service from '../Service.js';
|
|
5
|
+
export declare const authenticateCallback: (service: Service, incomingAuth?: Auth[]) => (authentication: Authentication, action?: Action | null) => Promise<Response<unknown>>;
|
|
5
6
|
export declare function dispatchIncoming(dispatch: Dispatch, middleware: Middleware, serviceId: string): (action: Action | null) => import("p-progress").PProgress<Response<unknown>>;
|
|
@@ -66,13 +66,17 @@ async function runAuths(auths, authentication, action) {
|
|
|
66
66
|
}
|
|
67
67
|
return response || { status: 'noaccess', error: 'No authentication was run' };
|
|
68
68
|
}
|
|
69
|
-
export const authenticateCallback = (
|
|
69
|
+
export const authenticateCallback = (service, incomingAuth) => async function authenticateFromListen(authentication, action) {
|
|
70
|
+
const endpoint = action
|
|
71
|
+
? await service.endpointFromAction(action)
|
|
72
|
+
: undefined;
|
|
73
|
+
const auths = endpoint?.incomingAuth || incomingAuth;
|
|
70
74
|
if (auths === undefined) {
|
|
71
|
-
return createErrorResponse(`Could not authenticate. Service '${
|
|
75
|
+
return createErrorResponse(`Could not authenticate. Service '${service.id}' has no incoming authenticator`, `auth:service:${service.id}`, 'noaction');
|
|
72
76
|
}
|
|
73
77
|
else {
|
|
74
78
|
const response = await runAuths(auths, authentication, action || null);
|
|
75
|
-
return setOrigin(markIdentAsKnown(response), `auth:service:${
|
|
79
|
+
return setOrigin(markIdentAsKnown(response), `auth:service:${service.id}`, true);
|
|
76
80
|
}
|
|
77
81
|
};
|
|
78
82
|
export function dispatchIncoming(dispatch, middleware, serviceId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incoming.js","sourceRoot":"","sources":["../../../src/service/utils/incoming.ts"],"names":[],"mappings":"AACA,OAAO,SAA+B,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"incoming.js","sourceRoot":"","sources":["../../../src/service/utils/incoming.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Auth from '../Auth.js';
|
|
2
2
|
import type { Authenticator } from '../../types.js';
|
|
3
3
|
import type { AuthObject, AuthProp } from '../types.js';
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
4
|
+
export declare const resolveAuth: (authenticators: Record<string, Authenticator>, auths?: Record<string, Auth>) => (auth?: AuthObject | AuthProp) => Auth | undefined;
|
|
5
|
+
export declare const resolveIncomingAuth: (authenticators: Record<string, Authenticator>, auths?: Record<string, Auth>) => (auth?: AuthObject | AuthProp) => Auth[] | undefined;
|
|
@@ -7,7 +7,7 @@ import { lookupById } from '../../utils/indexUtils.js';
|
|
|
7
7
|
const isAuthDef = (def) => isObject(def) &&
|
|
8
8
|
typeof def.id === 'string' &&
|
|
9
9
|
typeof def.authenticator === 'string';
|
|
10
|
-
export
|
|
10
|
+
export const resolveAuth = (authenticators, auths) => function resolveAuth(auth) {
|
|
11
11
|
if (isObject(auth) && !!auth.outgoing) {
|
|
12
12
|
auth = auth.outgoing;
|
|
13
13
|
}
|
|
@@ -23,16 +23,16 @@ export function resolveAuth(authenticators, auths, auth) {
|
|
|
23
23
|
else {
|
|
24
24
|
return undefined;
|
|
25
25
|
}
|
|
26
|
-
}
|
|
27
|
-
export
|
|
26
|
+
};
|
|
27
|
+
export const resolveIncomingAuth = (authenticators, auths) => function resolveIncomingAuth(auth) {
|
|
28
28
|
if (isObject(auth) && auth.incoming) {
|
|
29
29
|
const incomingAuths = ensureArray(auth.incoming);
|
|
30
30
|
return incomingAuths
|
|
31
|
-
.map((incoming) => resolveAuth(authenticators, auths
|
|
31
|
+
.map((incoming) => resolveAuth(authenticators, auths)(incoming))
|
|
32
32
|
.filter(isNotNullOrUndefined);
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
|
-
}
|
|
37
|
+
};
|
|
38
38
|
//# sourceMappingURL=resolveAuth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAuth.js","sourceRoot":"","sources":["../../../src/service/utils/resolveAuth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,SAAS,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAItD,MAAM,SAAS,GAAG,CAAC,GAAY,EAAkB,EAAE,CACjD,QAAQ,CAAC,GAAG,CAAC;IACb,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;IAC1B,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAA;AAEvC,MAAM,
|
|
1
|
+
{"version":3,"file":"resolveAuth.js","sourceRoot":"","sources":["../../../src/service/utils/resolveAuth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,SAAS,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAItD,MAAM,SAAS,GAAG,CAAC,GAAY,EAAkB,EAAE,CACjD,QAAQ,CAAC,GAAG,CAAC;IACb,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;IAC1B,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAA;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,cAA6C,EAC7C,KAA4B,EAC5B,EAAE,CACF,SAAS,WAAW,CAAC,IAA4B;IAC/C,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;QACrC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;KACrB;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;KAC/B;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;QAC1B,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAA;KACvC;SAAM,IAAI,IAAI,EAAE;QACf,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;KACxC;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,cAA6C,EAC7C,KAA4B,EAC5B,EAAE,CACF,SAAS,mBAAmB,CAAC,IAA4B;IACvD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACnC,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChD,OAAO,aAAa;aACjB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC/D,MAAM,CAAC,oBAAoB,CAAC,CAAA;KAChC;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC,CAAA"}
|
|
@@ -5,7 +5,7 @@ export default async function mutateAndSend(service, endpoint, action) {
|
|
|
5
5
|
return await service.mutateResponse(preparedAction, endpoint);
|
|
6
6
|
}
|
|
7
7
|
const requestAction = await service.mutateRequest(preparedAction, endpoint);
|
|
8
|
-
const response = await service.send(requestAction);
|
|
8
|
+
const response = await service.send(requestAction, endpoint);
|
|
9
9
|
return await service.mutateResponse(setResponseOnAction(action, response), endpoint);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=mutateAndSend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutateAndSend.js","sourceRoot":"","sources":["../../src/utils/mutateAndSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAKxD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACzC,OAAgB,EAChB,QAAkB,EAClB,MAAc;IAEd,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACtE,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;QAEnC,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;KAC9D;IAED,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IAC3E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"mutateAndSend.js","sourceRoot":"","sources":["../../src/utils/mutateAndSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAKxD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACzC,OAAgB,EAChB,QAAkB,EAClB,MAAc;IAEd,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACtE,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;QAEnC,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;KAC9D;IAED,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IAC3E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC5D,OAAO,MAAM,OAAO,CAAC,cAAc,CACjC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EACrC,QAAQ,CACT,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "integreat",
|
|
3
|
-
"version": "1.4.0
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Node.js integration layer",
|
|
5
5
|
"author": "Kjell-Morten Bratsberg Thorsen <kjellmorten@integreat.io> (https://integreat.io/)",
|
|
6
6
|
"license": "ISC",
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
"@integreat/ts-dev-setup": "^5.0.0",
|
|
57
57
|
"@types/debug": "^4.1.9",
|
|
58
58
|
"@types/luxon": "^3.3.2",
|
|
59
|
-
"@types/sinon": "^10.0.
|
|
59
|
+
"@types/sinon": "^10.0.19",
|
|
60
60
|
"integreat-adapter-json": "^1.0.0",
|
|
61
61
|
"integreat-adapter-uri": "^1.0.0",
|
|
62
62
|
"integreat-transformers": "^1.0.2",
|
|
63
63
|
"integreat-transporter-http": "1.2.1",
|
|
64
64
|
"nock": "^13.3.3",
|
|
65
|
-
"sinon": "^16.
|
|
65
|
+
"sinon": "^16.1.0"
|
|
66
66
|
}
|
|
67
67
|
}
|