system: information panel and event log; about: download this build's source
System page laid out after 3CX's admin dashboard: a System information panel (version, host name, company, public IP, LAN IPs, ports, telephony, restart needed, copy buttons, how to restart) and an Event log panel (system_events, 90 days: trunk down/up, Asterisk down/up, restart needed, config failed, 911, public IP changed, backups, disk) with Load more and a CSV download. About (/about, no sign-in, linked from the login page, My phone and System): AGPL-3.0 notice, credits, the repository link, and "Code v<version>", which downloads selfphone.tar.gz: the api image now tars its own build context (no .env, data, node_modules, build output or .git) before installing anything. Task: M11-T7
This commit is contained in:
1 parent
a6ba61756c
commit
0ff0f9292b
29 files changed
+5035
-79
No files matched your search
@@ -110,3 +110,35 @@ export type BackupDto = { name: string; size: number; createdAt: string };
|
||||
/** GET /api/system/tls: the SIP TLS certificate in data/tls (M11-T2). */
|
||||
export type TlsCert =
|
||||
{ ok: true; subject: string; names: string[]; notAfter: string } | { ok: false; error: string };
|
||||
|
||||
/** GET /api/system/status: the System page's "System information" (05 §2). */
|
||||
export type SystemStatus = {
|
||||
version: string;
|
||||
hostname: string;
|
||||
companyName: string;
|
||||
publicIp: string | null;
|
||||
/** Re-checked every 5 minutes (network.publicIpWatch). */
|
||||
publicIpDynamic: boolean;
|
||||
lanIps: string[];
|
||||
ports: { sip: number; sipTcp: boolean; sips: number | null; rtp: string; https: number };
|
||||
ami: { connected: boolean };
|
||||
restartRequired: boolean;
|
||||
};
|
||||
|
||||
/** GET /api/system/events: the System page's event log, newest first. */
|
||||
export type SystemEventDto = {
|
||||
id: number;
|
||||
createdAt: string;
|
||||
severity: 'info' | 'warning' | 'error';
|
||||
code: string;
|
||||
source: string;
|
||||
message: string;
|
||||
};
|
||||
|
||||
/** GET /api/about (no sign-in): what runs here and where its source is (AGPL, 08 §4). */
|
||||
export type AboutDto = {
|
||||
version: string;
|
||||
repoUrl: string;
|
||||
/** The source this build was made from (selfphone.tar.gz); null outside a Docker build. */
|
||||
source: { bytes: number; builtAt: string } | null;
|
||||
};
|
||||
Reference in new issue
Block a user