src/entity/course.entity.ts
Properties |
Methods |
courseStatus |
Type : CourseStatus
|
Decorators :
@ManyToOne(undefined, undefined, {onDelete: 'CASCADE', onUpdate: 'CASCADE'})
|
Defined in src/entity/course.entity.ts:85
|
created |
Type : Date
|
Decorators :
@CreateDateColumn()
|
Defined in src/entity/course.entity.ts:54
|
data |
Type : string | null
|
Decorators :
@Column('text', {nullable: true})
|
Defined in src/entity/course.entity.ts:26
|
dataSize |
Type : number | null
|
Decorators :
@Column('decimal', {nullable: true, precision: 16, scale: 6, default: 0})
|
Defined in src/entity/course.entity.ts:32
|
description |
Type : string | null
|
Decorators :
@Column('text', {nullable: true})
|
Defined in src/entity/course.entity.ts:23
|
documentation |
Type : string | null
|
Decorators :
@Column('text', {nullable: true})
|
Defined in src/entity/course.entity.ts:29
|
fileCourse |
Type : FilesCourse
|
Decorators :
@OneToMany(undefined, undefined, {onDelete: 'CASCADE', onUpdate: 'CASCADE', cascade: true})
|
Defined in src/entity/course.entity.ts:78
|
finishedStudentNumber |
Type : number | null
|
Decorators :
@Column({nullable: true, default: 0})
|
Defined in src/entity/course.entity.ts:35
|
id |
Type : number
|
Decorators :
@PrimaryGeneratedColumn({unsigned: true})
|
Defined in src/entity/course.entity.ts:14
|
isActive |
Type : Boolean | null
|
Decorators :
@Column({default: true})
|
Defined in src/entity/course.entity.ts:48
|
isQuality |
Type : Boolean | null
|
Decorators :
@Column({default: false})
|
Defined in src/entity/course.entity.ts:43
|
language |
Type : Language | null
|
Decorators :
@ManyToOne(undefined, undefined, {onUpdate: 'CASCADE', onDelete: 'CASCADE'})
|
Defined in src/entity/course.entity.ts:92
|
modified |
Type : Date
|
Decorators :
@UpdateDateColumn()
|
Defined in src/entity/course.entity.ts:57
|
name |
Type : string | null
|
Decorators :
@Column({nullable: true, length: 255})
|
Defined in src/entity/course.entity.ts:20
|
requiredStudentNumber |
Type : number | null
|
Decorators :
@Column({nullable: true})
|
Defined in src/entity/course.entity.ts:38
|
userCourse |
Type : UserCourse
|
Decorators :
@OneToMany(undefined, undefined, {onDelete: 'CASCADE', onUpdate: 'CASCADE', cascade: true})
|
Defined in src/entity/course.entity.ts:71
|
users |
Type : User[]
|
Decorators :
@ManyToMany(undefined)
|
Defined in src/entity/course.entity.ts:51
|
toJSON |
toJSON()
|
Defined in src/entity/course.entity.ts:94
|
Returns :
{ id: number; name: string; description: string; finishedStudentNumber: number; requiredStudentNu...
|
import { Column, CreateDateColumn, Entity, JoinTable, ManyToMany, ManyToOne, OneToMany, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";
import { CourseStatus } from "./course-status.entity";
import { FilesCourse } from "./file-course.entity";
import { Files } from "./file-descriptor.entity";
import { Language } from "./language.entity";
import { UserCourse } from "./user-course.entity";
import { User } from "./user.entity";
@Entity()
export class Course {
@PrimaryGeneratedColumn({
unsigned: true,
})
id: number;
@Column({
nullable: true,
length: 255,
})
name: string | null;
@Column("text", { nullable: true })
description: string | null;
@Column("text", { nullable: true })
data: string | null;
@Column("text", { nullable: true })
documentation: string | null;
@Column("decimal", { nullable: true, precision: 16, scale: 6, default: 0 })
dataSize: number | null;
@Column({ nullable: true, default: 0 })
finishedStudentNumber: number | null;
@Column({ nullable: true })
requiredStudentNumber: number | null;
@Column({
default: false,
})
isQuality: Boolean | null;
@Column({
default: true,
})
isActive: Boolean | null;
@ManyToMany(() => User)
users: User[];
@CreateDateColumn()
created: Date;
@UpdateDateColumn()
modified: Date;
// @OneToMany(
// (type) => Files,
// (files) => files.course,
// { onUpdate: "CASCADE", onDelete: "CASCADE" }
// )
// files: Files[] | null;
@OneToMany(
(type) => UserCourse,
(userCourse) => userCourse.course,
{ onDelete: "CASCADE", onUpdate: "CASCADE", cascade: true }
)
userCourse: UserCourse;
@OneToMany(
(type) => FilesCourse,
(fileCourse) => fileCourse.course,
{ onDelete: "CASCADE", onUpdate: "CASCADE", cascade: true }
)
fileCourse: FilesCourse;
@ManyToOne(
(type) => CourseStatus,
(courseStatus) => courseStatus.course,
{ onDelete: "CASCADE", onUpdate: "CASCADE" }
)
courseStatus: CourseStatus;
@ManyToOne(
(type) => Language,
(language) => language.courses,
{ onUpdate: "CASCADE", onDelete: "CASCADE" }
)
language: Language | null;
toJSON() {
return {
id: this.id,
name: this.name,
description: this.description,
finishedStudentNumber: this.finishedStudentNumber,
requiredStudentNumber: this.requiredStudentNumber,
data: this.data,
documentation: this.documentation,
dataSize: this.dataSize,
users: this.users,
userCourse: this.userCourse,
fileCourse: this.fileCourse,
isQuality: this.isQuality,
isActive: this.isActive,
courseStatus: this.courseStatus,
language: this.language,
// files: this.files,
created: Math.round(this.created.getTime() / 1000),
modified: Math.round(this.modified.getTime() / 1000),
};
}
}