40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
import './sz-stat-card.js';
|
|
declare global {
|
|
interface HTMLElementTagNameMap {
|
|
'sz-network-proxy-view': SzNetworkProxyView;
|
|
}
|
|
}
|
|
export interface ITrafficTarget {
|
|
type: 'service' | 'registry' | 'platform';
|
|
name: string;
|
|
domain: string | null;
|
|
target: string;
|
|
status: 'running' | 'stopped';
|
|
}
|
|
export interface IAccessLogEntry {
|
|
timestamp: string;
|
|
method: string;
|
|
path: string;
|
|
status: number;
|
|
duration: number;
|
|
ip: string;
|
|
}
|
|
export declare class SzNetworkProxyView extends DeesElement {
|
|
static demo: () => TemplateResult<1>;
|
|
accessor proxyStatus: 'running' | 'stopped';
|
|
accessor routeCount: string;
|
|
accessor certificateCount: string;
|
|
accessor targetCount: string;
|
|
accessor targets: ITrafficTarget[];
|
|
accessor logs: IAccessLogEntry[];
|
|
accessor streaming: boolean;
|
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
render(): TemplateResult;
|
|
private getStatusClass;
|
|
private handleRefresh;
|
|
private handleTargetClick;
|
|
private toggleStreaming;
|
|
private handleClearLogs;
|
|
}
|