import { Table, TableForeignKey } from "typeorm"; import { getTypeByORM } from "../ormHelper"; export const newsletter_table = new Table({ name: "newsletter", columns: [ { name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" }, { name: "title", type: getTypeByORM("varchar"), length: "255" }, { name: "description", type: getTypeByORM("varchar"), length: "255", default: "''" }, { name: "newsletterTitle", type: getTypeByORM("varchar"), length: "255", default: "''" }, { name: "newsletterText", type: getTypeByORM("text"), default: "''" }, { name: "newsletterSignatur", type: getTypeByORM("varchar"), length: "255", default: "''" }, { name: "isSent", type: getTypeByORM("boolean"), default: false }, { name: "recipientsByQueryId", type: getTypeByORM("int"), isNullable: true }, ], foreignKeys: [ new TableForeignKey({ columnNames: ["recipientsByQueryId"], referencedColumnNames: ["id"], referencedTableName: "query", onDelete: "CASCADE", onUpdate: "RESTRICT", }), ], }); export const newsletter_dates_table = new Table({ name: "newsletter_dates", columns: [ { name: "newsletterId", type: getTypeByORM("int"), isPrimary: true }, { name: "calendarId", type: getTypeByORM("varchar"), length: "255", isPrimary: true }, { name: "diffTitle", type: getTypeByORM("varchar"), length: "255", isNullable: true }, { name: "diffDescription", type: getTypeByORM("text"), isNullable: true }, ], foreignKeys: [ new TableForeignKey({ columnNames: ["newsletterId"], referencedColumnNames: ["id"], referencedTableName: "newsletter", onDelete: "CASCADE", onUpdate: "RESTRICT", }), new TableForeignKey({ columnNames: ["calendarId"], referencedColumnNames: ["id"], referencedTableName: "calendar", onDelete: "RESTRICT", onUpdate: "RESTRICT", }), ], }); export const newsletter_recipients_table = new Table({ name: "newsletter_recipients", columns: [ { name: "newsletterId", type: getTypeByORM("int"), isPrimary: true }, { name: "memberId", type: getTypeByORM("varchar"), isPrimary: true }, ], foreignKeys: [ new TableForeignKey({ columnNames: ["newsletterId"], referencedColumnNames: ["id"], referencedTableName: "newsletter", onDelete: "CASCADE", onUpdate: "RESTRICT", }), new TableForeignKey({ columnNames: ["memberId"], referencedColumnNames: ["id"], referencedTableName: "member", onDelete: "CASCADE", onUpdate: "RESTRICT", }), ], }); export const newsletter_config_table = new Table({ name: "newsletter_config", columns: [ { name: "comTypeId", type: getTypeByORM("int"), isPrimary: true, isNullable: false }, { name: "config", type: getTypeByORM("varchar"), length: "255", isNullable: false }, ], foreignKeys: [ new TableForeignKey({ columnNames: ["comTypeId"], referencedColumnNames: ["id"], referencedTableName: "communication_type", onDelete: "CASCADE", onUpdate: "RESTRICT", }), ], });