Skip to content

Commit

Permalink
Merge:(minho/board):GlobalPipes추가, entity FK설정#4
Browse files Browse the repository at this point in the history
Merge:(minho/board):GlobalPipes추가, entity FK설정#4
  • Loading branch information
Kimsoo0119 authored Sep 13, 2022
2 parents 72a9cb5 + 01e9b14 commit 69f8228
Show file tree
Hide file tree
Showing 11 changed files with 200 additions and 192 deletions.
250 changes: 98 additions & 152 deletions main-project/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion main-project/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"ts-loader": "^9.2.3",
"ts-node": "^10.0.0",
"tsconfig-paths": "4.0.0",
"typescript": "^4.3.5"
"typescript": "<4.8"
},
"jest": {
"moduleFileExtensions": [
Expand Down
2 changes: 1 addition & 1 deletion main-project/src/boards/boards.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ import { BoardsService } from './boards.service';

@Module({
controllers: [BoardsController],
providers: [BoardsService]
providers: [BoardsService],
})
export class BoardsModule {}
24 changes: 24 additions & 0 deletions main-project/src/boards/entity/board-bookmark.entity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Users } from 'src/users/entity/user.entity';
import { Boards } from './board.entity';
import {
BaseEntity,
Entity,
JoinColumn,
ManyToOne,
OneToOne,
PrimaryGeneratedColumn,
} from 'typeorm';

@Entity('board_bookmarks')
export class BoardBookmarks extends BaseEntity {
@PrimaryGeneratedColumn()
no: number;

@OneToOne((type) => Boards, (board) => board.boardBookmark)
@JoinColumn({ name: 'board_no' })
boardNo: Boards;

@ManyToOne((type) => Users, (user) => user.boardBookmark)
@JoinColumn({ name: 'user_no' })
userNo: Users;
}
25 changes: 25 additions & 0 deletions main-project/src/boards/entity/board-member-info.entity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import {
BaseEntity,
Column,
Entity,
JoinColumn,
OneToOne,
PrimaryGeneratedColumn,
} from 'typeorm';
import { Boards } from './board.entity';

@Entity('board_member_infos')
export class BoardMemberInfos extends BaseEntity {
@PrimaryGeneratedColumn()
no: number;

@Column({ type: 'int' })
male: number;

@Column({ type: 'int' })
female: number;

@OneToOne((type) => Boards, (board) => board.boardMemberInfo)
@JoinColumn({ name: 'board_no' })
boardNo: Boards;
}
8 changes: 0 additions & 8 deletions main-project/src/boards/entity/board.bookmark.entity.ts

This file was deleted.

48 changes: 33 additions & 15 deletions main-project/src/boards/entity/board.entity.ts
Original file line number Diff line number Diff line change
@@ -1,45 +1,63 @@
import { Meetings } from 'src/meetings/entity/meeting.entity';
import { BoardBookmarks } from './board-bookmark.entity';
import { BoardMemberInfos } from './board-member-info.entity';
import {
BaseEntity,
Column,
CreateDateColumn,
DeleteDateColumn,
Entity,
JoinColumn,
OneToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm';

// fk없음, entity취합 후 생성예정
@Entity()
export class Board extends BaseEntity {
@Entity('boards')
export class Boards extends BaseEntity {
@PrimaryGeneratedColumn()
no: number;

@Column({ type: 'varchar', length: 255 })
@Column({ type: 'varchar', length: 255, nullable: false })
title: string;

@Column({
type: 'tinyint',
width: 1,
default: false,
comment: '인원 모집 여부',
nullable: false,
})
done: boolean;
isDone: boolean;

@Column({ type: 'varchar', length: 255 })
@Column({ type: 'varchar', length: 255, nullable: true })
description: string;

@Column({ type: 'varchar', length: 255 })
@Column({ type: 'varchar', length: 255, nullable: true })
location: string;

@Column({ type: 'date' })
time: Date;
@Column({ type: 'date', nullable: true })
meetingTime: Date;

@CreateDateColumn()
created_date: Date;
@CreateDateColumn({ name: 'created_date' })
createdDate: Date;

@UpdateDateColumn({ nullable: true })
updated_date: Date;
@UpdateDateColumn({ default: null, nullable: false, name: 'updated_date' })
updatedDate: Date;

@DeleteDateColumn({ nullable: true })
deleted_date: Date;
@DeleteDateColumn({ nullable: true, name: 'deleted_date' })
deletedDate: Date;

@OneToOne(
(type) => BoardMemberInfos,
(boardMemberInfo) => boardMemberInfo.boardNo,
)
boardMemberInfo: BoardMemberInfos;

@OneToOne((type) => BoardBookmarks, (boardBookmark) => boardBookmark.boardNo)
boardBookmark: BoardBookmarks;

@OneToOne((type) => Meetings, (meeting) => meeting.board)
@JoinColumn({ name: 'board_no' })
meetingNo: Meetings;
}
14 changes: 0 additions & 14 deletions main-project/src/boards/entity/board.member.info.entity.ts

This file was deleted.

11 changes: 10 additions & 1 deletion main-project/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { ValidationPipe } from '@nestjs/common';
import { Logger } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
Expand All @@ -13,7 +14,15 @@ async function bootstrap() {
const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup('api', app, document);

await app.listen(3000);
app.useGlobalPipes(
new ValidationPipe({
whitelist: true,
forbidNonWhitelisted: true,
transform: true,
}),
);

await app.listen(port);
Logger.debug(`서버 가동 port : ${port}`);
}
bootstrap();
4 changes: 4 additions & 0 deletions main-project/src/meetings/entity/meeting.entity.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { Boards } from 'src/boards/entity/board.entity';
import { GuestMembers } from 'src/members/entity/guest-members.entity';
import { HostMembers } from 'src/members/entity/host-members.entity';
import {
Expand Down Expand Up @@ -44,4 +45,7 @@ export class Meetings extends BaseEntity {

@OneToMany((type) => GuestMembers, (guestMembers) => guestMembers.meetingNo)
guestMembers: GuestMembers[];

@OneToOne((type) => Boards, (board) => board.meetingNo)
board: Boards;
}
4 changes: 4 additions & 0 deletions main-project/src/users/entity/user.entity.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { BoardBookmarks } from 'src/boards/entity/board-bookmark.entity';
import { MeetingInfo } from 'src/meetings/entity/meeting-info.entity';
import { GuestMembers } from 'src/members/entity/guest-members.entity';
import { HostMembers } from 'src/members/entity/host-members.entity';
Expand Down Expand Up @@ -44,4 +45,7 @@ export class Users extends BaseEntity {

@OneToMany((type) => MeetingInfo, (meetingInfo) => meetingInfo.host)
meetingHost: MeetingInfo[];

@OneToMany((type) => BoardBookmarks, (boardBookmark) => boardBookmark.userNo)
boardBookmark: BoardBookmarks;
}

0 comments on commit 69f8228

Please sign in to comment.