@lenne.tech/nest-server 11.31.2 → 11.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/architecture.md +2 -0
- package/.claude/rules/configurable-features.md +2 -0
- package/.claude/rules/versioning.md +5 -8
- package/CLAUDE.md +31 -4
- package/FRAMEWORK-API.md +7 -2
- package/README.md +1 -0
- package/dist/config.env.d.ts +4 -0
- package/dist/config.env.js +32 -2
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/helpers/logging.helper.d.ts +1 -0
- package/dist/core/common/helpers/logging.helper.js +12 -0
- package/dist/core/common/helpers/logging.helper.js.map +1 -1
- package/dist/core/common/helpers/meta.helper.d.ts +1 -0
- package/dist/core/common/helpers/meta.helper.js +32 -1
- package/dist/core/common/helpers/meta.helper.js.map +1 -1
- package/dist/core/common/helpers/process-diagnostics.helper.d.ts +18 -0
- package/dist/core/common/helpers/process-diagnostics.helper.js +88 -0
- package/dist/core/common/helpers/process-diagnostics.helper.js.map +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +12 -0
- package/dist/core/common/services/brevo.service.d.ts +7 -1
- package/dist/core/common/services/brevo.service.js +37 -16
- package/dist/core/common/services/brevo.service.js.map +1 -1
- package/dist/core/common/services/email.service.d.ts +3 -1
- package/dist/core/common/services/email.service.js +33 -2
- package/dist/core/common/services/email.service.js.map +1 -1
- package/dist/core/common/services/template.service.js +9 -4
- package/dist/core/common/services/template.service.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +9 -4
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -1
- package/dist/core/modules/hub/core-hub-actions.controller.d.ts +22 -0
- package/dist/core/modules/hub/core-hub-actions.controller.js +141 -0
- package/dist/core/modules/hub/core-hub-actions.controller.js.map +1 -0
- package/dist/core/modules/hub/core-hub-html.service.d.ts +8 -0
- package/dist/core/modules/hub/core-hub-html.service.js +123 -0
- package/dist/core/modules/hub/core-hub-html.service.js.map +1 -0
- package/dist/core/modules/hub/core-hub.controller.d.ts +56 -0
- package/dist/core/modules/hub/core-hub.controller.js +398 -0
- package/dist/core/modules/hub/core-hub.controller.js.map +1 -0
- package/dist/core/modules/hub/core-hub.module.d.ts +17 -0
- package/dist/core/modules/hub/core-hub.module.js +109 -0
- package/dist/core/modules/hub/core-hub.module.js.map +1 -0
- package/dist/core/modules/hub/core-hub.service.d.ts +18 -0
- package/dist/core/modules/hub/core-hub.service.js +153 -0
- package/dist/core/modules/hub/core-hub.service.js.map +1 -0
- package/dist/core/modules/hub/helpers/hub-client-js.helper.d.ts +1 -0
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js +755 -0
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js.map +1 -0
- package/dist/core/modules/hub/helpers/hub-command-shape.helper.d.ts +1 -0
- package/dist/core/modules/hub/helpers/hub-command-shape.helper.js +33 -0
- package/dist/core/modules/hub/helpers/hub-command-shape.helper.js.map +1 -0
- package/dist/core/modules/hub/helpers/hub-mask.helper.d.ts +1 -0
- package/dist/core/modules/hub/helpers/hub-mask.helper.js +46 -0
- package/dist/core/modules/hub/helpers/hub-mask.helper.js.map +1 -0
- package/dist/core/modules/hub/helpers/hub-mermaid.helper.d.ts +10 -0
- package/dist/core/modules/hub/helpers/hub-mermaid.helper.js +35 -0
- package/dist/core/modules/hub/helpers/hub-mermaid.helper.js.map +1 -0
- package/dist/core/modules/hub/helpers/hub-shell.helper.d.ts +9 -0
- package/dist/core/modules/hub/helpers/hub-shell.helper.js +62 -0
- package/dist/core/modules/hub/helpers/hub-shell.helper.js.map +1 -0
- package/dist/core/modules/hub/hub-action-messages.d.ts +17 -0
- package/dist/core/modules/hub/hub-action-messages.js +21 -0
- package/dist/core/modules/hub/hub-action-messages.js.map +1 -0
- package/dist/core/modules/hub/hub-config.helper.d.ts +11 -0
- package/dist/core/modules/hub/hub-config.helper.js +164 -0
- package/dist/core/modules/hub/hub-config.helper.js.map +1 -0
- package/dist/core/modules/hub/hub-nav.d.ts +12 -0
- package/dist/core/modules/hub/hub-nav.js +43 -0
- package/dist/core/modules/hub/hub-nav.js.map +1 -0
- package/dist/core/modules/hub/hub-ring-buffer.d.ts +22 -0
- package/dist/core/modules/hub/hub-ring-buffer.js +59 -0
- package/dist/core/modules/hub/hub-ring-buffer.js.map +1 -0
- package/dist/core/modules/hub/hub.constants.d.ts +18 -0
- package/dist/core/modules/hub/hub.constants.js +22 -0
- package/dist/core/modules/hub/hub.constants.js.map +1 -0
- package/dist/core/modules/hub/index.d.ts +25 -0
- package/dist/core/modules/hub/index.js +42 -0
- package/dist/core/modules/hub/index.js.map +1 -0
- package/dist/core/modules/hub/interfaces/hub-config.interface.d.ts +115 -0
- package/dist/core/modules/hub/interfaces/hub-config.interface.js +3 -0
- package/dist/core/modules/hub/interfaces/hub-config.interface.js.map +1 -0
- package/dist/core/modules/hub/interfaces/hub-panels.interface.d.ts +231 -0
- package/dist/core/modules/hub/interfaces/hub-panels.interface.js +3 -0
- package/dist/core/modules/hub/interfaces/hub-panels.interface.js.map +1 -0
- package/dist/core/modules/hub/middleware/hub-trace.middleware.d.ts +8 -0
- package/dist/core/modules/hub/middleware/hub-trace.middleware.js +50 -0
- package/dist/core/modules/hub/middleware/hub-trace.middleware.js.map +1 -0
- package/dist/core/modules/hub/services/core-hub-actions.service.d.ts +48 -0
- package/dist/core/modules/hub/services/core-hub-actions.service.js +136 -0
- package/dist/core/modules/hub/services/core-hub-actions.service.js.map +1 -0
- package/dist/core/modules/hub/services/core-hub-db.service.d.ts +19 -0
- package/dist/core/modules/hub/services/core-hub-db.service.js +180 -0
- package/dist/core/modules/hub/services/core-hub-db.service.js.map +1 -0
- package/dist/core/modules/hub/services/core-hub-email.service.d.ts +24 -0
- package/dist/core/modules/hub/services/core-hub-email.service.js +148 -0
- package/dist/core/modules/hub/services/core-hub-email.service.js.map +1 -0
- package/dist/core/modules/hub/services/core-hub-mailbox.service.d.ts +20 -0
- package/dist/core/modules/hub/services/core-hub-mailbox.service.js +103 -0
- package/dist/core/modules/hub/services/core-hub-mailbox.service.js.map +1 -0
- package/dist/core/modules/hub/services/core-hub-migrations.service.d.ts +25 -0
- package/dist/core/modules/hub/services/core-hub-migrations.service.js +115 -0
- package/dist/core/modules/hub/services/core-hub-migrations.service.js.map +1 -0
- package/dist/core/modules/hub/services/core-hub-sources.service.d.ts +28 -0
- package/dist/core/modules/hub/services/core-hub-sources.service.js +187 -0
- package/dist/core/modules/hub/services/core-hub-sources.service.js.map +1 -0
- package/dist/core/modules/hub/services/hub-log-buffer.service.d.ts +24 -0
- package/dist/core/modules/hub/services/hub-log-buffer.service.js +210 -0
- package/dist/core/modules/hub/services/hub-log-buffer.service.js.map +1 -0
- package/dist/core/modules/hub/services/hub-query-profiler.service.d.ts +38 -0
- package/dist/core/modules/hub/services/hub-query-profiler.service.js +235 -0
- package/dist/core/modules/hub/services/hub-query-profiler.service.js.map +1 -0
- package/dist/core/modules/hub/services/hub-trace-buffer.service.d.ts +18 -0
- package/dist/core/modules/hub/services/hub-trace-buffer.service.js +123 -0
- package/dist/core/modules/hub/services/hub-trace-buffer.service.js.map +1 -0
- package/dist/core.module.js +42 -1
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/main.js +5 -2
- package/dist/main.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/REQUEST-LIFECYCLE.md +2 -0
- package/docs/brevo-manual-test.md +166 -0
- package/docs/security-overrides.md +90 -0
- package/migration-guides/11.31.2-to-11.31.3.md +135 -0
- package/migration-guides/11.31.3-to-11.32.0.md +254 -0
- package/package.json +16 -14
- package/src/config.env.ts +75 -2
- package/src/core/common/helpers/logging.helper.spec.ts +61 -0
- package/src/core/common/helpers/logging.helper.ts +48 -0
- package/src/core/common/helpers/meta.helper.ts +46 -1
- package/src/core/common/helpers/process-diagnostics.helper.spec.ts +310 -0
- package/src/core/common/helpers/process-diagnostics.helper.ts +321 -0
- package/src/core/common/interfaces/server-options.interface.ts +78 -0
- package/src/core/common/services/brevo.service.spec.ts +266 -0
- package/src/core/common/services/brevo.service.ts +100 -17
- package/src/core/common/services/email.service.ts +33 -1
- package/src/core/common/services/template.service.ts +21 -16
- package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +14 -4
- package/src/core/modules/hub/INTEGRATION-CHECKLIST.md +64 -0
- package/src/core/modules/hub/README.md +159 -0
- package/src/core/modules/hub/core-hub-actions.controller.ts +137 -0
- package/src/core/modules/hub/core-hub-html.service.ts +135 -0
- package/src/core/modules/hub/core-hub.controller.ts +286 -0
- package/src/core/modules/hub/core-hub.module.spec.ts +108 -0
- package/src/core/modules/hub/core-hub.module.ts +159 -0
- package/src/core/modules/hub/core-hub.service.ts +169 -0
- package/src/core/modules/hub/helpers/hub-client-js.helper.ts +768 -0
- package/src/core/modules/hub/helpers/hub-command-shape.helper.spec.ts +48 -0
- package/src/core/modules/hub/helpers/hub-command-shape.helper.ts +47 -0
- package/src/core/modules/hub/helpers/hub-mask.helper.spec.ts +67 -0
- package/src/core/modules/hub/helpers/hub-mask.helper.ts +78 -0
- package/src/core/modules/hub/helpers/hub-mermaid.helper.spec.ts +54 -0
- package/src/core/modules/hub/helpers/hub-mermaid.helper.ts +62 -0
- package/src/core/modules/hub/helpers/hub-shell.helper.spec.ts +106 -0
- package/src/core/modules/hub/helpers/hub-shell.helper.ts +90 -0
- package/src/core/modules/hub/hub-action-messages.ts +47 -0
- package/src/core/modules/hub/hub-config.helper.spec.ts +108 -0
- package/src/core/modules/hub/hub-config.helper.ts +233 -0
- package/src/core/modules/hub/hub-nav.ts +66 -0
- package/src/core/modules/hub/hub-ring-buffer.spec.ts +95 -0
- package/src/core/modules/hub/hub-ring-buffer.ts +101 -0
- package/src/core/modules/hub/hub.constants.ts +84 -0
- package/src/core/modules/hub/index.ts +25 -0
- package/src/core/modules/hub/interfaces/hub-config.interface.ts +265 -0
- package/src/core/modules/hub/interfaces/hub-panels.interface.ts +186 -0
- package/src/core/modules/hub/middleware/hub-trace.middleware.ts +45 -0
- package/src/core/modules/hub/services/core-hub-actions.service.ts +133 -0
- package/src/core/modules/hub/services/core-hub-db.service.ts +185 -0
- package/src/core/modules/hub/services/core-hub-email.service.ts +158 -0
- package/src/core/modules/hub/services/core-hub-mailbox.service.spec.ts +116 -0
- package/src/core/modules/hub/services/core-hub-mailbox.service.ts +121 -0
- package/src/core/modules/hub/services/core-hub-migrations.service.ts +112 -0
- package/src/core/modules/hub/services/core-hub-sources.service.ts +194 -0
- package/src/core/modules/hub/services/hub-log-buffer.service.ts +252 -0
- package/src/core/modules/hub/services/hub-query-profiler.service.ts +274 -0
- package/src/core/modules/hub/services/hub-trace-buffer.service.spec.ts +112 -0
- package/src/core/modules/hub/services/hub-trace-buffer.service.ts +134 -0
- package/src/core.module.ts +61 -1
- package/src/index.ts +7 -0
- package/src/main.ts +22 -3
|
@@ -8,23 +8,23 @@ 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 BrevoService_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.BrevoService = void 0;
|
|
13
|
-
const brevo_1 = require("@getbrevo/brevo");
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
+
const node_crypto_1 = require("node:crypto");
|
|
15
16
|
const config_service_1 = require("./config.service");
|
|
16
|
-
let BrevoService = class BrevoService {
|
|
17
|
+
let BrevoService = BrevoService_1 = class BrevoService {
|
|
17
18
|
configService;
|
|
18
19
|
brevoConfig;
|
|
19
|
-
|
|
20
|
+
logger = new common_1.Logger(BrevoService_1.name);
|
|
21
|
+
client;
|
|
20
22
|
constructor(configService) {
|
|
21
23
|
this.configService = configService;
|
|
22
24
|
this.brevoConfig = configService.configFastButReadOnly.brevo;
|
|
23
25
|
if (!this.brevoConfig) {
|
|
24
26
|
throw new Error('Brevo configuration not set!');
|
|
25
27
|
}
|
|
26
|
-
this.apiInstance = new brevo_1.TransactionalEmailsApi();
|
|
27
|
-
this.apiInstance.setApiKey(brevo_1.TransactionalEmailsApiApiKeys.apiKey, this.brevoConfig.apiKey);
|
|
28
28
|
}
|
|
29
29
|
async sendMail(to, templateId, params) {
|
|
30
30
|
try {
|
|
@@ -34,18 +34,18 @@ let BrevoService = class BrevoService {
|
|
|
34
34
|
if (this.configService.config?.brevo?.exclude?.test?.(to)) {
|
|
35
35
|
return 'TEST_USER!';
|
|
36
36
|
}
|
|
37
|
-
const
|
|
38
|
-
|
|
37
|
+
const request = {
|
|
38
|
+
headers: this.buildIdempotencyHeaders(),
|
|
39
|
+
params: params,
|
|
39
40
|
templateId,
|
|
40
41
|
to: [{ email: to }],
|
|
41
42
|
};
|
|
42
|
-
const
|
|
43
|
-
return
|
|
43
|
+
const client = await this.getClient();
|
|
44
|
+
return await client.transactionalEmails.sendTransacEmail(request);
|
|
44
45
|
}
|
|
45
46
|
catch (error) {
|
|
46
|
-
|
|
47
|
+
return this.handleSendError(error, to);
|
|
47
48
|
}
|
|
48
|
-
return null;
|
|
49
49
|
}
|
|
50
50
|
async sendHtmlMail(to, subject, html, options) {
|
|
51
51
|
try {
|
|
@@ -55,24 +55,45 @@ let BrevoService = class BrevoService {
|
|
|
55
55
|
if (this.configService.config?.brevo?.exclude?.test?.(to)) {
|
|
56
56
|
return 'TEST_USER!';
|
|
57
57
|
}
|
|
58
|
-
const
|
|
58
|
+
const request = {
|
|
59
|
+
headers: this.buildIdempotencyHeaders(),
|
|
59
60
|
htmlContent: html,
|
|
60
61
|
params: options?.params,
|
|
61
62
|
sender: this.brevoConfig.sender,
|
|
62
63
|
subject,
|
|
63
64
|
to: [{ email: to }],
|
|
64
65
|
};
|
|
65
|
-
const
|
|
66
|
-
return
|
|
66
|
+
const client = await this.getClient();
|
|
67
|
+
return await client.transactionalEmails.sendTransacEmail(request);
|
|
67
68
|
}
|
|
68
69
|
catch (error) {
|
|
69
|
-
|
|
70
|
+
return this.handleSendError(error, to);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
buildIdempotencyHeaders() {
|
|
74
|
+
return { 'Idempotency-Key': (0, node_crypto_1.randomUUID)() };
|
|
75
|
+
}
|
|
76
|
+
async getClient() {
|
|
77
|
+
if (!this.client) {
|
|
78
|
+
const { BrevoClient: BrevoClientCtor } = await Promise.resolve().then(() => require('@getbrevo/brevo'));
|
|
79
|
+
this.client = new BrevoClientCtor({
|
|
80
|
+
apiKey: this.brevoConfig.apiKey,
|
|
81
|
+
maxRetries: this.brevoConfig.maxRetries ?? 0,
|
|
82
|
+
timeoutInSeconds: this.brevoConfig.timeoutInSeconds ?? 10,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return this.client;
|
|
86
|
+
}
|
|
87
|
+
handleSendError(error, to) {
|
|
88
|
+
this.logger.error(`Brevo sendTransacEmail failed for ${to}: ${error instanceof Error ? error.message : String(error)}`);
|
|
89
|
+
if (this.brevoConfig.throwOnError) {
|
|
90
|
+
throw error;
|
|
70
91
|
}
|
|
71
92
|
return null;
|
|
72
93
|
}
|
|
73
94
|
};
|
|
74
95
|
exports.BrevoService = BrevoService;
|
|
75
|
-
exports.BrevoService = BrevoService = __decorate([
|
|
96
|
+
exports.BrevoService = BrevoService = BrevoService_1 = __decorate([
|
|
76
97
|
(0, common_1.Injectable)(),
|
|
77
98
|
__metadata("design:paramtypes", [config_service_1.ConfigService])
|
|
78
99
|
], BrevoService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brevo.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/brevo.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"brevo.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/brevo.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,14 @@ import { Attachment } from 'nodemailer/lib/mailer';
|
|
|
3
3
|
import { MailTransportOptions } from '../interfaces/server-options.interface';
|
|
4
4
|
import { ConfigService } from './config.service';
|
|
5
5
|
import { TemplateService } from './template.service';
|
|
6
|
+
import type { IHubEmailCapture } from '../../modules/hub/interfaces/hub-config.interface';
|
|
6
7
|
export declare class EmailService implements OnModuleDestroy {
|
|
7
8
|
protected configService: ConfigService;
|
|
8
9
|
protected templateService: TemplateService;
|
|
10
|
+
protected readonly emailCapture?: IHubEmailCapture;
|
|
9
11
|
private cachedTransporter;
|
|
10
12
|
private cachedSmtpConfig;
|
|
11
|
-
constructor(configService: ConfigService, templateService: TemplateService);
|
|
13
|
+
constructor(configService: ConfigService, templateService: TemplateService, emailCapture?: IHubEmailCapture);
|
|
12
14
|
onModuleDestroy(): void;
|
|
13
15
|
sendMail(recipients: string | string[], subject: string, config: {
|
|
14
16
|
attachments?: Attachment[];
|
|
@@ -8,22 +8,28 @@ 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.EmailService = void 0;
|
|
13
16
|
const crypto_1 = require("crypto");
|
|
14
17
|
const common_1 = require("@nestjs/common");
|
|
15
18
|
const nodemailer = require("nodemailer");
|
|
16
19
|
const input_helper_1 = require("../helpers/input.helper");
|
|
20
|
+
const hub_constants_1 = require("../../modules/hub/hub.constants");
|
|
17
21
|
const config_service_1 = require("./config.service");
|
|
18
22
|
const template_service_1 = require("./template.service");
|
|
19
23
|
let EmailService = class EmailService {
|
|
20
24
|
configService;
|
|
21
25
|
templateService;
|
|
26
|
+
emailCapture;
|
|
22
27
|
cachedTransporter = null;
|
|
23
28
|
cachedSmtpConfig = null;
|
|
24
|
-
constructor(configService, templateService) {
|
|
29
|
+
constructor(configService, templateService, emailCapture) {
|
|
25
30
|
this.configService = configService;
|
|
26
31
|
this.templateService = templateService;
|
|
32
|
+
this.emailCapture = emailCapture;
|
|
27
33
|
}
|
|
28
34
|
onModuleDestroy() {
|
|
29
35
|
if (this.cachedTransporter) {
|
|
@@ -64,6 +70,29 @@ let EmailService = class EmailService {
|
|
|
64
70
|
'It silently discards all outgoing email. Check email.smtp in your config.');
|
|
65
71
|
}
|
|
66
72
|
}
|
|
73
|
+
if (this.emailCapture) {
|
|
74
|
+
let skipTransport = false;
|
|
75
|
+
try {
|
|
76
|
+
skipTransport = this.emailCapture.capture({
|
|
77
|
+
from: `"${senderName}" <${senderEmail}>`,
|
|
78
|
+
html,
|
|
79
|
+
subject,
|
|
80
|
+
templateName: htmlTemplate ?? textTemplate,
|
|
81
|
+
text,
|
|
82
|
+
to: Array.isArray(recipients) ? recipients.join(', ') : recipients,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
}
|
|
87
|
+
if (skipTransport) {
|
|
88
|
+
return {
|
|
89
|
+
accepted: Array.isArray(recipients) ? recipients : [recipients],
|
|
90
|
+
captured: true,
|
|
91
|
+
messageId: 'hub-mailbox',
|
|
92
|
+
rejected: [],
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
67
96
|
const smtpKey = (0, crypto_1.createHash)('sha256').update(JSON.stringify(smtp)).digest('hex');
|
|
68
97
|
if (!this.cachedTransporter || this.cachedSmtpConfig !== smtpKey) {
|
|
69
98
|
this.cachedTransporter = nodemailer.createTransport(smtp);
|
|
@@ -82,7 +111,9 @@ let EmailService = class EmailService {
|
|
|
82
111
|
exports.EmailService = EmailService;
|
|
83
112
|
exports.EmailService = EmailService = __decorate([
|
|
84
113
|
(0, common_1.Injectable)(),
|
|
114
|
+
__param(2, (0, common_1.Optional)()),
|
|
115
|
+
__param(2, (0, common_1.Inject)(hub_constants_1.HUB_EMAIL_CAPTURE)),
|
|
85
116
|
__metadata("design:paramtypes", [config_service_1.ConfigService,
|
|
86
|
-
template_service_1.TemplateService])
|
|
117
|
+
template_service_1.TemplateService, Object])
|
|
87
118
|
], EmailService);
|
|
88
119
|
//# sourceMappingURL=email.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/email.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/email.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,18 +26,23 @@ let TemplateService = class TemplateService {
|
|
|
26
26
|
return template(templateData);
|
|
27
27
|
}
|
|
28
28
|
async getTemplate(filePath) {
|
|
29
|
-
|
|
29
|
+
const baseDir = (0, path_1.resolve)(this.configService.getFastButReadOnly('templates.path'));
|
|
30
|
+
const fullPath = (0, path_1.resolve)(baseDir, `${filePath}.ejs`);
|
|
31
|
+
if (fullPath !== baseDir && !fullPath.startsWith(baseDir + path_1.sep)) {
|
|
32
|
+
throw new Error(`Invalid template path "${filePath}".`);
|
|
33
|
+
}
|
|
34
|
+
return new Promise((res, reject) => {
|
|
30
35
|
if (this.templates[filePath]) {
|
|
31
|
-
|
|
36
|
+
res(this.templates[filePath]);
|
|
32
37
|
return;
|
|
33
38
|
}
|
|
34
|
-
fs.readFile(
|
|
39
|
+
fs.readFile(fullPath, { encoding: 'utf8' }, (err, data) => {
|
|
35
40
|
if (err) {
|
|
36
41
|
reject(err);
|
|
37
42
|
}
|
|
38
43
|
else {
|
|
39
44
|
this.templates[filePath] = ejs.compile(data);
|
|
40
|
-
|
|
45
|
+
res(this.templates[filePath]);
|
|
41
46
|
}
|
|
42
47
|
});
|
|
43
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,2BAA4B;AAC5B,yBAA0B;AAC1B,+
|
|
1
|
+
{"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,2BAA4B;AAC5B,yBAA0B;AAC1B,+BAAoC;AAEpC,qDAAiD;AAM1C,IAAM,eAAe,GAArB,MAAM,eAAe;IASK;IALrB,SAAS,GAAwC,EAAE,CAAC;IAK9D,YAA+B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAOxD,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,YAAoC;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAMS,KAAK,CAAC,WAAW,CAAC,QAAgB;QAI1C,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,UAAG,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,OAAO,CAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAEnD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAGD,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAUmC,8BAAa;GAThD,eAAe,CAsD3B"}
|
|
@@ -78,15 +78,20 @@ let CoreBetterAuthEmailVerificationService = class CoreBetterAuthEmailVerificati
|
|
|
78
78
|
if (this.config.brevoTemplateId && this.brevoService) {
|
|
79
79
|
try {
|
|
80
80
|
const appName = this.getAppName();
|
|
81
|
-
await this.brevoService.sendMail(user.email, this.config.brevoTemplateId, {
|
|
81
|
+
const result = await this.brevoService.sendMail(user.email, this.config.brevoTemplateId, {
|
|
82
82
|
appName,
|
|
83
83
|
expiresIn: this.formatExpiresIn(this.config.expiresIn),
|
|
84
84
|
link: url,
|
|
85
85
|
name: user.name || user.email.split('@')[0],
|
|
86
86
|
});
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
if (result === null) {
|
|
88
|
+
this.logger.error(`Brevo verification send failed for ${this.maskEmail(user.email)} — falling back to SMTP`);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this.trackSend(user.email);
|
|
92
|
+
this.logger.debug(`Verification email sent via Brevo to ${this.maskEmail(user.email)}`);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
90
95
|
}
|
|
91
96
|
catch (error) {
|
|
92
97
|
this.logger.error(`Failed to send verification email via Brevo to ${this.maskEmail(user.email)}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-better-auth-email-verification.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-email-verification.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,2BAA4B;AAC5B,yBAAyB;AACzB,6BAA6B;AAE7B,wEAAgE;AAEhE,uEAAmE;AACnE,yEAAqE;AACrE,uEAAmE;AACnE,6EAAyE;AACzE,6DAAyD;AAczD,MAAM,cAAc,GAAoC;IACtD,2BAA2B,EAAE,IAAI;IACjC,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,IAAI;IACZ,qBAAqB,EAAE,EAAE;IACzB,QAAQ,EAAE,oBAAoB;CAC/B,CAAC;AAyDK,IAAM,sCAAsC,GAA5C,MAAM,sCAAsC;;IAmB5B;IACY;IACA;IAGZ;IAvBF,MAAM,GAAG,IAAI,eAAM,CAAC,wCAAsC,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,GAAoC,cAAc,CAAC;IAMlD,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAQ3D,MAAM,CAAU,mBAAmB,GAAG,2BAA2B,CAAC;IAElE,YACqB,aAA4B,EAChB,YAA2B,EAC3B,eAAiC,EAG7C,YAAkC;QALlC,kBAAa,GAAb,aAAa,CAAe;QAChB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,oBAAe,GAAf,eAAe,CAAkB;QAG7C,iBAAY,GAAZ,YAAY,CAAsB;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAKD,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAKD,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAKD,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC;IACjD,CAAC;IAUD,KAAK,CAAC,qBAAqB,CAAC,OAAqC;QAC/D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAChC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAGtB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAKD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAE1C,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;
|
|
1
|
+
{"version":3,"file":"core-better-auth-email-verification.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-email-verification.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CoreHubActionsService } from './services/core-hub-actions.service';
|
|
2
|
+
interface ConfirmBody {
|
|
3
|
+
confirm?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare class CoreHubActionsController {
|
|
6
|
+
protected readonly actions: CoreHubActionsService;
|
|
7
|
+
constructor(actions: CoreHubActionsService);
|
|
8
|
+
clearCollector(name: string, body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
|
|
9
|
+
cron(name: string, action: string, body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
|
|
10
|
+
deleteFile(id: string, body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
|
|
11
|
+
emailTest(body: {
|
|
12
|
+
locale?: string;
|
|
13
|
+
template?: string;
|
|
14
|
+
to?: string;
|
|
15
|
+
}, hubHeader: string | undefined): Promise<unknown>;
|
|
16
|
+
migrationsDown(body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
|
|
17
|
+
migrationsRun(body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
|
|
18
|
+
protected requireConfirm(body: ConfirmBody, expected: string): void;
|
|
19
|
+
protected requireHubRequest(header: string | undefined): void;
|
|
20
|
+
protected wrap(fn: () => Promise<unknown>): Promise<unknown>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CoreHubActionsController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const hub_action_messages_1 = require("./hub-action-messages");
|
|
18
|
+
const core_hub_actions_service_1 = require("./services/core-hub-actions.service");
|
|
19
|
+
let CoreHubActionsController = class CoreHubActionsController {
|
|
20
|
+
actions;
|
|
21
|
+
constructor(actions) {
|
|
22
|
+
this.actions = actions;
|
|
23
|
+
}
|
|
24
|
+
async clearCollector(name, body, hubHeader) {
|
|
25
|
+
this.requireHubRequest(hubHeader);
|
|
26
|
+
this.requireConfirm(body, 'CLEAR');
|
|
27
|
+
if (!['logs', 'mailbox', 'queries', 'traces'].includes(name)) {
|
|
28
|
+
throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.unknownCollector);
|
|
29
|
+
}
|
|
30
|
+
return this.wrap(() => Promise.resolve(this.actions.clearBuffer(name)));
|
|
31
|
+
}
|
|
32
|
+
async cron(name, action, body, hubHeader) {
|
|
33
|
+
this.requireHubRequest(hubHeader);
|
|
34
|
+
if (!['start', 'stop', 'trigger'].includes(action)) {
|
|
35
|
+
throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.unknownCronAction);
|
|
36
|
+
}
|
|
37
|
+
this.requireConfirm(body, name);
|
|
38
|
+
return this.wrap(() => Promise.resolve(this.actions.controlCron(name, action)));
|
|
39
|
+
}
|
|
40
|
+
async deleteFile(id, body, hubHeader) {
|
|
41
|
+
this.requireHubRequest(hubHeader);
|
|
42
|
+
if (!body?.confirm) {
|
|
43
|
+
throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.confirmationFilenameRequired);
|
|
44
|
+
}
|
|
45
|
+
return this.wrap(() => this.actions.deleteFile(id, body.confirm));
|
|
46
|
+
}
|
|
47
|
+
async emailTest(body, hubHeader) {
|
|
48
|
+
this.requireHubRequest(hubHeader);
|
|
49
|
+
if (!body?.to) {
|
|
50
|
+
throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.recipientRequired);
|
|
51
|
+
}
|
|
52
|
+
return this.wrap(() => this.actions.sendTestEmail(body.to, body.template, body.locale));
|
|
53
|
+
}
|
|
54
|
+
async migrationsDown(body, hubHeader) {
|
|
55
|
+
this.requireHubRequest(hubHeader);
|
|
56
|
+
this.requireConfirm(body, 'DOWN');
|
|
57
|
+
return this.wrap(() => this.actions.rollbackMigration());
|
|
58
|
+
}
|
|
59
|
+
async migrationsRun(body, hubHeader) {
|
|
60
|
+
this.requireHubRequest(hubHeader);
|
|
61
|
+
this.requireConfirm(body, 'RUN');
|
|
62
|
+
return this.wrap(() => this.actions.runMigrations());
|
|
63
|
+
}
|
|
64
|
+
requireConfirm(body, expected) {
|
|
65
|
+
if (body?.confirm !== expected) {
|
|
66
|
+
throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.confirmationKeywordMismatch(expected));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
requireHubRequest(header) {
|
|
70
|
+
if (!header) {
|
|
71
|
+
throw new common_1.ForbiddenException(hub_action_messages_1.HubActionMessage.missingHubRequestHeader);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async wrap(fn) {
|
|
75
|
+
try {
|
|
76
|
+
const result = await fn();
|
|
77
|
+
return { ok: true, timestamp: new Date().toISOString(), ...result };
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
throw new common_1.BadRequestException(error instanceof Error ? error.message : hub_action_messages_1.HubActionMessage.actionFailed);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
exports.CoreHubActionsController = CoreHubActionsController;
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, common_1.Post)('actions/collectors/:name/clear'),
|
|
87
|
+
__param(0, (0, common_1.Param)('name')),
|
|
88
|
+
__param(1, (0, common_1.Body)()),
|
|
89
|
+
__param(2, (0, common_1.Headers)('x-hub-request')),
|
|
90
|
+
__metadata("design:type", Function),
|
|
91
|
+
__metadata("design:paramtypes", [String, Object, String]),
|
|
92
|
+
__metadata("design:returntype", Promise)
|
|
93
|
+
], CoreHubActionsController.prototype, "clearCollector", null);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, common_1.Post)('actions/cron/:name/:action'),
|
|
96
|
+
__param(0, (0, common_1.Param)('name')),
|
|
97
|
+
__param(1, (0, common_1.Param)('action')),
|
|
98
|
+
__param(2, (0, common_1.Body)()),
|
|
99
|
+
__param(3, (0, common_1.Headers)('x-hub-request')),
|
|
100
|
+
__metadata("design:type", Function),
|
|
101
|
+
__metadata("design:paramtypes", [String, String, Object, String]),
|
|
102
|
+
__metadata("design:returntype", Promise)
|
|
103
|
+
], CoreHubActionsController.prototype, "cron", null);
|
|
104
|
+
__decorate([
|
|
105
|
+
(0, common_1.Delete)('actions/files/:id'),
|
|
106
|
+
__param(0, (0, common_1.Param)('id')),
|
|
107
|
+
__param(1, (0, common_1.Body)()),
|
|
108
|
+
__param(2, (0, common_1.Headers)('x-hub-request')),
|
|
109
|
+
__metadata("design:type", Function),
|
|
110
|
+
__metadata("design:paramtypes", [String, Object, String]),
|
|
111
|
+
__metadata("design:returntype", Promise)
|
|
112
|
+
], CoreHubActionsController.prototype, "deleteFile", null);
|
|
113
|
+
__decorate([
|
|
114
|
+
(0, common_1.Post)('actions/email/test'),
|
|
115
|
+
__param(0, (0, common_1.Body)()),
|
|
116
|
+
__param(1, (0, common_1.Headers)('x-hub-request')),
|
|
117
|
+
__metadata("design:type", Function),
|
|
118
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
119
|
+
__metadata("design:returntype", Promise)
|
|
120
|
+
], CoreHubActionsController.prototype, "emailTest", null);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, common_1.Post)('actions/migrations/down'),
|
|
123
|
+
__param(0, (0, common_1.Body)()),
|
|
124
|
+
__param(1, (0, common_1.Headers)('x-hub-request')),
|
|
125
|
+
__metadata("design:type", Function),
|
|
126
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
127
|
+
__metadata("design:returntype", Promise)
|
|
128
|
+
], CoreHubActionsController.prototype, "migrationsDown", null);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, common_1.Post)('actions/migrations/run'),
|
|
131
|
+
__param(0, (0, common_1.Body)()),
|
|
132
|
+
__param(1, (0, common_1.Headers)('x-hub-request')),
|
|
133
|
+
__metadata("design:type", Function),
|
|
134
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
135
|
+
__metadata("design:returntype", Promise)
|
|
136
|
+
], CoreHubActionsController.prototype, "migrationsRun", null);
|
|
137
|
+
exports.CoreHubActionsController = CoreHubActionsController = __decorate([
|
|
138
|
+
(0, common_1.Controller)(),
|
|
139
|
+
__metadata("design:paramtypes", [core_hub_actions_service_1.CoreHubActionsService])
|
|
140
|
+
], CoreHubActionsController);
|
|
141
|
+
//# sourceMappingURL=core-hub-actions.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-hub-actions.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/hub/core-hub-actions.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ResolvedHubConfig } from './interfaces/hub-config.interface';
|
|
2
|
+
export declare class CoreHubHtmlService {
|
|
3
|
+
protected readonly config: ResolvedHubConfig;
|
|
4
|
+
constructor(config: ResolvedHubConfig);
|
|
5
|
+
buildClientScript(): string;
|
|
6
|
+
buildShell(authHeader?: string): string;
|
|
7
|
+
protected css(): string;
|
|
8
|
+
}
|