feat: add user submission functionality

This commit is contained in:
2026-07-05 21:45:45 +03:30
parent afb5045cf0
commit 7b44542ce7
48 changed files with 1459 additions and 55 deletions
@@ -6,18 +6,20 @@ import {
Entity,
ManyToOne,
OneToMany,
OneToOne,
PrimaryGeneratedColumn,
} from 'typeorm';
import { SubmissionStatus } from '../enums/submission-status.enum';
import { SubmissionAnswer } from './submission-answer.entity';
import { SubmissionResult } from './submission-result.entity';
@Entity()
export class Submission {
@PrimaryGeneratedColumn()
id!: number;
@ManyToOne(() => User, { nullable: true, onDelete: 'SET NULL' })
user?: User;
@ManyToOne(() => User, { onDelete: 'CASCADE' })
user!: User;
@ManyToOne(() => Test, { onDelete: 'CASCADE' })
test!: Test;
@@ -32,6 +34,9 @@ export class Submission {
@OneToMany(() => SubmissionAnswer, (answer) => answer.submission)
answers!: Array<SubmissionAnswer>;
@OneToOne(() => SubmissionResult, (result) => result.submission)
result?: SubmissionResult;
@CreateDateColumn()
createdAt!: Date;
}