@servicelabsco/slabs-access-manager 3.0.2 → 3.0.3

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.
Files changed (99) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/CLAUDE.md +1 -0
  3. package/dist/access/controllers/bulk.upload.controller.d.ts +5 -5
  4. package/dist/access/controllers/bulk.upload.controller.js +11 -11
  5. package/dist/access/controllers/bulk.upload.controller.js.map +1 -1
  6. package/dist/access/controllers/bulk.upload.item.controller.d.ts +3 -3
  7. package/dist/access/controllers/bulk.upload.item.controller.js +5 -5
  8. package/dist/access/controllers/bulk.upload.item.controller.js.map +1 -1
  9. package/dist/access/dtos/user.business.secret.attributes.dto.d.ts +1 -0
  10. package/dist/access/dtos/user.business.secret.attributes.dto.js.map +1 -1
  11. package/dist/access/es6.classes.d.ts +4 -2
  12. package/dist/access/es6.classes.js +4 -0
  13. package/dist/access/es6.classes.js.map +1 -1
  14. package/dist/access/libraries/create.user.business.secret.d.ts +2 -0
  15. package/dist/access/libraries/create.user.business.secret.js +11 -0
  16. package/dist/access/libraries/create.user.business.secret.js.map +1 -1
  17. package/dist/access/libraries/index.d.ts +1 -0
  18. package/dist/access/libraries/index.js +1 -0
  19. package/dist/access/libraries/index.js.map +1 -1
  20. package/dist/access/libraries/mcp.portal.key.d.ts +17 -0
  21. package/dist/access/libraries/mcp.portal.key.js +76 -0
  22. package/dist/access/libraries/mcp.portal.key.js.map +1 -0
  23. package/dist/access/middlewares/mcp.access.middleware.js +19 -1
  24. package/dist/access/middlewares/mcp.access.middleware.js.map +1 -1
  25. package/dist/access/services/credential.resolve.service.d.ts +1 -0
  26. package/dist/access/services/credential.resolve.service.js +2 -1
  27. package/dist/access/services/credential.resolve.service.js.map +1 -1
  28. package/dist/access/services/index.d.ts +1 -0
  29. package/dist/access/services/index.js +1 -0
  30. package/dist/access/services/index.js.map +1 -1
  31. package/dist/access/services/mcp.portal.service.d.ts +11 -0
  32. package/dist/access/services/mcp.portal.service.js +39 -0
  33. package/dist/access/services/mcp.portal.service.js.map +1 -0
  34. package/dist/access/services/oauth.as.service.d.ts +6 -1
  35. package/dist/access/services/oauth.as.service.js +85 -9
  36. package/dist/access/services/oauth.as.service.js.map +1 -1
  37. package/dist/accessUtility/controllers/bulk.definition.controller.d.ts +3 -3
  38. package/dist/accessUtility/controllers/bulk.definition.controller.js +6 -5
  39. package/dist/accessUtility/controllers/bulk.definition.controller.js.map +1 -1
  40. package/dist/accessUtility/dtos/add.bulk.definition.dto.d.ts +1 -0
  41. package/dist/accessUtility/dtos/add.bulk.definition.dto.js +7 -0
  42. package/dist/accessUtility/dtos/add.bulk.definition.dto.js.map +1 -1
  43. package/dist/accessUtility/entities/bulk.definition.entity.d.ts +1 -0
  44. package/dist/accessUtility/entities/bulk.definition.entity.js +4 -0
  45. package/dist/accessUtility/entities/bulk.definition.entity.js.map +1 -1
  46. package/dist/accessUtility/es6.classes.d.ts +3 -3
  47. package/dist/accessUtility/es6.classes.js +4 -4
  48. package/dist/accessUtility/es6.classes.js.map +1 -1
  49. package/dist/accessUtility/jobs/analyse.bulk.upload.job.d.ts +5 -5
  50. package/dist/accessUtility/jobs/analyse.bulk.upload.job.js +8 -8
  51. package/dist/accessUtility/jobs/analyse.bulk.upload.job.js.map +1 -1
  52. package/dist/accessUtility/jobs/bulk.upload.column.match.job.d.ts +3 -3
  53. package/dist/accessUtility/jobs/bulk.upload.column.match.job.js +5 -5
  54. package/dist/accessUtility/jobs/bulk.upload.column.match.job.js.map +1 -1
  55. package/dist/accessUtility/jobs/bulk.upload.stats.job.d.ts +3 -3
  56. package/dist/accessUtility/jobs/bulk.upload.stats.job.js +10 -8
  57. package/dist/accessUtility/jobs/bulk.upload.stats.job.js.map +1 -1
  58. package/dist/accessUtility/jobs/push.to.bulk.item.job.d.ts +3 -3
  59. package/dist/accessUtility/jobs/push.to.bulk.item.job.js +6 -6
  60. package/dist/accessUtility/jobs/push.to.bulk.item.job.js.map +1 -1
  61. package/dist/accessUtility/jobs/sanitize.bulk.upload.job.d.ts +3 -3
  62. package/dist/accessUtility/jobs/sanitize.bulk.upload.job.js +9 -12
  63. package/dist/accessUtility/jobs/sanitize.bulk.upload.job.js.map +1 -1
  64. package/dist/accessUtility/libraries/analyse.bulk.upload.d.ts +5 -5
  65. package/dist/accessUtility/libraries/analyse.bulk.upload.js +5 -5
  66. package/dist/accessUtility/libraries/analyse.bulk.upload.js.map +1 -1
  67. package/dist/accessUtility/libraries/process.bulk.definition.data.js +2 -0
  68. package/dist/accessUtility/libraries/process.bulk.definition.data.js.map +1 -1
  69. package/dist/accessUtility/libraries/process.bulk.upload.definition.change.d.ts +5 -5
  70. package/dist/accessUtility/libraries/process.bulk.upload.definition.change.js +5 -5
  71. package/dist/accessUtility/libraries/process.bulk.upload.definition.change.js.map +1 -1
  72. package/dist/accessUtility/libraries/set.bulk.upload.log.file.d.ts +3 -3
  73. package/dist/accessUtility/libraries/set.bulk.upload.log.file.js +3 -3
  74. package/dist/accessUtility/libraries/set.bulk.upload.log.file.js.map +1 -1
  75. package/dist/accessUtility/services/{bulk.upload.item.store.d.ts → bulk.upload.item.store.service.d.ts} +2 -1
  76. package/dist/accessUtility/services/{bulk.upload.item.store.js → bulk.upload.item.store.service.js} +9 -6
  77. package/dist/accessUtility/services/bulk.upload.item.store.service.js.map +1 -0
  78. package/dist/accessUtility/services/index.d.ts +2 -2
  79. package/dist/accessUtility/services/index.js +2 -2
  80. package/dist/accessUtility/services/index.js.map +1 -1
  81. package/dist/accessUtility/services/{match.bulk.upload.columns.d.ts → match.bulk.upload.columns.service.d.ts} +1 -1
  82. package/dist/accessUtility/services/{match.bulk.upload.columns.js → match.bulk.upload.columns.service.js} +6 -6
  83. package/dist/accessUtility/services/match.bulk.upload.columns.service.js.map +1 -0
  84. package/dist/app.module.js +6 -2
  85. package/dist/app.module.js.map +1 -1
  86. package/dist/mcp/http/business.mcp.controller.js +4 -3
  87. package/dist/mcp/http/business.mcp.controller.js.map +1 -1
  88. package/dist/mcp/http/prm.controller.d.ts +16 -4
  89. package/dist/mcp/http/prm.controller.js +31 -10
  90. package/dist/mcp/http/prm.controller.js.map +1 -1
  91. package/dist/mcp/http/unauthorized.mcp.response.d.ts +3 -2
  92. package/dist/mcp/http/unauthorized.mcp.response.js +14 -5
  93. package/dist/mcp/http/unauthorized.mcp.response.js.map +1 -1
  94. package/dist/migrations/1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.d.ts +5 -0
  95. package/dist/migrations/1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.js +15 -0
  96. package/dist/migrations/1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.js.map +1 -0
  97. package/package.json +1 -1
  98. package/dist/accessUtility/services/bulk.upload.item.store.js.map +0 -1
  99. package/dist/accessUtility/services/match.bulk.upload.columns.js.map +0 -1
