ff-admin-server/src/migrations/baseSchemaTables/calendar.ts

53 lines
2.1 KiB
TypeScript
Raw Normal View History

2025-06-07 15:20:20 +02:00
import { Table, TableForeignKey, TableUnique } from "typeorm";
import { getDefaultByORM, getTypeByORM, isIncrementPrimary, isUUIDPrimary } from "../ormHelper";
2025-01-30 15:58:34 +01:00
export const calendar_type_table = new Table({
name: "calendar_type",
columns: [
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
{ name: "type", ...getTypeByORM("varchar"), isUnique: true },
{ name: "nscdr", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
{ name: "color", ...getTypeByORM("varchar") },
{ name: "passphrase", ...getTypeByORM("varchar", true) },
{ name: "externalPrefix", ...getTypeByORM("varchar"), default: getDefaultByORM("string") },
{ name: "sendToWebpage", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
2025-01-30 15:58:34 +01:00
],
});
export const calendar_table = new Table({
name: "calendar",
columns: [
{ name: "id", ...getTypeByORM("uuid"), ...isUUIDPrimary },
{ name: "starttime", ...getTypeByORM("datetime", false, 6) },
{ name: "endtime", ...getTypeByORM("datetime", false, 6) },
{ name: "title", ...getTypeByORM("varchar") },
{ name: "content", ...getTypeByORM("text", true) },
{ name: "allDay", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
{ name: "location", ...getTypeByORM("text", true) },
{ name: "sequence", ...getTypeByORM("int"), default: getDefaultByORM("number", 1) },
{ name: "createdAt", ...getTypeByORM("datetime", false, 6), default: getDefaultByORM("currentTimestamp", 6) },
2025-01-30 15:58:34 +01:00
{
name: "updatedAt",
...getTypeByORM("datetime", false, 6),
default: getDefaultByORM("currentTimestamp", 6),
onUpdate: getDefaultByORM<string>("currentTimestamp", 6),
2025-01-31 11:06:02 +01:00
},
2025-06-07 15:20:20 +02:00
{ name: "webpageId", ...getTypeByORM("varchar", true) },
{ name: "typeId", ...getTypeByORM("int") },
2025-01-30 15:58:34 +01:00
],
foreignKeys: [
new TableForeignKey({
columnNames: ["typeId"],
referencedColumnNames: ["id"],
referencedTableName: "calendar_type",
onDelete: "RESTRICT",
onUpdate: "RESTRICT",
}),
],
2025-06-07 15:20:20 +02:00
uniques: [
new TableUnique({
columnNames: ["webpageId"],
}),
],
2025-01-30 15:58:34 +01:00
});