mirror of https://github.com/halo-dev/halo-admin
193 lines
3.5 KiB
TypeScript
193 lines
3.5 KiB
TypeScript
import type { Plugin as PluginModule } from "@halo-dev/admin-shared";
|
|
import type { FormKitSchemaCondition, FormKitSchemaNode } from "@formkit/core";
|
|
|
|
export interface License {
|
|
name?: string;
|
|
url?: string;
|
|
}
|
|
|
|
export interface Metadata {
|
|
name: string;
|
|
labels?: {
|
|
[key: string]: string | null;
|
|
} | null;
|
|
annotations?: {
|
|
[key: string]: string | null;
|
|
} | null;
|
|
version?: number | null;
|
|
creationTimestamp?: string | null;
|
|
deletionTimestamp?: string | null;
|
|
}
|
|
|
|
export interface Plugin {
|
|
spec: PluginSpec;
|
|
status?: PluginStatus;
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
extensions: Extension[];
|
|
}
|
|
|
|
export interface Extension {
|
|
name: string;
|
|
fields: string[];
|
|
}
|
|
|
|
export interface PluginSpec {
|
|
displayName?: string;
|
|
version?: string;
|
|
author?: string;
|
|
logo?: string;
|
|
pluginDependencies?: {
|
|
[key: string]: string;
|
|
};
|
|
homepage?: string;
|
|
description?: string;
|
|
license?: License[];
|
|
requires?: string;
|
|
pluginClass?: string;
|
|
enabled?: boolean;
|
|
module?: PluginModule;
|
|
settingName?: string;
|
|
configMapName?: string;
|
|
}
|
|
|
|
export interface PluginStatus {
|
|
phase?:
|
|
| "CREATED"
|
|
| "DISABLED"
|
|
| "RESOLVED"
|
|
| "STARTED"
|
|
| "STOPPED"
|
|
| "FAILED";
|
|
reason?: string;
|
|
message?: string;
|
|
lastStartTime?: string;
|
|
lastTransitionTime?: string;
|
|
entry?: string;
|
|
stylesheet?: string;
|
|
}
|
|
|
|
export interface PersonalAccessToken {
|
|
spec?: PersonalAccessTokenSpec;
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
}
|
|
|
|
export interface PersonalAccessTokenSpec {
|
|
userName?: string;
|
|
displayName?: string;
|
|
revoked?: boolean;
|
|
expiresAt?: string;
|
|
scopes?: string;
|
|
tokenDigest?: string;
|
|
}
|
|
|
|
export interface RoleBinding {
|
|
subjects?: Subject[];
|
|
roleRef?: RoleRef;
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
}
|
|
|
|
export interface RoleRef {
|
|
kind?: string;
|
|
name?: string;
|
|
apiGroup?: string;
|
|
}
|
|
|
|
export interface Subject {
|
|
kind?: string;
|
|
name?: string;
|
|
apiGroup?: string;
|
|
}
|
|
|
|
export interface PolicyRule {
|
|
apiGroups?: string[];
|
|
resources?: string[];
|
|
resourceNames?: string[];
|
|
nonResourceURLs?: string[];
|
|
verbs?: string[];
|
|
pluginName?: string;
|
|
}
|
|
|
|
export interface Role {
|
|
rules?: PolicyRule[];
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
}
|
|
|
|
export interface LoginHistory {
|
|
loginAt: string;
|
|
sourceIp: string;
|
|
userAgent: string;
|
|
successful: boolean;
|
|
reason?: string;
|
|
}
|
|
|
|
export interface User {
|
|
spec: UserSpec;
|
|
status?: UserStatus;
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
}
|
|
|
|
export interface UserSpec {
|
|
displayName: string;
|
|
avatar?: string;
|
|
email: string;
|
|
phone?: string;
|
|
password?: string;
|
|
bio?: string;
|
|
registeredAt?: string;
|
|
twoFactorAuthEnabled?: boolean;
|
|
disabled?: boolean;
|
|
loginHistoryLimit?: number;
|
|
}
|
|
|
|
export interface UserStatus {
|
|
lastLoginAt?: string;
|
|
loginHistories?: LoginHistory[];
|
|
}
|
|
|
|
export interface FileReverseProxyProvider {
|
|
directory?: string;
|
|
filename?: string;
|
|
}
|
|
|
|
export interface ReverseProxy {
|
|
rules?: ReverseProxyRule[];
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
}
|
|
|
|
export interface ReverseProxyRule {
|
|
path?: string;
|
|
file?: FileReverseProxyProvider;
|
|
}
|
|
|
|
export interface Setting {
|
|
spec: SettingSpec[];
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
}
|
|
|
|
export interface SettingSpec {
|
|
group: string;
|
|
label: string;
|
|
formSchema: FormKitSchemaCondition | FormKitSchemaNode[];
|
|
}
|
|
|
|
export interface ConfigMap {
|
|
data: Record<string, string>;
|
|
apiVersion: string;
|
|
kind: string;
|
|
metadata: Metadata;
|
|
}
|