@@ -8,18 +8,31 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.PrmController = void 0;
13
16
  const common_1 = require("@nestjs/common");
17
+ const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
18
+ const mcp_portal_key_1 = require("../../access/libraries/mcp.portal.key");
14
19
  let PrmController = class PrmController {
15
- protectedResourceMetadata() {
16
- return this.document();
20
+ protectedResourceMetadata(res) {
21
+ return this.respond(null, res);
22
+ }
23
+ protectedResourceMetadataSuffixed(res) {
24
+ return this.respond(null, res);
25
+ }
26
+ protectedResourceMetadataKeyed(params, res) {
27
+ return this.respond(mcp_portal_key_1.McpPortalKey.fromPath(`/mcp/${params.business}/${params.product}`), res);
17
28
  }
18
- protectedResourceMetadataSuffixed() {
19
- return this.document();
29
+ async respond(requested, res) {
30
+ const session = requested ? null : await mcp_portal_key_1.McpPortalKey.forSession();
31
+ res.setHeader('Cache-Control', nestjs_utility_services_1.Auth.check() && !requested ? 'private, no-store' : 'public, max-age=3600');
32
+ return this.document(requested || session);
20
33
  }
21
- document() {
22
- const resource = process.env.MCP_CANONICAL_URI || `${this.baseUrl()}/mcp`;
34
+ document(portal) {
35
+ const resource = mcp_portal_key_1.McpPortalKey.apply(process.env.MCP_CANONICAL_URI || `${this.baseUrl()}/mcp`, portal);
23
36
  const authorizationServer = process.env.MCP_AUTHORIZATION_SERVER || process.env.SERVER_URL || this.baseUrl();
24
37
  const scopes = (process.env.MCP_SCOPES_SUPPORTED || 'mcp,reporting:read')
25
38
  .split(',')
@@ -40,18 +53,26 @@ let PrmController = class PrmController {
40
53
  exports.PrmController = PrmController;
41
54
  __decorate([
42
55
  (0, common_1.Get)('oauth-protected-resource'),
43
- (0, common_1.Header)('Cache-Control', 'public, max-age=3600'),
56
+ __param(0, (0, common_1.Res)({ passthrough: true })),
44
57
  __metadata("design:type", Function),
45
- __metadata("design:paramtypes", []),
58
+ __metadata("design:paramtypes", [Object]),
46
59
  __metadata("design:returntype", void 0)
47
60
  ], PrmController.prototype, "protectedResourceMetadata", null);
48
61
  __decorate([
49
62
  (0, common_1.Get)('oauth-protected-resource/mcp'),
50
- (0, common_1.Header)('Cache-Control', 'public, max-age=3600'),
63
+ __param(0, (0, common_1.Res)({ passthrough: true })),
51
64
  __metadata("design:type", Function),
52
- __metadata("design:paramtypes", []),
65
+ __metadata("design:paramtypes", [Object]),
53
66
  __metadata("design:returntype", void 0)
54
67
  ], PrmController.prototype, "protectedResourceMetadataSuffixed", null);
68
+ __decorate([
69
+ (0, common_1.Get)('oauth-protected-resource/mcp/:business/:product'),
70
+ __param(0, (0, common_1.Param)()),
71
+ __param(1, (0, common_1.Res)({ passthrough: true })),
72
+ __metadata("design:type", Function),
73
+ __metadata("design:paramtypes", [Object, Object]),
74
+ __metadata("design:returntype", void 0)
75
+ ], PrmController.prototype, "protectedResourceMetadataKeyed", null);
55
76
  exports.PrmController = PrmController = __decorate([
56
77
  (0, common_1.Controller)('.well-known')
57
78
  ], PrmController);
@@ -1 +1 @@
1
- {"version":3,"file":"prm.controller.js","sourceRoot":"","sources":["../../../src/mcp/http/prm.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyD;AAUlD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGtB,yBAAyB;QACrB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAID,iCAAiC;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEO,QAAQ;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;QAC1E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7G,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,oBAAoB,CAAC;aACpE,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QAErB,OAAO;YACH,QAAQ;YACR,qBAAqB,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,gBAAgB,EAAE,MAAM;YACxB,wBAAwB,EAAE,CAAC,QAAQ,CAAC;YACpC,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,oCAAoC;SACzG,CAAC;IACN,CAAC;IAEO,OAAO;QACX,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,oBAAoB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjH,CAAC;CACJ,CAAA;AAjCY,sCAAa;AAGtB;IAFC,IAAA,YAAG,EAAC,0BAA0B,CAAC;IAC/B,IAAA,eAAM,EAAC,eAAe,EAAE,sBAAsB,CAAC;;;;8DAG/C;AAID;IAFC,IAAA,YAAG,EAAC,8BAA8B,CAAC;IACnC,IAAA,eAAM,EAAC,eAAe,EAAE,sBAAsB,CAAC;;;;sEAG/C;wBAXQ,aAAa;IADzB,IAAA,mBAAU,EAAC,aAAa,CAAC;GACb,aAAa,CAiCzB"}
1
+ {"version":3,"file":"prm.controller.js","sourceRoot":"","sources":["../../../src/mcp/http/prm.controller.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { Response } from 'express';
2
2
  export declare class UnauthorizedMcpResponse {
3
3
  static error(res: Response, status: number, code: number, message: string): void;
4
- static resourceMetadataUrl(): string;
5
- static challenge(): string;
4
+ static resourceMetadataUrl(path?: string): string;
5
+ static challenge(path?: string): string;
6
6
  static unauthorized(res: Response, message: string): void;
7
+ private static portal;
7
8
  static internal(res: Response, message: string): void;
8
9
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UnauthorizedMcpResponse = void 0;
4
+ const mcp_portal_key_1 = require("../../access/libraries/mcp.portal.key");
4
5
  const JSONRPC_UNAUTHORIZED = -32001;
5
6
  const JSONRPC_INTERNAL_ERROR = -32603;
6
7
  class UnauthorizedMcpResponse {
@@ -13,21 +14,29 @@ class UnauthorizedMcpResponse {
13
14
  id: null,
14
15
  });
15
16
  }
16
- static resourceMetadataUrl() {
17
+ static resourceMetadataUrl(path) {
17
18
  const resource = process.env.MCP_CANONICAL_URI || `${(process.env.SERVER_URL || 'http://127.0.0.1:4000').replace(/\/+$/, '')}/mcp`;
18
19
  const origin = resource.replace(/\/mcp\/?$/, '');
19
- return `${origin}/.well-known/oauth-protected-resource/mcp`;
20
+ return mcp_portal_key_1.McpPortalKey.apply(`${origin}/.well-known/oauth-protected-resource/mcp`, UnauthorizedMcpResponse.portal(path));
20
21
  }
21
- static challenge() {
22
+ static challenge(path) {
22
23
  const scope = process.env.MCP_SCOPES_SUPPORTED?.split(',')[0]?.trim() || 'mcp';
23
- return `Bearer resource_metadata="${UnauthorizedMcpResponse.resourceMetadataUrl()}", scope="${scope}"`;
24
+ return `Bearer resource_metadata="${UnauthorizedMcpResponse.resourceMetadataUrl(path)}", scope="${scope}"`;
24
25
  }
25
26
  static unauthorized(res, message) {
26
27
  if (!res.headersSent) {
27
- res.setHeader('WWW-Authenticate', UnauthorizedMcpResponse.challenge());
28
+ res.setHeader('WWW-Authenticate', UnauthorizedMcpResponse.challenge(res.req?.originalUrl));
28
29
  }
29
30
  UnauthorizedMcpResponse.error(res, 401, JSONRPC_UNAUTHORIZED, message);
30
31
  }
32
+ static portal(path) {
33
+ try {
34
+ return mcp_portal_key_1.McpPortalKey.fromPath(path);
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
31
40
  static internal(res, message) {
32
41
  UnauthorizedMcpResponse.error(res, 500, JSONRPC_INTERNAL_ERROR, message);
33
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unauthorized.mcp.response.js","sourceRoot":"","sources":["../../../src/mcp/http/unauthorized.mcp.response.ts"],"names":[],"mappings":";;;AAGA,MAAM,oBAAoB,GAAG,CAAC,KAAK,CAAC;AAGpC,MAAM,sBAAsB,GAAG,CAAC,KAAK,CAAC;AAKtC,MAAa,uBAAuB;IAKhC,MAAM,CAAC,KAAK,CAAC,GAAa,EAAE,MAAc,EAAE,IAAY,EAAE,OAAe;QACrE,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO;QAE5B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YACxB,EAAE,EAAE,IAAI;SACX,CAAC,CAAC;IACP,CAAC;IAMD,MAAM,CAAC,mBAAmB;QACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;QACnI,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,GAAG,MAAM,2CAA2C,CAAC;IAChE,CAAC;IAKD,MAAM,CAAC,SAAS;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC;QAC/E,OAAO,6BAA6B,uBAAuB,CAAC,mBAAmB,EAAE,aAAa,KAAK,GAAG,CAAC;IAC3G,CAAC;IAKD,MAAM,CAAC,YAAY,CAAC,GAAa,EAAE,OAAe;QAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACnB,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,uBAAuB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAKD,MAAM,CAAC,QAAQ,CAAC,GAAa,EAAE,OAAe;QAC1C,uBAAuB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;CACJ;AAjDD,0DAiDC"}
1
+ {"version":3,"file":"unauthorized.mcp.response.js","sourceRoot":"","sources":["../../../src/mcp/http/unauthorized.mcp.response.ts"],"names":[],"mappings":";;;AACA,0EAAqE;AAGrE,MAAM,oBAAoB,GAAG,CAAC,KAAK,CAAC;AAGpC,MAAM,sBAAsB,GAAG,CAAC,KAAK,CAAC;AAKtC,MAAa,uBAAuB;IAKhC,MAAM,CAAC,KAAK,CAAC,GAAa,EAAE,MAAc,EAAE,IAAY,EAAE,OAAe;QACrE,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO;QAE5B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YACxB,EAAE,EAAE,IAAI;SACX,CAAC,CAAC;IACP,CAAC;IAQD,MAAM,CAAC,mBAAmB,CAAC,IAAa;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;QACnI,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,6BAAY,CAAC,KAAK,CAAC,GAAG,MAAM,2CAA2C,EAAE,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1H,CAAC;IAKD,MAAM,CAAC,SAAS,CAAC,IAAa;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC;QAC/E,OAAO,6BAA6B,uBAAuB,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,KAAK,GAAG,CAAC;IAC/G,CAAC;IAKD,MAAM,CAAC,YAAY,CAAC,GAAa,EAAE,OAAe;QAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACnB,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,uBAAuB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAGO,MAAM,CAAC,MAAM,CAAC,IAAa;QAC/B,IAAI,CAAC;YACD,OAAO,6BAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAKD,MAAM,CAAC,QAAQ,CAAC,GAAa,EAAE,OAAe;QAC1C,uBAAuB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;CACJ;AA5DD,0DA4DC"}
@@ -0,0 +1,5 @@
1
+ import { MigrationUtility } from '@servicelabsco/nestjs-utility-services';
2
+ export declare class AddItemRetentionDaysColumnUtlBulkDefinitionsTable1793654820019 extends MigrationUtility {
3
+ constructor();
4
+ process(): void;
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddItemRetentionDaysColumnUtlBulkDefinitionsTable1793654820019 = void 0;
4
+ const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
5
+ class AddItemRetentionDaysColumnUtlBulkDefinitionsTable1793654820019 extends nestjs_utility_services_1.MigrationUtility {
6
+ constructor() {
7
+ super('utl_bulk_definitions');
8
+ this.process();
9
+ }
10
+ process() {
11
+ this.number('item_retention_days');
12
+ }
13
+ }
14
+ exports.AddItemRetentionDaysColumnUtlBulkDefinitionsTable1793654820019 = AddItemRetentionDaysColumnUtlBulkDefinitionsTable1793654820019;
15
+ //# sourceMappingURL=1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.js","sourceRoot":"","sources":["../../src/migrations/1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.ts"],"names":[],"mappings":";;;AAAA,oFAA0E;AAM1E,MAAa,8DAA+D,SAAQ,0CAAgB;IAChG;QACI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;CACJ;AATD,wIASC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicelabsco/slabs-access-manager",
3
- "version": "3.0.2",
3
+ "version": "3.0.3",
4
4
  "description": "Support for application level menus and dashboards",
5
5
  "author": "Hemant Kumar Sah <hemantanshu@gmail.com>",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- {"version":3,"file":"bulk.upload.item.store.js","sourceRoot":"","sources":["../../../src/accessUtility/services/bulk.upload.item.store.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"match.bulk.upload.columns.js","sourceRoot":"","sources":["../../../src/accessUtility/services/match.bulk.upload.columns.ts"],"names":[],"mappings":"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"}