kanban-dev-webapp/scripts/plan-schema.ts

25 lines
696 B
TypeScript
Raw Normal View History

import type PocketBase from "pocketbase";
/** Add the optional JSON field used by the collaborative project planner. */
export async function ensureProjectPlanDataField(pb: PocketBase): Promise<boolean> {
const projects = await pb.collections.getOne("projects");
if (projects.fields.some((field: { name: string }) => field.name === "plan_data")) {
return false;
}
await pb.collections.update(projects.id, {
fields: [
...(projects.fields as unknown[]),
{
name: "plan_data",
type: "json",
required: false,
maxSize: 400_000,
presentable: false,
hidden: false,
system: false,
},
],
});
return true;
}