@iveri/contracts 0.5.0 → 0.7.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 +8 -2
- package/dist/cjs/api/conduit/connection.type.d.ts +100 -0
- package/dist/cjs/api/conduit/connection.type.d.ts.map +1 -0
- package/dist/cjs/api/conduit/connection.type.js +3 -0
- package/dist/cjs/api/conduit/connection.type.js.map +1 -0
- package/dist/cjs/api/conduit/connector-auth-type.enum.d.ts +42 -0
- package/dist/cjs/api/conduit/connector-auth-type.enum.d.ts.map +1 -0
- package/dist/cjs/api/conduit/connector-auth-type.enum.js +46 -0
- package/dist/cjs/api/conduit/connector-auth-type.enum.js.map +1 -0
- package/dist/cjs/api/conduit/connector.type.d.ts +179 -0
- package/dist/cjs/api/conduit/connector.type.d.ts.map +1 -0
- package/dist/cjs/api/conduit/connector.type.js +13 -0
- package/dist/cjs/api/conduit/connector.type.js.map +1 -0
- package/dist/cjs/api/conduit/dispatch-status.enum.d.ts +40 -0
- package/dist/cjs/api/conduit/dispatch-status.enum.d.ts.map +1 -0
- package/dist/cjs/api/conduit/dispatch-status.enum.js +44 -0
- package/dist/cjs/api/conduit/dispatch-status.enum.js.map +1 -0
- package/dist/cjs/api/conduit/dispatch.type.d.ts +143 -0
- package/dist/cjs/api/conduit/dispatch.type.d.ts.map +1 -0
- package/dist/cjs/api/conduit/dispatch.type.js +3 -0
- package/dist/cjs/api/conduit/dispatch.type.js.map +1 -0
- package/dist/cjs/api/conduit/index.d.ts +5 -0
- package/dist/cjs/api/conduit/index.d.ts.map +1 -1
- package/dist/cjs/api/conduit/index.js +5 -0
- package/dist/cjs/api/conduit/index.js.map +1 -1
- package/dist/cjs/api/identity/access-token-payload.interface.d.ts +53 -0
- package/dist/cjs/api/identity/access-token-payload.interface.d.ts.map +1 -0
- package/dist/cjs/api/identity/access-token-payload.interface.js +3 -0
- package/dist/cjs/api/identity/access-token-payload.interface.js.map +1 -0
- package/dist/cjs/api/identity/auth.type.d.ts +21 -0
- package/dist/cjs/api/identity/auth.type.d.ts.map +1 -1
- package/dist/cjs/api/identity/index.d.ts +2 -0
- package/dist/cjs/api/identity/index.d.ts.map +1 -1
- package/dist/cjs/api/identity/index.js +2 -0
- package/dist/cjs/api/identity/index.js.map +1 -1
- package/dist/cjs/api/identity/principal-type.enum.d.ts +19 -0
- package/dist/cjs/api/identity/principal-type.enum.d.ts.map +1 -0
- package/dist/cjs/api/identity/principal-type.enum.js +23 -0
- package/dist/cjs/api/identity/principal-type.enum.js.map +1 -0
- package/dist/cjs/enum/user-permission.enum.d.ts +40 -1
- package/dist/cjs/enum/user-permission.enum.d.ts.map +1 -1
- package/dist/cjs/enum/user-permission.enum.js +42 -0
- package/dist/cjs/enum/user-permission.enum.js.map +1 -1
- package/dist/esm/api/conduit/connection.type.d.ts +100 -0
- package/dist/esm/api/conduit/connection.type.d.ts.map +1 -0
- package/dist/esm/api/conduit/connection.type.js +2 -0
- package/dist/esm/api/conduit/connection.type.js.map +1 -0
- package/dist/esm/api/conduit/connector-auth-type.enum.d.ts +42 -0
- package/dist/esm/api/conduit/connector-auth-type.enum.d.ts.map +1 -0
- package/dist/esm/api/conduit/connector-auth-type.enum.js +43 -0
- package/dist/esm/api/conduit/connector-auth-type.enum.js.map +1 -0
- package/dist/esm/api/conduit/connector.type.d.ts +179 -0
- package/dist/esm/api/conduit/connector.type.d.ts.map +1 -0
- package/dist/esm/api/conduit/connector.type.js +10 -0
- package/dist/esm/api/conduit/connector.type.js.map +1 -0
- package/dist/esm/api/conduit/dispatch-status.enum.d.ts +40 -0
- package/dist/esm/api/conduit/dispatch-status.enum.d.ts.map +1 -0
- package/dist/esm/api/conduit/dispatch-status.enum.js +41 -0
- package/dist/esm/api/conduit/dispatch-status.enum.js.map +1 -0
- package/dist/esm/api/conduit/dispatch.type.d.ts +143 -0
- package/dist/esm/api/conduit/dispatch.type.d.ts.map +1 -0
- package/dist/esm/api/conduit/dispatch.type.js +2 -0
- package/dist/esm/api/conduit/dispatch.type.js.map +1 -0
- package/dist/esm/api/conduit/index.d.ts +5 -0
- package/dist/esm/api/conduit/index.d.ts.map +1 -1
- package/dist/esm/api/conduit/index.js +5 -0
- package/dist/esm/api/conduit/index.js.map +1 -1
- package/dist/esm/api/identity/access-token-payload.interface.d.ts +53 -0
- package/dist/esm/api/identity/access-token-payload.interface.d.ts.map +1 -0
- package/dist/esm/api/identity/access-token-payload.interface.js +2 -0
- package/dist/esm/api/identity/access-token-payload.interface.js.map +1 -0
- package/dist/esm/api/identity/auth.type.d.ts +21 -0
- package/dist/esm/api/identity/auth.type.d.ts.map +1 -1
- package/dist/esm/api/identity/index.d.ts +2 -0
- package/dist/esm/api/identity/index.d.ts.map +1 -1
- package/dist/esm/api/identity/index.js +2 -0
- package/dist/esm/api/identity/index.js.map +1 -1
- package/dist/esm/api/identity/principal-type.enum.d.ts +19 -0
- package/dist/esm/api/identity/principal-type.enum.d.ts.map +1 -0
- package/dist/esm/api/identity/principal-type.enum.js +20 -0
- package/dist/esm/api/identity/principal-type.enum.js.map +1 -0
- package/dist/esm/enum/user-permission.enum.d.ts +40 -1
- package/dist/esm/enum/user-permission.enum.d.ts.map +1 -1
- package/dist/esm/enum/user-permission.enum.js +42 -0
- package/dist/esm/enum/user-permission.enum.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-token-payload.interface.js","sourceRoot":"","sources":["../../../../src/api/identity/access-token-payload.interface.ts"],"names":[],"mappings":""}
|
|
@@ -51,6 +51,27 @@ export interface AuthTokens {
|
|
|
51
51
|
/** Lifetime of `accessToken` in seconds, not of `refreshToken`. */
|
|
52
52
|
expiresInSeconds: number;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Returned by `POST /auth/token` — the API-key-for-JWT exchange a service makes so that other
|
|
56
|
+
* Iveri services can authorize it **without calling identity**.
|
|
57
|
+
*
|
|
58
|
+
* **There is deliberately no refresh token.** The API key already is the long-lived credential,
|
|
59
|
+
* and it is revocable by a row. A refresh token here would be a second long-lived credential
|
|
60
|
+
* with its own independent lifetime, rotation rule and leak story, obtained from the first —
|
|
61
|
+
* so revoking the key would no longer be enough to stop the caller. A service re-exchanges
|
|
62
|
+
* instead, which costs one call per {@link expiresInSeconds}.
|
|
63
|
+
*
|
|
64
|
+
* The key travels as `x-api-key`, so this call has no request body.
|
|
65
|
+
*/
|
|
66
|
+
export interface ServiceToken {
|
|
67
|
+
/** Send as `Authorization: Bearer <accessToken>`. Carries `pt: 'service'`. */
|
|
68
|
+
accessToken: string;
|
|
69
|
+
/**
|
|
70
|
+
* Lifetime in seconds. Shorter than a human session's: a service re-exchanges with nobody
|
|
71
|
+
* waiting, so the revocation window is cheap to shrink.
|
|
72
|
+
*/
|
|
73
|
+
expiresInSeconds: number;
|
|
74
|
+
}
|
|
54
75
|
/**
|
|
55
76
|
* Who the caller is. Returned by `GET /auth/me` and nested inside {@link AuthSession}.
|
|
56
77
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.type.d.ts","sourceRoot":"","sources":["../../../../src/api/identity/auth.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,0BAA0B;AAC1B,MAAM,WAAW,SAAS;IACtB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,iGAAiG;AACjG,MAAM,WAAW,oBAAoB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACvB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACtB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAE3B,qCAAqC;IACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAE7C,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,gEAAgE;IAChE,WAAW,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;CACtB"}
|
|
1
|
+
{"version":3,"file":"auth.type.d.ts","sourceRoot":"","sources":["../../../../src/api/identity/auth.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,0BAA0B;AAC1B,MAAM,WAAW,SAAS;IACtB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,iGAAiG;AACjG,MAAM,WAAW,oBAAoB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACvB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IACzB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACtB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAE3B,qCAAqC;IACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAE7C,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,gEAAgE;IAChE,WAAW,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What kind of principal an access token was minted for.
|
|
3
|
+
*
|
|
4
|
+
* It exists because `sub` alone cannot answer the question. A JWT's subject is *the principal*,
|
|
5
|
+
* and identity issues tokens for two kinds of them: a person who logged in, and a service that
|
|
6
|
+
* exchanged an API key. Both put a UUID in `sub`, and the two UUIDs mean entirely different
|
|
7
|
+
* things — one names a row in `user`, the other a row in `api_key`.
|
|
8
|
+
*
|
|
9
|
+
* A consumer that reads `sub` as a user id without checking this claim attributes a machine's
|
|
10
|
+
* actions to a user who does not exist. That is why every guard branches on it, and why it is
|
|
11
|
+
* required rather than optional: `tsc` then makes the branch impossible to forget.
|
|
12
|
+
*/
|
|
13
|
+
export declare enum PrincipalType {
|
|
14
|
+
/** A person, authenticated by password. `sub` is their `user.id`. */
|
|
15
|
+
USER = "user",
|
|
16
|
+
/** A service, authenticated by API key. `sub` is the `api_key.id`, and there is no user. */
|
|
17
|
+
SERVICE = "service"
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=principal-type.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/api/identity/principal-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,oBAAY,aAAa;IACrB,qEAAqE;IACrE,IAAI,SAAS;IAEb,4FAA4F;IAC5F,OAAO,YAAY;CACtB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What kind of principal an access token was minted for.
|
|
3
|
+
*
|
|
4
|
+
* It exists because `sub` alone cannot answer the question. A JWT's subject is *the principal*,
|
|
5
|
+
* and identity issues tokens for two kinds of them: a person who logged in, and a service that
|
|
6
|
+
* exchanged an API key. Both put a UUID in `sub`, and the two UUIDs mean entirely different
|
|
7
|
+
* things — one names a row in `user`, the other a row in `api_key`.
|
|
8
|
+
*
|
|
9
|
+
* A consumer that reads `sub` as a user id without checking this claim attributes a machine's
|
|
10
|
+
* actions to a user who does not exist. That is why every guard branches on it, and why it is
|
|
11
|
+
* required rather than optional: `tsc` then makes the branch impossible to forget.
|
|
12
|
+
*/
|
|
13
|
+
export var PrincipalType;
|
|
14
|
+
(function (PrincipalType) {
|
|
15
|
+
/** A person, authenticated by password. `sub` is their `user.id`. */
|
|
16
|
+
PrincipalType["USER"] = "user";
|
|
17
|
+
/** A service, authenticated by API key. `sub` is the `api_key.id`, and there is no user. */
|
|
18
|
+
PrincipalType["SERVICE"] = "service";
|
|
19
|
+
})(PrincipalType || (PrincipalType = {}));
|
|
20
|
+
//# sourceMappingURL=principal-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal-type.enum.js","sourceRoot":"","sources":["../../../../src/api/identity/principal-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,qEAAqE;IACrE,8BAAa,CAAA;IAEb,4FAA4F;IAC5F,oCAAmB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB"}
|
|
@@ -89,7 +89,46 @@ export declare enum UserPermission {
|
|
|
89
89
|
* read: it causes an outbound request rather than returning a row, and redriving a large
|
|
90
90
|
* dead-letter backlog is a way to flood a customer's own service.
|
|
91
91
|
*/
|
|
92
|
-
CONDUIT_DELIVERY_OPERATE = "conduit:delivery:operate"
|
|
92
|
+
CONDUIT_DELIVERY_OPERATE = "conduit:delivery:operate",
|
|
93
|
+
/** Read connector manifests. They hold no credential, so this is configuration only. */
|
|
94
|
+
CONDUIT_CONNECTOR_READ = "conduit:connector:read",
|
|
95
|
+
/**
|
|
96
|
+
* Define or amend a connector manifest — **the list of hosts and paths Conduit may be asked
|
|
97
|
+
* to call**, and the token endpoint it will send a customer's client secret to.
|
|
98
|
+
*
|
|
99
|
+
* The most powerful permission in the outbound half. A dispatch cannot name a URL; it can
|
|
100
|
+
* only name an operation somebody with this permission wrote down, which is what keeps
|
|
101
|
+
* outbound from being an authenticated open proxy. Whoever holds this decides where the
|
|
102
|
+
* proxy may point.
|
|
103
|
+
*/
|
|
104
|
+
CONDUIT_CONNECTOR_MANAGE = "conduit:connector:manage",
|
|
105
|
+
/** Read connections. Never exposes their stored credential values. */
|
|
106
|
+
CONDUIT_CONNECTION_READ = "conduit:connection:read",
|
|
107
|
+
/**
|
|
108
|
+
* Create, amend or delete a connection — the customer's own third-party credentials.
|
|
109
|
+
*
|
|
110
|
+
* Single manage permission rather than create/update/delete: the dangerous act is holding
|
|
111
|
+
* the credential at all, and the three carry the same risk.
|
|
112
|
+
*/
|
|
113
|
+
CONDUIT_CONNECTION_MANAGE = "conduit:connection:manage",
|
|
114
|
+
/**
|
|
115
|
+
* Read the outbound log and its dead-letter queue, including each attempt's response.
|
|
116
|
+
*
|
|
117
|
+
* A dispatch record holds the payload a vertical asked to send — a customer's message text,
|
|
118
|
+
* an order — so this is a data-read permission, not a config one.
|
|
119
|
+
*/
|
|
120
|
+
CONDUIT_DISPATCH_READ = "conduit:dispatch:read",
|
|
121
|
+
/**
|
|
122
|
+
* Submit an outbound request. **This is the permission a vertical holds**, and the only one
|
|
123
|
+
* it needs: `unibox-api` sending a reply presents this and nothing else.
|
|
124
|
+
*
|
|
125
|
+
* Separate from `CONDUIT_DISPATCH_OPERATE` because sending is the routine act and operating
|
|
126
|
+
* the queue is the exceptional one — a service principal that can send should not also be
|
|
127
|
+
* able to redrive a backlog.
|
|
128
|
+
*/
|
|
129
|
+
CONDUIT_DISPATCH_SEND = "conduit:dispatch:send",
|
|
130
|
+
/** Redrive a dead-lettered dispatch, or cancel one still pending. */
|
|
131
|
+
CONDUIT_DISPATCH_OPERATE = "conduit:dispatch:operate"
|
|
93
132
|
}
|
|
94
133
|
/**
|
|
95
134
|
* Every member, for seeding the owner role and validating custom-role input.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,oBAAY,cAAc;IAItB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,sFAAsF;IACtF,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,eAAe,oBAAoB;IACnC,6EAA6E;IAC7E,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,sBAAsB,2BAA2B;IAGjD,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IAKjC,qEAAqE;IACrE,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IAGnD;;;;OAIG;IACH,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IAGjD;;;;OAIG;IACH,sBAAsB,2BAA2B;IAGjD,qBAAqB,0BAA0B;IAC/C,yFAAyF;IACzF,uBAAuB,4BAA4B;IAGnD,mEAAmE;IACnE,wBAAwB,6BAA6B;IACrD;;;;;;;OAOG;IACH,0BAA0B,+BAA+B;IAGzD,kBAAkB,uBAAuB;IACzC,2DAA2D;IAC3D,oBAAoB,yBAAyB;IAG7C;;;;;OAKG;IACH,qBAAqB,0BAA0B;IAC/C;;;;;;OAMG;IACH,wBAAwB,6BAA6B;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAAiD,CAAC"}
|
|
1
|
+
{"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,oBAAY,cAAc;IAItB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,sFAAsF;IACtF,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,eAAe,oBAAoB;IACnC,6EAA6E;IAC7E,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,sBAAsB,2BAA2B;IAGjD,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAG3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IAKjC,qEAAqE;IACrE,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IAGnD;;;;OAIG;IACH,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IAGjD;;;;OAIG;IACH,sBAAsB,2BAA2B;IAGjD,qBAAqB,0BAA0B;IAC/C,yFAAyF;IACzF,uBAAuB,4BAA4B;IAGnD,mEAAmE;IACnE,wBAAwB,6BAA6B;IACrD;;;;;;;OAOG;IACH,0BAA0B,+BAA+B;IAGzD,kBAAkB,uBAAuB;IACzC,2DAA2D;IAC3D,oBAAoB,yBAAyB;IAG7C;;;;;OAKG;IACH,qBAAqB,0BAA0B;IAC/C;;;;;;OAMG;IACH,wBAAwB,6BAA6B;IAGrD,wFAAwF;IACxF,sBAAsB,2BAA2B;IACjD;;;;;;;;OAQG;IACH,wBAAwB,6BAA6B;IAGrD,sEAAsE;IACtE,uBAAuB,4BAA4B;IACnD;;;;;OAKG;IACH,yBAAyB,8BAA8B;IAGvD;;;;;OAKG;IACH,qBAAqB,0BAA0B;IAC/C;;;;;;;OAOG;IACH,qBAAqB,0BAA0B;IAC/C,qEAAqE;IACrE,wBAAwB,6BAA6B;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAAiD,CAAC"}
|
|
@@ -105,6 +105,48 @@ export var UserPermission;
|
|
|
105
105
|
* dead-letter backlog is a way to flood a customer's own service.
|
|
106
106
|
*/
|
|
107
107
|
UserPermission["CONDUIT_DELIVERY_OPERATE"] = "conduit:delivery:operate";
|
|
108
|
+
// ── Connector (outbound) ────────────────────────────────────────────────
|
|
109
|
+
/** Read connector manifests. They hold no credential, so this is configuration only. */
|
|
110
|
+
UserPermission["CONDUIT_CONNECTOR_READ"] = "conduit:connector:read";
|
|
111
|
+
/**
|
|
112
|
+
* Define or amend a connector manifest — **the list of hosts and paths Conduit may be asked
|
|
113
|
+
* to call**, and the token endpoint it will send a customer's client secret to.
|
|
114
|
+
*
|
|
115
|
+
* The most powerful permission in the outbound half. A dispatch cannot name a URL; it can
|
|
116
|
+
* only name an operation somebody with this permission wrote down, which is what keeps
|
|
117
|
+
* outbound from being an authenticated open proxy. Whoever holds this decides where the
|
|
118
|
+
* proxy may point.
|
|
119
|
+
*/
|
|
120
|
+
UserPermission["CONDUIT_CONNECTOR_MANAGE"] = "conduit:connector:manage";
|
|
121
|
+
// ── Connection (outbound) ───────────────────────────────────────────────
|
|
122
|
+
/** Read connections. Never exposes their stored credential values. */
|
|
123
|
+
UserPermission["CONDUIT_CONNECTION_READ"] = "conduit:connection:read";
|
|
124
|
+
/**
|
|
125
|
+
* Create, amend or delete a connection — the customer's own third-party credentials.
|
|
126
|
+
*
|
|
127
|
+
* Single manage permission rather than create/update/delete: the dangerous act is holding
|
|
128
|
+
* the credential at all, and the three carry the same risk.
|
|
129
|
+
*/
|
|
130
|
+
UserPermission["CONDUIT_CONNECTION_MANAGE"] = "conduit:connection:manage";
|
|
131
|
+
// ── Dispatch (outbound) ─────────────────────────────────────────────────
|
|
132
|
+
/**
|
|
133
|
+
* Read the outbound log and its dead-letter queue, including each attempt's response.
|
|
134
|
+
*
|
|
135
|
+
* A dispatch record holds the payload a vertical asked to send — a customer's message text,
|
|
136
|
+
* an order — so this is a data-read permission, not a config one.
|
|
137
|
+
*/
|
|
138
|
+
UserPermission["CONDUIT_DISPATCH_READ"] = "conduit:dispatch:read";
|
|
139
|
+
/**
|
|
140
|
+
* Submit an outbound request. **This is the permission a vertical holds**, and the only one
|
|
141
|
+
* it needs: `unibox-api` sending a reply presents this and nothing else.
|
|
142
|
+
*
|
|
143
|
+
* Separate from `CONDUIT_DISPATCH_OPERATE` because sending is the routine act and operating
|
|
144
|
+
* the queue is the exceptional one — a service principal that can send should not also be
|
|
145
|
+
* able to redrive a backlog.
|
|
146
|
+
*/
|
|
147
|
+
UserPermission["CONDUIT_DISPATCH_SEND"] = "conduit:dispatch:send";
|
|
148
|
+
/** Redrive a dead-lettered dispatch, or cancel one still pending. */
|
|
149
|
+
UserPermission["CONDUIT_DISPATCH_OPERATE"] = "conduit:dispatch:operate";
|
|
108
150
|
})(UserPermission || (UserPermission = {}));
|
|
109
151
|
/**
|
|
110
152
|
* Every member, for seeding the owner role and validating custom-role input.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAY,cAkJX;AAlJD,WAAY,cAAc;IACtB,4EAA4E;IAE5E,2EAA2E;IAC3E,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,sFAAsF;IACtF,iDAA+B,CAAA;IAE/B,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,qDAAmC,CAAA;IACnC,6EAA6E;IAC7E,yDAAuC,CAAA;IACvC;;;OAGG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IAEjC,4EAA4E;IAE5E,2EAA2E;IAC3E,qEAAqE;IACrE,iEAA+C,CAAA;IAC/C,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E;;;;OAIG;IACH,+DAA6C,CAAA;IAC7C,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E;;;;OAIG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,iEAA+C,CAAA;IAC/C,yFAAyF;IACzF,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E,mEAAmE;IACnE,uEAAqD,CAAA;IACrD;;;;;;;OAOG;IACH,2EAAyD,CAAA;IAEzD,2EAA2E;IAC3E,2DAAyC,CAAA;IACzC,2DAA2D;IAC3D,+DAA6C,CAAA;IAE7C,2EAA2E;IAC3E;;;;;OAKG;IACH,iEAA+C,CAAA;IAC/C;;;;;;OAMG;IACH,uEAAqD,CAAA;IAErD,2EAA2E;IAC3E,wFAAwF;IACxF,mEAAiD,CAAA;IACjD;;;;;;;;OAQG;IACH,uEAAqD,CAAA;IAErD,2EAA2E;IAC3E,sEAAsE;IACtE,qEAAmD,CAAA;IACnD;;;;;OAKG;IACH,yEAAuD,CAAA;IAEvD,2EAA2E;IAC3E;;;;;OAKG;IACH,iEAA+C,CAAA;IAC/C;;;;;;;OAOG;IACH,iEAA+C,CAAA;IAC/C,qEAAqE;IACrE,uEAAqD,CAAA;AACzD,CAAC,EAlJW,cAAc,KAAd,cAAc,QAkJzB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA8B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC"}
|