@sasjs/api 0.2.1 → 0.3.1
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 +36 -8
- package/build/browser.js +804 -4
- package/build/cjs/corpus/identity.js +268 -0
- package/build/cjs/corpus/runner.js +11 -2
- package/build/cjs/host/dispatch.js +57 -2
- package/build/cjs/identity/fixture.js +118 -0
- package/build/cjs/identity/memory-store.js +195 -0
- package/build/cjs/identity/service.js +153 -0
- package/build/cjs/identity/types.js +11 -0
- package/build/cjs/index.js +11 -1
- package/build/cjs/routes/generated.js +72 -0
- package/build/cjs/routes/index.js +6 -0
- package/build/cjs/routes/overlay.js +38 -0
- package/build/esm/corpus/drive.d.ts +14 -0
- package/build/esm/corpus/drive.d.ts.map +1 -1
- package/build/esm/corpus/identity.d.ts +17 -0
- package/build/esm/corpus/identity.d.ts.map +1 -0
- package/build/esm/corpus/identity.js +265 -0
- package/build/esm/corpus/runner.d.ts +6 -1
- package/build/esm/corpus/runner.d.ts.map +1 -1
- package/build/esm/corpus/runner.js +11 -2
- package/build/esm/host/dispatch.d.ts +16 -0
- package/build/esm/host/dispatch.d.ts.map +1 -1
- package/build/esm/host/dispatch.js +57 -2
- package/build/esm/identity/fixture.d.ts +84 -0
- package/build/esm/identity/fixture.d.ts.map +1 -0
- package/build/esm/identity/fixture.js +114 -0
- package/build/esm/identity/memory-store.d.ts +61 -0
- package/build/esm/identity/memory-store.d.ts.map +1 -0
- package/build/esm/identity/memory-store.js +191 -0
- package/build/esm/identity/service.d.ts +48 -0
- package/build/esm/identity/service.d.ts.map +1 -0
- package/build/esm/identity/service.js +148 -0
- package/build/esm/identity/types.d.ts +79 -0
- package/build/esm/identity/types.d.ts.map +1 -0
- package/build/esm/identity/types.js +10 -0
- package/build/esm/index.d.ts +7 -0
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js +4 -0
- package/build/esm/routes/generated.d.ts.map +1 -1
- package/build/esm/routes/generated.js +72 -0
- package/build/esm/routes/index.d.ts.map +1 -1
- package/build/esm/routes/index.js +6 -0
- package/build/esm/routes/overlay.d.ts +9 -0
- package/build/esm/routes/overlay.d.ts.map +1 -1
- package/build/esm/routes/overlay.js +38 -0
- package/build/esm/types.d.ts +11 -0
- package/build/esm/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -84,6 +84,10 @@ export const GENERATED_ROUTES = [
|
|
|
84
84
|
{
|
|
85
85
|
status: 204,
|
|
86
86
|
description: 'No content'
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
status: 401,
|
|
90
|
+
description: 'No valid access token was supplied'
|
|
87
91
|
}
|
|
88
92
|
]
|
|
89
93
|
},
|
|
@@ -99,6 +103,10 @@ export const GENERATED_ROUTES = [
|
|
|
99
103
|
{
|
|
100
104
|
status: 200,
|
|
101
105
|
description: 'Ok'
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
status: 401,
|
|
109
|
+
description: 'The refresh token is missing, invalid or expired, or the client id is unknown'
|
|
102
110
|
}
|
|
103
111
|
]
|
|
104
112
|
},
|
|
@@ -127,6 +135,14 @@ export const GENERATED_ROUTES = [
|
|
|
127
135
|
{
|
|
128
136
|
status: 200,
|
|
129
137
|
description: 'Ok'
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
status: 400,
|
|
141
|
+
description: 'The request body is missing `clientId` or `code`'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
status: 401,
|
|
145
|
+
description: 'The authorization code is invalid, expired, already used, or was issued for another client, or the client id is unknown'
|
|
130
146
|
}
|
|
131
147
|
]
|
|
132
148
|
},
|
|
@@ -155,6 +171,26 @@ export const GENERATED_ROUTES = [
|
|
|
155
171
|
{
|
|
156
172
|
status: 204,
|
|
157
173
|
description: 'No content'
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
status: 400,
|
|
177
|
+
description: 'The request body is missing `currentPassword` or `newPassword`'
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
status: 401,
|
|
181
|
+
description: 'No valid access token was supplied'
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
status: 403,
|
|
185
|
+
description: 'The current password is incorrect'
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
status: 404,
|
|
189
|
+
description: 'The authenticated user no longer exists'
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
status: 405,
|
|
193
|
+
description: 'The account authenticates through an external provider, which holds its password'
|
|
158
194
|
}
|
|
159
195
|
]
|
|
160
196
|
},
|
|
@@ -1068,6 +1104,10 @@ export const GENERATED_ROUTES = [
|
|
|
1068
1104
|
{
|
|
1069
1105
|
status: 200,
|
|
1070
1106
|
description: 'Ok'
|
|
1107
|
+
},
|
|
1108
|
+
{
|
|
1109
|
+
status: 401,
|
|
1110
|
+
description: 'No valid access token or session was supplied'
|
|
1071
1111
|
}
|
|
1072
1112
|
]
|
|
1073
1113
|
},
|
|
@@ -1551,6 +1591,18 @@ export const GENERATED_ROUTES = [
|
|
|
1551
1591
|
{
|
|
1552
1592
|
status: 200,
|
|
1553
1593
|
description: 'Ok'
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
status: 400,
|
|
1597
|
+
description: 'The request body is missing `clientId`, or the CSRF token is missing or invalid'
|
|
1598
|
+
},
|
|
1599
|
+
{
|
|
1600
|
+
status: 401,
|
|
1601
|
+
description: 'No signed-in session'
|
|
1602
|
+
},
|
|
1603
|
+
{
|
|
1604
|
+
status: 403,
|
|
1605
|
+
description: 'The client id is unknown'
|
|
1554
1606
|
}
|
|
1555
1607
|
]
|
|
1556
1608
|
},
|
|
@@ -1579,6 +1631,22 @@ export const GENERATED_ROUTES = [
|
|
|
1579
1631
|
{
|
|
1580
1632
|
status: 200,
|
|
1581
1633
|
description: 'Ok'
|
|
1634
|
+
},
|
|
1635
|
+
{
|
|
1636
|
+
status: 400,
|
|
1637
|
+
description: 'The request body is missing `username` or `password`'
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
status: 401,
|
|
1641
|
+
description: 'The credentials are not valid, or password sign-in is disabled for local accounts'
|
|
1642
|
+
},
|
|
1643
|
+
{
|
|
1644
|
+
status: 429,
|
|
1645
|
+
description: 'Too many failed attempts for this account'
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
status: 500,
|
|
1649
|
+
description: 'An unexpected error occurred while signing in'
|
|
1582
1650
|
}
|
|
1583
1651
|
]
|
|
1584
1652
|
},
|
|
@@ -1594,6 +1662,10 @@ export const GENERATED_ROUTES = [
|
|
|
1594
1662
|
{
|
|
1595
1663
|
status: 200,
|
|
1596
1664
|
description: 'Ok'
|
|
1665
|
+
},
|
|
1666
|
+
{
|
|
1667
|
+
status: 500,
|
|
1668
|
+
description: 'The session store failed to replace the session'
|
|
1597
1669
|
}
|
|
1598
1670
|
]
|
|
1599
1671
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAiB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAiB,MAAM,aAAa,CAAA;AAkDvD,eAAO,MAAM,MAAM,EAAE,KAAK,EAAgC,CAAA;AAW1D,4EAA4E;AAC5E,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,KAAG,KAAK,GAAG,SAAyB,CAAA;AAExE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,KAAK,CAAA;IACZ,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAgCD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,MAAM,EACd,MAAM,MAAM,KACX,UAAU,GAAG,SAuBf,CAAA"}
|
|
@@ -33,9 +33,15 @@ const merge = (generated) => {
|
|
|
33
33
|
...(body === undefined ? {} : { body })
|
|
34
34
|
};
|
|
35
35
|
});
|
|
36
|
+
// A host-only status has to be one the document states: the annotation marks
|
|
37
|
+
// where a status is answered, it does not add one.
|
|
38
|
+
for (const status of overlay.hostResponses || [])
|
|
39
|
+
if (!documented.has(status))
|
|
40
|
+
throw new Error(`src/routes/overlay.ts marks status ${status} of ${generated.id} as host-only, and the OpenAPI document does not state it. Correct the document in sasjs/server and re-vendor spec/swagger.yaml, or drop the annotation.`);
|
|
36
41
|
return {
|
|
37
42
|
...generated,
|
|
38
43
|
responses,
|
|
44
|
+
hostResponses: overlay.hostResponses || [],
|
|
39
45
|
capabilities: overlay.capabilities || TAG_CAPABILITIES[generated.tag] || [],
|
|
40
46
|
implemented: overlay.implemented === true
|
|
41
47
|
};
|
|
@@ -26,6 +26,15 @@ import type { Capability, HttpMethod } from '../types.js';
|
|
|
26
26
|
export interface RouteOverlay {
|
|
27
27
|
capabilities?: Capability[];
|
|
28
28
|
implemented?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Statuses the document states that this package cannot send because they are
|
|
31
|
+
* the host's to send: an account lockout is the host's login limiter, a
|
|
32
|
+
* provider failure is its identity provider, a session-store failure is its
|
|
33
|
+
* session middleware. They stay in the document - a client still receives
|
|
34
|
+
* them - and are excluded from the corpus parity check, whose other side is
|
|
35
|
+
* what the package answers. The host's own suite pins them.
|
|
36
|
+
*/
|
|
37
|
+
hostResponses?: number[];
|
|
29
38
|
/**
|
|
30
39
|
* The body the operation sends with a status, where a client keys on it. The
|
|
31
40
|
* statuses come from the document; this only annotates them.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/routes/overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAczD,CAAA;
|
|
1
|
+
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/routes/overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAczD,CAAA;AAYD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAoFhD,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,OAAO,EAAE,UAAU,EAA8C,CAAA"}
|
|
@@ -15,6 +15,13 @@ export const TAG_CAPABILITIES = {
|
|
|
15
15
|
Web: ['identity']
|
|
16
16
|
};
|
|
17
17
|
const success = { status: 'success' };
|
|
18
|
+
const user = {
|
|
19
|
+
uid: '',
|
|
20
|
+
username: '',
|
|
21
|
+
displayName: '',
|
|
22
|
+
isAdmin: false,
|
|
23
|
+
needsToUpdatePassword: false
|
|
24
|
+
};
|
|
18
25
|
export const OVERLAY = {
|
|
19
26
|
// the route inventory reports what the CALLER may use, so it needs an identity
|
|
20
27
|
// even though the rest of the Info tag needs nothing
|
|
@@ -66,6 +73,37 @@ export const OVERLAY = {
|
|
|
66
73
|
},
|
|
67
74
|
'POST /SASjsApi/drive/deploy/upload': {
|
|
68
75
|
implemented: false
|
|
76
|
+
},
|
|
77
|
+
// The lockout and the provider failure are answered before the package is
|
|
78
|
+
// consulted (routes/web/web.ts in sasjs/server).
|
|
79
|
+
'POST /SASLogon/login': {
|
|
80
|
+
implemented: true,
|
|
81
|
+
hostResponses: [429, 500],
|
|
82
|
+
responses: { 200: { loggedIn: true, user } }
|
|
83
|
+
},
|
|
84
|
+
// The sign-in flow. The statuses are the document's; these entries state the
|
|
85
|
+
// body a client keys on, and that this package answers the operation.
|
|
86
|
+
'POST /SASjsApi/auth/token': {
|
|
87
|
+
implemented: true,
|
|
88
|
+
responses: { 200: { accessToken: '', refreshToken: '' } }
|
|
89
|
+
},
|
|
90
|
+
'POST /SASjsApi/auth/refresh': {
|
|
91
|
+
implemented: true,
|
|
92
|
+
responses: { 200: { accessToken: '', refreshToken: '' } }
|
|
93
|
+
},
|
|
94
|
+
'POST /SASjsApi/auth/logout': { implemented: true },
|
|
95
|
+
'POST /SASLogon/authorize': {
|
|
96
|
+
implemented: true,
|
|
97
|
+
responses: { 200: { code: '' } }
|
|
98
|
+
},
|
|
99
|
+
'GET /SASLogon/logout': {
|
|
100
|
+
implemented: true,
|
|
101
|
+
hostResponses: [500],
|
|
102
|
+
responses: { 200: 'OK!' }
|
|
103
|
+
},
|
|
104
|
+
'GET /SASjsApi/session': {
|
|
105
|
+
implemented: true,
|
|
106
|
+
responses: { 200: user }
|
|
69
107
|
}
|
|
70
108
|
};
|
|
71
109
|
/** Every method the table may state, in the order a diff reads best. */
|
package/build/esm/types.d.ts
CHANGED
|
@@ -67,6 +67,17 @@ export interface GeneratedRoute {
|
|
|
67
67
|
}
|
|
68
68
|
export interface Route extends GeneratedRoute {
|
|
69
69
|
responses: RouteResponse[];
|
|
70
|
+
/**
|
|
71
|
+
* Statuses the document states that only a HOST can send - a login lockout is
|
|
72
|
+
* the host's limiter, a provider failure is its identity provider. The corpus
|
|
73
|
+
* does not answer them, so the parity check compares the document without
|
|
74
|
+
* them; the host's own suite pins them.
|
|
75
|
+
*
|
|
76
|
+
* Optional, and read as empty when absent: a host that builds a `Route` of its
|
|
77
|
+
* own is describing the document, not the lockout, and requiring the field
|
|
78
|
+
* made every such value a compile error.
|
|
79
|
+
*/
|
|
80
|
+
hostResponses?: number[];
|
|
70
81
|
capabilities: Capability[];
|
|
71
82
|
/**
|
|
72
83
|
* Whether this package carries a handler for the operation. A host may still
|
package/build/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAK/B,QAAQ,CAAC,MAAM,EAAE,MAAM;IAJzB,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,QAAO;gBAGb,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QACH,CAAA;AAElD;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,UAAU,GACV,KAAK,GACL,MAAM,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEpE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAA;AAE7E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,aAAa,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,KAAM,SAAQ,cAAc;IAC3C,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,YAAY,EAAE,UAAU,EAAE,CAAA;IAC1B;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;IAChD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACnE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,4DAA4D;IAC5D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACrB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED