diff --git a/data-source.ts b/data-source.ts index 3d70779..378a15b 100644 --- a/data-source.ts +++ b/data-source.ts @@ -5,7 +5,7 @@ export const AppDataSource = new DataSource({ type: 'sqlite', database: resolve('./db/autobaan_db'), logging: true, - entities: [resolve('./src/reservations/entity.ts')], + entities: [resolve('./src/**/entity.ts')], migrations: [resolve('./database/migrations/*.ts')], subscribers: [], }) diff --git a/database/migrations/1688027875660-recurringReservations.ts b/database/migrations/1688027875660-recurringReservations.ts new file mode 100644 index 0000000..e82cdad --- /dev/null +++ b/database/migrations/1688027875660-recurringReservations.ts @@ -0,0 +1,15 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class RecurringReservations1688027875660 implements MigrationInterface { + name = 'RecurringReservations1688027875660' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE "recurring_reservations" ("id" varchar PRIMARY KEY NOT NULL, "username" varchar(64) NOT NULL, "password" varchar(255) NOT NULL, "dayOfWeek" integer NOT NULL, "timeStart" varchar(6) NOT NULL, "timeEnd" varchar(6) NOT NULL, "opponentId" varchar(32) NOT NULL, "opponentName" varchar(255) NOT NULL)`, + ) + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE "recurring_reservations"`) + } +} diff --git a/src/recurringReservations/entity.ts b/src/recurringReservations/entity.ts index 675ed9e..1bbe0cb 100644 --- a/src/recurringReservations/entity.ts +++ b/src/recurringReservations/entity.ts @@ -1,4 +1,5 @@ import { Exclude, Transform } from 'class-transformer' +import { IsEnum } from 'class-validator' import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm' import dayjs from '../common/dayjs' @@ -28,10 +29,8 @@ export class RecurringReservation { @Column('varchar', { length: 255, nullable: false }) password: string - @Column('enum', { - nullable: false, - enum: DayOfWeek, - }) + @Column('int', { nullable: false }) + @IsEnum(DayOfWeek) dayOfWeek: DayOfWeek @Column('varchar', { length: 6, nullable: false })