From 9ab476bbbd348342d789fa5466d7b81510fb7735 Mon Sep 17 00:00:00 2001 From: legonzaur Date: Sat, 11 Jan 2025 10:25:29 +0100 Subject: [PATCH] idk what this is --- src/app.module.ts | 2 ++ src/concept/entities/concept.entity.ts | 16 ++++++++++++++- src/concept/entities/concepttype.entity.ts | 24 ++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/concept/entities/concepttype.entity.ts diff --git a/src/app.module.ts b/src/app.module.ts index b0540e3..635da88 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -16,6 +16,7 @@ import { Message } from './games/entities/message.entity'; import { LobbyModule } from './lobby/lobby.module'; import { Concept } from './concept/entities/concept.entity'; import { ConceptModule } from './concept/concept.module'; +import { ConceptType } from './concept/entities/concepttype.entity'; const configService = new ConfigService(); @@ -40,6 +41,7 @@ const configService = new ConfigService(); Game, Message, Concept, + ConceptType, ConceptInTurn, Topic, Word, diff --git a/src/concept/entities/concept.entity.ts b/src/concept/entities/concept.entity.ts index 29cfd97..4597a1c 100644 --- a/src/concept/entities/concept.entity.ts +++ b/src/concept/entities/concept.entity.ts @@ -1,4 +1,11 @@ -import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm'; +import { + Column, + Entity, + ManyToOne, + PrimaryGeneratedColumn, + Unique, +} from 'typeorm'; +import { ConceptType } from './concepttype.entity'; @Entity() @Unique(['value']) @@ -11,4 +18,11 @@ export class Concept { @Column({ default: false }) enabled: boolean; + + @ManyToOne(() => ConceptType, { + eager: true, + nullable: true, + onDelete: 'CASCADE', + }) + type: ConceptType; } diff --git a/src/concept/entities/concepttype.entity.ts b/src/concept/entities/concepttype.entity.ts new file mode 100644 index 0000000..b0df66b --- /dev/null +++ b/src/concept/entities/concepttype.entity.ts @@ -0,0 +1,24 @@ +import { + Column, + Entity, + OneToMany, + PrimaryGeneratedColumn, + Unique, +} from 'typeorm'; +import { Concept } from './concept.entity'; + +@Entity() +@Unique(['value']) +export class ConceptType { + @PrimaryGeneratedColumn() + id: number; + + @Column() + value: string; + + @OneToMany(() => Concept, (concept) => concept.type, { + lazy: true, + orphanedRowAction: 'delete', + }) + concepts: Promise; +}