@serve.zone/dcrouter 11.13.0 → 11.14.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/dist_serve/bundle.js +2 -2
- package/package.json +1 -1
- package/readme.md +107 -3
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/readme.md +17 -0
- package/ts_web/router.ts +1 -1
- package/dist_ts/00_commitinfo_data.d.ts +0 -8
- package/dist_ts/00_commitinfo_data.js +0 -9
- package/dist_ts/cache/classes.cache.cleaner.d.ts +0 -47
- package/dist_ts/cache/classes.cache.cleaner.js +0 -130
- package/dist_ts/cache/classes.cached.document.d.ts +0 -76
- package/dist_ts/cache/classes.cached.document.js +0 -100
- package/dist_ts/cache/classes.cachedb.d.ts +0 -60
- package/dist_ts/cache/classes.cachedb.js +0 -126
- package/dist_ts/cache/documents/classes.cached.email.d.ts +0 -125
- package/dist_ts/cache/documents/classes.cached.email.js +0 -337
- package/dist_ts/cache/documents/classes.cached.ip.reputation.d.ts +0 -119
- package/dist_ts/cache/documents/classes.cached.ip.reputation.js +0 -323
- package/dist_ts/cache/documents/index.d.ts +0 -2
- package/dist_ts/cache/documents/index.js +0 -3
- package/dist_ts/cache/index.d.ts +0 -4
- package/dist_ts/cache/index.js +0 -7
- package/dist_ts/classes.cert-provision-scheduler.d.ts +0 -54
- package/dist_ts/classes.cert-provision-scheduler.js +0 -118
- package/dist_ts/classes.dcrouter.d.ts +0 -386
- package/dist_ts/classes.dcrouter.js +0 -1682
- package/dist_ts/classes.storage-cert-manager.d.ts +0 -18
- package/dist_ts/classes.storage-cert-manager.js +0 -43
- package/dist_ts/config/classes.api-token-manager.d.ts +0 -46
- package/dist_ts/config/classes.api-token-manager.js +0 -150
- package/dist_ts/config/classes.route-config-manager.d.ts +0 -38
- package/dist_ts/config/classes.route-config-manager.js +0 -256
- package/dist_ts/config/index.d.ts +0 -3
- package/dist_ts/config/index.js +0 -5
- package/dist_ts/config/validator.d.ts +0 -104
- package/dist_ts/config/validator.js +0 -152
- package/dist_ts/errors/base.errors.d.ts +0 -224
- package/dist_ts/errors/base.errors.js +0 -320
- package/dist_ts/errors/error-handler.d.ts +0 -98
- package/dist_ts/errors/error-handler.js +0 -282
- package/dist_ts/errors/error.codes.d.ts +0 -115
- package/dist_ts/errors/error.codes.js +0 -136
- package/dist_ts/errors/index.d.ts +0 -54
- package/dist_ts/errors/index.js +0 -136
- package/dist_ts/errors/reputation.errors.d.ts +0 -183
- package/dist_ts/errors/reputation.errors.js +0 -292
- package/dist_ts/http3/http3-route-augmentation.d.ts +0 -50
- package/dist_ts/http3/http3-route-augmentation.js +0 -98
- package/dist_ts/http3/index.d.ts +0 -1
- package/dist_ts/http3/index.js +0 -2
- package/dist_ts/index.d.ts +0 -8
- package/dist_ts/index.js +0 -29
- package/dist_ts/logger.d.ts +0 -21
- package/dist_ts/logger.js +0 -81
- package/dist_ts/monitoring/classes.metricscache.d.ts +0 -32
- package/dist_ts/monitoring/classes.metricscache.js +0 -63
- package/dist_ts/monitoring/classes.metricsmanager.d.ts +0 -184
- package/dist_ts/monitoring/classes.metricsmanager.js +0 -744
- package/dist_ts/monitoring/index.d.ts +0 -1
- package/dist_ts/monitoring/index.js +0 -2
- package/dist_ts/opsserver/classes.opsserver.d.ts +0 -38
- package/dist_ts/opsserver/classes.opsserver.js +0 -87
- package/dist_ts/opsserver/handlers/admin.handler.d.ts +0 -31
- package/dist_ts/opsserver/handlers/admin.handler.js +0 -180
- package/dist_ts/opsserver/handlers/api-token.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/api-token.handler.js +0 -62
- package/dist_ts/opsserver/handlers/certificate.handler.d.ts +0 -32
- package/dist_ts/opsserver/handlers/certificate.handler.js +0 -421
- package/dist_ts/opsserver/handlers/config.handler.d.ts +0 -7
- package/dist_ts/opsserver/handlers/config.handler.js +0 -192
- package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +0 -30
- package/dist_ts/opsserver/handlers/email-ops.handler.js +0 -227
- package/dist_ts/opsserver/handlers/index.d.ts +0 -12
- package/dist_ts/opsserver/handlers/index.js +0 -13
- package/dist_ts/opsserver/handlers/logs.handler.d.ts +0 -25
- package/dist_ts/opsserver/handlers/logs.handler.js +0 -256
- package/dist_ts/opsserver/handlers/radius.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/radius.handler.js +0 -295
- package/dist_ts/opsserver/handlers/remoteingress.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/remoteingress.handler.js +0 -156
- package/dist_ts/opsserver/handlers/route-management.handler.d.ts +0 -14
- package/dist_ts/opsserver/handlers/route-management.handler.js +0 -117
- package/dist_ts/opsserver/handlers/security.handler.d.ts +0 -9
- package/dist_ts/opsserver/handlers/security.handler.js +0 -233
- package/dist_ts/opsserver/handlers/stats.handler.d.ts +0 -11
- package/dist_ts/opsserver/handlers/stats.handler.js +0 -403
- package/dist_ts/opsserver/handlers/vpn.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/vpn.handler.js +0 -199
- package/dist_ts/opsserver/helpers/guards.d.ts +0 -27
- package/dist_ts/opsserver/helpers/guards.js +0 -43
- package/dist_ts/opsserver/index.d.ts +0 -1
- package/dist_ts/opsserver/index.js +0 -2
- package/dist_ts/paths.d.ts +0 -26
- package/dist_ts/paths.js +0 -45
- package/dist_ts/plugins.d.ts +0 -81
- package/dist_ts/plugins.js +0 -115
- package/dist_ts/radius/classes.accounting.manager.d.ts +0 -231
- package/dist_ts/radius/classes.accounting.manager.js +0 -462
- package/dist_ts/radius/classes.radius.server.d.ts +0 -171
- package/dist_ts/radius/classes.radius.server.js +0 -386
- package/dist_ts/radius/classes.vlan.manager.d.ts +0 -128
- package/dist_ts/radius/classes.vlan.manager.js +0 -279
- package/dist_ts/radius/index.d.ts +0 -13
- package/dist_ts/radius/index.js +0 -14
- package/dist_ts/remoteingress/classes.remoteingress-manager.d.ts +0 -94
- package/dist_ts/remoteingress/classes.remoteingress-manager.js +0 -271
- package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +0 -59
- package/dist_ts/remoteingress/classes.tunnel-manager.js +0 -165
- package/dist_ts/remoteingress/index.d.ts +0 -2
- package/dist_ts/remoteingress/index.js +0 -3
- package/dist_ts/security/classes.contentscanner.d.ts +0 -164
- package/dist_ts/security/classes.contentscanner.js +0 -642
- package/dist_ts/security/classes.ipreputationchecker.d.ts +0 -160
- package/dist_ts/security/classes.ipreputationchecker.js +0 -537
- package/dist_ts/security/classes.securitylogger.d.ts +0 -144
- package/dist_ts/security/classes.securitylogger.js +0 -235
- package/dist_ts/security/index.d.ts +0 -3
- package/dist_ts/security/index.js +0 -4
- package/dist_ts/sms/classes.smsservice.d.ts +0 -15
- package/dist_ts/sms/classes.smsservice.js +0 -72
- package/dist_ts/sms/config/sms.config.d.ts +0 -93
- package/dist_ts/sms/config/sms.config.js +0 -2
- package/dist_ts/sms/config/sms.schema.d.ts +0 -5
- package/dist_ts/sms/config/sms.schema.js +0 -121
- package/dist_ts/sms/index.d.ts +0 -1
- package/dist_ts/sms/index.js +0 -2
- package/dist_ts/storage/classes.storagemanager.d.ts +0 -83
- package/dist_ts/storage/classes.storagemanager.js +0 -348
- package/dist_ts/storage/index.d.ts +0 -1
- package/dist_ts/storage/index.js +0 -3
- package/dist_ts/vpn/classes.vpn-manager.d.ts +0 -113
- package/dist_ts/vpn/classes.vpn-manager.js +0 -297
- package/dist_ts/vpn/index.d.ts +0 -1
- package/dist_ts/vpn/index.js +0 -2
- package/dist_ts_apiclient/classes.apitoken.d.ts +0 -41
- package/dist_ts_apiclient/classes.apitoken.js +0 -115
- package/dist_ts_apiclient/classes.certificate.d.ts +0 -57
- package/dist_ts_apiclient/classes.certificate.js +0 -69
- package/dist_ts_apiclient/classes.config.d.ts +0 -7
- package/dist_ts_apiclient/classes.config.js +0 -11
- package/dist_ts_apiclient/classes.dcrouterapiclient.d.ts +0 -41
- package/dist_ts_apiclient/classes.dcrouterapiclient.js +0 -81
- package/dist_ts_apiclient/classes.email.d.ts +0 -30
- package/dist_ts_apiclient/classes.email.js +0 -52
- package/dist_ts_apiclient/classes.logs.d.ts +0 -21
- package/dist_ts_apiclient/classes.logs.js +0 -14
- package/dist_ts_apiclient/classes.radius.d.ts +0 -59
- package/dist_ts_apiclient/classes.radius.js +0 -95
- package/dist_ts_apiclient/classes.remoteingress.d.ts +0 -54
- package/dist_ts_apiclient/classes.remoteingress.js +0 -136
- package/dist_ts_apiclient/classes.route.d.ts +0 -42
- package/dist_ts_apiclient/classes.route.js +0 -154
- package/dist_ts_apiclient/classes.stats.d.ts +0 -47
- package/dist_ts_apiclient/classes.stats.js +0 -38
- package/dist_ts_apiclient/index.d.ts +0 -10
- package/dist_ts_apiclient/index.js +0 -14
- package/dist_ts_apiclient/plugins.d.ts +0 -3
- package/dist_ts_apiclient/plugins.js +0 -5
- package/dist_ts_web/00_commitinfo_data.d.ts +0 -8
- package/dist_ts_web/00_commitinfo_data.js +0 -9
- package/dist_ts_web/appstate.d.ts +0 -238
- package/dist_ts_web/appstate.js +0 -1174
- package/dist_ts_web/elements/index.d.ts +0 -13
- package/dist_ts_web/elements/index.js +0 -14
- package/dist_ts_web/elements/ops-dashboard.d.ts +0 -23
- package/dist_ts_web/elements/ops-dashboard.js +0 -323
- package/dist_ts_web/elements/ops-view-apitokens.d.ts +0 -13
- package/dist_ts_web/elements/ops-view-apitokens.js +0 -371
- package/dist_ts_web/elements/ops-view-certificates.d.ts +0 -22
- package/dist_ts_web/elements/ops-view-certificates.js +0 -528
- package/dist_ts_web/elements/ops-view-config.d.ts +0 -19
- package/dist_ts_web/elements/ops-view-config.js +0 -339
- package/dist_ts_web/elements/ops-view-emails.d.ts +0 -21
- package/dist_ts_web/elements/ops-view-emails.js +0 -165
- package/dist_ts_web/elements/ops-view-logs.d.ts +0 -13
- package/dist_ts_web/elements/ops-view-logs.js +0 -159
- package/dist_ts_web/elements/ops-view-network.d.ts +0 -71
- package/dist_ts_web/elements/ops-view-network.js +0 -764
- package/dist_ts_web/elements/ops-view-overview.d.ts +0 -22
- package/dist_ts_web/elements/ops-view-overview.js +0 -456
- package/dist_ts_web/elements/ops-view-remoteingress.d.ts +0 -20
- package/dist_ts_web/elements/ops-view-remoteingress.js +0 -494
- package/dist_ts_web/elements/ops-view-routes.d.ts +0 -12
- package/dist_ts_web/elements/ops-view-routes.js +0 -404
- package/dist_ts_web/elements/ops-view-security.d.ts +0 -21
- package/dist_ts_web/elements/ops-view-security.js +0 -574
- package/dist_ts_web/elements/ops-view-vpn.d.ts +0 -14
- package/dist_ts_web/elements/ops-view-vpn.js +0 -369
- package/dist_ts_web/elements/shared/css.d.ts +0 -1
- package/dist_ts_web/elements/shared/css.js +0 -10
- package/dist_ts_web/elements/shared/index.d.ts +0 -2
- package/dist_ts_web/elements/shared/index.js +0 -3
- package/dist_ts_web/elements/shared/ops-sectionheading.d.ts +0 -5
- package/dist_ts_web/elements/shared/ops-sectionheading.js +0 -82
- package/dist_ts_web/index.d.ts +0 -1
- package/dist_ts_web/index.js +0 -10
- package/dist_ts_web/plugins.d.ts +0 -6
- package/dist_ts_web/plugins.js +0 -11
- package/dist_ts_web/router.d.ts +0 -19
- package/dist_ts_web/router.js +0 -91
|
@@ -1,339 +0,0 @@
|
|
|
1
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
-
var _, done = false;
|
|
7
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
-
var context = {};
|
|
9
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
-
if (kind === "accessor") {
|
|
14
|
-
if (result === void 0) continue;
|
|
15
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
-
}
|
|
20
|
-
else if (_ = accept(result)) {
|
|
21
|
-
if (kind === "field") initializers.unshift(_);
|
|
22
|
-
else descriptor[key] = _;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
-
done = true;
|
|
27
|
-
};
|
|
28
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
-
var useValue = arguments.length > 2;
|
|
30
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
-
}
|
|
33
|
-
return useValue ? value : void 0;
|
|
34
|
-
};
|
|
35
|
-
import * as plugins from '../plugins.js';
|
|
36
|
-
import * as shared from './shared/index.js';
|
|
37
|
-
import * as appstate from '../appstate.js';
|
|
38
|
-
import { appRouter } from '../router.js';
|
|
39
|
-
import { DeesElement, customElement, html, state, css, cssManager, } from '@design.estate/dees-element';
|
|
40
|
-
let OpsViewConfig = (() => {
|
|
41
|
-
let _classDecorators = [customElement('ops-view-config')];
|
|
42
|
-
let _classDescriptor;
|
|
43
|
-
let _classExtraInitializers = [];
|
|
44
|
-
let _classThis;
|
|
45
|
-
let _classSuper = DeesElement;
|
|
46
|
-
let _configState_decorators;
|
|
47
|
-
let _configState_initializers = [];
|
|
48
|
-
let _configState_extraInitializers = [];
|
|
49
|
-
var OpsViewConfig = class extends _classSuper {
|
|
50
|
-
static { _classThis = this; }
|
|
51
|
-
static {
|
|
52
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
53
|
-
_configState_decorators = [state()];
|
|
54
|
-
__esDecorate(this, null, _configState_decorators, { kind: "accessor", name: "configState", static: false, private: false, access: { has: obj => "configState" in obj, get: obj => obj.configState, set: (obj, value) => { obj.configState = value; } }, metadata: _metadata }, _configState_initializers, _configState_extraInitializers);
|
|
55
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
56
|
-
OpsViewConfig = _classThis = _classDescriptor.value;
|
|
57
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
58
|
-
}
|
|
59
|
-
#configState_accessor_storage = __runInitializers(this, _configState_initializers, {
|
|
60
|
-
config: null,
|
|
61
|
-
isLoading: false,
|
|
62
|
-
error: null,
|
|
63
|
-
});
|
|
64
|
-
get configState() { return this.#configState_accessor_storage; }
|
|
65
|
-
set configState(value) { this.#configState_accessor_storage = value; }
|
|
66
|
-
constructor() {
|
|
67
|
-
super();
|
|
68
|
-
__runInitializers(this, _configState_extraInitializers);
|
|
69
|
-
const subscription = appstate.configStatePart
|
|
70
|
-
.select((stateArg) => stateArg)
|
|
71
|
-
.subscribe((configState) => {
|
|
72
|
-
this.configState = configState;
|
|
73
|
-
});
|
|
74
|
-
this.rxSubscriptions.push(subscription);
|
|
75
|
-
}
|
|
76
|
-
static styles = [
|
|
77
|
-
cssManager.defaultStyles,
|
|
78
|
-
shared.viewHostCss,
|
|
79
|
-
css `
|
|
80
|
-
.loadingMessage {
|
|
81
|
-
text-align: center;
|
|
82
|
-
padding: 40px;
|
|
83
|
-
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.errorMessage {
|
|
87
|
-
background: ${cssManager.bdTheme('#fee2e2', 'rgba(239,68,68,0.1)')};
|
|
88
|
-
border: 1px solid ${cssManager.bdTheme('#fecaca', 'rgba(239,68,68,0.3)')};
|
|
89
|
-
border-radius: 8px;
|
|
90
|
-
padding: 16px;
|
|
91
|
-
color: ${cssManager.bdTheme('#dc2626', '#ef4444')};
|
|
92
|
-
margin: 16px 0;
|
|
93
|
-
}
|
|
94
|
-
`,
|
|
95
|
-
];
|
|
96
|
-
render() {
|
|
97
|
-
return html `
|
|
98
|
-
<ops-sectionheading>Configuration</ops-sectionheading>
|
|
99
|
-
|
|
100
|
-
${this.configState.isLoading
|
|
101
|
-
? html `
|
|
102
|
-
<div class="loadingMessage">
|
|
103
|
-
<dees-spinner></dees-spinner>
|
|
104
|
-
<p>Loading configuration...</p>
|
|
105
|
-
</div>
|
|
106
|
-
`
|
|
107
|
-
: this.configState.error
|
|
108
|
-
? html `
|
|
109
|
-
<div class="errorMessage">
|
|
110
|
-
Error loading configuration: ${this.configState.error}
|
|
111
|
-
</div>
|
|
112
|
-
`
|
|
113
|
-
: this.configState.config
|
|
114
|
-
? this.renderConfig()
|
|
115
|
-
: html `<div class="errorMessage">No configuration loaded</div>`}
|
|
116
|
-
`;
|
|
117
|
-
}
|
|
118
|
-
renderConfig() {
|
|
119
|
-
const cfg = this.configState.config;
|
|
120
|
-
return html `
|
|
121
|
-
<sz-config-overview
|
|
122
|
-
infoText="This view displays the current running configuration. DcRouter is configured through code or remote management."
|
|
123
|
-
@navigate=${(e) => {
|
|
124
|
-
if (e.detail?.view) {
|
|
125
|
-
appRouter.navigateToView(e.detail.view);
|
|
126
|
-
}
|
|
127
|
-
}}
|
|
128
|
-
>
|
|
129
|
-
${this.renderSystemSection(cfg.system)}
|
|
130
|
-
${this.renderSmartProxySection(cfg.smartProxy)}
|
|
131
|
-
${this.renderEmailSection(cfg.email)}
|
|
132
|
-
${this.renderDnsSection(cfg.dns)}
|
|
133
|
-
${this.renderTlsSection(cfg.tls)}
|
|
134
|
-
${this.renderCacheSection(cfg.cache)}
|
|
135
|
-
${this.renderRadiusSection(cfg.radius)}
|
|
136
|
-
${this.renderRemoteIngressSection(cfg.remoteIngress)}
|
|
137
|
-
</sz-config-overview>
|
|
138
|
-
`;
|
|
139
|
-
}
|
|
140
|
-
renderSystemSection(sys) {
|
|
141
|
-
// Annotate proxy IPs with source hint when Remote Ingress is active
|
|
142
|
-
const ri = this.configState.config?.remoteIngress;
|
|
143
|
-
let proxyIpValues = sys.proxyIps.length > 0 ? [...sys.proxyIps] : null;
|
|
144
|
-
if (proxyIpValues && ri?.enabled && proxyIpValues.includes('127.0.0.1')) {
|
|
145
|
-
proxyIpValues = proxyIpValues.map(ip => ip === '127.0.0.1' ? '127.0.0.1 (Remote Ingress)' : ip);
|
|
146
|
-
}
|
|
147
|
-
const fields = [
|
|
148
|
-
{ key: 'Base Directory', value: sys.baseDir },
|
|
149
|
-
{ key: 'Data Directory', value: sys.dataDir },
|
|
150
|
-
{ key: 'Public IP', value: sys.publicIp },
|
|
151
|
-
{ key: 'Proxy IPs', value: proxyIpValues, type: 'pills' },
|
|
152
|
-
{ key: 'Uptime', value: this.formatUptime(sys.uptime) },
|
|
153
|
-
{ key: 'Storage Backend', value: sys.storageBackend, type: 'badge' },
|
|
154
|
-
{ key: 'Storage Path', value: sys.storagePath },
|
|
155
|
-
];
|
|
156
|
-
return html `
|
|
157
|
-
<sz-config-section
|
|
158
|
-
title="System"
|
|
159
|
-
subtitle="Base paths and infrastructure"
|
|
160
|
-
icon="lucide:server"
|
|
161
|
-
status="enabled"
|
|
162
|
-
.fields=${fields}
|
|
163
|
-
></sz-config-section>
|
|
164
|
-
`;
|
|
165
|
-
}
|
|
166
|
-
renderSmartProxySection(proxy) {
|
|
167
|
-
const fields = [
|
|
168
|
-
{ key: 'Route Count', value: proxy.routeCount },
|
|
169
|
-
];
|
|
170
|
-
if (proxy.acme) {
|
|
171
|
-
fields.push({ key: 'ACME Enabled', value: proxy.acme.enabled, type: 'boolean' }, { key: 'Account Email', value: proxy.acme.accountEmail || null }, { key: 'Use Production', value: proxy.acme.useProduction, type: 'boolean' }, { key: 'Auto Renew', value: proxy.acme.autoRenew, type: 'boolean' }, { key: 'Renew Threshold', value: `${proxy.acme.renewThresholdDays} days` });
|
|
172
|
-
}
|
|
173
|
-
const actions = [
|
|
174
|
-
{ label: 'View Routes', icon: 'lucide:arrow-right', event: 'navigate', detail: { view: 'routes' } },
|
|
175
|
-
];
|
|
176
|
-
return html `
|
|
177
|
-
<sz-config-section
|
|
178
|
-
title="SmartProxy"
|
|
179
|
-
subtitle="HTTP/HTTPS and TCP/SNI reverse proxy"
|
|
180
|
-
icon="lucide:network"
|
|
181
|
-
.status=${proxy.enabled ? 'enabled' : 'disabled'}
|
|
182
|
-
.fields=${fields}
|
|
183
|
-
.actions=${actions}
|
|
184
|
-
></sz-config-section>
|
|
185
|
-
`;
|
|
186
|
-
}
|
|
187
|
-
renderEmailSection(email) {
|
|
188
|
-
const fields = [
|
|
189
|
-
{ key: 'Ports', value: email.ports.length > 0 ? email.ports.map(String) : null, type: 'pills' },
|
|
190
|
-
{ key: 'Hostname', value: email.hostname },
|
|
191
|
-
{ key: 'Domains', value: email.domains.length > 0 ? email.domains : null, type: 'pills' },
|
|
192
|
-
{ key: 'Email Routes', value: email.emailRouteCount },
|
|
193
|
-
{ key: 'Received Emails Path', value: email.receivedEmailsPath },
|
|
194
|
-
];
|
|
195
|
-
if (email.portMapping) {
|
|
196
|
-
const mappingStr = Object.entries(email.portMapping)
|
|
197
|
-
.map(([ext, int]) => `${ext} → ${int}`)
|
|
198
|
-
.join(', ');
|
|
199
|
-
fields.splice(1, 0, { key: 'Port Mapping', value: mappingStr, type: 'code' });
|
|
200
|
-
}
|
|
201
|
-
const actions = [
|
|
202
|
-
{ label: 'View Emails', icon: 'lucide:arrow-right', event: 'navigate', detail: { view: 'emails' } },
|
|
203
|
-
];
|
|
204
|
-
return html `
|
|
205
|
-
<sz-config-section
|
|
206
|
-
title="Email Server"
|
|
207
|
-
subtitle="SMTP email handling with smartmta"
|
|
208
|
-
icon="lucide:mail"
|
|
209
|
-
.status=${email.enabled ? 'enabled' : 'disabled'}
|
|
210
|
-
.fields=${fields}
|
|
211
|
-
.actions=${actions}
|
|
212
|
-
></sz-config-section>
|
|
213
|
-
`;
|
|
214
|
-
}
|
|
215
|
-
renderDnsSection(dns) {
|
|
216
|
-
const fields = [
|
|
217
|
-
{ key: 'Port', value: dns.port },
|
|
218
|
-
{ key: 'NS Domains', value: dns.nsDomains.length > 0 ? dns.nsDomains : null, type: 'pills' },
|
|
219
|
-
{ key: 'Scopes', value: dns.scopes.length > 0 ? dns.scopes : null, type: 'pills' },
|
|
220
|
-
{ key: 'Record Count', value: dns.recordCount },
|
|
221
|
-
{ key: 'DNS Challenge', value: dns.dnsChallenge, type: 'boolean' },
|
|
222
|
-
];
|
|
223
|
-
return html `
|
|
224
|
-
<sz-config-section
|
|
225
|
-
title="DNS Server"
|
|
226
|
-
subtitle="Authoritative DNS with smartdns"
|
|
227
|
-
icon="lucide:globe"
|
|
228
|
-
.status=${dns.enabled ? 'enabled' : 'disabled'}
|
|
229
|
-
.fields=${fields}
|
|
230
|
-
></sz-config-section>
|
|
231
|
-
`;
|
|
232
|
-
}
|
|
233
|
-
renderTlsSection(tls) {
|
|
234
|
-
const fields = [
|
|
235
|
-
{ key: 'Contact Email', value: tls.contactEmail },
|
|
236
|
-
{ key: 'Domain', value: tls.domain },
|
|
237
|
-
{ key: 'Source', value: tls.source, type: 'badge' },
|
|
238
|
-
{ key: 'Certificate Path', value: tls.certPath },
|
|
239
|
-
{ key: 'Key Path', value: tls.keyPath },
|
|
240
|
-
];
|
|
241
|
-
const status = tls.source === 'none' ? 'not-configured' : 'enabled';
|
|
242
|
-
const actions = [
|
|
243
|
-
{ label: 'View Certificates', icon: 'lucide:arrow-right', event: 'navigate', detail: { view: 'certificates' } },
|
|
244
|
-
];
|
|
245
|
-
return html `
|
|
246
|
-
<sz-config-section
|
|
247
|
-
title="TLS / Certificates"
|
|
248
|
-
subtitle="Certificate management and ACME"
|
|
249
|
-
icon="lucide:shield-check"
|
|
250
|
-
.status=${status}
|
|
251
|
-
.fields=${fields}
|
|
252
|
-
.actions=${actions}
|
|
253
|
-
></sz-config-section>
|
|
254
|
-
`;
|
|
255
|
-
}
|
|
256
|
-
renderCacheSection(cache) {
|
|
257
|
-
const fields = [
|
|
258
|
-
{ key: 'Storage Path', value: cache.storagePath },
|
|
259
|
-
{ key: 'DB Name', value: cache.dbName },
|
|
260
|
-
{ key: 'Default TTL', value: `${cache.defaultTTLDays} days` },
|
|
261
|
-
{ key: 'Cleanup Interval', value: `${cache.cleanupIntervalHours} hours` },
|
|
262
|
-
];
|
|
263
|
-
if (cache.ttlConfig && Object.keys(cache.ttlConfig).length > 0) {
|
|
264
|
-
for (const [key, val] of Object.entries(cache.ttlConfig)) {
|
|
265
|
-
fields.push({ key: `TTL: ${key}`, value: `${val} days` });
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
return html `
|
|
269
|
-
<sz-config-section
|
|
270
|
-
title="Cache Database"
|
|
271
|
-
subtitle="Persistent caching with smartdata"
|
|
272
|
-
icon="lucide:database"
|
|
273
|
-
.status=${cache.enabled ? 'enabled' : 'disabled'}
|
|
274
|
-
.fields=${fields}
|
|
275
|
-
></sz-config-section>
|
|
276
|
-
`;
|
|
277
|
-
}
|
|
278
|
-
renderRadiusSection(radius) {
|
|
279
|
-
const fields = [
|
|
280
|
-
{ key: 'Auth Port', value: radius.authPort },
|
|
281
|
-
{ key: 'Accounting Port', value: radius.acctPort },
|
|
282
|
-
{ key: 'Bind Address', value: radius.bindAddress },
|
|
283
|
-
{ key: 'Client Count', value: radius.clientCount },
|
|
284
|
-
];
|
|
285
|
-
if (radius.vlanDefaultVlan !== null) {
|
|
286
|
-
fields.push({ key: 'Default VLAN', value: radius.vlanDefaultVlan }, { key: 'Allow Unknown MACs', value: radius.vlanAllowUnknownMacs, type: 'boolean' }, { key: 'VLAN Mappings', value: radius.vlanMappingCount });
|
|
287
|
-
}
|
|
288
|
-
const status = radius.enabled ? 'enabled' : 'not-configured';
|
|
289
|
-
return html `
|
|
290
|
-
<sz-config-section
|
|
291
|
-
title="RADIUS Server"
|
|
292
|
-
subtitle="Network authentication and VLAN assignment"
|
|
293
|
-
icon="lucide:wifi"
|
|
294
|
-
.status=${status}
|
|
295
|
-
.fields=${fields}
|
|
296
|
-
></sz-config-section>
|
|
297
|
-
`;
|
|
298
|
-
}
|
|
299
|
-
renderRemoteIngressSection(ri) {
|
|
300
|
-
const fields = [
|
|
301
|
-
{ key: 'Tunnel Port', value: ri.tunnelPort },
|
|
302
|
-
{ key: 'Hub Domain', value: ri.hubDomain },
|
|
303
|
-
{ key: 'TLS Mode', value: ri.tlsMode, type: 'badge' },
|
|
304
|
-
{ key: 'Connected Edge IPs', value: ri.connectedEdgeIps?.length > 0 ? ri.connectedEdgeIps : null, type: 'pills' },
|
|
305
|
-
];
|
|
306
|
-
const actions = [
|
|
307
|
-
{ label: 'View Remote Ingress', icon: 'lucide:arrow-right', event: 'navigate', detail: { view: 'remoteingress' } },
|
|
308
|
-
];
|
|
309
|
-
return html `
|
|
310
|
-
<sz-config-section
|
|
311
|
-
title="Remote Ingress"
|
|
312
|
-
subtitle="Edge tunnel nodes"
|
|
313
|
-
icon="lucide:cloud"
|
|
314
|
-
.status=${ri.enabled ? 'enabled' : 'disabled'}
|
|
315
|
-
.fields=${fields}
|
|
316
|
-
.actions=${actions}
|
|
317
|
-
></sz-config-section>
|
|
318
|
-
`;
|
|
319
|
-
}
|
|
320
|
-
formatUptime(seconds) {
|
|
321
|
-
const days = Math.floor(seconds / 86400);
|
|
322
|
-
const hours = Math.floor((seconds % 86400) / 3600);
|
|
323
|
-
const mins = Math.floor((seconds % 3600) / 60);
|
|
324
|
-
const parts = [];
|
|
325
|
-
if (days > 0)
|
|
326
|
-
parts.push(`${days}d`);
|
|
327
|
-
if (hours > 0)
|
|
328
|
-
parts.push(`${hours}h`);
|
|
329
|
-
parts.push(`${mins}m`);
|
|
330
|
-
return parts.join(' ');
|
|
331
|
-
}
|
|
332
|
-
static {
|
|
333
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
334
|
-
}
|
|
335
|
-
};
|
|
336
|
-
return OpsViewConfig = _classThis;
|
|
337
|
-
})();
|
|
338
|
-
export { OpsViewConfig };
|
|
339
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BzLXZpZXctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL29wcy12aWV3LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEtBQUssUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEtBQUssRUFDTCxHQUFHLEVBQ0gsVUFBVSxHQUVYLE1BQU0sNkJBQTZCLENBQUM7SUFLeEIsYUFBYTs0QkFEekIsYUFBYSxDQUFDLGlCQUFpQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7NkJBQW5CLFNBQVEsV0FBVzs7Ozt1Q0FDM0MsS0FBSyxFQUFFO1lBQ1Isc0xBQVMsV0FBVyw2QkFBWCxXQUFXLGlHQUlsQjtZQU5KLDZLQTJUQzs7OztRQXpUQyxtRkFBOEM7WUFDNUMsTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsS0FBSztZQUNoQixLQUFLLEVBQUUsSUFBSTtTQUNaLEVBQUM7UUFKRixJQUFTLFdBQVcsaURBSWxCO1FBSkYsSUFBUyxXQUFXLHVEQUlsQjtRQUVGO1lBQ0UsS0FBSyxFQUFFLENBQUM7O1lBQ1IsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGVBQWU7aUJBQzFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUM5QixTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7WUFDTCxJ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
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
-
import * as plugins from '../plugins.js';
|
|
3
|
-
import * as interfaces from '../../dist_ts_interfaces/index.js';
|
|
4
|
-
declare global {
|
|
5
|
-
interface HTMLElementTagNameMap {
|
|
6
|
-
'ops-view-emails': OpsViewEmails;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export declare class OpsViewEmails extends DeesElement {
|
|
10
|
-
accessor emails: interfaces.requests.IEmail[];
|
|
11
|
-
accessor selectedEmail: interfaces.requests.IEmailDetail | null;
|
|
12
|
-
accessor currentView: 'list' | 'detail';
|
|
13
|
-
accessor isLoading: boolean;
|
|
14
|
-
private stateSubscription;
|
|
15
|
-
connectedCallback(): Promise<void>;
|
|
16
|
-
disconnectedCallback(): Promise<void>;
|
|
17
|
-
static styles: plugins.deesElement.CSSResult[];
|
|
18
|
-
render(): TemplateResult<1>;
|
|
19
|
-
private handleEmailClick;
|
|
20
|
-
private handleBack;
|
|
21
|
-
}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
-
var _, done = false;
|
|
7
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
-
var context = {};
|
|
9
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
-
if (kind === "accessor") {
|
|
14
|
-
if (result === void 0) continue;
|
|
15
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
-
}
|
|
20
|
-
else if (_ = accept(result)) {
|
|
21
|
-
if (kind === "field") initializers.unshift(_);
|
|
22
|
-
else descriptor[key] = _;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
-
done = true;
|
|
27
|
-
};
|
|
28
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
-
var useValue = arguments.length > 2;
|
|
30
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
-
}
|
|
33
|
-
return useValue ? value : void 0;
|
|
34
|
-
};
|
|
35
|
-
import { DeesElement, property, html, customElement, css, state, cssManager } from '@design.estate/dees-element';
|
|
36
|
-
import * as plugins from '../plugins.js';
|
|
37
|
-
import * as appstate from '../appstate.js';
|
|
38
|
-
import * as shared from './shared/index.js';
|
|
39
|
-
import * as interfaces from '../../dist_ts_interfaces/index.js';
|
|
40
|
-
let OpsViewEmails = (() => {
|
|
41
|
-
let _classDecorators = [customElement('ops-view-emails')];
|
|
42
|
-
let _classDescriptor;
|
|
43
|
-
let _classExtraInitializers = [];
|
|
44
|
-
let _classThis;
|
|
45
|
-
let _classSuper = DeesElement;
|
|
46
|
-
let _emails_decorators;
|
|
47
|
-
let _emails_initializers = [];
|
|
48
|
-
let _emails_extraInitializers = [];
|
|
49
|
-
let _selectedEmail_decorators;
|
|
50
|
-
let _selectedEmail_initializers = [];
|
|
51
|
-
let _selectedEmail_extraInitializers = [];
|
|
52
|
-
let _currentView_decorators;
|
|
53
|
-
let _currentView_initializers = [];
|
|
54
|
-
let _currentView_extraInitializers = [];
|
|
55
|
-
let _isLoading_decorators;
|
|
56
|
-
let _isLoading_initializers = [];
|
|
57
|
-
let _isLoading_extraInitializers = [];
|
|
58
|
-
var OpsViewEmails = class extends _classSuper {
|
|
59
|
-
static { _classThis = this; }
|
|
60
|
-
static {
|
|
61
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
62
|
-
_emails_decorators = [state()];
|
|
63
|
-
_selectedEmail_decorators = [state()];
|
|
64
|
-
_currentView_decorators = [state()];
|
|
65
|
-
_isLoading_decorators = [state()];
|
|
66
|
-
__esDecorate(this, null, _emails_decorators, { kind: "accessor", name: "emails", static: false, private: false, access: { has: obj => "emails" in obj, get: obj => obj.emails, set: (obj, value) => { obj.emails = value; } }, metadata: _metadata }, _emails_initializers, _emails_extraInitializers);
|
|
67
|
-
__esDecorate(this, null, _selectedEmail_decorators, { kind: "accessor", name: "selectedEmail", static: false, private: false, access: { has: obj => "selectedEmail" in obj, get: obj => obj.selectedEmail, set: (obj, value) => { obj.selectedEmail = value; } }, metadata: _metadata }, _selectedEmail_initializers, _selectedEmail_extraInitializers);
|
|
68
|
-
__esDecorate(this, null, _currentView_decorators, { kind: "accessor", name: "currentView", static: false, private: false, access: { has: obj => "currentView" in obj, get: obj => obj.currentView, set: (obj, value) => { obj.currentView = value; } }, metadata: _metadata }, _currentView_initializers, _currentView_extraInitializers);
|
|
69
|
-
__esDecorate(this, null, _isLoading_decorators, { kind: "accessor", name: "isLoading", static: false, private: false, access: { has: obj => "isLoading" in obj, get: obj => obj.isLoading, set: (obj, value) => { obj.isLoading = value; } }, metadata: _metadata }, _isLoading_initializers, _isLoading_extraInitializers);
|
|
70
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
71
|
-
OpsViewEmails = _classThis = _classDescriptor.value;
|
|
72
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
73
|
-
}
|
|
74
|
-
#emails_accessor_storage = __runInitializers(this, _emails_initializers, []);
|
|
75
|
-
get emails() { return this.#emails_accessor_storage; }
|
|
76
|
-
set emails(value) { this.#emails_accessor_storage = value; }
|
|
77
|
-
#selectedEmail_accessor_storage = (__runInitializers(this, _emails_extraInitializers), __runInitializers(this, _selectedEmail_initializers, null));
|
|
78
|
-
get selectedEmail() { return this.#selectedEmail_accessor_storage; }
|
|
79
|
-
set selectedEmail(value) { this.#selectedEmail_accessor_storage = value; }
|
|
80
|
-
#currentView_accessor_storage = (__runInitializers(this, _selectedEmail_extraInitializers), __runInitializers(this, _currentView_initializers, 'list'));
|
|
81
|
-
get currentView() { return this.#currentView_accessor_storage; }
|
|
82
|
-
set currentView(value) { this.#currentView_accessor_storage = value; }
|
|
83
|
-
#isLoading_accessor_storage = (__runInitializers(this, _currentView_extraInitializers), __runInitializers(this, _isLoading_initializers, false));
|
|
84
|
-
get isLoading() { return this.#isLoading_accessor_storage; }
|
|
85
|
-
set isLoading(value) { this.#isLoading_accessor_storage = value; }
|
|
86
|
-
stateSubscription = __runInitializers(this, _isLoading_extraInitializers);
|
|
87
|
-
async connectedCallback() {
|
|
88
|
-
await super.connectedCallback();
|
|
89
|
-
this.stateSubscription = appstate.emailOpsStatePart.select().subscribe((state) => {
|
|
90
|
-
this.emails = state.emails;
|
|
91
|
-
this.isLoading = state.isLoading;
|
|
92
|
-
});
|
|
93
|
-
// Initial fetch
|
|
94
|
-
await appstate.emailOpsStatePart.dispatchAction(appstate.fetchAllEmailsAction, null);
|
|
95
|
-
}
|
|
96
|
-
async disconnectedCallback() {
|
|
97
|
-
await super.disconnectedCallback();
|
|
98
|
-
if (this.stateSubscription) {
|
|
99
|
-
this.stateSubscription.unsubscribe();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
static styles = [
|
|
103
|
-
cssManager.defaultStyles,
|
|
104
|
-
shared.viewHostCss,
|
|
105
|
-
css `
|
|
106
|
-
:host {
|
|
107
|
-
display: block;
|
|
108
|
-
height: 100%;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.viewContainer {
|
|
112
|
-
height: 100%;
|
|
113
|
-
}
|
|
114
|
-
`,
|
|
115
|
-
];
|
|
116
|
-
render() {
|
|
117
|
-
return html `
|
|
118
|
-
<ops-sectionheading>Email Operations</ops-sectionheading>
|
|
119
|
-
<div class="viewContainer">
|
|
120
|
-
${this.currentView === 'detail' && this.selectedEmail
|
|
121
|
-
? html `
|
|
122
|
-
<sz-mta-detail-view
|
|
123
|
-
.email=${this.selectedEmail}
|
|
124
|
-
@back=${this.handleBack}
|
|
125
|
-
></sz-mta-detail-view>
|
|
126
|
-
`
|
|
127
|
-
: html `
|
|
128
|
-
<sz-mta-list-view
|
|
129
|
-
.emails=${this.emails}
|
|
130
|
-
@email-click=${this.handleEmailClick}
|
|
131
|
-
></sz-mta-list-view>
|
|
132
|
-
`}
|
|
133
|
-
</div>
|
|
134
|
-
`;
|
|
135
|
-
}
|
|
136
|
-
async handleEmailClick(e) {
|
|
137
|
-
const emailSummary = e.detail;
|
|
138
|
-
try {
|
|
139
|
-
const context = appstate.loginStatePart.getState();
|
|
140
|
-
const request = new plugins.domtools.plugins.typedrequest.TypedRequest('/typedrequest', 'getEmailDetail');
|
|
141
|
-
const response = await request.fire({
|
|
142
|
-
identity: context.identity,
|
|
143
|
-
emailId: emailSummary.id,
|
|
144
|
-
});
|
|
145
|
-
if (response.email) {
|
|
146
|
-
this.selectedEmail = response.email;
|
|
147
|
-
this.currentView = 'detail';
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
console.error('Failed to fetch email detail:', error);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
handleBack() {
|
|
155
|
-
this.selectedEmail = null;
|
|
156
|
-
this.currentView = 'list';
|
|
157
|
-
}
|
|
158
|
-
static {
|
|
159
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
return OpsViewEmails = _classThis;
|
|
163
|
-
})();
|
|
164
|
-
export { OpsViewEmails };
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BzLXZpZXctZW1haWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL29wcy12aWV3LWVtYWlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBdUIsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0SSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEtBQUssUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxtQ0FBbUMsQ0FBQztJQVNuRCxhQUFhOzRCQUR6QixhQUFhLENBQUMsaUJBQWlCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs2QkFBbkIsU0FBUSxXQUFXOzs7O2tDQUMzQyxLQUFLLEVBQUU7eUNBR1AsS0FBSyxFQUFFO3VDQUdQLEtBQUssRUFBRTtxQ0FHUCxLQUFLLEVBQUU7WUFSUix1S0FBUyxNQUFNLDZCQUFOLE1BQU0sdUZBQW9DO1lBR25ELDRMQUFTLGFBQWEsNkJBQWIsYUFBYSxxR0FBaUQ7WUFHdkUsc0xBQVMsV0FBVyw2QkFBWCxXQUFXLGlHQUE2QjtZQUdqRCxnTEFBUyxTQUFTLDZCQUFULFNBQVMsNkZBQVM7WUFYN0IsNktBK0ZDOzs7O1FBN0ZDLHlFQUFnRCxFQUFFLEVBQUM7UUFBbkQsSUFBUyxNQUFNLDRDQUFvQztRQUFuRCxJQUFTLE1BQU0sa0RBQW9DO1FBR25ELDRJQUFrRSxJQUFJLEdBQUM7UUFBdkUsSUFBUyxhQUFhLG1EQUFpRDtRQUF2RSxJQUFTLGFBQWEseURBQWlEO1FBR3ZFLCtJQUEwQyxNQUFNLEdBQUM7UUFBakQsSUFBUyxX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
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as appstate from '../appstate.js';
|
|
2
|
-
import { DeesElement } from '@design.estate/dees-element';
|
|
3
|
-
export declare class OpsViewLogs extends DeesElement {
|
|
4
|
-
accessor logState: appstate.ILogState;
|
|
5
|
-
private lastPushedCount;
|
|
6
|
-
constructor();
|
|
7
|
-
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
8
|
-
render(): import("@design.estate/dees-element").TemplateResult<1>;
|
|
9
|
-
connectedCallback(): Promise<void>;
|
|
10
|
-
updated(changedProperties: Map<string, any>): Promise<void>;
|
|
11
|
-
private pushLogsToChart;
|
|
12
|
-
private getMappedLogEntries;
|
|
13
|
-
}
|