Files
certimate/ui/src/repository/access.ts
2025-01-03 22:20:34 +08:00

34 lines
1.2 KiB
TypeScript

import dayjs from "dayjs";
import { type AccessModel } from "@/domain/access";
import { getPocketBase } from "./pocketbase";
const COLLECTION_NAME = "access";
export const list = async () => {
return await getPocketBase().collection(COLLECTION_NAME).getFullList<AccessModel>({
filter: "deleted=null",
sort: "-created",
requestKey: null,
});
};
export const save = async (record: MaybeModelRecord<AccessModel>) => {
if (record.id) {
return await getPocketBase().collection(COLLECTION_NAME).update<AccessModel>(record.id, record);
}
return await getPocketBase().collection(COLLECTION_NAME).create<AccessModel>(record);
};
export const remove = async (record: MaybeModelRecordWithId<AccessModel>) => {
record = { ...record, deleted: dayjs.utc().format("YYYY-MM-DD HH:mm:ss") };
// TODO: 仅为兼容旧版本,后续迭代时删除
if ("provider" in record && record.provider === "httpreq") record.provider = "acmehttpreq";
if ("provider" in record && record.provider === "tencent") record.provider = "tencentcloud";
if ("provider" in record && record.provider === "pdns") record.provider = "powerdns";
await getPocketBase().collection(COLLECTION_NAME).update<AccessModel>(record.id!, record);
};