File

src/entity/course.entity.ts

Index

Properties
Methods

Properties

courseStatus
Type : CourseStatus
Decorators :
@ManyToOne(undefined, undefined, {onDelete: 'CASCADE', onUpdate: 'CASCADE'})
created
Type : Date
Decorators :
@CreateDateColumn()
data
Type : string | null
Decorators :
@Column('text', {nullable: true})
dataSize
Type : number | null
Decorators :
@Column('decimal', {nullable: true, precision: 16, scale: 6, default: 0})
description
Type : string | null
Decorators :
@Column('text', {nullable: true})
documentation
Type : string | null
Decorators :
@Column('text', {nullable: true})
fileCourse
Type : FilesCourse
Decorators :
@OneToMany(undefined, undefined, {onDelete: 'CASCADE', onUpdate: 'CASCADE', cascade: true})
finishedStudentNumber
Type : number | null
Decorators :
@Column({nullable: true, default: 0})
id
Type : number
Decorators :
@PrimaryGeneratedColumn({unsigned: true})
isActive
Type : Boolean | null
Decorators :
@Column({default: true})
isQuality
Type : Boolean | null
Decorators :
@Column({default: false})
language
Type : Language | null
Decorators :
@ManyToOne(undefined, undefined, {onUpdate: 'CASCADE', onDelete: 'CASCADE'})
modified
Type : Date
Decorators :
@UpdateDateColumn()
name
Type : string | null
Decorators :
@Column({nullable: true, length: 255})
requiredStudentNumber
Type : number | null
Decorators :
@Column({nullable: true})
userCourse
Type : UserCourse
Decorators :
@OneToMany(undefined, undefined, {onDelete: 'CASCADE', onUpdate: 'CASCADE', cascade: true})
users
Type : User[]
Decorators :
@ManyToMany(undefined)

Methods

toJSON
toJSON()
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),
    };
  }
}

result-matching ""

    No results matching ""