24 lines
696 B
TypeScript
24 lines
696 B
TypeScript
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;
|
|
}
|