41 lines
768 B
TypeScript
41 lines
768 B
TypeScript
import {
|
|
Entity,
|
|
Column,
|
|
PrimaryGeneratedColumn,
|
|
OneToMany,
|
|
Generated,
|
|
Unique,
|
|
} from 'typeorm';
|
|
import { Question } from './question.entity';
|
|
import { InviteCode } from './inviteCode.entity';
|
|
|
|
@Entity()
|
|
@Unique(['editCode'])
|
|
export class Poll {
|
|
@PrimaryGeneratedColumn({})
|
|
id: number;
|
|
|
|
@Column({ default: 'Sondage' })
|
|
name: string;
|
|
|
|
@Column({ nullable: true })
|
|
description: string;
|
|
|
|
@Column()
|
|
@Generated('uuid')
|
|
publicCode: string;
|
|
|
|
@Column()
|
|
@Generated('uuid')
|
|
editCode: string;
|
|
|
|
@Column({ default: false })
|
|
published: boolean;
|
|
|
|
@OneToMany(() => InviteCode, (code) => code.poll, { cascade: true })
|
|
codes: InviteCode;
|
|
|
|
@OneToMany(() => Question, (question) => question.poll, { cascade: true })
|
|
questions: Question[];
|
|
}
|