2025-01-30 15:58:34 +01:00
|
|
|
import { Table, TableForeignKey } from "typeorm";
|
|
|
|
import { getTypeByORM } from "../ormHelper";
|
|
|
|
|
|
|
|
export const calendar_type_table = new Table({
|
|
|
|
name: "calendar_type",
|
|
|
|
columns: [
|
|
|
|
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
|
|
|
{ name: "type", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
2025-01-31 11:06:02 +01:00
|
|
|
{ name: "nscdr", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
2025-01-30 15:58:34 +01:00
|
|
|
{ name: "color", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
|
|
|
{ name: "passphrase", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
2025-01-31 17:48:20 +01:00
|
|
|
{ name: "externalPrefix", type: getTypeByORM("varchar"), length: "255", isNullable: false, default: "''" },
|
2025-01-31 11:06:02 +01:00
|
|
|
{ name: "sendToWebpage", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
2025-01-30 15:58:34 +01:00
|
|
|
],
|
|
|
|
});
|
|
|
|
|
|
|
|
export const calendar_table = new Table({
|
|
|
|
name: "calendar",
|
|
|
|
columns: [
|
|
|
|
{
|
|
|
|
name: "id",
|
|
|
|
type: getTypeByORM("varchar"),
|
|
|
|
length: "36",
|
|
|
|
isPrimary: true,
|
|
|
|
isGenerated: true,
|
|
|
|
generationStrategy: "uuid",
|
|
|
|
},
|
|
|
|
{ name: "starttime", type: getTypeByORM("datetime"), isNullable: false },
|
|
|
|
{ name: "endtime", type: getTypeByORM("datetime"), isNullable: false },
|
|
|
|
{ name: "title", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
|
|
|
{ name: "content", type: getTypeByORM("text"), isNullable: true },
|
|
|
|
{ name: "allDay", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
|
|
|
{ name: "location", type: getTypeByORM("text"), isNullable: true },
|
|
|
|
{ name: "sequence", type: getTypeByORM("int"), default: 1 },
|
|
|
|
{
|
|
|
|
name: "createdAt",
|
|
|
|
type: getTypeByORM("datetime"),
|
|
|
|
precision: 6,
|
|
|
|
isNullable: false,
|
|
|
|
default: "CURRENT_TIMESTAMP(6)",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "updatedAt",
|
|
|
|
type: getTypeByORM("datetime"),
|
|
|
|
precision: 6,
|
|
|
|
isNullable: false,
|
|
|
|
default: "CURRENT_TIMESTAMP(6)",
|
|
|
|
onUpdate: "CURRENT_TIMESTAMP(6)",
|
|
|
|
},
|
2025-01-31 11:06:02 +01:00
|
|
|
{
|
|
|
|
name: "webpageId",
|
|
|
|
type: getTypeByORM("varchar"),
|
|
|
|
length: "255",
|
|
|
|
isNullable: true,
|
|
|
|
default: null,
|
|
|
|
isUnique: true,
|
|
|
|
},
|
2025-01-30 15:58:34 +01:00
|
|
|
{ name: "typeId", type: getTypeByORM("int"), isNullable: false },
|
|
|
|
],
|
|
|
|
foreignKeys: [
|
|
|
|
new TableForeignKey({
|
|
|
|
columnNames: ["typeId"],
|
|
|
|
referencedColumnNames: ["id"],
|
|
|
|
referencedTableName: "calendar_type",
|
|
|
|
onDelete: "RESTRICT",
|
|
|
|
onUpdate: "RESTRICT",
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
});
|