Jamie Curnow 5e5f0de0e2 - Added upstream objects
- Renamed host templates to nginx templates
- Generate upstream templates
- Better nginx error reporting when reloading
- Use tparse for golang test reporting
2023-01-04 15:53:52 +10:00

123 lines
2.1 KiB
TypeScript

export interface Sort {
field: string;
direction: "ASC" | "DESC";
}
export interface UserAuth {
id: number;
userId: number;
type: string;
createdOn: number;
updatedOn: number;
}
export interface User {
id: number;
name: string;
nickname: string;
email: string;
createdOn: number;
updatedOn: number;
gravatarUrl: string;
isDisabled: boolean;
notifications: Notification[];
capabilities?: string[];
auth?: UserAuth;
}
export interface Notification {
title: string;
seen: boolean;
}
export interface Setting {
id: number;
createdOn: number;
modifiedOn: number;
name: string;
value: any;
}
// TODO: copy pasta not right
export interface Certificate {
id: number;
createdOn: number;
modifiedOn: number;
name: string;
acmeshServer: string;
caBundle: string;
maxDomains: number;
isWildcardSupported: boolean;
isSetup: boolean;
}
export interface CertificateAuthority {
id: number;
createdOn: number;
modifiedOn: number;
name: string;
acmeshServer: string;
caBundle: string;
maxDomains: number;
isWildcardSupported: boolean;
isReadonly: boolean;
}
export interface DNSProvider {
id: number;
createdOn: number;
modifiedOn: number;
userId: number;
name: string;
acmeshName: string;
dnsSleep: number;
meta: any;
}
export interface DNSProvidersAcmeshField {
name: string;
type: string;
metaKey: string;
isRequired: boolean;
isSecret: boolean;
}
export interface DNSProvidersAcmesh {
name: string;
acmeshName: string;
fields: DNSProvidersAcmeshField[];
}
export interface Host {
id: number;
createdOn: number;
modifiedOn: number;
userId: number;
type: string;
nginxTemplateId: number;
listenInterface: number;
domainNames: string[];
upstreamId: number;
certificateId: number;
accessListId: number;
sslForced: boolean;
cachingEnabled: boolean;
blockExploits: boolean;
allowWebsocketUpgrade: boolean;
http2Support: boolean;
hstsEnabled: boolean;
hstsSubdomains: boolean;
paths: string;
advancedConfig: string;
isDisabled: boolean;
}
export interface NginxTemplate {
id: number;
createdOn: number;
modifiedOn: number;
userId: number;
type: string;
template: string;
}