feat: migrate pocketbase to v0.23

This commit is contained in:
Fu Diwei
2025-01-18 05:22:18 +08:00
parent 1568e5a2a7
commit 32f9c95dd0
46 changed files with 632 additions and 674 deletions

View File

@@ -1,8 +1,5 @@
import PocketBase from "pocketbase";
const apiDomain = import.meta.env.VITE_API_DOMAIN;
console.log("VITE_API_DOMAIN:", apiDomain);
let pb: PocketBase;
export const getPocketBase = () => {
if (pb) return pb;

View File

@@ -1,7 +1,7 @@
import dayjs from "dayjs";
import { type AccessModel } from "@/domain/access";
import { getPocketBase } from "./pocketbase";
import { getPocketBase } from "./_pocketbase";
const COLLECTION_NAME = "access";
@@ -22,13 +22,8 @@ export const save = async (record: MaybeModelRecord<AccessModel>) => {
};
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);
await getPocketBase()
.collection(COLLECTION_NAME)
.update<AccessModel>(record.id!, { deleted: dayjs.utc().format("YYYY-MM-DD HH:mm:ss") });
return true;
};

View File

@@ -0,0 +1,17 @@
import { getPocketBase } from "./_pocketbase";
const COLLECTION_NAME = "_superusers";
export const authWithPassword = (username: string, password: string) => {
return getPocketBase().collection(COLLECTION_NAME).authWithPassword(username, password);
};
export const getAuthStore = () => {
return getPocketBase().authStore;
};
export const save = (data: { email: string } | { password: string }) => {
return getPocketBase()
.collection(COLLECTION_NAME)
.update(getAuthStore().record?.id || "", data);
};

View File

@@ -2,7 +2,7 @@ import dayjs from "dayjs";
import { type RecordListOptions } from "pocketbase";
import { type CertificateModel } from "@/domain/certificate";
import { getPocketBase } from "./pocketbase";
import { getPocketBase } from "./_pocketbase";
const COLLECTION_NAME = "certificate";
@@ -39,8 +39,8 @@ export const list = async (request: ListCertificateRequest) => {
};
export const remove = async (record: MaybeModelRecordWithId<CertificateModel>) => {
record = { ...record, deleted: dayjs.utc().format("YYYY-MM-DD HH:mm:ss") };
await getPocketBase().collection(COLLECTION_NAME).update<CertificateModel>(record.id!, record);
await getPocketBase()
.collection(COLLECTION_NAME)
.update<CertificateModel>(record.id!, { deleted: dayjs.utc().format("YYYY-MM-DD HH:mm:ss") });
return true;
};

View File

@@ -1,7 +1,7 @@
import { ClientResponseError } from "pocketbase";
import { type SettingsModel, type SettingsNames } from "@/domain/settings";
import { getPocketBase } from "./pocketbase";
import { getPocketBase } from "./_pocketbase";
export const get = async <T extends NonNullable<unknown>>(name: SettingsNames) => {
try {

View File

@@ -1,7 +1,7 @@
import { type RecordListOptions, type RecordSubscription } from "pocketbase";
import { type WorkflowModel } from "@/domain/workflow";
import { getPocketBase } from "./pocketbase";
import { getPocketBase } from "./_pocketbase";
const COLLECTION_NAME = "workflow";

View File

@@ -1,6 +1,6 @@
import { type WorkflowRunModel } from "@/domain/workflowRun";
import { getPocketBase } from "./pocketbase";
import { getPocketBase } from "./_pocketbase";
const COLLECTION_NAME = "workflow_run";