improve multi language

This commit is contained in:
yoan
2024-11-23 12:55:31 +08:00
parent 47050769fc
commit 37df882ed3
22 changed files with 291 additions and 105 deletions

View File

@@ -1,9 +1,12 @@
import { Certificate } from "@/domain/certificate";
import { getPb } from "./api";
import { RecordListOptions } from "pocketbase";
import { getTimeAfter } from "@/lib/time";
type CertificateListReq = {
page?: number;
perPage?: number;
state?: string;
};
export const list = async (req: CertificateListReq) => {
@@ -19,10 +22,22 @@ export const list = async (req: CertificateListReq) => {
perPage = req.perPage;
}
const response = pb.collection("certificate").getList<Certificate>(page, perPage, {
const options: RecordListOptions = {
sort: "-created",
expand: "workflow",
});
};
if (req.state === "expireSoon") {
options.filter = pb.filter("expireAt<{:expiredAt}", {
expiredAt: getTimeAfter(15),
});
} else if (req.state === "expired") {
options.filter = pb.filter("expireAt<={:expiredAt}", {
expiredAt: new Date(),
});
}
const response = pb.collection("certificate").getList<Certificate>(page, perPage, options);
return response;
};

View File

@@ -1,5 +1,6 @@
import { Workflow, WorkflowNode, WorkflowRunLog } from "@/domain/workflow";
import { getPb } from "./api";
import { RecordListOptions } from "pocketbase";
export const get = async (id: string) => {
const response = await getPb().collection("workflow").getOne<Workflow>(id);
@@ -15,9 +16,10 @@ export const save = async (data: Record<string, string | boolean | WorkflowNode>
return await getPb().collection("workflow").create<Workflow>(data);
};
type WorkflowListReq = {
export type WorkflowListReq = {
page: number;
perPage?: number;
enabled?: boolean;
};
export const list = async (req: WorkflowListReq) => {
let page = 1;
@@ -29,9 +31,17 @@ export const list = async (req: WorkflowListReq) => {
perPage = req.perPage;
}
const response = await getPb().collection("workflow").getList<Workflow>(page, perPage, {
const options: RecordListOptions = {
sort: "-created",
});
};
if (req.enabled !== undefined) {
options.filter = getPb().filter("enabled={:enabled}", {
enabled: req.enabled,
});
}
const response = await getPb().collection("workflow").getList<Workflow>(page, perPage, options);
return response;
};