728x90
반응형

최종발표회를 앞둔 마지막 날

발표때는 들어가지 않지만 admin 관련해서 신고엔티티 및 기능을 작성했다.

아예 새로 만드는 기능이기에 팀원들과 튜터님의 도움을 받아서

ERD작성하고 다대다 관계 등을 고민하며 기능을 만들 수 있었다.

생각한대로 완벽하게 만들지는 못했지만,

처음부터 만드는 작업이 흥미롭고 재미있었다.

 

import {
  Entity,
  Column,
  PrimaryGeneratedColumn,
  OneToMany,
  ManyToOne,
  JoinColumn,
  CreateDateColumn,
  UpdateDateColumn,
  DeleteDateColumn,
} from 'typeorm';
import { Post } from '../../post/entities/post.entity';
import { User } from '../../user/entities/user.entity';
import { Comment } from '../../comment/entities/comment.entity';

@Entity()
export class Reports {
  @PrimaryGeneratedColumn()
  id: number;

  @ManyToOne(() => User, (reporter) => reporter.reports)
  reporter: User;

  @ManyToOne(() => User)
  @JoinColumn({ name: 'user_id', referencedColumnName: 'id' })
  userId: User;

  @ManyToOne(() => Post)
  @JoinColumn({ name: 'post_id', referencedColumnName: 'id' })
  postId: Post;

  @ManyToOne(() => Comment)
  @JoinColumn({ name: 'comment_id', referencedColumnName: 'id' })
  commentId: Comment;

  @Column()
  description: string;

  @Column({ type: 'varchar', default: 'checking' })
  status: string;

  @Column({ type: 'varchar' })
  type: string;

  @CreateDateColumn({ name: 'created_at' })
  createdAt: Date;

  @UpdateDateColumn({ name: 'updated_at' })
  updatedAt: Date;

  @DeleteDateColumn({ name: 'deleted_at' })
  deletedAt: Date;
}
728x90
반응형

+ Recent posts