@6thbridge/utils 0.2.37-0 → 0.2.38-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.
@@ -2,17 +2,10 @@ import * as currency from './currency.action';
2
2
  import * as charge from './charge.action';
3
3
  import * as phoneNumber from './phone-number.action';
4
4
  import { AmountAction } from './amount.action';
5
+ import { ChargeAction } from './charge.action';
6
+ import { CurrencyAction } from './currency.action';
7
+ import { PhoneNumberAction } from './phone-number.action';
5
8
  import { FileAction, FileType, FileSourceOrDestination } from './file.action';
6
- declare const _default: {
7
- currency: typeof currency;
8
- charge: typeof charge;
9
- phoneNumber: typeof phoneNumber;
10
- AmountAction: typeof AmountAction;
11
- ChargeAction: typeof charge.ChargeAction;
12
- CurrencyAction: typeof currency.CurrencyAction;
13
- PhoneNumberAction: typeof phoneNumber.PhoneNumberAction;
14
- FileAction: typeof FileAction;
15
- FileType: typeof FileType;
16
- FileSourceOrDestination: typeof FileSourceOrDestination;
17
- };
18
- export = _default;
9
+ import { PermissionAction } from './permission.action';
10
+ import { RouteAction } from './route.action';
11
+ export { currency, charge, phoneNumber, AmountAction, ChargeAction, CurrencyAction, PhoneNumberAction, FileAction, FileType, FileSourceOrDestination, PermissionAction, RouteAction };
@@ -22,22 +22,28 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.RouteAction = exports.PermissionAction = exports.FileSourceOrDestination = exports.FileType = exports.FileAction = exports.PhoneNumberAction = exports.CurrencyAction = exports.ChargeAction = exports.AmountAction = exports.phoneNumber = exports.charge = exports.currency = void 0;
25
27
  const currency = __importStar(require("./currency.action"));
28
+ exports.currency = currency;
26
29
  const charge = __importStar(require("./charge.action"));
30
+ exports.charge = charge;
27
31
  const phoneNumber = __importStar(require("./phone-number.action"));
32
+ exports.phoneNumber = phoneNumber;
28
33
  const amount_action_1 = require("./amount.action");
34
+ Object.defineProperty(exports, "AmountAction", { enumerable: true, get: function () { return amount_action_1.AmountAction; } });
29
35
  const charge_action_1 = require("./charge.action");
36
+ Object.defineProperty(exports, "ChargeAction", { enumerable: true, get: function () { return charge_action_1.ChargeAction; } });
30
37
  const currency_action_1 = require("./currency.action");
38
+ Object.defineProperty(exports, "CurrencyAction", { enumerable: true, get: function () { return currency_action_1.CurrencyAction; } });
31
39
  const phone_number_action_1 = require("./phone-number.action");
40
+ Object.defineProperty(exports, "PhoneNumberAction", { enumerable: true, get: function () { return phone_number_action_1.PhoneNumberAction; } });
32
41
  const file_action_1 = require("./file.action");
