@serve.zone/dcrouter 16.2.1 → 16.4.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/deno.json +1 -1
- package/dist_serve/bundle.js +1190 -1100
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/config/helpers.http-redirects.d.ts +1 -1
- package/dist_ts/config/helpers.http-redirects.js +4 -3
- package/dist_ts_interfaces/data/route-management.d.ts +2 -0
- package/dist_ts_interfaces/data/route-management.js +6 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/access/ops-view-apitokens.js +3 -3
- package/dist_ts_web/elements/access/ops-view-gatewayclients.js +3 -3
- package/dist_ts_web/elements/network/ops-view-network-activity.js +6 -6
- package/dist_ts_web/elements/network/ops-view-redirects.d.ts +3 -0
- package/dist_ts_web/elements/network/ops-view-redirects.js +38 -21
- package/dist_ts_web/elements/network/ops-view-remoteingress.js +3 -3
- package/dist_ts_web/elements/network/ops-view-routes.d.ts +8 -7
- package/dist_ts_web/elements/network/ops-view-routes.js +331 -161
- package/dist_ts_web/elements/network/ops-view-special-forwards.d.ts +4 -1
- package/dist_ts_web/elements/network/ops-view-special-forwards.js +118 -168
- package/dist_ts_web/elements/network/ops-view-vpn.js +3 -3
- package/dist_ts_web/elements/network/route-view-filters.d.ts +6 -0
- package/dist_ts_web/elements/network/route-view-filters.js +29 -0
- package/dist_ts_web/elements/network/special-forward-dialog.d.ts +11 -0
- package/dist_ts_web/elements/network/special-forward-dialog.js +154 -0
- package/dist_ts_web/elements/security/ops-view-security-blocked.js +6 -6
- package/package.json +2 -2
- package/readme.md +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/config/helpers.http-redirects.ts +6 -3
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/access/ops-view-apitokens.ts +2 -2
- package/ts_web/elements/access/ops-view-gatewayclients.ts +2 -2
- package/ts_web/elements/network/ops-view-network-activity.ts +5 -5
- package/ts_web/elements/network/ops-view-redirects.ts +34 -19
- package/ts_web/elements/network/ops-view-remoteingress.ts +2 -2
- package/ts_web/elements/network/ops-view-routes.ts +371 -171
- package/ts_web/elements/network/ops-view-special-forwards.ts +115 -178
- package/ts_web/elements/network/ops-view-vpn.ts +2 -2
- package/ts_web/elements/network/route-view-filters.ts +43 -0
- package/ts_web/elements/network/special-forward-dialog.ts +174 -0
- package/ts_web/elements/security/ops-view-security-blocked.ts +5 -5
- package/ts_web/readme.md +4 -4
|
@@ -38,7 +38,11 @@ import { viewHostCss } from '../shared/css.js';
|
|
|
38
38
|
import {} from '@design.estate/dees-catalog';
|
|
39
39
|
import './ops-view-redirects.js';
|
|
40
40
|
import './ops-view-special-forwards.js';
|
|
41
|
+
import { getRouteOwner, redirectMatchesOwner, routeMatchesOwner, } from './route-view-filters.js';
|
|
42
|
+
import { letsEncryptHttp01ManagedRouteKind, showLetsEncryptHttp01ForwardDialog, } from './special-forward-dialog.js';
|
|
41
43
|
import { DeesElement, css, cssManager, customElement, html, state, } from '@design.estate/dees-element';
|
|
44
|
+
const routeTypeOptions = ['All', 'Standard', 'Redirect', 'Special'];
|
|
45
|
+
const routeOwnerOptions = ['All', 'User', 'Gateway Client', 'System'];
|
|
42
46
|
// TLS dropdown options shared by create and edit dialogs
|
|
43
47
|
const tlsModeOptions = [
|
|
44
48
|
{ key: 'none', option: '(none — plain TCP/HTTP, use for SSH)' },
|
|
@@ -343,37 +347,11 @@ let OpsViewRoutes = (() => {
|
|
|
343
347
|
#ownerFilter_accessor_storage = (__runInitializers(this, _activeSection_extraInitializers), __runInitializers(this, _ownerFilter_initializers, 'all'));
|
|
344
348
|
get ownerFilter() { return this.#ownerFilter_accessor_storage; }
|
|
345
349
|
set ownerFilter(value) { this.#ownerFilter_accessor_storage = value; }
|
|
346
|
-
|
|
347
|
-
{
|
|
348
|
-
key: 'Standard Routes',
|
|
349
|
-
iconName: 'lucide:route',
|
|
350
|
-
action: () => this.setRouteView('standard'),
|
|
351
|
-
},
|
|
352
|
-
{
|
|
353
|
-
key: 'Special Forwards',
|
|
354
|
-
iconName: 'lucide:split',
|
|
355
|
-
action: () => this.setRouteView('special'),
|
|
356
|
-
},
|
|
357
|
-
{
|
|
358
|
-
key: 'Redirects',
|
|
359
|
-
iconName: 'lucide:cornerDownRight',
|
|
360
|
-
action: () => this.setRouteView('redirects'),
|
|
361
|
-
},
|
|
362
|
-
]);
|
|
363
|
-
ownerTabs = [
|
|
364
|
-
{ key: 'All', action: () => this.setRouteOwnerFilter('all') },
|
|
365
|
-
{ key: 'Operator', action: () => this.setRouteOwnerFilter('operator') },
|
|
366
|
-
{
|
|
367
|
-
key: 'Gateway Client',
|
|
368
|
-
action: () => this.setRouteOwnerFilter('gatewayClient'),
|
|
369
|
-
},
|
|
370
|
-
{ key: 'System', action: () => this.setRouteOwnerFilter('system') },
|
|
371
|
-
];
|
|
372
|
-
popStateHandler = () => {
|
|
350
|
+
popStateHandler = (__runInitializers(this, _ownerFilter_extraInitializers), () => {
|
|
373
351
|
const urlState = this.readUrlState();
|
|
374
352
|
this.activeSection = urlState.section;
|
|
375
353
|
this.ownerFilter = urlState.owner;
|
|
376
|
-
};
|
|
354
|
+
});
|
|
377
355
|
#routeState_accessor_storage = __runInitializers(this, _routeState_initializers, {
|
|
378
356
|
mergedRoutes: [],
|
|
379
357
|
warnings: [],
|
|
@@ -420,8 +398,7 @@ let OpsViewRoutes = (() => {
|
|
|
420
398
|
.select((s) => s.isLoggedIn)
|
|
421
399
|
.subscribe((isLoggedIn) => {
|
|
422
400
|
if (isLoggedIn) {
|
|
423
|
-
|
|
424
|
-
appstate.profilesTargetsStatePart.dispatchAction(appstate.fetchProfilesAndTargetsAction, null);
|
|
401
|
+
void this.refreshData();
|
|
425
402
|
}
|
|
426
403
|
});
|
|
427
404
|
this.rxSubscriptions.push(loginSub);
|
|
@@ -444,6 +421,31 @@ let OpsViewRoutes = (() => {
|
|
|
444
421
|
gap: 24px;
|
|
445
422
|
}
|
|
446
423
|
|
|
424
|
+
.routeFilters {
|
|
425
|
+
display: flex;
|
|
426
|
+
align-items: flex-end;
|
|
427
|
+
gap: 16px;
|
|
428
|
+
flex-wrap: nowrap;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.routeFilter {
|
|
432
|
+
flex: 0 1 auto;
|
|
433
|
+
min-width: 0;
|
|
434
|
+
max-width: 100%;
|
|
435
|
+
overflow-x: auto;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
@media (max-width: 760px) {
|
|
439
|
+
.routeFilters {
|
|
440
|
+
flex-direction: column;
|
|
441
|
+
align-items: stretch;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.routeFilter {
|
|
445
|
+
width: 100%;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
447
449
|
.warnings-bar {
|
|
448
450
|
background: ${cssManager.bdTheme('rgba(255, 170, 0, 0.08)', 'rgba(255, 170, 0, 0.1)')};
|
|
449
451
|
border: 1px solid ${cssManager.bdTheme('rgba(255, 170, 0, 0.25)', 'rgba(255, 170, 0, 0.3)')};
|
|
@@ -477,66 +479,20 @@ let OpsViewRoutes = (() => {
|
|
|
477
479
|
];
|
|
478
480
|
render() {
|
|
479
481
|
const { mergedRoutes, warnings } = this.routeState;
|
|
480
|
-
const disabledCount = mergedRoutes.filter((mr) => !mr.enabled).length;
|
|
481
|
-
const configCount = mergedRoutes.filter((mr) => mr.origin !== 'api').length;
|
|
482
|
-
const operatorCount = mergedRoutes.filter((mr) => {
|
|
483
|
-
return mr.origin === 'api'
|
|
484
|
-
&& mr.metadata?.ownerType !== 'gatewayClient'
|
|
485
|
-
&& !mr.metadata?.managedRouteKind;
|
|
486
|
-
}).length;
|
|
487
|
-
const statsTiles = [
|
|
488
|
-
{
|
|
489
|
-
id: 'totalRoutes',
|
|
490
|
-
title: 'Total Routes',
|
|
491
|
-
type: 'number',
|
|
492
|
-
value: mergedRoutes.length,
|
|
493
|
-
icon: 'lucide:route',
|
|
494
|
-
description: 'All configured routes',
|
|
495
|
-
color: '#3b82f6',
|
|
496
|
-
},
|
|
497
|
-
{
|
|
498
|
-
id: 'configRoutes',
|
|
499
|
-
title: 'System Routes',
|
|
500
|
-
type: 'number',
|
|
501
|
-
value: configCount,
|
|
502
|
-
icon: 'lucide:settings',
|
|
503
|
-
description: 'From config, email, and DNS',
|
|
504
|
-
color: '#8b5cf6',
|
|
505
|
-
},
|
|
506
|
-
{
|
|
507
|
-
id: 'operatorRoutes',
|
|
508
|
-
title: 'Operator Routes',
|
|
509
|
-
type: 'number',
|
|
510
|
-
value: operatorCount,
|
|
511
|
-
icon: 'lucide:code',
|
|
512
|
-
description: 'Created directly by operators',
|
|
513
|
-
color: '#0ea5e9',
|
|
514
|
-
},
|
|
515
|
-
{
|
|
516
|
-
id: 'disabled',
|
|
517
|
-
title: 'Disabled',
|
|
518
|
-
type: 'number',
|
|
519
|
-
value: disabledCount,
|
|
520
|
-
icon: 'lucide:pauseCircle',
|
|
521
|
-
description: 'Currently disabled routes',
|
|
522
|
-
color: disabledCount > 0 ? '#ef4444' : '#6b7280',
|
|
523
|
-
},
|
|
524
|
-
];
|
|
525
482
|
const standardRoutes = mergedRoutes.filter((route) => !route.metadata?.managedRouteKind);
|
|
526
|
-
const
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
case 'system':
|
|
533
|
-
return route.origin !== 'api' || route.metadata?.ownerType === 'system';
|
|
534
|
-
default:
|
|
535
|
-
return true;
|
|
536
|
-
}
|
|
483
|
+
const filteredStandardRoutes = standardRoutes.filter((route) => {
|
|
484
|
+
return routeMatchesOwner(route, this.ownerFilter);
|
|
485
|
+
});
|
|
486
|
+
const filteredSpecialRoutes = mergedRoutes.filter((route) => {
|
|
487
|
+
return route.metadata?.managedRouteKind === letsEncryptHttp01ManagedRouteKind
|
|
488
|
+
&& routeMatchesOwner(route, this.ownerFilter);
|
|
537
489
|
});
|
|
490
|
+
const filteredRedirects = (this.routeState.httpRedirects || []).filter((redirect) => {
|
|
491
|
+
return redirectMatchesOwner(redirect, mergedRoutes, this.ownerFilter);
|
|
492
|
+
});
|
|
493
|
+
const statsTiles = this.getStatsTiles(filteredStandardRoutes, filteredSpecialRoutes, filteredRedirects);
|
|
538
494
|
// Map filtered routes to sz-route-list-view format
|
|
539
|
-
const szRoutes =
|
|
495
|
+
const szRoutes = filteredStandardRoutes.map((mr) => {
|
|
540
496
|
const tags = [...(mr.route.tags || [])];
|
|
541
497
|
tags.push(mr.origin);
|
|
542
498
|
if (!mr.enabled)
|
|
@@ -555,70 +511,244 @@ let OpsViewRoutes = (() => {
|
|
|
555
511
|
<dees-heading level="3">Route Management</dees-heading>
|
|
556
512
|
|
|
557
513
|
<div class="routesContainer">
|
|
558
|
-
<
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
514
|
+
<div class="routeFilters">
|
|
515
|
+
<div class="routeFilter">
|
|
516
|
+
<dees-input-multitoggle
|
|
517
|
+
id="routeTypeFilter"
|
|
518
|
+
.label=${'Type'}
|
|
519
|
+
.options=${routeTypeOptions}
|
|
520
|
+
.value=${this.getSelectedRouteTypeOption()}
|
|
521
|
+
></dees-input-multitoggle>
|
|
522
|
+
</div>
|
|
523
|
+
<div class="routeFilter">
|
|
524
|
+
<dees-input-multitoggle
|
|
525
|
+
id="routeOwnerFilter"
|
|
526
|
+
.label=${'Owner'}
|
|
527
|
+
.options=${routeOwnerOptions}
|
|
528
|
+
.value=${this.getSelectedOwnerOption()}
|
|
529
|
+
></dees-input-multitoggle>
|
|
530
|
+
</div>
|
|
531
|
+
</div>
|
|
562
532
|
|
|
563
|
-
${this.activeSection === 'special'
|
|
564
|
-
? html `<ops-view-special-forwards></ops-view-special-forwards>`
|
|
565
|
-
: this.activeSection === 'redirects'
|
|
566
|
-
? html `<ops-view-redirects .embedded=${true}></ops-view-redirects>`
|
|
567
|
-
: html `
|
|
568
533
|
<dees-statsgrid
|
|
534
|
+
id="routeStats"
|
|
569
535
|
.tiles=${statsTiles}
|
|
570
|
-
.gridActions=${
|
|
571
|
-
{
|
|
572
|
-
name: 'Add Route',
|
|
573
|
-
iconName: 'lucide:plus',
|
|
574
|
-
action: () => this.showCreateRouteDialog(),
|
|
575
|
-
},
|
|
576
|
-
{
|
|
577
|
-
name: 'Refresh',
|
|
578
|
-
iconName: 'lucide:refreshCw',
|
|
579
|
-
action: () => this.refreshData(),
|
|
580
|
-
},
|
|
581
|
-
]}
|
|
536
|
+
.gridActions=${this.getGridActions()}
|
|
582
537
|
></dees-statsgrid>
|
|
583
538
|
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
539
|
+
${this.activeSection === 'all' || this.activeSection === 'standard'
|
|
540
|
+
? html `
|
|
541
|
+
${this.activeSection === 'all'
|
|
542
|
+
? html `<dees-heading level="4">Standard Routes</dees-heading>`
|
|
543
|
+
: ''}
|
|
588
544
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
545
|
+
${warnings.length > 0
|
|
546
|
+
? html `
|
|
547
|
+
<div class="warnings-bar">
|
|
548
|
+
${warnings.map((warning) => html `
|
|
549
|
+
<div class="warning-item">
|
|
550
|
+
<span class="warning-icon">⚠</span>
|
|
551
|
+
<span>${warning.message}</span>
|
|
552
|
+
</div>
|
|
553
|
+
`)}
|
|
596
554
|
</div>
|
|
597
|
-
`
|
|
598
|
-
|
|
599
|
-
`
|
|
600
|
-
: ''}
|
|
555
|
+
`
|
|
556
|
+
: ''}
|
|
601
557
|
|
|
602
|
-
${szRoutes.length > 0
|
|
603
|
-
? html `
|
|
604
558
|
<sz-route-list-view
|
|
605
559
|
.routes=${szRoutes}
|
|
606
560
|
.showActionsFilter=${(route) => this.canEditRoute(route)}
|
|
607
|
-
@route-click=${(
|
|
608
|
-
@route-edit=${(
|
|
609
|
-
@route-delete=${(
|
|
561
|
+
@route-click=${(event) => this.handleRouteClick(event)}
|
|
562
|
+
@route-edit=${(event) => this.handleRouteEdit(event)}
|
|
563
|
+
@route-delete=${(event) => this.handleRouteDelete(event)}
|
|
610
564
|
></sz-route-list-view>
|
|
565
|
+
${szRoutes.length === 0
|
|
566
|
+
? html `
|
|
567
|
+
<div class="empty-state">
|
|
568
|
+
<p>No standard routes match these filters</p>
|
|
569
|
+
<p>Choose another ownership filter or add a User Route.</p>
|
|
570
|
+
</div>
|
|
571
|
+
`
|
|
572
|
+
: ''}
|
|
573
|
+
`
|
|
574
|
+
: ''}
|
|
575
|
+
|
|
576
|
+
${this.activeSection === 'all' || this.activeSection === 'special'
|
|
577
|
+
? html `
|
|
578
|
+
<ops-view-special-forwards
|
|
579
|
+
.embedded=${true}
|
|
580
|
+
.ownerFilter=${this.ownerFilter}
|
|
581
|
+
></ops-view-special-forwards>
|
|
611
582
|
`
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
583
|
+
: ''}
|
|
584
|
+
|
|
585
|
+
${this.activeSection === 'all' || this.activeSection === 'redirects'
|
|
586
|
+
? html `
|
|
587
|
+
<ops-view-redirects
|
|
588
|
+
.embedded=${true}
|
|
589
|
+
.ownerFilter=${this.ownerFilter}
|
|
590
|
+
></ops-view-redirects>
|
|
591
|
+
`
|
|
592
|
+
: ''}
|
|
619
593
|
</div>
|
|
620
594
|
`;
|
|
621
595
|
}
|
|
596
|
+
getStatsTiles(standardRoutes, specialRoutes, redirects) {
|
|
597
|
+
if (this.activeSection === 'all') {
|
|
598
|
+
const disabledCount = [...standardRoutes, ...specialRoutes]
|
|
599
|
+
.filter((route) => !route.enabled).length;
|
|
600
|
+
return [
|
|
601
|
+
{
|
|
602
|
+
id: 'allStandardRoutes',
|
|
603
|
+
title: 'Standard',
|
|
604
|
+
type: 'number',
|
|
605
|
+
value: standardRoutes.length,
|
|
606
|
+
icon: 'lucide:route',
|
|
607
|
+
description: 'Matching standard routes',
|
|
608
|
+
color: '#3b82f6',
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
id: 'allSpecialRoutes',
|
|
612
|
+
title: 'Special',
|
|
613
|
+
type: 'number',
|
|
614
|
+
value: specialRoutes.length,
|
|
615
|
+
icon: 'lucide:wandSparkles',
|
|
616
|
+
description: 'Matching managed special forwards',
|
|
617
|
+
color: '#8b5cf6',
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
id: 'allRedirects',
|
|
621
|
+
title: 'Redirects',
|
|
622
|
+
type: 'number',
|
|
623
|
+
value: redirects.length,
|
|
624
|
+
icon: 'lucide:cornerDownRight',
|
|
625
|
+
description: 'Matching derived redirects',
|
|
626
|
+
color: '#0ea5e9',
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
id: 'allDisabledRoutes',
|
|
630
|
+
title: 'Disabled',
|
|
631
|
+
type: 'number',
|
|
632
|
+
value: disabledCount,
|
|
633
|
+
icon: 'lucide:circlePause',
|
|
634
|
+
description: 'Disabled Standard and Special routes',
|
|
635
|
+
color: disabledCount > 0 ? '#ef4444' : '#6b7280',
|
|
636
|
+
},
|
|
637
|
+
];
|
|
638
|
+
}
|
|
639
|
+
if (this.activeSection === 'redirects') {
|
|
640
|
+
const activeCount = redirects.filter((redirect) => redirect.status === 'active').length;
|
|
641
|
+
const coveredCount = redirects.filter((redirect) => redirect.status === 'covered').length;
|
|
642
|
+
const skippedCount = redirects.filter((redirect) => redirect.status === 'skipped').length;
|
|
643
|
+
return [
|
|
644
|
+
{
|
|
645
|
+
id: 'matchingRedirects',
|
|
646
|
+
title: 'Matching',
|
|
647
|
+
type: 'number',
|
|
648
|
+
value: redirects.length,
|
|
649
|
+
icon: 'lucide:cornerDownRight',
|
|
650
|
+
description: 'Redirects in this owner scope',
|
|
651
|
+
color: '#3b82f6',
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
id: 'activeRedirects',
|
|
655
|
+
title: 'Active',
|
|
656
|
+
type: 'number',
|
|
657
|
+
value: activeCount,
|
|
658
|
+
icon: 'lucide:circleCheck',
|
|
659
|
+
description: 'Generated at runtime',
|
|
660
|
+
color: '#22c55e',
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
id: 'coveredRedirects',
|
|
664
|
+
title: 'Covered',
|
|
665
|
+
type: 'number',
|
|
666
|
+
value: coveredCount,
|
|
667
|
+
icon: 'lucide:shieldCheck',
|
|
668
|
+
description: 'Handled by explicit HTTP routes',
|
|
669
|
+
color: '#8b5cf6',
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
id: 'skippedRedirects',
|
|
673
|
+
title: 'Skipped',
|
|
674
|
+
type: 'number',
|
|
675
|
+
value: skippedCount,
|
|
676
|
+
icon: 'lucide:triangleAlert',
|
|
677
|
+
description: 'Overlaps explicit HTTP routes',
|
|
678
|
+
color: skippedCount > 0 ? '#f59e0b' : '#6b7280',
|
|
679
|
+
},
|
|
680
|
+
];
|
|
681
|
+
}
|
|
682
|
+
const routes = this.activeSection === 'special' ? specialRoutes : standardRoutes;
|
|
683
|
+
const enabledCount = routes.filter((route) => route.enabled).length;
|
|
684
|
+
const disabledCount = routes.length - enabledCount;
|
|
685
|
+
const readOnlyCount = routes.filter((route) => getRouteOwner(route) !== 'operator').length;
|
|
686
|
+
const scopeName = this.activeSection === 'special' ? 'Special' : 'Standard';
|
|
687
|
+
return [
|
|
688
|
+
{
|
|
689
|
+
id: `matching${scopeName}Routes`,
|
|
690
|
+
title: 'Matching',
|
|
691
|
+
type: 'number',
|
|
692
|
+
value: routes.length,
|
|
693
|
+
icon: 'lucide:route',
|
|
694
|
+
description: `${scopeName} routes in this owner scope`,
|
|
695
|
+
color: '#3b82f6',
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
id: `enabled${scopeName}Routes`,
|
|
699
|
+
title: 'Enabled',
|
|
700
|
+
type: 'number',
|
|
701
|
+
value: enabledCount,
|
|
702
|
+
icon: 'lucide:circleCheck',
|
|
703
|
+
description: 'Currently active',
|
|
704
|
+
color: '#22c55e',
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
id: `disabled${scopeName}Routes`,
|
|
708
|
+
title: 'Disabled',
|
|
709
|
+
type: 'number',
|
|
710
|
+
value: disabledCount,
|
|
711
|
+
icon: 'lucide:circlePause',
|
|
712
|
+
description: 'Configured but inactive',
|
|
713
|
+
color: disabledCount > 0 ? '#f59e0b' : '#6b7280',
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
id: `readOnly${scopeName}Routes`,
|
|
717
|
+
title: 'Read-only',
|
|
718
|
+
type: 'number',
|
|
719
|
+
value: readOnlyCount,
|
|
720
|
+
icon: 'lucide:lockKeyhole',
|
|
721
|
+
description: 'Managed by gateway clients or system',
|
|
722
|
+
color: '#8b5cf6',
|
|
723
|
+
},
|
|
724
|
+
];
|
|
725
|
+
}
|
|
726
|
+
getGridActions() {
|
|
727
|
+
const canCreateUserRoutes = this.ownerFilter === 'all' || this.ownerFilter === 'operator';
|
|
728
|
+
return [
|
|
729
|
+
...(canCreateUserRoutes && (this.activeSection === 'standard' || this.activeSection === 'all')
|
|
730
|
+
? [{
|
|
731
|
+
name: 'Add User Route',
|
|
732
|
+
iconName: 'lucide:plus',
|
|
733
|
+
action: () => this.showCreateRouteDialog(),
|
|
734
|
+
}]
|
|
735
|
+
: []),
|
|
736
|
+
...(canCreateUserRoutes && (this.activeSection === 'special' || this.activeSection === 'all')
|
|
737
|
+
? [{
|
|
738
|
+
name: 'Add User Special Forward',
|
|
739
|
+
iconName: 'lucide:wandSparkles',
|
|
740
|
+
action: () => showLetsEncryptHttp01ForwardDialog({
|
|
741
|
+
targets: this.profilesTargetsState.targets,
|
|
742
|
+
}),
|
|
743
|
+
}]
|
|
744
|
+
: []),
|
|
745
|
+
{
|
|
746
|
+
name: 'Refresh',
|
|
747
|
+
iconName: 'lucide:refreshCw',
|
|
748
|
+
action: () => this.refreshData(),
|
|
749
|
+
},
|
|
750
|
+
];
|
|
751
|
+
}
|
|
622
752
|
async handleRouteClick(e) {
|
|
623
753
|
const clickedRoute = e.detail;
|
|
624
754
|
if (!clickedRoute)
|
|
@@ -934,7 +1064,7 @@ let OpsViewRoutes = (() => {
|
|
|
934
1064
|
})),
|
|
935
1065
|
];
|
|
936
1066
|
const createModal = await DeesModal.createAndShow({
|
|
937
|
-
heading: 'Add Route',
|
|
1067
|
+
heading: 'Add User Route',
|
|
938
1068
|
content: html `
|
|
939
1069
|
<dees-form>
|
|
940
1070
|
<dees-input-text .key=${'name'} .label=${'Route Name'} .required=${true}></dees-input-text>
|
|
@@ -1076,29 +1206,56 @@ let OpsViewRoutes = (() => {
|
|
|
1076
1206
|
setupTargetInputState(createForm);
|
|
1077
1207
|
}
|
|
1078
1208
|
}
|
|
1079
|
-
refreshData() {
|
|
1080
|
-
|
|
1209
|
+
async refreshData() {
|
|
1210
|
+
await Promise.all([
|
|
1211
|
+
appstate.routeManagementStatePart.dispatchAction(appstate.fetchMergedRoutesAction, null),
|
|
1212
|
+
appstate.routeManagementStatePart.dispatchAction(appstate.fetchHttpRedirectsAction, null),
|
|
1213
|
+
appstate.profilesTargetsStatePart.dispatchAction(appstate.fetchProfilesAndTargetsAction, null),
|
|
1214
|
+
]);
|
|
1081
1215
|
}
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1216
|
+
getSelectedRouteTypeOption() {
|
|
1217
|
+
switch (this.activeSection) {
|
|
1218
|
+
case 'all':
|
|
1219
|
+
return 'All';
|
|
1220
|
+
case 'redirects':
|
|
1221
|
+
return 'Redirect';
|
|
1222
|
+
case 'special':
|
|
1223
|
+
return 'Special';
|
|
1224
|
+
default:
|
|
1225
|
+
return 'Standard';
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
getSelectedOwnerOption() {
|
|
1229
|
+
switch (this.ownerFilter) {
|
|
1230
|
+
case 'operator':
|
|
1231
|
+
return 'User';
|
|
1232
|
+
case 'gatewayClient':
|
|
1233
|
+
return 'Gateway Client';
|
|
1234
|
+
case 'system':
|
|
1235
|
+
return 'System';
|
|
1236
|
+
default:
|
|
1237
|
+
return 'All';
|
|
1238
|
+
}
|
|
1089
1239
|
}
|
|
1090
|
-
|
|
1091
|
-
const
|
|
1092
|
-
?
|
|
1093
|
-
:
|
|
1094
|
-
?
|
|
1095
|
-
:
|
|
1096
|
-
?
|
|
1097
|
-
:
|
|
1098
|
-
|
|
1240
|
+
handleRouteTypeChange(toggle) {
|
|
1241
|
+
const section = toggle.selectedOption === 'All'
|
|
1242
|
+
? 'all'
|
|
1243
|
+
: toggle.selectedOption === 'Redirect'
|
|
1244
|
+
? 'redirects'
|
|
1245
|
+
: toggle.selectedOption === 'Special'
|
|
1246
|
+
? 'special'
|
|
1247
|
+
: 'standard';
|
|
1248
|
+
this.setRouteView(section);
|
|
1099
1249
|
}
|
|
1100
|
-
|
|
1101
|
-
|
|
1250
|
+
handleRouteOwnerChange(toggle) {
|
|
1251
|
+
const owner = toggle.selectedOption === 'User'
|
|
1252
|
+
? 'operator'
|
|
1253
|
+
: toggle.selectedOption === 'Gateway Client'
|
|
1254
|
+
? 'gatewayClient'
|
|
1255
|
+
: toggle.selectedOption === 'System'
|
|
1256
|
+
? 'system'
|
|
1257
|
+
: 'all';
|
|
1258
|
+
this.setRouteOwnerFilter(owner);
|
|
1102
1259
|
}
|
|
1103
1260
|
setRouteView(section) {
|
|
1104
1261
|
if (this.activeSection === section)
|
|
@@ -1116,7 +1273,9 @@ let OpsViewRoutes = (() => {
|
|
|
1116
1273
|
const params = new URL(window.location.href).searchParams;
|
|
1117
1274
|
const tabParam = params.get('tab');
|
|
1118
1275
|
const ownerParam = params.get('owner');
|
|
1119
|
-
const section = tabParam === '
|
|
1276
|
+
const section = (tabParam === 'all'
|
|
1277
|
+
|| tabParam === 'special'
|
|
1278
|
+
|| tabParam === 'redirects')
|
|
1120
1279
|
? tabParam
|
|
1121
1280
|
: 'standard';
|
|
1122
1281
|
const owner = (ownerParam === 'operator'
|
|
@@ -1167,12 +1326,23 @@ let OpsViewRoutes = (() => {
|
|
|
1167
1326
|
return undefined;
|
|
1168
1327
|
}
|
|
1169
1328
|
isSystemManagedRoute(merged) {
|
|
1170
|
-
return merged
|
|
1171
|
-
|| merged.metadata?.ownerType === 'gatewayClient'
|
|
1329
|
+
return getRouteOwner(merged) !== 'operator'
|
|
1172
1330
|
|| Boolean(merged.metadata?.managedRouteKind);
|
|
1173
1331
|
}
|
|
1174
1332
|
async firstUpdated() {
|
|
1175
|
-
|
|
1333
|
+
const typeToggle = this.shadowRoot?.querySelector('#routeTypeFilter');
|
|
1334
|
+
const ownerToggle = this.shadowRoot?.querySelector('#routeOwnerFilter');
|
|
1335
|
+
if (typeToggle) {
|
|
1336
|
+
this.rxSubscriptions.push(typeToggle.changeSubject.subscribe((toggle) => {
|
|
1337
|
+
this.handleRouteTypeChange(toggle);
|
|
1338
|
+
}));
|
|
1339
|
+
}
|
|
1340
|
+
if (ownerToggle) {
|
|
1341
|
+
this.rxSubscriptions.push(ownerToggle.changeSubject.subscribe((toggle) => {
|
|
1342
|
+
this.handleRouteOwnerChange(toggle);
|
|
1343
|
+
}));
|
|
1344
|
+
}
|
|
1345
|
+
await this.refreshData();
|
|
1176
1346
|
}
|
|
1177
1347
|
static {
|
|
1178
1348
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
@@ -1181,4 +1351,4 @@ let OpsViewRoutes = (() => {
|
|
|
1181
1351
|
return OpsViewRoutes = _classThis;
|
|
1182
1352
|
})();
|
|
1183
1353
|
export { OpsViewRoutes };
|
|
1184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BzLXZpZXctcm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzL25ldHdvcmsvb3BzLXZpZXctcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBdUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sZ0NBQWdDLENBQUM7QUFReEMsT0FBTyxFQUNMLFdBQVcsRUFDWCxHQUFHLEVBQ0gsVUFBVSxFQUNWLGFBQWEsRUFDYixJQUFJLEVBQ0osS0FBSyxHQUVOLE1BQU0sNkJBQTZCLENBQUM7QUFNckMseURBQXlEO0FBQ3pELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsc0NBQXNDLEVBQUU7SUFDL0QsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSx3QkFBd0IsRUFBRTtJQUN4RCxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRTtJQUM3QyxFQUFFLEdBQUcsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUU7Q0FDekUsQ0FBQztBQUNGLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUU7SUFDckQsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRTtDQUNoRCxDQUFDO0FBQ0YsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLGtCQUFr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
|
|
1354
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BzLXZpZXctcm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzL25ldHdvcmsvb3BzLXZpZXctcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFHTixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8seUJBQXlCLENBQUM7QUFDakMsT0FBTyxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixpQkFBaUIsR0FFbEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLGtDQUFrQyxHQUNuQyxNQUFNLDZCQUE2QixDQUFDO0FBUXJDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsR0FBRyxFQUNILFVBQVUsRUFDVixhQUFhLEVBQ2IsSUFBSSxFQUNKLEtBQUssR0FFTixNQUFNLDZCQUE2QixDQUFDO0FBSXJDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNwRSxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUV0RSx5REFBeUQ7QUFDekQsTUFBTSxjQUFjLEdBQUc7SUFDckIsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQ0FBc0MsRUFBRTtJQUMvRCxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFO0lBQ3hELEVBQUUs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
|