@pgds/api-interface 1.2.5 → 1.3.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 +19 -16
- package/client/FairtrailClient.js +1 -1
- package/client/FairtrailClient.js.map +1 -1
- package/constants/index.d.ts +1 -1
- package/constants/index.js +2 -2
- package/constants/index.js.map +1 -1
- package/index.js +3 -1
- package/lib/auth/mustbeConfig.d.ts +1 -3
- package/lib/auth/mustbeConfig.js +10 -12
- package/lib/auth/mustbeConfig.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js.map +1 -1
- package/lib/models/ReqUser.d.ts +22 -4
- package/lib/models/ReqUser.js +46 -0
- package/lib/models/ReqUser.js.map +1 -1
- package/lib/utils/asyncHooks.js +6 -3
- package/lib/utils/asyncHooks.js.map +1 -1
- package/package.json +1 -2
- package/utils/index.d.ts +6 -0
- package/utils/index.js +9 -0
- package/utils/index.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
### hiot-api-interface
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
Examples:
|
|
4
|
+
|
|
5
5
|
- [#Example](#example)
|
|
6
6
|
- [./examples/example.ts](examples/example.ts)
|
|
7
7
|
- [./examples/example.js](examples/example.js)
|
|
@@ -11,14 +11,14 @@ Examples:
|
|
|
11
11
|
Available exports
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import { get, post, put, patch, del,
|
|
14
|
+
import { get, post, put, patch, del, internal, JsonResponse, prepareJsonSchemas, Method } from "hiot-api-interface";
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Endpoints
|
|
18
|
+
|
|
18
19
|
<details>
|
|
19
20
|
<summary>The <code>get</code>, <code>post</code>, <code>put</code>, <code>patch</code>, <code>del</code> & <code>internal</code> functions are for registering endpoints. They share the same api</summary>
|
|
20
21
|
|
|
21
|
-
|
|
22
22
|
```typescript
|
|
23
23
|
export default get({
|
|
24
24
|
/** The path to the endpoint */
|
|
@@ -139,6 +139,7 @@ async function getDashboardsEndpoint(req: Request<GetDashboardsRequestSchema>):
|
|
|
139
139
|
</details>
|
|
140
140
|
|
|
141
141
|
## Request schema
|
|
142
|
+
|
|
142
143
|
<details>
|
|
143
144
|
<summary>Request schemas can be either a JSON schema or a typescript type</summary>
|
|
144
145
|
When using typescript types as json schemas:
|
|
@@ -202,13 +203,14 @@ export const GetDashboardsRequestSchema = {
|
|
|
202
203
|
},
|
|
203
204
|
};
|
|
204
205
|
```
|
|
206
|
+
|
|
205
207
|
</details>
|
|
206
208
|
|
|
207
209
|
## Response schema
|
|
210
|
+
|
|
208
211
|
<details>
|
|
209
212
|
<summary>Response schemas can be either a JSON schema or a typescript type</summary>
|
|
210
213
|
|
|
211
|
-
|
|
212
214
|
```typescript
|
|
213
215
|
import { DashboardModel } from "../../models/DashboardModel";
|
|
214
216
|
|
|
@@ -216,6 +218,7 @@ export const GET_DASHBOARDS_RESPONSE_SCHEMA = "GetDashboardsResponseSchema";
|
|
|
216
218
|
|
|
217
219
|
export type GetDashboardsResponseSchema = DashboardModel[];
|
|
218
220
|
```
|
|
221
|
+
|
|
219
222
|
</details>
|
|
220
223
|
|
|
221
224
|
## Json schema setup
|
|
@@ -223,13 +226,12 @@ export type GetDashboardsResponseSchema = DashboardModel[];
|
|
|
223
226
|
<details>
|
|
224
227
|
<summary>Using typescript types as json schemas require them to be converted to json schemas during run time. This is done during the service startup. Schemas are cached so that they are only converted once when running tests (that are restarting the service for each test file).</summary>
|
|
225
228
|
|
|
226
|
-
|
|
227
229
|
```typescript
|
|
228
230
|
import { setupApiInterface } from "hiot-api-interface";
|
|
229
231
|
|
|
230
232
|
const started = hiot
|
|
231
233
|
.startApp({ logger, onUncaughtException: handleException, handleException })
|
|
232
|
-
.then((locator)=>{
|
|
234
|
+
.then((locator) => {
|
|
233
235
|
await setupApiInterface({
|
|
234
236
|
port: PORT,
|
|
235
237
|
apiVersion: "v1",
|
|
@@ -241,7 +243,7 @@ const started = hiot
|
|
|
241
243
|
routes();
|
|
242
244
|
|
|
243
245
|
return locator;
|
|
244
|
-
})
|
|
246
|
+
})
|
|
245
247
|
.then(waitFor)
|
|
246
248
|
.then(db)
|
|
247
249
|
.then(shutdown)
|
|
@@ -251,7 +253,6 @@ const started = hiot
|
|
|
251
253
|
|
|
252
254
|
</details>
|
|
253
255
|
|
|
254
|
-
|
|
255
256
|
## routes.ts
|
|
256
257
|
|
|
257
258
|
<details>
|
|
@@ -295,6 +296,7 @@ export default function (server: restify.Server) {
|
|
|
295
296
|
);
|
|
296
297
|
}
|
|
297
298
|
```
|
|
299
|
+
|
|
298
300
|
</details>
|
|
299
301
|
|
|
300
302
|
## Testing
|
|
@@ -302,7 +304,7 @@ export default function (server: restify.Server) {
|
|
|
302
304
|
<details>
|
|
303
305
|
<summary>Testing is done like any other test.</summary>
|
|
304
306
|
|
|
305
|
-
|
|
307
|
+
````typescript
|
|
306
308
|
|
|
307
309
|
### Through sandbox
|
|
308
310
|
|
|
@@ -317,7 +319,7 @@ describe("getDashboardsEndpoint", () => {
|
|
|
317
319
|
// ...
|
|
318
320
|
});
|
|
319
321
|
});
|
|
320
|
-
|
|
322
|
+
````
|
|
321
323
|
|
|
322
324
|
### Directly on handler
|
|
323
325
|
|
|
@@ -351,14 +353,15 @@ The export of the endpoint file is both a function for registering the endpoint
|
|
|
351
353
|
|
|
352
354
|
</details>
|
|
353
355
|
|
|
356
|
+
# Publishing
|
|
354
357
|
|
|
355
|
-
|
|
356
|
-
# Publishing
|
|
357
358
|
Prerequisites:
|
|
359
|
+
|
|
358
360
|
- You have to be part of the @hiotlabs organization on npm
|
|
359
361
|
- You have to be logged in to npm
|
|
360
362
|
|
|
361
363
|
Then, in root, run:
|
|
364
|
+
|
|
362
365
|
```typescript
|
|
363
366
|
// Check out any untracked/ignored files (e.g. previously built files)
|
|
364
367
|
yarn clean
|
|
@@ -373,15 +376,14 @@ yarn build
|
|
|
373
376
|
yarn test
|
|
374
377
|
|
|
375
378
|
// Publish
|
|
376
|
-
npm publish --access
|
|
379
|
+
npm publish --access public
|
|
377
380
|
|
|
378
381
|
// Or pack (for testing)
|
|
379
382
|
npm pack
|
|
380
383
|
```
|
|
381
384
|
|
|
382
|
-
|
|
383
|
-
|
|
384
385
|
# Adding new directories to the project (@hiotlabs/hiot-api-interface)
|
|
386
|
+
|
|
385
387
|
<details>
|
|
386
388
|
|
|
387
389
|
- Create folder
|
|
@@ -407,4 +409,5 @@ npm pack
|
|
|
407
409
|
"utils/**/*.d.ts"
|
|
408
410
|
],
|
|
409
411
|
```
|
|
410
|
-
|
|
412
|
+
|
|
413
|
+
</details>
|
|
@@ -193,7 +193,7 @@ var FairtrailClient = /** @class */ (function (_super) {
|
|
|
193
193
|
_a[constants_1.AUTH_ACTIVE_LOGIN_HEADER] = (_e = this.reqUser.activeLogin) !== null && _e !== void 0 ? _e : "",
|
|
194
194
|
_a[constants_1.AUTH_ACTIVITIES_HEADER] = Object.keys((_f = this.reqUser.activities) !== null && _f !== void 0 ? _f : []).join(","),
|
|
195
195
|
_a[constants_1.AUTH_ORGANIZATION_HEADER] = (_g = this.reqUser.organizationId) !== null && _g !== void 0 ? _g : "",
|
|
196
|
-
_a[constants_1.
|
|
196
|
+
_a[constants_1.AUTH_ORGANIZATION_HIERARCHY_HEADER] = JSON.stringify((_h = this.reqUser.organizationHierarchy) !== null && _h !== void 0 ? _h : {}),
|
|
197
197
|
_a)];
|
|
198
198
|
}
|
|
199
199
|
if (this.reqAsGlobal) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FairtrailClient.js","sourceRoot":"","sources":["FairtrailClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FairtrailClient.js","sourceRoot":"","sources":["FairtrailClient.ts"],"names":[],"mappings":"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"}
|
package/constants/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const AUTH_USER_HEADER = "auth-user";
|
|
2
2
|
export declare const AUTH_ORGANIZATION_HEADER = "auth-organization";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const AUTH_ORGANIZATION_HIERARCHY_HEADER = "auth-organization-hierarchy";
|
|
4
4
|
export declare const AUTH_ACTIVITIES_HEADER = "auth-activities";
|
|
5
5
|
export declare const AUTH_ACTIVE_LOGIN_HEADER = "auth-active-login";
|
|
6
6
|
export declare const GLOBAL_ACTIVITY = "global";
|
package/constants/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REQUEST_ID_HEADER = exports.CAN_MANAGE_ORGANIZATION_ACTIVITY = exports.GLOBAL_ACTIVITY = exports.AUTH_ACTIVE_LOGIN_HEADER = exports.AUTH_ACTIVITIES_HEADER = exports.
|
|
3
|
+
exports.REQUEST_ID_HEADER = exports.CAN_MANAGE_ORGANIZATION_ACTIVITY = exports.GLOBAL_ACTIVITY = exports.AUTH_ACTIVE_LOGIN_HEADER = exports.AUTH_ACTIVITIES_HEADER = exports.AUTH_ORGANIZATION_HIERARCHY_HEADER = exports.AUTH_ORGANIZATION_HEADER = exports.AUTH_USER_HEADER = void 0;
|
|
4
4
|
/* Note: These will be exported to the library as @hiotlabs/hiot-api-interface/constants */
|
|
5
5
|
exports.AUTH_USER_HEADER = "auth-user";
|
|
6
6
|
exports.AUTH_ORGANIZATION_HEADER = "auth-organization";
|
|
7
|
-
exports.
|
|
7
|
+
exports.AUTH_ORGANIZATION_HIERARCHY_HEADER = "auth-organization-hierarchy";
|
|
8
8
|
exports.AUTH_ACTIVITIES_HEADER = "auth-activities";
|
|
9
9
|
exports.AUTH_ACTIVE_LOGIN_HEADER = "auth-active-login";
|
|
10
10
|
exports.GLOBAL_ACTIVITY = "global";
|
package/constants/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,2FAA2F;AAC9E,QAAA,gBAAgB,GAAG,WAAW,CAAC;AAC/B,QAAA,wBAAwB,GAAG,mBAAmB,CAAC;AAC/C,QAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,2FAA2F;AAC9E,QAAA,gBAAgB,GAAG,WAAW,CAAC;AAC/B,QAAA,wBAAwB,GAAG,mBAAmB,CAAC;AAC/C,QAAA,kCAAkC,GAAG,6BAA6B,CAAC;AACnE,QAAA,sBAAsB,GAAG,iBAAiB,CAAC;AAC3C,QAAA,wBAAwB,GAAG,mBAAmB,CAAC;AAE/C,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,gCAAgC,GAAG,uBAAuB,CAAC;AAE3D,QAAA,iBAAiB,GAAG,YAAY,CAAC"}
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runWithRequestContext = exports.useReqStore = exports.routeHelpers = exports.server = exports.closeServer = exports.Method = exports.internal = exports.put = exports.post = exports.patch = exports.get = exports.del = exports.endpointMetadata = exports.setupInterfaceLegacy = exports.setupApiInterface = void 0;
|
|
3
|
+
exports.runWithRequestContext = exports.useReqStore = exports.routeHelpers = exports.server = exports.closeServer = exports.ReqUser = exports.Method = exports.internal = exports.put = exports.post = exports.patch = exports.get = exports.del = exports.endpointMetadata = exports.setupInterfaceLegacy = exports.setupApiInterface = void 0;
|
|
4
4
|
var lib_1 = require("./lib");
|
|
5
5
|
Object.defineProperty(exports, "setupApiInterface", { enumerable: true, get: function () { return lib_1.setupApiInterface; } });
|
|
6
6
|
Object.defineProperty(exports, "setupInterfaceLegacy", { enumerable: true, get: function () { return lib_1.setupInterfaceLegacy; } });
|
|
@@ -14,6 +14,8 @@ Object.defineProperty(exports, "internal", { enumerable: true, get: function ()
|
|
|
14
14
|
Object.defineProperty(exports, "Method", { enumerable: true, get: function () { return lib_1.Method; } });
|
|
15
15
|
var mustbeConfig_1 = require("./lib/auth/mustbeConfig");
|
|
16
16
|
Object.defineProperty(exports, "routeHelpers", { enumerable: true, get: function () { return mustbeConfig_1.routeHelpers; } });
|
|
17
|
+
var ReqUser_1 = require("./lib/models/ReqUser");
|
|
18
|
+
Object.defineProperty(exports, "ReqUser", { enumerable: true, get: function () { return ReqUser_1.ReqUser; } });
|
|
17
19
|
var server_1 = require("./lib/server/server");
|
|
18
20
|
Object.defineProperty(exports, "closeServer", { enumerable: true, get: function () { return server_1.closeServer; } });
|
|
19
21
|
Object.defineProperty(exports, "server", { enumerable: true, get: function () { return server_1.server; } });
|
package/lib/auth/mustbeConfig.js
CHANGED
|
@@ -41,6 +41,9 @@ exports.configureMustBe = configureMustBe;
|
|
|
41
41
|
exports.isUserAuthorized = isUserAuthorized;
|
|
42
42
|
var constants_1 = require("../../constants");
|
|
43
43
|
var restifyErrors = __importStar(require("restify-errors"));
|
|
44
|
+
// TODO: this import crashes the library when used by a service
|
|
45
|
+
// import Configurator from "../../types/mustbe/config";
|
|
46
|
+
var ReqUser_1 = require("../models/ReqUser");
|
|
44
47
|
var jsonSchemaUtils_1 = require("../utils/jsonSchemaUtils");
|
|
45
48
|
var logger_1 = __importDefault(require("../utils/logger"));
|
|
46
49
|
var mustbe = require("mustbe");
|
|
@@ -89,19 +92,10 @@ function configureMustBe() {
|
|
|
89
92
|
function parseUser(req) {
|
|
90
93
|
var userId = req.header(constants_1.AUTH_USER_HEADER, undefined);
|
|
91
94
|
var organizationId = req.header(constants_1.AUTH_ORGANIZATION_HEADER, undefined);
|
|
92
|
-
var childOrganizationIds = req
|
|
93
|
-
.header(constants_1.AUTH_CHILD_ORGANIZATIONS_HEADER, "")
|
|
94
|
-
.split(",")
|
|
95
|
-
.filter(function (id) { return id !== ""; });
|
|
96
95
|
var activities = parseActivities(req.header(constants_1.AUTH_ACTIVITIES_HEADER, ""));
|
|
97
96
|
var activeLogin = req.header(constants_1.AUTH_ACTIVE_LOGIN_HEADER, undefined);
|
|
98
|
-
var
|
|
99
|
-
|
|
100
|
-
organizationId: organizationId,
|
|
101
|
-
childOrganizationIds: childOrganizationIds,
|
|
102
|
-
activities: activities,
|
|
103
|
-
activeLogin: activeLogin,
|
|
104
|
-
};
|
|
97
|
+
var organizationHierarchy = JSON.parse(req.header(constants_1.AUTH_ORGANIZATION_HIERARCHY_HEADER, "{}"));
|
|
98
|
+
var user = new ReqUser_1.ReqUser({ userId: userId, organizationId: organizationId, activities: activities, activeLogin: activeLogin, organizationHierarchy: organizationHierarchy });
|
|
105
99
|
// @ts-ignore
|
|
106
100
|
req.user = user;
|
|
107
101
|
return user;
|
|
@@ -111,7 +105,11 @@ function userIsUndefined(user) {
|
|
|
111
105
|
return true;
|
|
112
106
|
}
|
|
113
107
|
var userId = user.userId, organizationId = user.organizationId, activeLogin = user.activeLogin, childOrganizationIds = user.childOrganizationIds;
|
|
114
|
-
if (!userId &&
|
|
108
|
+
if (!userId &&
|
|
109
|
+
!organizationId &&
|
|
110
|
+
!activeLogin &&
|
|
111
|
+
!(childOrganizationIds === null || childOrganizationIds === void 0 ? void 0 : childOrganizationIds.length) &&
|
|
112
|
+
!Object.keys(user.organizationHierarchy).length) {
|
|
115
113
|
return true;
|
|
116
114
|
}
|
|
117
115
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mustbeConfig.js","sourceRoot":"","sources":["mustbeConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"mustbeConfig.js","sourceRoot":"","sources":["mustbeConfig.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/lib/models/ReqUser.d.ts
CHANGED
|
@@ -1,10 +1,28 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Activities = {
|
|
2
|
+
[activity: string]: boolean;
|
|
3
|
+
};
|
|
4
|
+
export declare class ReqUser {
|
|
2
5
|
userId: string;
|
|
3
|
-
activities:
|
|
6
|
+
activities: Activities;
|
|
4
7
|
/** The organization id of the user */
|
|
5
8
|
organizationId: string;
|
|
6
|
-
/** Child organizations withing the organization hierarchy */
|
|
7
|
-
childOrganizationIds: string[];
|
|
8
9
|
/** The user account currently active for this login */
|
|
9
10
|
activeLogin: string;
|
|
11
|
+
/** The hierarchy of the user's current organization */
|
|
12
|
+
organizationHierarchy: Record<string, string | null>;
|
|
13
|
+
constructor({ userId, organizationId, activities, activeLogin, organizationHierarchy, }: {
|
|
14
|
+
userId: typeof ReqUser.prototype.userId;
|
|
15
|
+
organizationId: typeof ReqUser.prototype.organizationId;
|
|
16
|
+
activities: typeof ReqUser.prototype.activities;
|
|
17
|
+
activeLogin: typeof ReqUser.prototype.activeLogin;
|
|
18
|
+
organizationHierarchy: typeof ReqUser.prototype.organizationHierarchy;
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Returns the organizationIds in the hierarchy of the inputted organizationId
|
|
22
|
+
* Input must be inside the user's organization hierarchy.
|
|
23
|
+
* If no organization is inputted, it returns the ids in the user's organization hierarchy.
|
|
24
|
+
*
|
|
25
|
+
* @param organizationId The organizationId to get the children of
|
|
26
|
+
*/
|
|
27
|
+
getOrganizationTreeIds(organizationId?: string): string[];
|
|
10
28
|
}
|
package/lib/models/ReqUser.js
CHANGED
|
@@ -1,3 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReqUser = void 0;
|
|
4
|
+
var ReqUser = /** @class */ (function () {
|
|
5
|
+
function ReqUser(_a) {
|
|
6
|
+
var userId = _a.userId, organizationId = _a.organizationId, activities = _a.activities, activeLogin = _a.activeLogin, organizationHierarchy = _a.organizationHierarchy;
|
|
7
|
+
this.userId = userId;
|
|
8
|
+
this.organizationId = organizationId;
|
|
9
|
+
this.activities = activities;
|
|
10
|
+
this.activeLogin = activeLogin;
|
|
11
|
+
this.organizationHierarchy = organizationHierarchy;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns the organizationIds in the hierarchy of the inputted organizationId
|
|
15
|
+
* Input must be inside the user's organization hierarchy.
|
|
16
|
+
* If no organization is inputted, it returns the ids in the user's organization hierarchy.
|
|
17
|
+
*
|
|
18
|
+
* @param organizationId The organizationId to get the children of
|
|
19
|
+
*/
|
|
20
|
+
ReqUser.prototype.getOrganizationTreeIds = function (organizationId) {
|
|
21
|
+
var stack = [];
|
|
22
|
+
var visited = new Set();
|
|
23
|
+
var result = [];
|
|
24
|
+
if (!organizationId || organizationId === this.organizationId) {
|
|
25
|
+
stack.push(this.organizationId);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
stack.push(organizationId);
|
|
29
|
+
}
|
|
30
|
+
while (stack.length > 0) {
|
|
31
|
+
var currentOrgId = stack.pop();
|
|
32
|
+
if (visited.has(currentOrgId)) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
visited.add(currentOrgId);
|
|
36
|
+
result.push(currentOrgId);
|
|
37
|
+
for (var _i = 0, _a = Object.entries(this.organizationHierarchy); _i < _a.length; _i++) {
|
|
38
|
+
var _b = _a[_i], childId = _b[0], parentId = _b[1];
|
|
39
|
+
if (parentId === currentOrgId && !visited.has(childId)) {
|
|
40
|
+
stack.push(childId);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
return ReqUser;
|
|
47
|
+
}());
|
|
48
|
+
exports.ReqUser = ReqUser;
|
|
3
49
|
//# sourceMappingURL=ReqUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReqUser.js","sourceRoot":"","sources":["ReqUser.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ReqUser.js","sourceRoot":"","sources":["ReqUser.ts"],"names":[],"mappings":";;;AAEA;IAaE,iBAAY,EAYX;YAXC,MAAM,YAAA,EACN,cAAc,oBAAA,EACd,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,qBAAqB,2BAAA;QAQrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACI,wCAAsB,GAA7B,UAA8B,cAAuB;QACnD,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAM,YAAY,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAElC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1B,KAAkC,UAA0C,EAA1C,KAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAA1C,cAA0C,EAA1C,IAA0C,EAAE,CAAC;gBAApE,IAAA,WAAmB,EAAlB,OAAO,QAAA,EAAE,QAAQ,QAAA;gBAC3B,IAAI,QAAQ,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IACH,cAAC;AAAD,CAAC,AAtED,IAsEC;AAtEY,0BAAO"}
|
package/lib/utils/asyncHooks.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.runWithRequestContext = runWithRequestContext;
|
|
|
37
37
|
exports.useReqStore = useReqStore;
|
|
38
38
|
var constants_1 = require("../../constants");
|
|
39
39
|
var async_hooks_1 = require("async_hooks");
|
|
40
|
+
var ReqUser_1 = require("../models/ReqUser");
|
|
40
41
|
var uuid = __importStar(require("uuid"));
|
|
41
42
|
function isRequest(reqContext) {
|
|
42
43
|
return typeof reqContext !== "string";
|
|
@@ -82,11 +83,12 @@ function getFallbackUser(req) {
|
|
|
82
83
|
var activeLogin = req.header(constants_1.AUTH_ACTIVE_LOGIN_HEADER);
|
|
83
84
|
var activities = req.header(constants_1.AUTH_ACTIVITIES_HEADER);
|
|
84
85
|
var organizationId = req.header(constants_1.AUTH_ORGANIZATION_HEADER);
|
|
86
|
+
var organizationHierarchy = JSON.parse(req.header(constants_1.AUTH_ORGANIZATION_HIERARCHY_HEADER, "{}"));
|
|
85
87
|
/* Make sure we don't create a user from thin air */
|
|
86
|
-
if (!userId && !activeLogin && !activities && !organizationId) {
|
|
88
|
+
if (!userId && !activeLogin && !activities && !organizationId && !organizationHierarchy) {
|
|
87
89
|
return undefined;
|
|
88
90
|
}
|
|
89
|
-
return {
|
|
91
|
+
return new ReqUser_1.ReqUser({
|
|
90
92
|
userId: userId,
|
|
91
93
|
activeLogin: activeLogin,
|
|
92
94
|
activities: activities === null || activities === void 0 ? void 0 : activities.split(",").reduce(function (acc, activity) {
|
|
@@ -94,6 +96,7 @@ function getFallbackUser(req) {
|
|
|
94
96
|
return acc;
|
|
95
97
|
}, {}),
|
|
96
98
|
organizationId: organizationId,
|
|
97
|
-
|
|
99
|
+
organizationHierarchy: organizationHierarchy,
|
|
100
|
+
});
|
|
98
101
|
}
|
|
99
102
|
//# sourceMappingURL=asyncHooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncHooks.js","sourceRoot":"","sources":["asyncHooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"asyncHooks.js","sourceRoot":"","sources":["asyncHooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,sDAoBC;AAGD,kCAEC;AArED,6CAOyB;AACzB,2CAAgD;AAChD,6CAA4C;AAE5C,yCAA6B;AAoB7B,SAAS,SAAS,CAAC,UAA0B;IAC3C,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;AACxC,CAAC;AAED,IAAM,iBAAiB,GAAG,IAAI,+BAAiB,EAAgB,CAAC;AAEhE;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,UAA0B,EAAE,EAAc;;IAC9E,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,IAAI,GAAwB,SAAS,CAAC;IAE1C,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,KAAK,GAAG,MAAA,MAAA,MAAA,UAAU,CAAC,MAAM,2DAAG,6BAAiB,CAAC,mCAAI,UAAU,CAAC,KAAK,EAAE,mCAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAClF,IAAI,GAAG,MAAA,UAAU,CAAC,IAAI,mCAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,iBAAiB,CAAC,GAAG,CAAC,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4CAA4C;AAC5C,SAAgB,WAAW;;IACzB,OAAO,MAAA,iBAAiB,CAAC,QAAQ,EAAE,mCAAK,EAAmB,CAAC;AAC9D,CAAC;AAED,mDAAmD;AACnD,SAAS,eAAe,CAAC,GAAY;IACnC,IAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,4BAAgB,CAAC,CAAC;IAC5C,IAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,oCAAwB,CAAC,CAAC;IACzD,IAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,kCAAsB,CAAC,CAAC;IACtD,IAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,oCAAwB,CAAC,CAAC;IAC5D,IAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,8CAAkC,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/F,oDAAoD;IACpD,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,iBAAO,CAAC;QACjB,MAAM,QAAA;QACN,WAAW,aAAA;QACX,UAAU,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ;YACtD,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA6B,CAAC;QACjC,cAAc,gBAAA;QACd,qBAAqB,uBAAA;KACtB,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@pgds/api-interface",
|
|
3
3
|
"description": "Api interface for pgds services",
|
|
4
4
|
"authors": "Florry",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.3.0",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"types": "types/",
|
|
8
8
|
"scripts": {
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@types/restify": "^8.5.12",
|
|
36
36
|
"@types/restify-errors": "^4.3.9",
|
|
37
|
-
"@types/mongodb": "4.0.0",
|
|
38
37
|
"ajv": "8.17.1",
|
|
39
38
|
"ajv-formats": "3.0.1",
|
|
40
39
|
"axios": "1.7.9",
|
package/utils/index.d.ts
CHANGED
|
@@ -11,3 +11,9 @@ export declare function isGlobal(reqUser: ReqUser): boolean;
|
|
|
11
11
|
* Short hand function to check if a user has the `canManageOrganization`(`CAN_MANAGE_ORGANIZATION_ACTIVITY`) activity.
|
|
12
12
|
*/
|
|
13
13
|
export declare function canManageOrganization(reqUser: ReqUser): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Short hand function to check if a user has access to an organization. Organization must be in the user's hierarchy to be accessible.
|
|
16
|
+
* @param reqUser The user to check.
|
|
17
|
+
* @param organizationId The organizationId to check for access to.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isOrganizationAccessibleToUser(reqUser: ReqUser, organizationId: string): boolean;
|
package/utils/index.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.hasActivity = hasActivity;
|
|
4
4
|
exports.isGlobal = isGlobal;
|
|
5
5
|
exports.canManageOrganization = canManageOrganization;
|
|
6
|
+
exports.isOrganizationAccessibleToUser = isOrganizationAccessibleToUser;
|
|
6
7
|
var constants_1 = require("../constants");
|
|
7
8
|
var mustbeConfig_1 = require("../lib/auth/mustbeConfig");
|
|
8
9
|
/**
|
|
@@ -29,4 +30,12 @@ function isGlobal(reqUser) {
|
|
|
29
30
|
function canManageOrganization(reqUser) {
|
|
30
31
|
return hasActivity(reqUser, constants_1.CAN_MANAGE_ORGANIZATION_ACTIVITY);
|
|
31
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Short hand function to check if a user has access to an organization. Organization must be in the user's hierarchy to be accessible.
|
|
35
|
+
* @param reqUser The user to check.
|
|
36
|
+
* @param organizationId The organizationId to check for access to.
|
|
37
|
+
*/
|
|
38
|
+
function isOrganizationAccessibleToUser(reqUser, organizationId) {
|
|
39
|
+
return reqUser.getOrganizationTreeIds().includes(organizationId);
|
|
40
|
+
}
|
|
32
41
|
//# sourceMappingURL=index.js.map
|
package/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAUA,kCAMC;AAED,4BAEC;AAKD,sDAEC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAUA,kCAMC;AAED,4BAEC;AAKD,sDAEC;AAOD,wEAEC;AApCD,0CAAiF;AACjF,yDAA4D;AAG5D;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,OAAgB,EAAE,QAAgB,EAAE,aAA6B;IAA7B,8BAAA,EAAA,oBAA6B;IAC3F,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,IAAA,+BAAgB,EAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAgB;IACvC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,2BAAe,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO,WAAW,CAAC,OAAO,EAAE,4CAAgC,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,SAAgB,8BAA8B,CAAC,OAAgB,EAAE,cAAsB;IACrF,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACnE,CAAC"}
|