33
- module.exports = {
34
- currency,
35
- charge,
36
- phoneNumber,
37
- AmountAction: amount_action_1.AmountAction,
38
- ChargeAction: charge_action_1.ChargeAction,
39
- CurrencyAction: currency_action_1.CurrencyAction,
40
- PhoneNumberAction: phone_number_action_1.PhoneNumberAction,
41
- FileAction: file_action_1.FileAction, FileType: file_action_1.FileType, FileSourceOrDestination: file_action_1.FileSourceOrDestination,
42
- };
42
+ Object.defineProperty(exports, "FileAction", { enumerable: true, get: function () { return file_action_1.FileAction; } });
43
+ Object.defineProperty(exports, "FileType", { enumerable: true, get: function () { return file_action_1.FileType; } });
44
+ Object.defineProperty(exports, "FileSourceOrDestination", { enumerable: true, get: function () { return file_action_1.FileSourceOrDestination; } });
45
+ const permission_action_1 = require("./permission.action");
46
+ Object.defineProperty(exports, "PermissionAction", { enumerable: true, get: function () { return permission_action_1.PermissionAction; } });
47
+ const route_action_1 = require("./route.action");
48
+ Object.defineProperty(exports, "RouteAction", { enumerable: true, get: function () { return route_action_1.RouteAction; } });
43
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAC9C,wDAA0C;AAC1C,mEAAqD;AACrD,mDAA+C;AAC/C,mDAA+C;AAC/C,uDAAmD;AACnD,+DAA0D;AAC1D,+CAA8E;AAC9E,iBAAS;IACP,QAAQ;IACR,MAAM;IACN,WAAW;IACX,YAAY,EAAZ,4BAAY;IACZ,YAAY,EAAZ,4BAAY;IACZ,cAAc,EAAd,gCAAc;IACd,iBAAiB,EAAjB,uCAAiB;IACjB,UAAU,EAAV,wBAAU,EAAE,QAAQ,EAAR,sBAAQ,EAAE,uBAAuB,EAAvB,qCAAuB;CAC9C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAW5C,4BAAQ;AAVV,wDAA0C;AAWxC,wBAAM;AAVR,mEAAqD;AAWnD,kCAAW;AAVb,mDAA+C;AAW7C,6FAXO,4BAAY,OAWP;AAVd,mDAA+C;AAW7C,6FAXO,4BAAY,OAWP;AAVd,uDAAmD;AAWjD,+FAXO,gCAAc,OAWP;AAVhB,+DAA0D;AAWxD,kGAXO,uCAAiB,OAWP;AAVnB,+CAA8E;AAW5E,2FAXO,wBAAU,OAWP;AAAE,yFAXO,sBAAQ,OAWP;AAAE,wGAXO,qCAAuB,OAWP;AAV/C,2DAAuD;AAWrD,iGAXO,oCAAgB,OAWP;AAVlB,iDAA6C;AAW3C,4FAXO,0BAAW,OAWP"}
@@ -0,0 +1,7 @@
1
+ import { ServicePermissionSyncDTO } from '../types/permission';
2
+ export type SyncPermissionResourceOptions = {
3
+ broker?: any;
4
+ };
5
+ export declare class PermissionAction {
6
+ static syncGlobalPermissionResource(servicePermissions: ServicePermissionSyncDTO, options: SyncPermissionResourceOptions): void;
7
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PermissionAction = void 0;
4
+ const logger_1 = require("../logger/logger");
5
+ const axios_1 = require("../http/axios");
6
+ const USER_EVENT_QUEUE = 'user.events';
7
+ const axios = axios_1.AxiosClass.getAxiosInstance();
8
+ class PermissionAction {
9
+ static syncGlobalPermissionResource(servicePermissions, options) {
10
+ var _a;
11
+ if (!options.broker && !process.env.USER_SERVICE_URL)
12
+ throw Error('syncGlobalPermissionResource: cant post syncGlobalPermissionResource, Broker and USER_SERVICE_URL is missing');
13
+ if (options.broker) {
14
+ (_a = options.broker) === null || _a === void 0 ? void 0 : _a.sendToQueue(USER_EVENT_QUEUE, {
15
+ event: 'permissions.sync',
16
+ data: servicePermissions,
17
+ });
18
+ return;
19
+ }
20
+ axios
21
+ .post(`${process.env.USER_SERVICE_URL}/v1/permissions/sync`, servicePermissions, {
22
+ headers: {
23
+ source: 'internal',
24
+ },
25
+ })
26
+ .catch(logger_1.logger.exception);
27
+ return;
28
+ }
29
+ }
30
+ exports.PermissionAction = PermissionAction;
31
+ //# sourceMappingURL=permission.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.action.js","sourceRoot":"","sources":["../../src/actions/permission.action.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,yCAA2C;AAE3C,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAKvC,MAAM,KAAK,GAAG,kBAAU,CAAC,gBAAgB,EAAE,CAAC;AAE5C,MAAa,gBAAgB;IAC3B,MAAM,CAAC,4BAA4B,CAAC,kBAA4C,EAAE,OAAsC;;QAEtH,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAClD,MAAM,KAAK,CAAC,8GAA8G,CAAC,CAAC;QAE9H,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAA,OAAO,CAAC,MAAM,0CAAE,WAAW,CAAC,gBAAgB,EAAE;gBAC5C,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QAED,KAAK;aACF,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,sBAAsB,EAAE,kBAAkB,EAAE;YAC/E,OAAO,EAAE;gBACP,MAAM,EAAE,UAAU;aACnB;SACF,CAAC;aACD,KAAK,CAAC,eAAM,CAAC,SAAS,CAAC,CAAC;QAE3B,OAAO;IACT,CAAC;CACF;AAzBD,4CAyBC"}
@@ -1,21 +1,5 @@
1
1
  import express from 'express';
2
- export declare function testHandler(req: express.Request, res: express.Response): express.Response<any, Record<string, any>>;
3
- type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
4
- type RouteHandler = (req: express.Request, res: express.Response, next?: express.NextFunction) => any;
5
- type Middleware = (req: express.Request, res: express.Response, next: express.NextFunction) => any;
6
- interface RouteConfig {
7
- method: HTTPMethod;
8
- path: string;
9
- handler: RouteHandler;
10
- middleware?: Middleware[];
11
- authenticationTypes?: string[];
12
- permissions?: string[];
13
- }
14
- interface RouteGroupConfig {
15
- prefix: string;
16
- routes: RouteConfig[];
17
- }
2
+ import { RouteGroupConfig } from '../types';
18
3
  export declare class RouteAction {
19
- static registerRoutes(app: express.Application, routes: RouteGroupConfig[]): express.Application;
4
+ static registerRoutes(app: express.Application, routeGroupConfig: RouteGroupConfig): express.Application;
20
5
  }
21
- export {};
@@ -1,55 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouteAction = exports.testHandler = void 0;
3
+ exports.RouteAction = void 0;
4
4
  const express_1 = require("../middlewares/express");
5
- function testHandler(req, res) {
6
- console.log("Test Handler", req.url);
7
- return res.send("Test Handler");
8
- }
9
- exports.testHandler = testHandler;
10
- const routes = {
11
- prefix: "/v1/discounts",
12
- routes: [
13
- {
14
- method: "GET",
15
- path: "/",
16
- handler: testHandler,
17
- authenticationTypes: ["client-secret", "jwt"],
18
- permissions: ["discount:read"]
19
- },
20
- {
21
- method: "POST",
22
- path: "/",
23
- handler: testHandler,
24
- authenticationTypes: ["client-secret", "jwt"],
25
- permissions: ["discount:write"]
26
- },
27
- {
28
- method: "GET",
29
- path: "/:discountId",
30
- handler: testHandler,
31
- authenticationTypes: ["client-secret", "jwt"],
32
- permissions: ["discount:read"]
33
- },
34
- ]
35
- };
36
5
  class RouteAction {
37
- static registerRoutes(app, routes) {
38
- for (const route of routes) {
39
- console.log("Registering Route Group", route.prefix);
40
- for (const eachRoute of route.routes) {
41
- let fullPath = route.prefix;
42
- if (eachRoute.path !== "/") {
43
- fullPath += eachRoute.path;
44
- }
45
- console.log("Registering Route", `${eachRoute.method} ${fullPath}`);
46
- // @ts-ignore
47
- app[eachRoute.method.toLowerCase()](`${route.prefix}${eachRoute.path}`, (0, express_1.can)(eachRoute.authenticationTypes || [], eachRoute.permissions || []), eachRoute.handler);
6
+ static registerRoutes(app, routeGroupConfig) {
7
+ var _a, _b;
8
+ console.log('Registering Route Group', routeGroupConfig.servicePrefix);
9
+ for (const route of routeGroupConfig.routes) {
10
+ console.log('Registering Route', `${route.method} ${route.path}`);
11
+ const middlewares = [];
12
+ // Add custom middlewares if defined
13
+ if (route.beforeAuthMiddlewares && route.beforeAuthMiddlewares.length > 0) {
14
+ middlewares.push(...route.beforeAuthMiddlewares);
15
+ }
16
+ // Add authentication middleware
17
+ if (((_a = route.authenticationTypes) === null || _a === void 0 ? void 0 : _a.length) || ((_b = route.permissions) === null || _b === void 0 ? void 0 : _b.length)) {
18
+ middlewares.push((0, express_1.can)(route.authenticationTypes || [], (route.permissions || [])));
19
+ }
20
+ if (route.afterAuthMiddlewares && route.afterAuthMiddlewares.length > 0) {
21
+ middlewares.push(...route.afterAuthMiddlewares);
48
22
  }
23
+ // @ts-ignore
24
+ app[route.method.toLowerCase()](route.path, ...middlewares, route.handler);
49
25
  }
26
+ console.log('Registering Route Group', routeGroupConfig.servicePrefix, 'Done');
50
27
  return app;
51
28
  }
52
29
  }
53
30
  exports.RouteAction = RouteAction;
54
- // RouteAction.registerRoutes(express(), [routes, routes]);
55
31
  //# sourceMappingURL=route.action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.action.js","sourceRoot":"","sources":["../../src/actions/route.action.ts"],"names":[],"mappings":";;;AACA,oDAA6C;AAC7C,SAAgB,WAAW,CAAC,GAAoB,EAAE,GAAqB;IACrE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC;AAHD,kCAGC;AAmBD,MAAM,MAAM,GAAqB;IAC/B,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE;QACN;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,WAAW;YACpB,mBAAmB,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC;YAC7C,WAAW,EAAE,CAAC,eAAe,CAAC;SAC/B;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,WAAW;YACpB,mBAAmB,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC;YAC7C,WAAW,EAAE,CAAC,gBAAgB,CAAC;SAChC;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,WAAW;YACpB,mBAAmB,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC;YAC7C,WAAW,EAAE,CAAC,eAAe,CAAC;SAC/B;KACF;CACF,CAAA;AAGD,MAAa,WAAW;IACtB,MAAM,CAAC,cAAc,CAAC,GAAwB,EAAE,MAA0B;QACxE,KAAI,MAAM,KAAK,IAAI,MAAM,EAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,KAAK,MAAM,SAAS,IAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAG,SAAS,CAAC,IAAI,KAAK,GAAG,EAAC,CAAC;oBACzB,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;gBAC7B,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;gBACpE,aAAa;gBACb,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CACjC,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,EAClC,IAAA,aAAG,EAAC,SAAS,CAAC,mBAAmB,IAAI,EAAE,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,EACrE,SAAS,CAAC,OAAO,CAClB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AArBD,kCAqBC;AAGD,2DAA2D"}
1
+ {"version":3,"file":"route.action.js","sourceRoot":"","sources":["../../src/actions/route.action.ts"],"names":[],"mappings":";;;AACA,oDAAoE;AAGpE,MAAa,WAAW;IACtB,MAAM,CAAC,cAAc,CAAC,GAAwB,EAAE,gBAAkC;;QAChF,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACvE,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAElE,MAAM,WAAW,GAAG,EAAE,CAAC;YAGvB,oCAAoC;YACpC,IAAI,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1E,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACnD,CAAC;YACD,gCAAgC;YAEhC,IAAG,CAAA,MAAA,KAAK,CAAC,mBAAmB,0CAAE,MAAM,MAAI,MAAA,KAAK,CAAC,WAAW,0CAAE,MAAM,CAAA,EAAC,CAAC;gBACjE,WAAW,CAAC,IAAI,CAAC,IAAA,aAAG,EAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAwB,CAAC,CAAC,CAAC;YAC3G,CAAC;YAED,IAAI,KAAK,CAAC,oBAAoB,IAAG,KAAK,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAClD,CAAC;YACD,aAAa;YACb,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAC7B,KAAK,CAAC,IAAI,EACV,GAAG,WAAW,EACd,KAAK,CAAC,OAAO,CACd,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAE/E,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAlCD,kCAkCC"}
package/lib/index.d.ts CHANGED
@@ -11,7 +11,7 @@ import * as monitoring from './monitoring';
11
11
  import * as secrets from './secrets';
12
12
  import * as exceptions from './types/custom.exception';
13
13
  import * as translations from './translations';
14
- import actions from './actions';
14
+ import * as actions from './actions';
15
15
  import * as types from './types';
16
16
  import { AxiosClass } from './http/axios';
17
17
  declare const dayjs: typeof helpers.dayjs;
package/lib/index.js CHANGED
@@ -55,8 +55,8 @@ const exceptions = __importStar(require("./types/custom.exception"));
55
55
  exports.exceptions = exceptions;
56
56
  const translations = __importStar(require("./translations"));
57
57
  exports.translations = translations;
58
- const actions_1 = __importDefault(require("./actions"));
59
- exports.actions = actions_1.default;
58
+ const actions = __importStar(require("./actions"));
59
+ exports.actions = actions;
60
60
  const types = __importStar(require("./types"));
61
61
  exports.types = types;
62
62
  const axios_2 = require("./http/axios");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
+ import { ResourcePermission } from '../types/permission';
1
2
  export declare const AUTHENTICATION_TYPES: {
2
3
  CLIENT_ID: string;
3
4
  CLIENT_SECRET: string;
4
5
  JWT: string;
5
6
  };
6
7
  export declare function emptyMiddleware(req: any, res: any, next: any): any;
7
- export declare function getContext(req: any, supportedAuthenticationType?: string[], permissions?: string[]): Promise<any>;
8
+ export declare function getContext(req: any, supportedAuthenticationType?: string[], permissions?: string[] | ResourcePermission[]): Promise<any>;
8
9
  export declare function unless(middlewareName: string, paths: string[], middleware: any): typeof emptyMiddleware;
9
10
  interface APIToolKitConfig {
10
11
  debug?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/middlewares/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/middlewares/common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oCAAkE;AAElE,mCAAiC;AACjC,6CAA0C;AAC1C,4EAA4C;AAC5C,mDAA8C;AAC9C,8CAAsD;AACtD,wCAA8C;AAG9C,MAAM,MAAM,GAAkB,IAAA,0BAAgB,EAAC;IAC7C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,qBAAqB;IAC9D,OAAO,EAAE;QACP,MAAM,EAAE,UAAU;KACnB;CACF,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,SAAgB,eAAe,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS;IAC3D,eAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAClD,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAHD,0CAGC;AAED,SAAsB,UAAU,CAC9B,GAAQ,EACR,2BAAsC,EACtC,WAA6C;;;QAE7C,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,qBAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,OAAO,CAAC,aAAa,KAAK,+BAAuB,EAAE,CAAC;gBACtD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAE/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,CAAC;YAED,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAE/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,CAAC;YAED,IAAI,2BAA2B,IAAI,IAAI,IAAI,IAAA,gBAAO,EAAC,2BAA2B,CAAC,EAAE,CAAC;gBAChF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBAE9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,CAAC;YAED,IACE,CAAC,OAAO,CAAC,kBAAkB;gBAC3B,CAAC,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,EACjE,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzF,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC/B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACpE,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC/B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEpE,eAAe;gBACf,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;oBAC7B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;gBAEhE,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;oBAC7B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;oBAC1B,GAAG,EAAE,wBAAwB;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,oBAAoB;YACpB,IAAI,OAAO,CAAC,kBAAkB,IAAI,4BAAoB,CAAC,GAAG,EAAE,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBAE5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,CAAC;YAED,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,GAAG,CAChB,wCAAwC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,MAAM,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,GAAG,EAAE,CAC5F,CAAC;gBAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,GAAG,CAChB,8CAA8C,OAAO,CAAC,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,OAAO,CAAC,GAAG,gBAAgB,CACvH,CAAC;YAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBACvE,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC5C,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC5C,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBACjD,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBACjD,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACtD,2BAA2B;gBAC3B,UAAU,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,CAAC,CAAC;gBAC5B,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;aACxC,CAAC,CAAC;YAEH,OAAO,mCACF,OAAO,GACP,IAAI,CAAC,IAAI,CACb,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAEpD,OAAO,CAAC,IAAI,mCACP,OAAO,CAAC,IAAI,KACf,QAAQ,EAAE,OAAO,CAAC,eAAe,EACjC,MAAM,EAAE,OAAO,CAAC,aAAa,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,KAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,0CAAE,MAAM,CAAA,GACxF,CAAC;YAEF,MAAA,OAAO,CAAC,MAAM,0CAAE,QAAQ,CAAC;gBACvB,MAAM,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,MAAM;aAC9B,CAAC,CAAC;YAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,CAA2B,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAAC,CAAC,CAAC,CAAC;YACxC,eAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAChC,eAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,0CAAE,IAAI,CAAC,CAAC;YAEjF,OAAO;gBACL,KAAK,EAAE,CAAA,MAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,0CAAE,IAAI,0CAAE,KAAK,KAAI,mDAAmD;gBACtF,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,WAAW;aACvB,CAAC;QACJ,CAAC;IACH,CAAC;CAAA;AAjHD,gCAiHC;AAED,SAAgB,MAAM,CAAC,cAAsB,EAAE,KAAe,EAAE,UAAe;IAC7E,IAAI,CAAC,UAAU;QAAE,OAAO,eAAe,CAAC;IAExC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,eAAe,CAAC;IAE1C,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,6BAAY,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,UAAU,GAAQ,EAAE,GAAQ,EAAE,IAAS;QAC5C,KAAK,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,eAAM,CAAC,KAAK,CAAC,gCAAgC,cAAc,eAAe,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBACvF,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC;AAfD,wBAeC;AAeM,MAAM,oBAAoB,GAAG,CAAC,SAA2B,EAAE,EAAE,EAAE;IACpE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAEjE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;IAE7D,MAAM,CAAC,YAAY,GAAG;QACpB,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QAC9B,eAAe;QACf,WAAW;QACX,UAAU;QACV,aAAa;KACd,CAAC;IACF,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,CAAC,iBAAiB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC9F,MAAM,CAAC,kBAAkB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;IAEpF,MAAM,gBAAgB,mCACjB,MAAM,CAAC,mBAAmB,KAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAC3C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAC7C,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,KAAK,EAAE,MAAM,CAAC,KAAK,GACpB,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,eAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,gBAAgB,GAAG,4BAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC9F,CAAC,CAAC;AAnCW,QAAA,oBAAoB,wBAmC/B"}
@@ -1,4 +1,6 @@
1
1
  import { Response, Request, NextFunction } from 'express';
2
+ import { ResourcePermission } from '../types/permission';
2
3
  export declare function internalOnly(req: Request, res: Response, next: NextFunction): void | Promise<Response<any, Record<string, any>>>;
4
+ export declare const hasResourcePermission: (supportedAuthenticationType: string[], permissions: ResourcePermission[], options?: any) => (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
3
5
  export declare const can: (supportedAuthenticationType: string[], permissions: string[], options?: any) => (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
4
6
  export declare const registerLogger: (req: Request, res: Response, next: NextFunction) => void;
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.registerLogger = exports.can = exports.internalOnly = void 0;
35
+ exports.registerLogger = exports.can = exports.hasResourcePermission = exports.internalOnly = void 0;
36
36
  const response = __importStar(require("../responses/express"));
37
37
  const common_1 = require("./common");
38
38
  const logger_1 = require("../logger/logger");
@@ -56,6 +56,28 @@ function internalOnly(req, res, next) {
56
56
  }
57
57
  }
58
58
  exports.internalOnly = internalOnly;
59
+ const hasResourcePermission = (supportedAuthenticationType, permissions, options = {
60
+ matchAll: true,
61
+ }) => {
62
+ if (permissions.constructor.name === 'IncomingMessage') {
63
+ throw new Error('It appears you have done something like `app.use(can)`, but it should be `app.use(can())`.');
64
+ }
65
+ return (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
66
+ const { error, data } = yield (0, common_1.getContext)(req, supportedAuthenticationType, permissions);
67
+ if (error) {
68
+ return response.failed(res, {
69
+ locale: { toLocale: req.headers['x-locale-id'] },
70
+ error: error || 'You are not authorized to access this resource!!!',
71
+ statusCode: 403,
72
+ errorCode: 'InvalidAuthorization',
73
+ });
74
+ }
75
+ res.locals = data;
76
+ res.setHeader('x-request-id', data.requestId);
77
+ return next();
78
+ });
79
+ };
80
+ exports.hasResourcePermission = hasResourcePermission;
59
81
  const can = (supportedAuthenticationType, permissions, options = {
60
82
  matchAll: true,
61
83
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/middlewares/express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/middlewares/express.ts"],"names":[],"mappings":"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"}