@hed-hog/core 0.0.361 → 0.0.364
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/dist/access-log/access-log.controller.d.ts +1 -1
- package/dist/access-log/access-log.service.d.ts +1 -1
- package/dist/access-log/access-log.service.d.ts.map +1 -1
- package/dist/access-log/access-log.service.js +43 -1
- package/dist/access-log/access-log.service.js.map +1 -1
- package/dist/auth/auth.controller.d.ts +1 -0
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +6 -2
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.service.d.ts +1 -0
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +15 -5
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/guards/auth.guard.d.ts +1 -0
- package/dist/auth/guards/auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/auth.guard.js +11 -4
- package/dist/auth/guards/auth.guard.js.map +1 -1
- package/dist/file/file.module.d.ts.map +1 -1
- package/dist/file/file.module.js +3 -2
- package/dist/file/file.module.js.map +1 -1
- package/dist/file/file.service.d.ts +71 -1
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +180 -32
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/image-optimization.service.d.ts +20 -0
- package/dist/file/image-optimization.service.d.ts.map +1 -0
- package/dist/file/image-optimization.service.js +126 -0
- package/dist/file/image-optimization.service.js.map +1 -0
- package/dist/file/provider/local.provider.d.ts +1 -1
- package/dist/file/provider/local.provider.d.ts.map +1 -1
- package/dist/file/provider/local.provider.js +2 -9
- package/dist/file/provider/local.provider.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools/core-users.mcp-tools.d.ts +1 -1
- package/dist/mcp/tools/core-users.mcp-tools.d.ts.map +1 -1
- package/dist/mcp/tools/core-users.mcp-tools.js +2 -2
- package/dist/mcp/tools/core-users.mcp-tools.js.map +1 -1
- package/dist/profile/profile.service.d.ts.map +1 -1
- package/dist/profile/profile.service.js +44 -23
- package/dist/profile/profile.service.js.map +1 -1
- package/dist/session/session.service.d.ts.map +1 -1
- package/dist/session/session.service.js +7 -2
- package/dist/session/session.service.js.map +1 -1
- package/dist/token/token.service.d.ts +1 -0
- package/dist/token/token.service.d.ts.map +1 -1
- package/dist/token/token.service.js +23 -6
- package/dist/token/token.service.js.map +1 -1
- package/dist/user/user.controller.d.ts +1 -1
- package/dist/user/user.controller.d.ts.map +1 -1
- package/dist/user/user.controller.js +4 -3
- package/dist/user/user.controller.js.map +1 -1
- package/dist/user/user.service.d.ts +1 -1
- package/dist/user/user.service.d.ts.map +1 -1
- package/dist/user/user.service.js +6 -6
- package/dist/user/user.service.js.map +1 -1
- package/hedhog/data/route.yaml +2 -0
- package/hedhog/data/setting_group.yaml +117 -0
- package/hedhog/data/setting_subgroup.yaml +8 -0
- package/hedhog/frontend/app/access-log/page.tsx.ejs +170 -11
- package/hedhog/frontend/app/account/components/remove-mfa-dialog.tsx.ejs +1 -1
- package/hedhog/frontend/app/account/components/verify-before-add-dialog.tsx.ejs +1 -1
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +112 -5
- package/hedhog/frontend/app/users/page.tsx.ejs +7 -7
- package/hedhog/frontend/app/users/permissions.tsx.ejs +137 -83
- package/hedhog/frontend/app/users/user-access-sheet.tsx.ejs +28 -26
- package/hedhog/frontend/app/users/user-sheet.tsx.ejs +207 -75
- package/hedhog/frontend/messages/en.json +9 -2
- package/hedhog/frontend/messages/pt.json +9 -2
- package/package.json +9 -4
- package/src/access-log/access-log.service.ts +19 -1
- package/src/auth/auth.controller.ts +5 -0
- package/src/auth/auth.service.ts +14 -4
- package/src/auth/guards/auth.guard.ts +10 -3
- package/src/file/file.module.ts +3 -2
- package/src/file/file.service.ts +361 -47
- package/src/file/image-optimization.service.ts +123 -0
- package/src/file/provider/local.provider.ts +2 -9
- package/src/index.ts +1 -0
- package/src/mcp/tools/core-users.mcp-tools.ts +267 -267
- package/src/profile/profile.service.ts +40 -22
- package/src/session/session.service.ts +10 -2
- package/src/token/token.service.ts +26 -6
- package/src/user/user.controller.ts +5 -2
- package/src/user/user.service.ts +11 -8
- package/dist/menu/menu.service.spec.d.ts +0 -1
- package/dist/menu/menu.service.spec.d.ts.map +0 -1
- package/dist/menu/menu.service.spec.js +0 -208
- package/dist/menu/menu.service.spec.js.map +0 -1
- package/dist/route/route.service.spec.d.ts +0 -1
- package/dist/route/route.service.spec.d.ts.map +0 -1
- package/dist/route/route.service.spec.js +0 -262
- package/dist/route/route.service.spec.js.map +0 -1
- package/dist/screen/screen.service.spec.d.ts +0 -1
- package/dist/screen/screen.service.spec.d.ts.map +0 -1
- package/dist/screen/screen.service.spec.js +0 -259
- package/dist/screen/screen.service.spec.js.map +0 -1
- package/dist/user/user.service.spec.d.ts +0 -1
- package/dist/user/user.service.spec.d.ts.map +0 -1
- package/dist/user/user.service.spec.js +0 -261
- package/dist/user/user.service.spec.js.map +0 -1
|
@@ -0,0 +1,126 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
var ImageOptimizationService_1;
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.ImageOptimizationService = void 0;
|
|
20
|
+
const common_1 = require("@nestjs/common");
|
|
21
|
+
const path_1 = require("path");
|
|
22
|
+
const sharp_1 = __importDefault(require("sharp"));
|
|
23
|
+
const setting_service_1 = require("../setting/setting.service");
|
|
24
|
+
let ImageOptimizationService = ImageOptimizationService_1 = class ImageOptimizationService {
|
|
25
|
+
constructor(settingService) {
|
|
26
|
+
this.settingService = settingService;
|
|
27
|
+
this.logger = new common_1.Logger(ImageOptimizationService_1.name);
|
|
28
|
+
}
|
|
29
|
+
parseArraySetting(raw) {
|
|
30
|
+
if (!raw)
|
|
31
|
+
return [];
|
|
32
|
+
try {
|
|
33
|
+
const parsed = JSON.parse(raw);
|
|
34
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
35
|
+
}
|
|
36
|
+
catch (_a) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
replaceExtension(filename, newExt) {
|
|
41
|
+
const base = (0, path_1.basename)(filename, (0, path_1.extname)(filename));
|
|
42
|
+
return `${base}.${newExt}`;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Applies image compression and/or WebP conversion to the given buffer
|
|
46
|
+
* based on the current settings. Returns the original data unchanged if
|
|
47
|
+
* the settings are disabled or the MIME type is not in the configured lists.
|
|
48
|
+
*/
|
|
49
|
+
async optimizeBuffer(buffer, mimetype, originalname) {
|
|
50
|
+
if (!mimetype.startsWith('image/')) {
|
|
51
|
+
return { buffer, mimetype, originalname };
|
|
52
|
+
}
|
|
53
|
+
const settings = await this.settingService.getSettingValues([
|
|
54
|
+
'image-compression-enabled',
|
|
55
|
+
'image-compression-quality',
|
|
56
|
+
'image-compression-types',
|
|
57
|
+
'image-webp-conversion-enabled',
|
|
58
|
+
'image-webp-convert-types',
|
|
59
|
+
]);
|
|
60
|
+
const compressionEnabled = settings['image-compression-enabled'] === 'true';
|
|
61
|
+
const webpEnabled = settings['image-webp-conversion-enabled'] === 'true';
|
|
62
|
+
if (!compressionEnabled && !webpEnabled) {
|
|
63
|
+
return { buffer, mimetype, originalname };
|
|
64
|
+
}
|
|
65
|
+
const quality = Math.min(100, Math.max(1, Number(settings['image-compression-quality']) || 80));
|
|
66
|
+
const compressionTypes = this.parseArraySetting(settings['image-compression-types']);
|
|
67
|
+
const webpConvertTypes = this.parseArraySetting(settings['image-webp-convert-types']);
|
|
68
|
+
// WebP conversion has priority over plain compression
|
|
69
|
+
if (webpEnabled && webpConvertTypes.includes(mimetype)) {
|
|
70
|
+
try {
|
|
71
|
+
const optimized = await (0, sharp_1.default)(buffer).webp({ quality }).toBuffer();
|
|
72
|
+
return {
|
|
73
|
+
buffer: optimized,
|
|
74
|
+
mimetype: 'image/webp',
|
|
75
|
+
originalname: this.replaceExtension(originalname, 'webp'),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
this.logger.warn(`WebP conversion failed for "${originalname}" (${mimetype}): ${err instanceof Error ? err.message : String(err)}. Falling back to original.`);
|
|
80
|
+
return { buffer, mimetype, originalname };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (compressionEnabled && compressionTypes.includes(mimetype)) {
|
|
84
|
+
try {
|
|
85
|
+
let instance = (0, sharp_1.default)(buffer);
|
|
86
|
+
if (mimetype === 'image/jpeg') {
|
|
87
|
+
instance = instance.jpeg({ quality });
|
|
88
|
+
}
|
|
89
|
+
else if (mimetype === 'image/png') {
|
|
90
|
+
// sharp compressionLevel is 0-9 (9 = max); invert from quality scale
|
|
91
|
+
const compressionLevel = Math.round(((100 - quality) / 100) * 9);
|
|
92
|
+
instance = instance.png({ compressionLevel });
|
|
93
|
+
}
|
|
94
|
+
else if (mimetype === 'image/webp') {
|
|
95
|
+
instance = instance.webp({ quality });
|
|
96
|
+
}
|
|
97
|
+
else if (mimetype === 'image/bmp' || mimetype === 'image/tiff') {
|
|
98
|
+
// Convert to PNG as a compressed lossless alternative
|
|
99
|
+
instance = instance.png({ compressionLevel: Math.round(((100 - quality) / 100) * 9) });
|
|
100
|
+
return {
|
|
101
|
+
buffer: await instance.toBuffer(),
|
|
102
|
+
mimetype: 'image/png',
|
|
103
|
+
originalname: this.replaceExtension(originalname, 'png'),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return { buffer, mimetype, originalname };
|
|
108
|
+
}
|
|
109
|
+
const optimized = await instance.toBuffer();
|
|
110
|
+
return { buffer: optimized, mimetype, originalname };
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
this.logger.warn(`Image compression failed for "${originalname}" (${mimetype}): ${err instanceof Error ? err.message : String(err)}. Falling back to original.`);
|
|
114
|
+
return { buffer, mimetype, originalname };
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return { buffer, mimetype, originalname };
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
exports.ImageOptimizationService = ImageOptimizationService;
|
|
121
|
+
exports.ImageOptimizationService = ImageOptimizationService = ImageOptimizationService_1 = __decorate([
|
|
122
|
+
(0, common_1.Injectable)(),
|
|
123
|
+
__param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => setting_service_1.SettingService))),
|
|
124
|
+
__metadata("design:paramtypes", [setting_service_1.SettingService])
|
|
125
|
+
], ImageOptimizationService);
|
|
126
|
+
//# sourceMappingURL=image-optimization.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-optimization.service.js","sourceRoot":"","sources":["../../src/file/image-optimization.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare class LocalProvider extends AbstractProvider {
|
|
|
6
6
|
private jwt;
|
|
7
7
|
constructor(setting: Record<string, string>, jwt: JwtService);
|
|
8
8
|
initValidation(): Promise<void>;
|
|
9
|
-
createFolderRecursive(
|
|
9
|
+
createFolderRecursive(folderPath: string): Promise<void>;
|
|
10
10
|
private resolveFilepath;
|
|
11
11
|
uploadFromString(destination: string, filename: string, fileContent: string, mimetype?: string): Promise<any>;
|
|
12
12
|
upload(destination: string, file: MulterFile): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.provider.d.ts","sourceRoot":"","sources":["../../../src/file/provider/local.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,gBAAgB;IAE/C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,GAAG;gBADH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,EAAE,UAAU;IAKnB,cAAc;IAYd,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"local.provider.d.ts","sourceRoot":"","sources":["../../../src/file/provider/local.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,gBAAgB;IAE/C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,GAAG;gBADH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,EAAE,UAAU;IAKnB,cAAc;IAYd,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,OAAO,CAAC,eAAe;IAKjB,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC;IA2BT,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAuB3D,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,GAAG,CAAC;IAsBT,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAUtC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAYxC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,GAAG,CAAC;CAkB9D"}
|
|
@@ -54,15 +54,8 @@ class LocalProvider extends abstract_provider_1.AbstractProvider {
|
|
|
54
54
|
await this.createFolderRecursive(this.setting['storage-local-path']);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
async createFolderRecursive(
|
|
58
|
-
|
|
59
|
-
let currentPath = '';
|
|
60
|
-
for (const folder of folders) {
|
|
61
|
-
currentPath = (0, path_1.join)(currentPath, folder);
|
|
62
|
-
if (!(0, fs_1.existsSync)(currentPath)) {
|
|
63
|
-
await (0, promises_1.mkdir)(currentPath, { recursive: true });
|
|
64
|
-
}
|
|
65
|
-
}
|
|
57
|
+
async createFolderRecursive(folderPath) {
|
|
58
|
+
await (0, promises_1.mkdir)(folderPath, { recursive: true });
|
|
66
59
|
}
|
|
67
60
|
resolveFilepath(filepath) {
|
|
68
61
|
if (path.isAbsolute(filepath))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.provider.js","sourceRoot":"","sources":["../../../src/file/provider/local.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAqD;AAErD,2BAAkE;AAClE,0CAAuE;AACvE,2CAA6B;AAC7B,+BAA2C;AAE3C,2DAAuD;AAEvD,MAAa,aAAc,SAAQ,oCAAgB;IACjD,YACU,OAA+B,EAC/B,GAAe;QAEvB,KAAK,EAAE,CAAC;QAHA,YAAO,GAAP,OAAO,CAAwB;QAC/B,QAAG,GAAH,GAAG,CAAY;IAGzB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,4BAAmB,CAC3B,qDAAqD,CACtD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"local.provider.js","sourceRoot":"","sources":["../../../src/file/provider/local.provider.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export * from './ai/ai.module';
|
|
|
22
22
|
export * from './ai/ai.service';
|
|
23
23
|
export * from './webhook-integration/event-webhook.service';
|
|
24
24
|
export * from './webhook-integration/integration-event-catalog.service';
|
|
25
|
+
export * from './webhook-integration/webhook-command.registry';
|
|
25
26
|
export * from './webhook-integration/webhook-integration.module';
|
|
26
27
|
export * from './webhook-integration/webhook-integration.service';
|
|
27
28
|
export * from './integration/integration.module';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AAEpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,kDAAkD,CAAC;AACjE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAEhE,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,mDAAmD,CAAC;AAGlE,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,0DAA0D,CAAC;AACzE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC;AAGpC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yDAAyD,CAAC;AAGxE,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,wBAAwB,CAAC;AAIvC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AAEpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,kDAAkD,CAAC;AACjE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAEhE,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yDAAyD,CAAC;AACxE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,mDAAmD,CAAC;AAGlE,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,0DAA0D,CAAC;AACzE,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC;AAGpC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,yDAAyD,CAAC;AAGxE,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,wBAAwB,CAAC;AAIvC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -44,6 +44,7 @@ __exportStar(require("./ai/ai.module"), exports);
|
|
|
44
44
|
__exportStar(require("./ai/ai.service"), exports);
|
|
45
45
|
__exportStar(require("./webhook-integration/event-webhook.service"), exports);
|
|
46
46
|
__exportStar(require("./webhook-integration/integration-event-catalog.service"), exports);
|
|
47
|
+
__exportStar(require("./webhook-integration/webhook-command.registry"), exports);
|
|
47
48
|
__exportStar(require("./webhook-integration/webhook-integration.module"), exports);
|
|
48
49
|
__exportStar(require("./webhook-integration/webhook-integration.service"), exports);
|
|
49
50
|
// Integration Module
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,cAAc;AACd,gDAA8B;AAE9B,cAAc;AACd,sDAAoC;AACpC,2DAAyC;AAEzC,cAAc;AACd,sDAAoC;AAEpC,oBAAoB;AACpB,2DAAyC;AACzC,sDAAoC;AAEpC,gBAAgB;AAChB,0DAAwC;AAExC,cAAc;AACd,kEAAgD;AAChD,sDAAoC;AAEpC,qDAAmC;AACnC,sDAAoC;AAEpC,mFAAiE;AACjE,oFAAkE;AAClE,kFAAgE;AAEhE,qDAAmC;AACnC,sDAAoC;AAEpC,mDAAiC;AACjC,oDAAkC;AAClC,2DAAyC;AACzC,4DAA0C;AAE1C,iDAA+B;AAC/B,kDAAgC;AAEhC,8EAA4D;AAC5D,0FAAwE;AACxE,mFAAiE;AACjE,oFAAkE;AAElE,qBAAqB;AACrB,mEAAiD;AACjD,gFAA8D;AAC9D,mFAAiE;AACjE,uEAAqD;AACrD,2FAAyE;AACzE,kFAAgE;AAChE,sFAAoE;AACpE,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,8EAA4D;AAC5D,wEAAsD;AACtD,sDAAoC;AAEpC,aAAa;AACb,gFAA8D;AAC9D,kFAAgE;AAChE,0FAAwE;AAExE,aAAa;AACb,sEAAoD;AACpD,iFAA+D;AAC/D,6DAA2C;AAC3C,mDAAiC;AACjC,+DAA6C;AAE7C,YAAY;AACZ,yDAAuC;AAGvC,sBAAsB;AACtB,6EAA2D;AAC3D,qEAAmD;AACnD,sEAAoD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,cAAc;AACd,gDAA8B;AAE9B,cAAc;AACd,sDAAoC;AACpC,2DAAyC;AAEzC,cAAc;AACd,sDAAoC;AAEpC,oBAAoB;AACpB,2DAAyC;AACzC,sDAAoC;AAEpC,gBAAgB;AAChB,0DAAwC;AAExC,cAAc;AACd,kEAAgD;AAChD,sDAAoC;AAEpC,qDAAmC;AACnC,sDAAoC;AAEpC,mFAAiE;AACjE,oFAAkE;AAClE,kFAAgE;AAEhE,qDAAmC;AACnC,sDAAoC;AAEpC,mDAAiC;AACjC,oDAAkC;AAClC,2DAAyC;AACzC,4DAA0C;AAE1C,iDAA+B;AAC/B,kDAAgC;AAEhC,8EAA4D;AAC5D,0FAAwE;AACxE,iFAA+D;AAC/D,mFAAiE;AACjE,oFAAkE;AAElE,qBAAqB;AACrB,mEAAiD;AACjD,gFAA8D;AAC9D,mFAAiE;AACjE,uEAAqD;AACrD,2FAAyE;AACzE,kFAAgE;AAChE,sFAAoE;AACpE,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,8EAA4D;AAC5D,wEAAsD;AACtD,sDAAoC;AAEpC,aAAa;AACb,gFAA8D;AAC9D,kFAAgE;AAChE,0FAAwE;AAExE,aAAa;AACb,sEAAoD;AACpD,iFAA+D;AAC/D,6DAA2C;AAC3C,mDAAiC;AACjC,+DAA6C;AAE7C,YAAY;AACZ,yDAAuC;AAGvC,sBAAsB;AACtB,6EAA2D;AAC3D,qEAAmD;AACnD,sEAAoD"}
|
|
@@ -32,7 +32,7 @@ export declare class CoreUsersMcpTools {
|
|
|
32
32
|
}, context: McpContext): Promise<any>;
|
|
33
33
|
getUserRoles(args: {
|
|
34
34
|
userId: number;
|
|
35
|
-
},
|
|
35
|
+
}, context: McpContext): Promise<any>;
|
|
36
36
|
getUserMenus(args: {
|
|
37
37
|
userId: number;
|
|
38
38
|
}, context: McpContext): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-users.mcp-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/core-users.mcp-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,qBACa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAQ/C,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBpE,SAAS,CACb,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EACD,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,GAAG,CAAC;IAuBT,OAAO,CACX,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAiBT,UAAU,CACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACvD,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,UAAU,CACd,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACvC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,aAAa,CACjB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC3C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAmBT,WAAW,CACf,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,YAAY,CAChB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACxB,
|
|
1
|
+
{"version":3,"file":"core-users.mcp-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/core-users.mcp-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,qBACa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAQ/C,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBpE,SAAS,CACb,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EACD,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,GAAG,CAAC;IAuBT,OAAO,CACX,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAiBT,UAAU,CACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACvD,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,UAAU,CACd,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACvC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,aAAa,CACjB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC3C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAmBT,WAAW,CACf,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,YAAY,CAChB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,YAAY,CAChB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,aAAa,CACjB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,UAAU,CACd,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACxC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,UAAU,CACd,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACxC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;IAgBT,gBAAgB,CACpB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAC9C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,GAAG,CAAC;CAGhB"}
|
|
@@ -46,8 +46,8 @@ let CoreUsersMcpTools = class CoreUsersMcpTools {
|
|
|
46
46
|
async deleteUsers(args, context) {
|
|
47
47
|
return this.userService.delete(context.locale, { ids: args.ids });
|
|
48
48
|
}
|
|
49
|
-
async getUserRoles(args,
|
|
50
|
-
return this.userService.getUserRoles(args.userId);
|
|
49
|
+
async getUserRoles(args, context) {
|
|
50
|
+
return this.userService.getUserRoles(context.locale, args.userId);
|
|
51
51
|
}
|
|
52
52
|
async getUserMenus(args, context) {
|
|
53
53
|
return this.userService.getUserMenus(context.locale, args.userId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-users.mcp-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/core-users.mcp-tools.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0DAAsD;AACtD,yEAA2D;AAIpD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAQnD,AAAN,KAAK,CAAC,KAAK,CAAC,KAA0B,EAAE,OAAmB;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IAiBK,AAAN,KAAK,CAAC,SAAS,CACb,IAMC,EACD,QAAoB;;QAEpB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,CAAC;YACpB,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE;YAC7B,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE;YACzB,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI;YACjC,SAAS,EAAE,MAAC,IAAI,CAAC,SAAiB,mCAAI,KAAK;YAC3C,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC;IAcK,AAAN,KAAK,CAAC,OAAO,CACX,IAAwB,EACxB,OAAmB;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAeK,AAAN,KAAK,CAAC,UAAU,CACd,IAAuD,EACvD,OAAmB;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,EAAE,IAAW,CAAC,CAAC;IAClF,CAAC;IAcK,AAAN,KAAK,CAAC,UAAU,CACd,IAAuC,EACvC,OAAmB;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAS,CAAC,CAAC;IAC1F,CAAC;IAcK,AAAN,KAAK,CAAC,aAAa,CACjB,IAA2C,EAC3C,OAAmB;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAS,CAAC,CAAC;IACzG,CAAC;IAiBK,AAAN,KAAK,CAAC,WAAW,CACf,IAAuB,EACvB,OAAmB;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IAcK,AAAN,KAAK,CAAC,YAAY,CAChB,IAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"core-users.mcp-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/core-users.mcp-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.service.d.ts","sourceRoot":"","sources":["../../src/profile/profile.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAazC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAEpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAXJ,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,EAEjB,GAAG,EAAE,UAAU,EAEf,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,gBAAgB,EAE3B,KAAK,EAAE,YAAY,EAEnB,IAAI,EAAE,WAAW;IAG9B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc;;;
|
|
1
|
+
{"version":3,"file":"profile.service.d.ts","sourceRoot":"","sources":["../../src/profile/profile.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,7 +73,7 @@ let ProfileService = class ProfileService {
|
|
|
73
73
|
async changeEmail(locale, userId, { email, password, pin }) {
|
|
74
74
|
var _a;
|
|
75
75
|
const checkAlreadyExists = await this.prisma.user_identifier.findFirst({
|
|
76
|
-
where: { type: 'email', value: email, enabled: true },
|
|
76
|
+
where: { type: 'email', value: email, enabled: true, verified_at: { not: null } },
|
|
77
77
|
});
|
|
78
78
|
if (checkAlreadyExists) {
|
|
79
79
|
throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('emailAlreadyInUse', locale, 'The provided email is already in use.'));
|
|
@@ -110,21 +110,25 @@ let ProfileService = class ProfileService {
|
|
|
110
110
|
throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('accessDenied', locale, 'Access denied.'));
|
|
111
111
|
}
|
|
112
112
|
await this.prisma.$transaction(async (tx) => {
|
|
113
|
-
const
|
|
114
|
-
where: { user_id: userId, type: 'email', enabled: true },
|
|
113
|
+
const currentVerifiedEmail = await tx.user_identifier.findFirst({
|
|
114
|
+
where: { user_id: userId, type: 'email', verified_at: { not: null }, enabled: true },
|
|
115
115
|
});
|
|
116
|
-
if (!
|
|
116
|
+
if (!currentVerifiedEmail) {
|
|
117
117
|
throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('emailIdentifierNotFound', locale, 'Email identifier not found.'));
|
|
118
118
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
119
|
+
// FIXED: Create new identifier for the new email instead of overwriting the current one
|
|
120
|
+
// This prevents the verified email from becoming orphaned
|
|
121
|
+
const newEmailIdentifier = await tx.user_identifier.create({
|
|
122
|
+
data: {
|
|
123
|
+
type: 'email',
|
|
124
|
+
value: email,
|
|
125
|
+
user_id: userId,
|
|
126
|
+
verified_at: null,
|
|
127
|
+
enabled: true,
|
|
126
128
|
}
|
|
127
129
|
});
|
|
130
|
+
// Create verification challenge for the new email
|
|
131
|
+
await this.challenge.verifyEmail(locale, userId, email);
|
|
128
132
|
});
|
|
129
133
|
return {
|
|
130
134
|
requireEmailVerification: settings['require-email-verification'] === true
|
|
@@ -223,15 +227,19 @@ let ProfileService = class ProfileService {
|
|
|
223
227
|
let userIdentifierId = challenge.user_identifier_id;
|
|
224
228
|
if (!userIdentifierId) {
|
|
225
229
|
const userIdentifier = await tx.user_identifier.findFirst({
|
|
226
|
-
where: { user_id: userId, type: 'email' },
|
|
230
|
+
where: { user_id: userId, type: 'email', verified_at: null },
|
|
227
231
|
select: { id: true }
|
|
228
232
|
});
|
|
233
|
+
if (!userIdentifier) {
|
|
234
|
+
throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('identifierNotFound', locale, 'Email identifier not found.'));
|
|
235
|
+
}
|
|
229
236
|
userIdentifierId = userIdentifier.id;
|
|
230
237
|
await tx.user_identifier_challenge.update({
|
|
231
238
|
where: { id: challengeId },
|
|
232
239
|
data: { user_identifier_id: userIdentifierId },
|
|
233
240
|
});
|
|
234
241
|
}
|
|
242
|
+
// Mark challenge and identifier as verified
|
|
235
243
|
await tx.user_identifier_challenge.update({
|
|
236
244
|
where: { id: challengeId },
|
|
237
245
|
data: { verified_at: verifiedAt },
|
|
@@ -243,6 +251,8 @@ let ProfileService = class ProfileService {
|
|
|
243
251
|
enabled: true
|
|
244
252
|
}
|
|
245
253
|
});
|
|
254
|
+
// Delete ALL other email identifiers (both verified and unverified) to maintain single email principle
|
|
255
|
+
// This ensures user has only one verified primary email
|
|
246
256
|
await tx.user_identifier.deleteMany({
|
|
247
257
|
where: {
|
|
248
258
|
user_id: userId,
|
|
@@ -1001,7 +1011,7 @@ let ProfileService = class ProfileService {
|
|
|
1001
1011
|
}
|
|
1002
1012
|
}
|
|
1003
1013
|
async generateWebAuthnRegistrationOptions(locale, userId, name) {
|
|
1004
|
-
var _a;
|
|
1014
|
+
var _a, _b, _c;
|
|
1005
1015
|
try {
|
|
1006
1016
|
const user = await this.prisma.user.findFirst({
|
|
1007
1017
|
where: { id: userId },
|
|
@@ -1029,8 +1039,9 @@ let ProfileService = class ProfileService {
|
|
|
1029
1039
|
'access-token-expiration-minutes'
|
|
1030
1040
|
]);
|
|
1031
1041
|
const rpName = settings['system-name'] || 'HedHog';
|
|
1032
|
-
const
|
|
1033
|
-
const
|
|
1042
|
+
const primaryOrigin = (_b = ((_a = process.env.CORS_ALLOWED_ORIGINS) !== null && _a !== void 0 ? _a : '').split(/[\n,;]+/).map(u => u.trim()).filter(Boolean)[0]) !== null && _b !== void 0 ? _b : 'http://localhost:3200';
|
|
1043
|
+
const rpID = new URL(primaryOrigin).hostname;
|
|
1044
|
+
const userEmail = ((_c = user.user_identifier.find(ui => ui.type === 'email')) === null || _c === void 0 ? void 0 : _c.value) || `user${userId}@example.com`;
|
|
1034
1045
|
const existingAuthenticators = user.user_mfa
|
|
1035
1046
|
.filter(mfa => mfa.user_mfa_webauthn && mfa.user_mfa_webauthn.length > 0)
|
|
1036
1047
|
.map(mfa => ({
|
|
@@ -1073,6 +1084,7 @@ let ProfileService = class ProfileService {
|
|
|
1073
1084
|
}
|
|
1074
1085
|
}
|
|
1075
1086
|
async verifyWebAuthnRegistration(locale, userId, name, attestationResponse) {
|
|
1087
|
+
var _a, _b;
|
|
1076
1088
|
try {
|
|
1077
1089
|
const challengeRecord = await this.prisma.user_mfa_challenge.findFirst({
|
|
1078
1090
|
where: {
|
|
@@ -1089,8 +1101,9 @@ let ProfileService = class ProfileService {
|
|
|
1089
1101
|
if (!challengeRecord) {
|
|
1090
1102
|
throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('challengeNotFound', locale, 'Challenge not found or expired.'));
|
|
1091
1103
|
}
|
|
1092
|
-
const
|
|
1093
|
-
const
|
|
1104
|
+
const primaryOrigin = (_b = ((_a = process.env.CORS_ALLOWED_ORIGINS) !== null && _a !== void 0 ? _a : '').split(/[\n,;]+/).map(u => u.trim()).filter(Boolean)[0]) !== null && _b !== void 0 ? _b : 'http://localhost:3200';
|
|
1105
|
+
const rpID = new URL(primaryOrigin).hostname;
|
|
1106
|
+
const expectedOrigin = primaryOrigin;
|
|
1094
1107
|
const verification = await (0, server_1.verifyRegistrationResponse)({
|
|
1095
1108
|
response: attestationResponse,
|
|
1096
1109
|
expectedChallenge: challengeRecord.hash,
|
|
@@ -1127,6 +1140,7 @@ let ProfileService = class ProfileService {
|
|
|
1127
1140
|
}
|
|
1128
1141
|
}
|
|
1129
1142
|
async generateWebAuthnAuthenticationOptions(locale, userId) {
|
|
1143
|
+
var _a, _b;
|
|
1130
1144
|
try {
|
|
1131
1145
|
const user = await this.prisma.user.findFirst({
|
|
1132
1146
|
where: { id: userId },
|
|
@@ -1140,7 +1154,8 @@ let ProfileService = class ProfileService {
|
|
|
1140
1154
|
if (!user || user.user_mfa.length === 0) {
|
|
1141
1155
|
throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('webauthnNotConfigured', locale, 'WebAuthn not configured.'));
|
|
1142
1156
|
}
|
|
1143
|
-
const
|
|
1157
|
+
const primaryOrigin = (_b = ((_a = process.env.CORS_ALLOWED_ORIGINS) !== null && _a !== void 0 ? _a : '').split(/[\n,;]+/).map(u => u.trim()).filter(Boolean)[0]) !== null && _b !== void 0 ? _b : 'http://localhost:3200';
|
|
1158
|
+
const rpID = new URL(primaryOrigin).hostname;
|
|
1144
1159
|
const allowCredentials = user.user_mfa
|
|
1145
1160
|
.filter(mfa => mfa.user_mfa_webauthn && mfa.user_mfa_webauthn.length > 0)
|
|
1146
1161
|
.map(mfa => ({
|
|
@@ -1166,6 +1181,7 @@ let ProfileService = class ProfileService {
|
|
|
1166
1181
|
}
|
|
1167
1182
|
}
|
|
1168
1183
|
async verifyWebAuthnAuthentication(userId, assertionResponse) {
|
|
1184
|
+
var _a, _b;
|
|
1169
1185
|
try {
|
|
1170
1186
|
const challengeRecord = await this.prisma.user_mfa_challenge.findFirst({
|
|
1171
1187
|
where: {
|
|
@@ -1188,8 +1204,9 @@ let ProfileService = class ProfileService {
|
|
|
1188
1204
|
throw new common_1.BadRequestException('Challenge not found or expired.');
|
|
1189
1205
|
}
|
|
1190
1206
|
const authenticator = challengeRecord.user_mfa.user_mfa_webauthn[0];
|
|
1191
|
-
const
|
|
1192
|
-
const
|
|
1207
|
+
const primaryOrigin = (_b = ((_a = process.env.CORS_ALLOWED_ORIGINS) !== null && _a !== void 0 ? _a : '').split(/[\n,;]+/).map(u => u.trim()).filter(Boolean)[0]) !== null && _b !== void 0 ? _b : 'http://localhost:3200';
|
|
1208
|
+
const rpID = new URL(primaryOrigin).hostname;
|
|
1209
|
+
const expectedOrigin = primaryOrigin;
|
|
1193
1210
|
const verification = await (0, server_1.verifyAuthenticationResponse)({
|
|
1194
1211
|
response: assertionResponse,
|
|
1195
1212
|
expectedChallenge: challengeRecord.hash,
|
|
@@ -1243,6 +1260,7 @@ let ProfileService = class ProfileService {
|
|
|
1243
1260
|
}
|
|
1244
1261
|
}
|
|
1245
1262
|
async generateWebAuthnAuthenticationOptionsForLogin(locale, mfaToken) {
|
|
1263
|
+
var _a, _b;
|
|
1246
1264
|
try {
|
|
1247
1265
|
const decoded = this.jwt.decode(mfaToken);
|
|
1248
1266
|
if (!decoded || !decoded.userId) {
|
|
@@ -1260,7 +1278,8 @@ let ProfileService = class ProfileService {
|
|
|
1260
1278
|
if (!user || user.user_mfa.length === 0) {
|
|
1261
1279
|
throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('webauthnNotConfigured', locale, 'WebAuthn not configured.'));
|
|
1262
1280
|
}
|
|
1263
|
-
const
|
|
1281
|
+
const primaryOrigin = (_b = ((_a = process.env.CORS_ALLOWED_ORIGINS) !== null && _a !== void 0 ? _a : '').split(/[\n,;]+/).map(u => u.trim()).filter(Boolean)[0]) !== null && _b !== void 0 ? _b : 'http://localhost:3200';
|
|
1282
|
+
const rpID = new URL(primaryOrigin).hostname;
|
|
1264
1283
|
const allowCredentials = user.user_mfa
|
|
1265
1284
|
.filter(mfa => mfa.user_mfa_webauthn && mfa.user_mfa_webauthn.length > 0)
|
|
1266
1285
|
.map(mfa => ({
|
|
@@ -1286,6 +1305,7 @@ let ProfileService = class ProfileService {
|
|
|
1286
1305
|
}
|
|
1287
1306
|
}
|
|
1288
1307
|
async verifyWebAuthnAuthenticationForLogin(locale, mfaToken, assertionResponse) {
|
|
1308
|
+
var _a, _b;
|
|
1289
1309
|
try {
|
|
1290
1310
|
const decoded = this.jwt.decode(mfaToken);
|
|
1291
1311
|
if (!decoded || !decoded.userId) {
|
|
@@ -1313,8 +1333,9 @@ let ProfileService = class ProfileService {
|
|
|
1313
1333
|
throw new common_1.BadRequestException('Challenge not found or expired.');
|
|
1314
1334
|
}
|
|
1315
1335
|
const authenticator = challengeRecord.user_mfa.user_mfa_webauthn[0];
|
|
1316
|
-
const
|
|
1317
|
-
const
|
|
1336
|
+
const primaryOrigin = (_b = ((_a = process.env.CORS_ALLOWED_ORIGINS) !== null && _a !== void 0 ? _a : '').split(/[\n,;]+/).map(u => u.trim()).filter(Boolean)[0]) !== null && _b !== void 0 ? _b : 'http://localhost:3200';
|
|
1337
|
+
const rpID = new URL(primaryOrigin).hostname;
|
|
1338
|
+
const expectedOrigin = primaryOrigin;
|
|
1318
1339
|
const verification = await (0, server_1.verifyAuthenticationResponse)({
|
|
1319
1340
|
response: assertionResponse,
|
|
1320
1341
|
expectedChallenge: challengeRecord.hash,
|