@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.
- package/CHANGELOG.md +32 -0
- package/CLAUDE.md +1 -0
- package/dist/access/controllers/bulk.upload.controller.d.ts +5 -5
- package/dist/access/controllers/bulk.upload.controller.js +11 -11
- package/dist/access/controllers/bulk.upload.controller.js.map +1 -1
- package/dist/access/controllers/bulk.upload.item.controller.d.ts +3 -3
- package/dist/access/controllers/bulk.upload.item.controller.js +5 -5
- package/dist/access/controllers/bulk.upload.item.controller.js.map +1 -1
- package/dist/access/dtos/user.business.secret.attributes.dto.d.ts +1 -0
- package/dist/access/dtos/user.business.secret.attributes.dto.js.map +1 -1
- package/dist/access/es6.classes.d.ts +4 -2
- package/dist/access/es6.classes.js +4 -0
- package/dist/access/es6.classes.js.map +1 -1
- package/dist/access/libraries/create.user.business.secret.d.ts +2 -0
- package/dist/access/libraries/create.user.business.secret.js +11 -0
- package/dist/access/libraries/create.user.business.secret.js.map +1 -1
- package/dist/access/libraries/index.d.ts +1 -0
- package/dist/access/libraries/index.js +1 -0
- package/dist/access/libraries/index.js.map +1 -1
- package/dist/access/libraries/mcp.portal.key.d.ts +17 -0
- package/dist/access/libraries/mcp.portal.key.js +76 -0
- package/dist/access/libraries/mcp.portal.key.js.map +1 -0
- package/dist/access/middlewares/mcp.access.middleware.js +19 -1
- package/dist/access/middlewares/mcp.access.middleware.js.map +1 -1
- package/dist/access/services/credential.resolve.service.d.ts +1 -0
- package/dist/access/services/credential.resolve.service.js +2 -1
- package/dist/access/services/credential.resolve.service.js.map +1 -1
- package/dist/access/services/index.d.ts +1 -0
- package/dist/access/services/index.js +1 -0
- package/dist/access/services/index.js.map +1 -1
- package/dist/access/services/mcp.portal.service.d.ts +11 -0
- package/dist/access/services/mcp.portal.service.js +39 -0
- package/dist/access/services/mcp.portal.service.js.map +1 -0
- package/dist/access/services/oauth.as.service.d.ts +6 -1
- package/dist/access/services/oauth.as.service.js +85 -9
- package/dist/access/services/oauth.as.service.js.map +1 -1
- package/dist/accessUtility/controllers/bulk.definition.controller.d.ts +3 -3
- package/dist/accessUtility/controllers/bulk.definition.controller.js +6 -5
- package/dist/accessUtility/controllers/bulk.definition.controller.js.map +1 -1
- package/dist/accessUtility/dtos/add.bulk.definition.dto.d.ts +1 -0
- package/dist/accessUtility/dtos/add.bulk.definition.dto.js +7 -0
- package/dist/accessUtility/dtos/add.bulk.definition.dto.js.map +1 -1
- package/dist/accessUtility/entities/bulk.definition.entity.d.ts +1 -0
- package/dist/accessUtility/entities/bulk.definition.entity.js +4 -0
- package/dist/accessUtility/entities/bulk.definition.entity.js.map +1 -1
- package/dist/accessUtility/es6.classes.d.ts +3 -3
- package/dist/accessUtility/es6.classes.js +4 -4
- package/dist/accessUtility/es6.classes.js.map +1 -1
- package/dist/accessUtility/jobs/analyse.bulk.upload.job.d.ts +5 -5
- package/dist/accessUtility/jobs/analyse.bulk.upload.job.js +8 -8
- package/dist/accessUtility/jobs/analyse.bulk.upload.job.js.map +1 -1
- package/dist/accessUtility/jobs/bulk.upload.column.match.job.d.ts +3 -3
- package/dist/accessUtility/jobs/bulk.upload.column.match.job.js +5 -5
- package/dist/accessUtility/jobs/bulk.upload.column.match.job.js.map +1 -1
- package/dist/accessUtility/jobs/bulk.upload.stats.job.d.ts +3 -3
- package/dist/accessUtility/jobs/bulk.upload.stats.job.js +10 -8
- package/dist/accessUtility/jobs/bulk.upload.stats.job.js.map +1 -1
- package/dist/accessUtility/jobs/push.to.bulk.item.job.d.ts +3 -3
- package/dist/accessUtility/jobs/push.to.bulk.item.job.js +6 -6
- package/dist/accessUtility/jobs/push.to.bulk.item.job.js.map +1 -1
- package/dist/accessUtility/jobs/sanitize.bulk.upload.job.d.ts +3 -3
- package/dist/accessUtility/jobs/sanitize.bulk.upload.job.js +9 -12
- package/dist/accessUtility/jobs/sanitize.bulk.upload.job.js.map +1 -1
- package/dist/accessUtility/libraries/analyse.bulk.upload.d.ts +5 -5
- package/dist/accessUtility/libraries/analyse.bulk.upload.js +5 -5
- package/dist/accessUtility/libraries/analyse.bulk.upload.js.map +1 -1
- package/dist/accessUtility/libraries/process.bulk.definition.data.js +2 -0
- package/dist/accessUtility/libraries/process.bulk.definition.data.js.map +1 -1
- package/dist/accessUtility/libraries/process.bulk.upload.definition.change.d.ts +5 -5
- package/dist/accessUtility/libraries/process.bulk.upload.definition.change.js +5 -5
- package/dist/accessUtility/libraries/process.bulk.upload.definition.change.js.map +1 -1
- package/dist/accessUtility/libraries/set.bulk.upload.log.file.d.ts +3 -3
- package/dist/accessUtility/libraries/set.bulk.upload.log.file.js +3 -3
- package/dist/accessUtility/libraries/set.bulk.upload.log.file.js.map +1 -1
- package/dist/accessUtility/services/{bulk.upload.item.store.d.ts → bulk.upload.item.store.service.d.ts} +2 -1
- package/dist/accessUtility/services/{bulk.upload.item.store.js → bulk.upload.item.store.service.js} +9 -6
- package/dist/accessUtility/services/bulk.upload.item.store.service.js.map +1 -0
- package/dist/accessUtility/services/index.d.ts +2 -2
- package/dist/accessUtility/services/index.js +2 -2
- package/dist/accessUtility/services/index.js.map +1 -1
- package/dist/accessUtility/services/{match.bulk.upload.columns.d.ts → match.bulk.upload.columns.service.d.ts} +1 -1
- package/dist/accessUtility/services/{match.bulk.upload.columns.js → match.bulk.upload.columns.service.js} +6 -6
- package/dist/accessUtility/services/match.bulk.upload.columns.service.js.map +1 -0
- package/dist/app.module.js +6 -2
- package/dist/app.module.js.map +1 -1
- package/dist/mcp/http/business.mcp.controller.js +4 -3
- package/dist/mcp/http/business.mcp.controller.js.map +1 -1
- package/dist/mcp/http/prm.controller.d.ts +16 -4
- package/dist/mcp/http/prm.controller.js +31 -10
- package/dist/mcp/http/prm.controller.js.map +1 -1
- package/dist/mcp/http/unauthorized.mcp.response.d.ts +3 -2
- package/dist/mcp/http/unauthorized.mcp.response.js +14 -5
- package/dist/mcp/http/unauthorized.mcp.response.js.map +1 -1
- package/dist/migrations/1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.d.ts +5 -0
- package/dist/migrations/1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.js +15 -0
- package/dist/migrations/1793654820019-AddItemRetentionDaysColumnUtlBulkDefinitionsTable.js.map +1 -0
- package/package.json +1 -1
- package/dist/accessUtility/services/bulk.upload.item.store.js.map +0 -1
- package/dist/accessUtility/services/match.bulk.upload.columns.js.map +0 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.McpPortalKey = void 0;
|
|
4
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
5
|
+
const access_business_entity_1 = require("../entities/access.business.entity");
|
|
6
|
+
const product_type_enum_1 = require("../enums/product.type.enum");
|
|
7
|
+
const PORTAL_SLUGS = {
|
|
8
|
+
ap: product_type_enum_1.ProductTypeEnum.FINOPS,
|
|
9
|
+
rir: product_type_enum_1.ProductTypeEnum.RECO,
|
|
10
|
+
rex: product_type_enum_1.ProductTypeEnum.ARC,
|
|
11
|
+
};
|
|
12
|
+
const KEYED_PATH = /\/mcp\/([^/]+)\/([^/]+)\/?$/;
|
|
13
|
+
class McpPortalKey {
|
|
14
|
+
static slug(product) {
|
|
15
|
+
return Object.keys(PORTAL_SLUGS).find((slug) => PORTAL_SLUGS[slug] === Number(product));
|
|
16
|
+
}
|
|
17
|
+
static product(slug) {
|
|
18
|
+
return slug ? PORTAL_SLUGS[slug.trim().toLowerCase()] : undefined;
|
|
19
|
+
}
|
|
20
|
+
static fromPath(path) {
|
|
21
|
+
const match = KEYED_PATH.exec(String(path || '').split(/[?#]/)[0]);
|
|
22
|
+
if (!match)
|
|
23
|
+
return null;
|
|
24
|
+
const business = Number(match[1]);
|
|
25
|
+
if (!Number.isInteger(business) || business <= 0)
|
|
26
|
+
throw new nestjs_utility_services_1.OperationException('The connector URL names an invalid business');
|
|
27
|
+
const product = McpPortalKey.product(match[2]);
|
|
28
|
+
if (!product)
|
|
29
|
+
throw new nestjs_utility_services_1.OperationException('The connector URL names an unknown product');
|
|
30
|
+
return { business, product };
|
|
31
|
+
}
|
|
32
|
+
static fromResource(resource) {
|
|
33
|
+
if (!resource?.trim())
|
|
34
|
+
return null;
|
|
35
|
+
let url;
|
|
36
|
+
try {
|
|
37
|
+
url = new URL(resource.trim());
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return McpPortalKey.fromPath(url.pathname);
|
|
43
|
+
}
|
|
44
|
+
static apply(url, portal) {
|
|
45
|
+
if (!portal)
|
|
46
|
+
return url;
|
|
47
|
+
return `${url.replace(/\/+$/, '')}/${portal.business}/${McpPortalKey.slug(portal.product)}`;
|
|
48
|
+
}
|
|
49
|
+
static consentPath(portal) {
|
|
50
|
+
return `/oauth/${McpPortalKey.slug(portal.product)}/${portal.business}`;
|
|
51
|
+
}
|
|
52
|
+
static async forSession() {
|
|
53
|
+
if (!nestjs_utility_services_1.Auth.check())
|
|
54
|
+
return null;
|
|
55
|
+
const attributes = nestjs_utility_services_1.Auth.user()?.auth_attributes;
|
|
56
|
+
if (!attributes?.business_id || !McpPortalKey.slug(attributes.product_id))
|
|
57
|
+
return null;
|
|
58
|
+
const business = await access_business_entity_1.AccessBusinessEntity.findOne({ where: { id: attributes.business_id } });
|
|
59
|
+
if (!business?.identifier)
|
|
60
|
+
return null;
|
|
61
|
+
return { business: Number(business.identifier), product: Number(attributes.product_id) };
|
|
62
|
+
}
|
|
63
|
+
static async business(portal) {
|
|
64
|
+
const business = await access_business_entity_1.AccessBusinessEntity.findOne({ where: { identifier: portal.business } });
|
|
65
|
+
if (!business?.active)
|
|
66
|
+
throw new nestjs_utility_services_1.OperationException('The connector URL names a business that is not on this server');
|
|
67
|
+
return business;
|
|
68
|
+
}
|
|
69
|
+
static matches(portal, business, productId) {
|
|
70
|
+
if (Number(business.identifier) !== portal.business)
|
|
71
|
+
return false;
|
|
72
|
+
return productId === undefined || productId === null || Number(productId) === portal.product;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.McpPortalKey = McpPortalKey;
|
|
76
|
+
//# sourceMappingURL=mcp.portal.key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.portal.key.js","sourceRoot":"","sources":["../../../src/access/libraries/mcp.portal.key.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,9 @@ exports.McpAccessMiddleware = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
15
15
|
const unauthorized_mcp_response_1 = require("../../mcp/http/unauthorized.mcp.response");
|
|
16
|
+
const access_business_entity_1 = require("../entities/access.business.entity");
|
|
16
17
|
const extract_client_credentials_1 = require("../libraries/extract.client.credentials");
|
|
18
|
+
const mcp_portal_key_1 = require("../libraries/mcp.portal.key");
|
|
17
19
|
const resolve_client_ip_1 = require("../libraries/resolve.client.ip");
|
|
18
20
|
const credential_resolve_service_1 = require("../services/credential.resolve.service");
|
|
19
21
|
let McpAccessMiddleware = class McpAccessMiddleware {
|
|
@@ -25,8 +27,9 @@ let McpAccessMiddleware = class McpAccessMiddleware {
|
|
|
25
27
|
if (!creds)
|
|
26
28
|
return next();
|
|
27
29
|
const ip = new resolve_client_ip_1.ResolveClientIp().process(req);
|
|
30
|
+
let resolved;
|
|
28
31
|
try {
|
|
29
|
-
await this.credentialResolveService.authenticate(creds.clientId, creds.clientSecret, ip);
|
|
32
|
+
resolved = await this.credentialResolveService.authenticate(creds.clientId, creds.clientSecret, ip);
|
|
30
33
|
}
|
|
31
34
|
catch (error) {
|
|
32
35
|
if (error instanceof nestjs_utility_services_1.AccessException) {
|
|
@@ -34,6 +37,21 @@ let McpAccessMiddleware = class McpAccessMiddleware {
|
|
|
34
37
|
}
|
|
35
38
|
throw error;
|
|
36
39
|
}
|
|
40
|
+
let portal;
|
|
41
|
+
try {
|
|
42
|
+
portal = mcp_portal_key_1.McpPortalKey.fromPath(req.originalUrl || req.url);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error instanceof nestjs_utility_services_1.OperationException)
|
|
46
|
+
return unauthorized_mcp_response_1.UnauthorizedMcpResponse.unauthorized(res, error.message);
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
if (portal) {
|
|
50
|
+
const business = await access_business_entity_1.AccessBusinessEntity.findOne({ where: { id: resolved.businessId } });
|
|
51
|
+
if (!business || !mcp_portal_key_1.McpPortalKey.matches(portal, business, resolved.productId)) {
|
|
52
|
+
return unauthorized_mcp_response_1.UnauthorizedMcpResponse.unauthorized(res, 'These credentials are for another business or product than this connector.');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
37
55
|
next();
|
|
38
56
|
}
|
|
39
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.access.middleware.js","sourceRoot":"","sources":["../../../src/access/middlewares/mcp.access.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"mcp.access.middleware.js","sourceRoot":"","sources":["../../../src/access/middlewares/mcp.access.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAC5D,oFAA6F;AAC7F,wFAAmF;AACnF,+EAA0E;AAC1E,wFAAmF;AACnF,gEAAsE;AACtE,sEAAiE;AACjE,uFAAsG;AAa/F,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,YAA6B,wBAAkD;QAAlD,6BAAwB,GAAxB,wBAAwB,CAA0B;IAAG,CAAC;IAEnF,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAgB;QAC1C,MAAM,KAAK,GAAG,qDAAwB,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,EAAE,CAAC;QAE1B,MAAM,EAAE,GAAG,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,yCAAe,EAAE,CAAC;gBACnC,OAAO,mDAAuB,CAAC,YAAY,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,GAAG,6BAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,4CAAkB;gBAAE,OAAO,mDAAuB,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzG,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,QAAQ,IAAI,CAAC,6BAAY,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3E,OAAO,mDAAuB,CAAC,YAAY,CAAC,GAAG,EAAE,4EAA4E,CAAC,CAAC;YACnI,CAAC;QACL,CAAC;QAED,IAAI,EAAE,CAAC;IACX,CAAC;CACJ,CAAA;AAnCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE8C,qDAAwB;GADtE,mBAAmB,CAmC/B"}
|
|
@@ -43,6 +43,7 @@ let CredentialResolveService = class CredentialResolveService {
|
|
|
43
43
|
businessId: data.business_id,
|
|
44
44
|
userId: data.user_id,
|
|
45
45
|
scope: Array.isArray(userSecret.access_scopes) ? userSecret.access_scopes : undefined,
|
|
46
|
+
productId: Number(userSecret.attributes?.product_id) || product_type_enum_1.ProductTypeEnum.EMPLOYEE,
|
|
46
47
|
};
|
|
47
48
|
}
|
|
48
49
|
const api = await this.apiAccountService.validate(payload);
|
|
@@ -70,7 +71,7 @@ let CredentialResolveService = class CredentialResolveService {
|
|
|
70
71
|
business_id: resolved.businessId,
|
|
71
72
|
auth_attributes: {
|
|
72
73
|
business_id: resolved.businessId,
|
|
73
|
-
product_id: product_type_enum_1.ProductTypeEnum.EMPLOYEE,
|
|
74
|
+
product_id: resolved.productId || product_type_enum_1.ProductTypeEnum.EMPLOYEE,
|
|
74
75
|
api_key_kind: 'user',
|
|
75
76
|
client_id: resolved.clientId,
|
|
76
77
|
scope: scopes.length ? scopes : ['mcp'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential.resolve.service.js","sourceRoot":"","sources":["../../../src/access/services/credential.resolve.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAqI;AACrI,kEAA6D;AAC7D,yFAAmF;AACnF,+DAA0D;AAC1D,iFAA2E;
|
|
1
|
+
{"version":3,"file":"credential.resolve.service.js","sourceRoot":"","sources":["../../../src/access/services/credential.resolve.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ export * from './listing.preference.service';
|
|
|
25
25
|
export * from './listing.service';
|
|
26
26
|
export * from './lock.script.service';
|
|
27
27
|
export * from './mail.log.access.service';
|
|
28
|
+
export * from './mcp.portal.service';
|
|
28
29
|
export * from './notification.service';
|
|
29
30
|
export * from './notification.type.preference.service';
|
|
30
31
|
export * from './notification.type.service';
|
|
@@ -41,6 +41,7 @@ __exportStar(require("./listing.preference.service"), exports);
|
|
|
41
41
|
__exportStar(require("./listing.service"), exports);
|
|
42
42
|
__exportStar(require("./lock.script.service"), exports);
|
|
43
43
|
__exportStar(require("./mail.log.access.service"), exports);
|
|
44
|
+
__exportStar(require("./mcp.portal.service"), exports);
|
|
44
45
|
__exportStar(require("./notification.service"), exports);
|
|
45
46
|
__exportStar(require("./notification.type.preference.service"), exports);
|
|
46
47
|
__exportStar(require("./notification.type.service"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/access/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4DAA0C;AAC1C,0DAAwC;AACxC,0DAAwC;AACxC,wDAAsC;AACtC,4DAA0C;AAC1C,sDAAoC;AACpC,iEAA+C;AAC/C,2DAAyC;AACzC,gEAA8C;AAC9C,8DAA4C;AAC5C,4DAA0C;AAC1C,+DAA6C;AAC7C,+DAA6C;AAC7C,qDAAmC;AACnC,yDAAuC;AACvC,kEAAgD;AAChD,wDAAsC;AACtC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,8DAA4C;AAC5C,gDAA8B;AAC9B,2EAAyD;AACzD,+DAA6C;AAC7C,oDAAkC;AAClC,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC;AACvC,yEAAuD;AACvD,8DAA4C;AAC5C,qDAAmC;AACnC,8DAA4C;AAC5C,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,kDAAgC;AAChC,kDAAgC;AAChC,iEAA+C;AAC/C,8DAA4C;AAC5C,4DAA0C;AAC1C,oDAAkC;AAClC,oDAAkC;AAClC,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/access/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4DAA0C;AAC1C,0DAAwC;AACxC,0DAAwC;AACxC,wDAAsC;AACtC,4DAA0C;AAC1C,sDAAoC;AACpC,iEAA+C;AAC/C,2DAAyC;AACzC,gEAA8C;AAC9C,8DAA4C;AAC5C,4DAA0C;AAC1C,+DAA6C;AAC7C,+DAA6C;AAC7C,qDAAmC;AACnC,yDAAuC;AACvC,kEAAgD;AAChD,wDAAsC;AACtC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,8DAA4C;AAC5C,gDAA8B;AAC9B,2EAAyD;AACzD,+DAA6C;AAC7C,oDAAkC;AAClC,wDAAsC;AACtC,4DAA0C;AAC1C,uDAAqC;AACrC,yDAAuC;AACvC,yEAAuD;AACvD,8DAA4C;AAC5C,qDAAmC;AACnC,8DAA4C;AAC5C,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,kDAAgC;AAChC,kDAAgC;AAChC,iEAA+C;AAC/C,8DAA4C;AAC5C,4DAA0C;AAC1C,oDAAkC;AAClC,oDAAkC;AAClC,qDAAmC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InternalServerConnectService } from '@servicelabsco/nestjs-utility-services';
|
|
2
|
+
import { AccessBusinessEntity } from '../entities/access.business.entity';
|
|
3
|
+
import { McpPortal } from '../libraries/mcp.portal.key';
|
|
4
|
+
export declare class McpPortalService {
|
|
5
|
+
private readonly internalServerConnectService;
|
|
6
|
+
constructor(internalServerConnectService: InternalServerConnectService);
|
|
7
|
+
resolve(portal: McpPortal): Promise<{
|
|
8
|
+
business: AccessBusinessEntity;
|
|
9
|
+
url: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.McpPortalService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
|
|
15
|
+
const mcp_portal_key_1 = require("../libraries/mcp.portal.key");
|
|
16
|
+
let McpPortalService = class McpPortalService {
|
|
17
|
+
constructor(internalServerConnectService) {
|
|
18
|
+
this.internalServerConnectService = internalServerConnectService;
|
|
19
|
+
}
|
|
20
|
+
async resolve(portal) {
|
|
21
|
+
const business = await mcp_portal_key_1.McpPortalKey.business(portal);
|
|
22
|
+
if (!business.meta_server_id)
|
|
23
|
+
throw new nestjs_utility_services_1.OperationException('This business is not linked to a portal');
|
|
24
|
+
const response = await this.internalServerConnectService.post('meta', 'business-portal', {
|
|
25
|
+
business_id: business.meta_server_id,
|
|
26
|
+
product_id: portal.product,
|
|
27
|
+
});
|
|
28
|
+
const url = response?.success ? String(response.data?.url || '').trim() : '';
|
|
29
|
+
if (!url)
|
|
30
|
+
throw new nestjs_utility_services_1.OperationException(response?.message || 'No portal is registered for this business and product');
|
|
31
|
+
return { business, url: url.replace(/\/+$/, '') };
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.McpPortalService = McpPortalService;
|
|
35
|
+
exports.McpPortalService = McpPortalService = __decorate([
|
|
36
|
+
(0, common_1.Injectable)(),
|
|
37
|
+
__metadata("design:paramtypes", [nestjs_utility_services_1.InternalServerConnectService])
|
|
38
|
+
], McpPortalService);
|
|
39
|
+
//# sourceMappingURL=mcp.portal.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.portal.service.js","sourceRoot":"","sources":["../../../src/access/services/mcp.portal.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAA0G;AAE1G,gEAAsE;AAQ/D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACzB,YAA6B,4BAA0D;QAA1D,iCAA4B,GAA5B,4BAA4B,CAA8B;IAAG,CAAC;IAM3F,KAAK,CAAC,OAAO,CAAC,MAAiB;QAC3B,MAAM,QAAQ,GAAG,MAAM,6BAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,cAAc;YAAE,MAAM,IAAI,4CAAkB,CAAC,yCAAyC,CAAC,CAAC;QAEtG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACrF,WAAW,EAAE,QAAQ,CAAC,cAAc;YACpC,UAAU,EAAE,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,4CAAkB,CAAC,QAAQ,EAAE,OAAO,IAAI,uDAAuD,CAAC,CAAC;QAErH,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;CACJ,CAAA;AApBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAEkD,sDAA4B;GAD9E,gBAAgB,CAoB5B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OauthRegisterDto } from '../dtos/oauth.register.dto';
|
|
2
2
|
import { AccessBusinessService } from './access.business.service';
|
|
3
|
+
import { McpPortalService } from './mcp.portal.service';
|
|
3
4
|
export declare class OauthProtocolError extends Error {
|
|
4
5
|
readonly error: string;
|
|
5
6
|
readonly status: number;
|
|
@@ -8,7 +9,8 @@ export declare class OauthProtocolError extends Error {
|
|
|
8
9
|
}
|
|
9
10
|
export declare class OauthAsService {
|
|
10
11
|
private readonly accessBusinessService;
|
|
11
|
-
|
|
12
|
+
private readonly mcpPortalService;
|
|
13
|
+
constructor(accessBusinessService: AccessBusinessService, mcpPortalService: McpPortalService);
|
|
12
14
|
issuer(): string;
|
|
13
15
|
scopesSupported(): string[];
|
|
14
16
|
authorizationServerMetadata(): {
|
|
@@ -101,6 +103,9 @@ export declare class OauthAsService {
|
|
|
101
103
|
}>;
|
|
102
104
|
private mintPersonalKey;
|
|
103
105
|
private resolveBusiness;
|
|
106
|
+
private consentBusiness;
|
|
107
|
+
private portalBusiness;
|
|
108
|
+
private consentBase;
|
|
104
109
|
private validateAuthorizeParams;
|
|
105
110
|
private createPendingAuthorization;
|
|
106
111
|
private errorRedirect;
|
|
@@ -18,8 +18,10 @@ const oauth_authorization_entity_1 = require("../entities/oauth.authorization.en
|
|
|
18
18
|
const oauth_client_entity_1 = require("../entities/oauth.client.entity");
|
|
19
19
|
const create_user_business_secret_1 = require("../libraries/create.user.business.secret");
|
|
20
20
|
const extract_client_credentials_1 = require("../libraries/extract.client.credentials");
|
|
21
|
+
const mcp_portal_key_1 = require("../libraries/mcp.portal.key");
|
|
21
22
|
const oauth_pkce_1 = require("../libraries/oauth.pkce");
|
|
22
23
|
const access_business_service_1 = require("./access.business.service");
|
|
24
|
+
const mcp_portal_service_1 = require("./mcp.portal.service");
|
|
23
25
|
const PENDING_TTL_MS = 10 * 60_000;
|
|
24
26
|
const CODE_TTL_MS = 2 * 60_000;
|
|
25
27
|
const DEFAULT_SCOPE = 'mcp';
|
|
@@ -43,8 +45,9 @@ class OauthProtocolError extends Error {
|
|
|
43
45
|
}
|
|
44
46
|
exports.OauthProtocolError = OauthProtocolError;
|
|
45
47
|
let OauthAsService = class OauthAsService {
|
|
46
|
-
constructor(accessBusinessService) {
|
|
48
|
+
constructor(accessBusinessService, mcpPortalService) {
|
|
47
49
|
this.accessBusinessService = accessBusinessService;
|
|
50
|
+
this.mcpPortalService = mcpPortalService;
|
|
48
51
|
}
|
|
49
52
|
issuer() {
|
|
50
53
|
return (process.env.MCP_AUTHORIZATION_SERVER || process.env.SERVER_URL || `http://127.0.0.1:${process.env.SERVER_PORT || 4000}`).replace(/\/+$/, '');
|
|
@@ -112,11 +115,17 @@ let OauthAsService = class OauthAsService {
|
|
|
112
115
|
if (validated.kind === 'trusted_error') {
|
|
113
116
|
return { kind: 'protocol_redirect', url: validated.redirect_to };
|
|
114
117
|
}
|
|
118
|
+
let consentBase;
|
|
119
|
+
try {
|
|
120
|
+
consentBase = await this.consentBase(validated.portal);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
return { kind: 'error_page', error: 'invalid_target', message: error instanceof Error ? error.message : String(error) };
|
|
124
|
+
}
|
|
115
125
|
if (!nestjs_utility_services_1.Auth.check()) {
|
|
116
|
-
return { kind: 'consent_redirect', url: this.buildConsentHandoffUrl(query) };
|
|
126
|
+
return { kind: 'consent_redirect', url: this.buildConsentHandoffUrl(consentBase, query) };
|
|
117
127
|
}
|
|
118
128
|
const pending = await this.createPendingAuthorization(validated);
|
|
119
|
-
const consentBase = process.env.OAUTH_CONSENT_URI || `${this.frontendBase()}/oauth/consent`;
|
|
120
129
|
const consentUrl = new URL(consentBase);
|
|
121
130
|
consentUrl.searchParams.set('authorization_id', String(pending.id));
|
|
122
131
|
return { kind: 'consent_redirect', url: consentUrl.toString() };
|
|
@@ -131,6 +140,14 @@ let OauthAsService = class OauthAsService {
|
|
|
131
140
|
if (validated.kind === 'trusted_error') {
|
|
132
141
|
throw new OauthProtocolError(validated.error, validated.message, 400, validated.redirect_to);
|
|
133
142
|
}
|
|
143
|
+
if (validated.portal) {
|
|
144
|
+
try {
|
|
145
|
+
await this.portalBusiness(validated.portal);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
throw new OauthProtocolError('access_denied', error instanceof Error ? error.message : String(error), 403);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
134
151
|
const pending = await this.createPendingAuthorization(validated);
|
|
135
152
|
return { authorization_id: pending.id };
|
|
136
153
|
}
|
|
@@ -150,7 +167,13 @@ let OauthAsService = class OauthAsService {
|
|
|
150
167
|
const user = nestjs_utility_services_1.Auth.user();
|
|
151
168
|
if (!user?.id)
|
|
152
169
|
throw new nestjs_utility_services_1.AccessException('Login required.');
|
|
153
|
-
const
|
|
170
|
+
const memberships = await this.accessBusinessService.listActiveMemberships(user.id, user.auth_attributes?.business_id);
|
|
171
|
+
const portal = mcp_portal_key_1.McpPortalKey.fromResource(row.resource);
|
|
172
|
+
let businesses = memberships;
|
|
173
|
+
if (portal) {
|
|
174
|
+
const business = await this.portalBusiness(portal);
|
|
175
|
+
businesses = memberships.filter((membership) => membership.id === business.id);
|
|
176
|
+
}
|
|
154
177
|
return {
|
|
155
178
|
status: 'pending',
|
|
156
179
|
authorization_id: row.id,
|
|
@@ -180,7 +203,7 @@ let OauthAsService = class OauthAsService {
|
|
|
180
203
|
}
|
|
181
204
|
return { status: 'denied', redirect_to: this.errorRedirect(row, 'access_denied') };
|
|
182
205
|
}
|
|
183
|
-
const business = await this.
|
|
206
|
+
const business = await this.consentBusiness(row, user.id, businessId);
|
|
184
207
|
const code = oauth_pkce_1.OauthPkce.randomToken(32);
|
|
185
208
|
const claimed = await oauth_authorization_entity_1.OauthAuthorizationEntity.update({ id: row.id, approved_at: (0, typeorm_1.IsNull)(), denied_at: (0, typeorm_1.IsNull)() }, {
|
|
186
209
|
approved_at: new Date(),
|
|
@@ -222,6 +245,9 @@ let OauthAsService = class OauthAsService {
|
|
|
222
245
|
if (body.client_id && body.client_id !== row.client_id) {
|
|
223
246
|
throw new OauthProtocolError('invalid_grant', 'client_id mismatch');
|
|
224
247
|
}
|
|
248
|
+
if (body.resource?.trim() && row.resource && body.resource.trim() !== row.resource) {
|
|
249
|
+
throw new OauthProtocolError('invalid_target', 'resource does not match the authorization');
|
|
250
|
+
}
|
|
225
251
|
if (oauth_pkce_1.OauthPkce.s256Base64Url(codeVerifier) !== row.code_challenge) {
|
|
226
252
|
throw new OauthProtocolError('invalid_grant', 'PKCE verification failed');
|
|
227
253
|
}
|
|
@@ -249,8 +275,16 @@ let OauthAsService = class OauthAsService {
|
|
|
249
275
|
const business = await access_business_entity_1.AccessBusinessEntity.findOne({ where: { id: row.business_id } });
|
|
250
276
|
if (!business)
|
|
251
277
|
throw new OauthProtocolError('server_error', 'Business no longer exists', 500);
|
|
278
|
+
const portal = mcp_portal_key_1.McpPortalKey.fromResource(row.resource);
|
|
279
|
+
if (portal && !mcp_portal_key_1.McpPortalKey.matches(portal, business)) {
|
|
280
|
+
throw new OauthProtocolError('invalid_grant', 'The authorization was approved for another business');
|
|
281
|
+
}
|
|
252
282
|
nestjs_utility_services_1.Auth.login({ id: row.approved_by_user_id, auth_attributes: { business_id: business.id } });
|
|
253
|
-
const secret = await new create_user_business_secret_1.CreateUserBusinessSecret(business).process({ name: `MCP · ${row.client_id}` }, {
|
|
283
|
+
const secret = await new create_user_business_secret_1.CreateUserBusinessSecret(business).process({ name: `MCP · ${row.client_id}` }, {
|
|
284
|
+
oauthClientId: row.client_id,
|
|
285
|
+
accessScopes: (row.scope || DEFAULT_SCOPE).split(/\s+/).filter(Boolean),
|
|
286
|
+
productId: portal?.product,
|
|
287
|
+
});
|
|
254
288
|
row.user_secret_id = secret.id;
|
|
255
289
|
await row.save();
|
|
256
290
|
return {
|
|
@@ -265,6 +299,38 @@ let OauthAsService = class OauthAsService {
|
|
|
265
299
|
}
|
|
266
300
|
return this.accessBusinessService.validateAccess();
|
|
267
301
|
}
|
|
302
|
+
async consentBusiness(row, userId, businessId) {
|
|
303
|
+
const portal = mcp_portal_key_1.McpPortalKey.fromResource(row.resource);
|
|
304
|
+
if (!portal)
|
|
305
|
+
return this.resolveBusiness(userId, businessId);
|
|
306
|
+
const business = await this.portalBusiness(portal);
|
|
307
|
+
if (businessId && businessId !== business.id) {
|
|
308
|
+
throw new nestjs_utility_services_1.AccessException(`This connector is for ${business.name}. Approve it for that business.`);
|
|
309
|
+
}
|
|
310
|
+
return business;
|
|
311
|
+
}
|
|
312
|
+
async portalBusiness(portal) {
|
|
313
|
+
const user = nestjs_utility_services_1.Auth.user();
|
|
314
|
+
if (!user?.id)
|
|
315
|
+
throw new nestjs_utility_services_1.AccessException('Login required.');
|
|
316
|
+
if (Number(user.auth_attributes?.product_id) !== portal.product) {
|
|
317
|
+
throw new nestjs_utility_services_1.AccessException('This connector is for another product. Sign in to its portal and connect again.');
|
|
318
|
+
}
|
|
319
|
+
const business = await mcp_portal_key_1.McpPortalKey.business(portal);
|
|
320
|
+
try {
|
|
321
|
+
await this.accessBusinessService.assertActiveMembership(user.id, business.id);
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
throw new nestjs_utility_services_1.AccessException(`You are not a member of ${business.name}, the business this connector is for.`);
|
|
325
|
+
}
|
|
326
|
+
return business;
|
|
327
|
+
}
|
|
328
|
+
async consentBase(portal) {
|
|
329
|
+
if (!portal)
|
|
330
|
+
return process.env.OAUTH_CONSENT_URI || `${this.frontendBase()}/oauth/consent`;
|
|
331
|
+
const resolved = await this.mcpPortalService.resolve(portal);
|
|
332
|
+
return `${resolved.url}${mcp_portal_key_1.McpPortalKey.consentPath(portal)}`;
|
|
333
|
+
}
|
|
268
334
|
async validateAuthorizeParams(params) {
|
|
269
335
|
const clientId = params.client_id?.trim();
|
|
270
336
|
if (!clientId)
|
|
@@ -296,6 +362,15 @@ let OauthAsService = class OauthAsService {
|
|
|
296
362
|
if (!requestedScope.split(/\s+/).every((s) => allowed.includes(s))) {
|
|
297
363
|
return back('invalid_scope', `Supported scopes: ${allowed.join(' ')}`);
|
|
298
364
|
}
|
|
365
|
+
let portal;
|
|
366
|
+
try {
|
|
367
|
+
portal = mcp_portal_key_1.McpPortalKey.fromResource(params.resource);
|
|
368
|
+
if (portal)
|
|
369
|
+
await mcp_portal_key_1.McpPortalKey.business(portal);
|
|
370
|
+
}
|
|
371
|
+
catch (error) {
|
|
372
|
+
return back('invalid_target', error instanceof Error ? error.message : String(error));
|
|
373
|
+
}
|
|
299
374
|
return {
|
|
300
375
|
kind: 'ok',
|
|
301
376
|
clientId,
|
|
@@ -304,6 +379,7 @@ let OauthAsService = class OauthAsService {
|
|
|
304
379
|
state,
|
|
305
380
|
codeChallenge: params.code_challenge,
|
|
306
381
|
resource: params.resource,
|
|
382
|
+
portal,
|
|
307
383
|
};
|
|
308
384
|
}
|
|
309
385
|
async createPendingAuthorization(validated) {
|
|
@@ -332,8 +408,7 @@ let OauthAsService = class OauthAsService {
|
|
|
332
408
|
frontendBase() {
|
|
333
409
|
return (process.env.FRONTEND_URL || process.env.SERVER_URL || 'http://localhost:3000').replace(/\/+$/, '');
|
|
334
410
|
}
|
|
335
|
-
buildConsentHandoffUrl(query) {
|
|
336
|
-
const consentBase = process.env.OAUTH_CONSENT_URI || `${this.frontendBase()}/oauth/consent`;
|
|
411
|
+
buildConsentHandoffUrl(consentBase, query) {
|
|
337
412
|
const url = new URL(consentBase);
|
|
338
413
|
for (const key of AUTHORIZE_HANDOFF_KEYS) {
|
|
339
414
|
const value = query[key];
|
|
@@ -346,6 +421,7 @@ let OauthAsService = class OauthAsService {
|
|
|
346
421
|
exports.OauthAsService = OauthAsService;
|
|
347
422
|
exports.OauthAsService = OauthAsService = __decorate([
|
|
348
423
|
(0, common_1.Injectable)(),
|
|
349
|
-
__metadata("design:paramtypes", [access_business_service_1.AccessBusinessService
|
|
424
|
+
__metadata("design:paramtypes", [access_business_service_1.AccessBusinessService,
|
|
425
|
+
mcp_portal_service_1.McpPortalService])
|
|
350
426
|
], OauthAsService);
|
|
351
427
|
//# sourceMappingURL=oauth.as.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.as.service.js","sourceRoot":"","sources":["../../../src/access/services/oauth.as.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauth.as.service.js","sourceRoot":"","sources":["../../../src/access/services/oauth.as.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,15 +15,15 @@ import { GenerateBulkDefinitionMappingDto } from '../dtos/generate.bulk.definiti
|
|
|
15
15
|
import { MatchBulkUploadFileDto } from '../dtos/match.bulk.upload.file.dto';
|
|
16
16
|
import { BulkDefinitionEntity } from '../entities/bulk.definition.entity';
|
|
17
17
|
import { BusinessBulkDefinitionEntity } from '../entities/business.bulk.definition.entity';
|
|
18
|
-
import {
|
|
18
|
+
import { MatchBulkUploadColumnsService } from '../services/match.bulk.upload.columns.service';
|
|
19
19
|
export declare class BulkDefinitionController {
|
|
20
20
|
private readonly accessBusinessService;
|
|
21
21
|
private readonly listingService;
|
|
22
22
|
private readonly sqlService;
|
|
23
|
-
private readonly
|
|
23
|
+
private readonly matchBulkUploadColumnsService;
|
|
24
24
|
private readonly developerModeAccessService;
|
|
25
25
|
private readonly uploadService;
|
|
26
|
-
constructor(accessBusinessService: AccessBusinessService, listingService: ListingService, sqlService: SqlService,
|
|
26
|
+
constructor(accessBusinessService: AccessBusinessService, listingService: ListingService, sqlService: SqlService, matchBulkUploadColumnsService: MatchBulkUploadColumnsService, developerModeAccessService: DeveloperModeAccessService, uploadService: UploadService);
|
|
27
27
|
search(body: BulkDefinitionListFilterDto): Promise<import("../..").ListResponseDto>;
|
|
28
28
|
searchTypes(body: BulkUploadTypeListFilterDto): Promise<import("../..").ListResponseDto>;
|
|
29
29
|
searchColumns(body: BulkUploadColumnListFilterDto): Promise<import("../..").ListResponseDto>;
|
|
@@ -40,13 +40,13 @@ const process_bulk_definition_script_1 = require("../libraries/process.bulk.defi
|
|
|
40
40
|
const process_bulk_upload_column_list_1 = require("../libraries/process.bulk.upload.column.list");
|
|
41
41
|
const process_bulk_upload_format_1 = require("../libraries/process.bulk.upload.format");
|
|
42
42
|
const process_bulk_upload_type_list_1 = require("../libraries/process.bulk.upload.type.list");
|
|
43
|
-
const
|
|
43
|
+
const match_bulk_upload_columns_service_1 = require("../services/match.bulk.upload.columns.service");
|
|
44
44
|
let BulkDefinitionController = class BulkDefinitionController {
|
|
45
|
-
constructor(accessBusinessService, listingService, sqlService,
|
|
45
|
+
constructor(accessBusinessService, listingService, sqlService, matchBulkUploadColumnsService, developerModeAccessService, uploadService) {
|
|
46
46
|
this.accessBusinessService = accessBusinessService;
|
|
47
47
|
this.listingService = listingService;
|
|
48
48
|
this.sqlService = sqlService;
|
|
49
|
-
this.
|
|
49
|
+
this.matchBulkUploadColumnsService = matchBulkUploadColumnsService;
|
|
50
50
|
this.developerModeAccessService = developerModeAccessService;
|
|
51
51
|
this.uploadService = uploadService;
|
|
52
52
|
}
|
|
@@ -92,6 +92,7 @@ let BulkDefinitionController = class BulkDefinitionController {
|
|
|
92
92
|
'a.identifier',
|
|
93
93
|
'a.script_id',
|
|
94
94
|
'a.post_script_id',
|
|
95
|
+
'a.item_retention_days',
|
|
95
96
|
'jsonb(a.attributes) attributes',
|
|
96
97
|
],
|
|
97
98
|
order: `a.created_at desc`,
|
|
@@ -105,7 +106,7 @@ let BulkDefinitionController = class BulkDefinitionController {
|
|
|
105
106
|
const record = await bulk_definition_entity_1.BulkDefinitionEntity.first(params.id);
|
|
106
107
|
if (!record)
|
|
107
108
|
throw new nestjs_utility_services_1.AccessException();
|
|
108
|
-
return this.
|
|
109
|
+
return this.matchBulkUploadColumnsService.matchFile(params.id, body.file_url);
|
|
109
110
|
}
|
|
110
111
|
async listTypes(params) {
|
|
111
112
|
const business = await this.accessBusinessService.validateAccess();
|
|
@@ -342,7 +343,7 @@ exports.BulkDefinitionController = BulkDefinitionController = __decorate([
|
|
|
342
343
|
__metadata("design:paramtypes", [access_business_service_1.AccessBusinessService,
|
|
343
344
|
listing_service_1.ListingService,
|
|
344
345
|
nestjs_utility_services_1.SqlService,
|
|
345
|
-
|
|
346
|
+
match_bulk_upload_columns_service_1.MatchBulkUploadColumnsService,
|
|
346
347
|
developer_mode_access_service_1.DeveloperModeAccessService,
|
|
347
348
|
nestjs_utility_services_1.UploadService])
|
|
348
349
|
], BulkDefinitionController);
|