refactor(ui): refactor accesses state using zustand store
This commit is contained in:
@@ -1,24 +1,26 @@
|
||||
import dayjs from "dayjs";
|
||||
|
||||
import { type Access } from "@/domain/access";
|
||||
import { type AccessModel } from "@/domain/access";
|
||||
import { getPocketBase } from "./pocketbase";
|
||||
|
||||
const COLLECTION_NAME = "access";
|
||||
|
||||
export const list = async () => {
|
||||
return await getPocketBase().collection("access").getFullList<Access>({
|
||||
return await getPocketBase().collection(COLLECTION_NAME).getFullList<AccessModel>({
|
||||
sort: "-created",
|
||||
filter: "deleted = null",
|
||||
filter: "deleted=null",
|
||||
});
|
||||
};
|
||||
|
||||
export const save = async (record: Access) => {
|
||||
export const save = async (record: AccessModel) => {
|
||||
if (record.id) {
|
||||
return await getPocketBase().collection("access").update(record.id, record);
|
||||
return await getPocketBase().collection(COLLECTION_NAME).update<AccessModel>(record.id, record);
|
||||
}
|
||||
|
||||
return await getPocketBase().collection("access").create(record);
|
||||
return await getPocketBase().collection(COLLECTION_NAME).create<AccessModel>(record);
|
||||
};
|
||||
|
||||
export const remove = async (record: Access) => {
|
||||
record.deleted = dayjs.utc().format("YYYY-MM-DD HH:mm:ss");
|
||||
return await getPocketBase().collection("access").update(record.id, record);
|
||||
export const remove = async (record: AccessModel) => {
|
||||
record = { ...record, deleted: dayjs.utc().format("YYYY-MM-DD HH:mm:ss") };
|
||||
await getPocketBase().collection(COLLECTION_NAME).update<AccessModel>(record.id, record);
|
||||
};
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import dayjs from "dayjs";
|
||||
import { type RecordListOptions } from "pocketbase";
|
||||
|
||||
import { type Certificate } from "@/domain/certificate";
|
||||
import { type CertificateModel } from "@/domain/certificate";
|
||||
import { getPocketBase } from "./pocketbase";
|
||||
|
||||
const COLLECTION_NAME = "certificate";
|
||||
|
||||
export type CertificateListReq = {
|
||||
page?: number;
|
||||
perPage?: number;
|
||||
@@ -31,5 +33,5 @@ export const list = async (req: CertificateListReq) => {
|
||||
});
|
||||
}
|
||||
|
||||
return pb.collection("certificate").getList<Certificate>(page, perPage, options);
|
||||
return pb.collection(COLLECTION_NAME).getList<CertificateModel>(page, perPage, options);
|
||||
};
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
import { Settings } from "@/domain/settings";
|
||||
import { SettingsModel } from "@/domain/settings";
|
||||
import { getPocketBase } from "./pocketbase";
|
||||
|
||||
export const get = async <T>(name: string) => {
|
||||
try {
|
||||
const resp = await getPocketBase().collection("settings").getFirstListItem<Settings<T>>(`name='${name}'`);
|
||||
const resp = await getPocketBase().collection("settings").getFirstListItem<SettingsModel<T>>(`name='${name}'`);
|
||||
return resp;
|
||||
} catch {
|
||||
return {
|
||||
name: name,
|
||||
content: {} as T,
|
||||
} as Settings<T>;
|
||||
} as SettingsModel<T>;
|
||||
}
|
||||
};
|
||||
|
||||
export const save = async <T>(record: Settings<T>) => {
|
||||
export const save = async <T>(record: SettingsModel<T>) => {
|
||||
if (record.id) {
|
||||
return await getPocketBase().collection("settings").update<Settings<T>>(record.id, record);
|
||||
return await getPocketBase().collection("settings").update<SettingsModel<T>>(record.id, record);
|
||||
}
|
||||
|
||||
return await getPocketBase().collection("settings").create<Settings<T>>(record);
|
||||
return await getPocketBase().collection("settings").create<SettingsModel<T>>(record);
|
||||
};
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import { type RecordListOptions } from "pocketbase";
|
||||
|
||||
import { type Workflow, type WorkflowNode, type WorkflowRunLog } from "@/domain/workflow";
|
||||
import { type WorkflowModel, type WorkflowNode, type WorkflowRunLog } from "@/domain/workflow";
|
||||
import { getPocketBase } from "./pocketbase";
|
||||
|
||||
const COLLECTION_NAME = "workflow";
|
||||
|
||||
export type WorkflowListReq = {
|
||||
page?: number;
|
||||
perPage?: number;
|
||||
@@ -20,25 +22,25 @@ export const list = async (req: WorkflowListReq) => {
|
||||
options.filter = pb.filter("enabled={:enabled}", { enabled: req.enabled });
|
||||
}
|
||||
|
||||
return await pb.collection("workflow").getList<Workflow>(page, perPage, options);
|
||||
return await pb.collection(COLLECTION_NAME).getList<WorkflowModel>(page, perPage, options);
|
||||
};
|
||||
|
||||
export const get = async (id: string) => {
|
||||
return await getPocketBase().collection("workflow").getOne<Workflow>(id);
|
||||
return await getPocketBase().collection(COLLECTION_NAME).getOne<WorkflowModel>(id);
|
||||
};
|
||||
|
||||
export const save = async (record: Record<string, string | boolean | WorkflowNode>) => {
|
||||
if (record.id) {
|
||||
return await getPocketBase()
|
||||
.collection("workflow")
|
||||
.update<Workflow>(record.id as string, record);
|
||||
.collection(COLLECTION_NAME)
|
||||
.update<WorkflowModel>(record.id as string, record);
|
||||
}
|
||||
|
||||
return await getPocketBase().collection("workflow").create<Workflow>(record);
|
||||
return await getPocketBase().collection(COLLECTION_NAME).create<WorkflowModel>(record);
|
||||
};
|
||||
|
||||
export const remove = async (record: Workflow) => {
|
||||
return await getPocketBase().collection("workflow").delete(record.id);
|
||||
export const remove = async (record: WorkflowModel) => {
|
||||
await getPocketBase().collection(COLLECTION_NAME).delete(record.id);
|
||||
};
|
||||
|
||||
type WorkflowLogsReq = {
|
||||
|
||||
Reference in New Issue
Block a user