refactor(ui): refactor accesses state using zustand store
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { z } from "zod";
|
||||
import { type BaseModel } from "pocketbase";
|
||||
|
||||
type AccessUsages = "apply" | "deploy" | "all";
|
||||
|
||||
@@ -59,8 +60,7 @@ export const accessTypeFormSchema = z.union(
|
||||
{ message: "access.authorization.form.type.placeholder" }
|
||||
);
|
||||
|
||||
export type Access = {
|
||||
id: string;
|
||||
export interface AccessModel extends BaseModel {
|
||||
name: string;
|
||||
configType: string;
|
||||
usage: AccessUsages;
|
||||
@@ -83,10 +83,7 @@ export type Access = {
|
||||
| KubernetesConfig
|
||||
| VolcengineConfig
|
||||
| ByteplusConfig;
|
||||
deleted?: string;
|
||||
created?: string;
|
||||
updated?: string;
|
||||
};
|
||||
}
|
||||
|
||||
export type AliyunConfig = {
|
||||
accessKeyId: string;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { Workflow } from "./workflow";
|
||||
import { type BaseModel } from "pocketbase";
|
||||
|
||||
export type Certificate = {
|
||||
id: string;
|
||||
import { WorkflowModel } from "./workflow";
|
||||
|
||||
export interface CertificateModel extends BaseModel {
|
||||
san: string;
|
||||
certificate: string;
|
||||
privateKey: string;
|
||||
@@ -12,10 +13,7 @@ export type Certificate = {
|
||||
expireAt: string;
|
||||
workflow: string;
|
||||
nodeId: string;
|
||||
created: string;
|
||||
updated: string;
|
||||
|
||||
expand: {
|
||||
workflow?: Workflow;
|
||||
workflow?: WorkflowModel;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -56,16 +56,6 @@ export type ApplyConfig = {
|
||||
disableFollowCNAME?: boolean;
|
||||
};
|
||||
|
||||
export type Statistic = {
|
||||
certificateTotal: number;
|
||||
certificateExpired: number;
|
||||
certificateExpireSoon: number;
|
||||
|
||||
workflowTotal: number;
|
||||
workflowEnabled: number;
|
||||
workflowDisabled: number;
|
||||
};
|
||||
|
||||
export type DeployTarget = {
|
||||
type: string;
|
||||
provider: string;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { type BaseModel } from "pocketbase";
|
||||
|
||||
export interface Settings<T> extends BaseModel {
|
||||
export interface SettingsModel<T> extends BaseModel {
|
||||
name: string;
|
||||
content: T;
|
||||
}
|
||||
|
||||
8
ui/src/domain/statistics.ts
Normal file
8
ui/src/domain/statistics.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
export type Statistics = {
|
||||
certificateTotal: number;
|
||||
certificateExpired: number;
|
||||
certificateExpireSoon: number;
|
||||
workflowTotal: number;
|
||||
workflowEnabled: number;
|
||||
workflowDisabled: number;
|
||||
};
|
||||
@@ -1,5 +1,6 @@
|
||||
import { produce } from "immer";
|
||||
import { nanoid } from "nanoid";
|
||||
import { type BaseModel } from "pocketbase";
|
||||
|
||||
import i18n from "@/i18n";
|
||||
import { deployTargets, KVType } from "./domain";
|
||||
@@ -27,8 +28,7 @@ export type WorkflowOutput = {
|
||||
error: string;
|
||||
};
|
||||
|
||||
export type Workflow = {
|
||||
id: string;
|
||||
export interface WorkflowModel extends BaseModel {
|
||||
name: string;
|
||||
description?: string;
|
||||
type: string;
|
||||
@@ -37,9 +37,7 @@ export type Workflow = {
|
||||
draft?: WorkflowNode;
|
||||
enabled?: boolean;
|
||||
hasDraft?: boolean;
|
||||
created?: string;
|
||||
updated?: string;
|
||||
};
|
||||
}
|
||||
|
||||
export enum WorkflowNodeType {
|
||||
Start = "start",
|
||||
@@ -131,7 +129,7 @@ type NewWorkflowNodeOptions = {
|
||||
providerType?: string;
|
||||
};
|
||||
|
||||
export const initWorkflow = (): Workflow => {
|
||||
export const initWorkflow = (): WorkflowModel => {
|
||||
// 开始节点
|
||||
const rs = newWorkflowNode(WorkflowNodeType.Start, {});
|
||||
let root = rs;
|
||||
|
||||
Reference in New Issue
Block a user