Skip to content

Commit

Permalink
Merge pull request #165 from boostcampwm-2021/develop
Browse files Browse the repository at this point in the history
[Deploy] 5주차 스프린트 배포
  • Loading branch information
wonju-dev authored Nov 25, 2021
2 parents 99d27c2 + cdc4d2c commit a850506
Show file tree
Hide file tree
Showing 115 changed files with 3,978 additions and 1,166 deletions.
11 changes: 9 additions & 2 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
"private": true,
"scripts": {
"start": "nodemon --exec ts-node -r tsconfig-paths/register src/index.ts",
"lint": "eslint src"
"lint": "eslint src",
"api-docs": "swagger-cli bundle src/swagger/openapi.yaml --outfile src/swagger/swagger.yaml --type yaml",
"prestart": "yarn run api-docs"
},
"dependencies": {
"bcrypt": "^5.0.1",
Expand All @@ -24,8 +26,11 @@
"redis": "^3.1.2",
"reflect-metadata": "^0.1.13",
"socket.io": "^4.3.1",
"swagger-cli": "^4.0.4",
"swagger-ui-express": "^4.1.6",
"typeorm": "^0.2.38",
"uuid": "^8.3.2"
"uuid": "^8.3.2",
"yamljs": "^0.3.0"
},
"devDependencies": {
"@types/bcrypt": "^5.0.0",
Expand All @@ -37,7 +42,9 @@
"@types/passport-github": "^1.1.6",
"@types/passport-local": "^1.0.34",
"@types/redis": "^2.8.32",
"@types/swagger-ui-express": "^4.1.3",
"@types/uuid": "^8.3.1",
"@types/yamljs": "^0.2.31",
"@typescript-eslint/eslint-plugin": "^5.2.0",
"@typescript-eslint/parser": "^5.2.0",
"dotenv": "^10.0.0",
Expand Down
44 changes: 43 additions & 1 deletion backend/src/controllers/chat-controller.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Request, Response } from 'express';
import ChatRoomService from '@src/services/chat-room-service';
import ChatRoomService from '@services/chat-room-service';

const ChatController = {
async createChatRoom(req: Request, res: Response) {
Expand All @@ -21,6 +21,48 @@ const ChatController = {
} catch (err) {
res.sendStatus(409);
}
},

async updateChatRoomName(req: Request, res: Response) {
try {
const { chatRoomId } = req.params;
const chatRoomName = req.body.chat_room_name;
await ChatRoomService.getInstance().updateChatRoomName(Number(chatRoomId), chatRoomName);
res.sendStatus(201);
} catch (err) {
res.sendStatus(409);
}
},

async getChatRoomUsers(req: Request, res: Response) {
try {
const { chatRoomId } = req.params;
const chatRoomInfo = await ChatRoomService.getInstance().getChatRoomUsers(Number(chatRoomId));
res.status(200).json(chatRoomInfo);
} catch (err) {
res.sendStatus(409);
}
},

async addChatRoomUsers(req: Request, res: Response) {
try {
const { chatRoomId } = req.params;
const { user_list } = req.body;
await ChatRoomService.getInstance().addChatRoomUsers(Number(chatRoomId), user_list);
res.sendStatus(201);
} catch (err) {
res.sendStatus(409);
}
},

async deleteChatRoomUser(req: Request, res: Response) {
try {
const { chatRoomId, userId } = req.params;
await ChatRoomService.getInstance().deleteChatRoomUser(Number(chatRoomId), Number(userId));
res.sendStatus(204);
} catch (err) {
res.sendStatus(409);
}
}
};

Expand Down
85 changes: 51 additions & 34 deletions backend/src/controllers/team-contorller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,82 +4,87 @@ import TeamService from '@services/team-service';
import UserService from '@services/user-service';

const TeamController = {
async read(req: any, res: Response) {

async create(req: any, res: Response) {
try {
const userId = req.user_id;
const teams = await TeamUserService.getInstance().read(userId);
res.status(200).send(teams);
const teamId = await TeamService.getInstance().create(req.body);
await TeamUserService.getInstance().create(userId, teamId);
res.sendStatus(201);
} catch (err) {
res.status(404).send(err);
res.sendStatus(409);
}
},

async readTeamInfo(req: any, res: Response) {
async read(req: any, res: Response) {
try {
const team = await TeamService.getInstance().read(req.params.id);
res.status(200).send(team);
const userId = req.user_id;
const teams = await TeamUserService.getInstance().read(userId);
res.status(200).send(teams);
} catch (err) {
res.status(404).send(err);
res.status(409).send(err);
}
},

async readTeamUsers(req: any, res: Response) {
async update(req: any, res: Response) {
try {
const teams = await TeamUserService.getInstance().readAllUsers(req.params.id);
res.status(200).send(teams);
const teamId = req.params.teamId;
await TeamService.getInstance().update(teamId, req.body);
res.sendStatus(201);
} catch (err) {
res.status(404).send(err);
res.sendStatus(409);
}
},

async create(req: any, res: Response) {
async delete(req: any, res: Response) {
try {
const userId = req.user_id;
const teamId = await TeamService.getInstance().create(req.body);
await TeamUserService.getInstance().create(userId, teamId);
const teamId = req.params.teamId;
await TeamService.getInstance().delete(teamId);
res.sendStatus(204);
} catch (err) {
res.sendStatus(409);
}
},

async delete(req: any, res: Response) {
async readTeamInfo(req: any, res: Response) {
try {
const teamId = req.body.team_id;
await TeamService.getInstance().delete(teamId);
res.sendStatus(204);
const team = await TeamService.getInstance().read(req.params.teamId);
res.status(200).send(team[0]);
} catch (err) {
res.sendStatus(409);
res.sendStatus(409)
}
},

async update(req: any, res: Response) {
async readTeamUsers(req: any, res: Response) {
try {
await TeamService.getInstance().update(req.body);
res.sendStatus(204);
const teamId = req.params.teamId;
const teams = await TeamUserService.getInstance().readAllUsers(teamId);
res.status(200).send(teams);
} catch (err) {
res.sendStatus(409);
res.status(409).send(err);
}
},

async invite(req: any, res: Response) {
try {
const { user_email, team_id } = req.body;
const userInfo = await UserService.getInstance().getUserByEmail(user_email);
const teamId = req.params.teamId;
const userName = req.body.userName;
const userInfo = await UserService.getInstance().getUserByUserName(userName);
if(!userInfo) res.sendStatus(404);
const userId = userInfo.user_id;
await TeamUserService.getInstance().invite(userId, team_id);
await TeamUserService.getInstance().invite(userId, teamId);
res.sendStatus(201);
} catch (err) {
res.sendStatus(204);
res.sendStatus(409);
}
},

async acceptInvitation(req: any, res: Response) {
try {
const userId = req.user_id;
const teamId = req.body.team_id;
const teamId = req.params.teamId;
await TeamUserService.getInstance().update(userId, teamId);
res.sendStatus(204);
res.sendStatus(201);
} catch (err) {
res.sendStatus(409);
}
Expand All @@ -88,7 +93,7 @@ const TeamController = {
async declineInvitation(req: any, res: Response) {
try {
const userId = req.user_id;
const teamId = req.body.team_id;
const teamId = req.params.teamId;
await TeamUserService.getInstance().delete(userId, teamId);
res.sendStatus(204);
} catch (err) {
Expand All @@ -98,13 +103,25 @@ const TeamController = {

async kickOut(req: any, res: Response) {
try {
const userId = req.params.id;
const teamId = req.body.team_id;
const userId = req.params.userId;
const teamId = req.params.teamId;
await TeamUserService.getInstance().delete(userId, teamId);
res.sendStatus(204);
} catch (err) {
res.sendStatus(409);
}
},

async changeRole(req: any, res: Response) {
try {
const teamId = req.params.teamId;
const userId = req.params.userId;
const role = req.body.role;
await TeamUserService.getInstance().changeRole(userId, teamId, role);
res.sendStatus(201);
} catch (err) {
res.sendStatus(409);
}
}
};

Expand Down
4 changes: 2 additions & 2 deletions backend/src/controllers/user-controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ const UserController = {
const existUser = await UserService.getInstance().getUserByName(req.body.newName);
if (existUser) return res.sendStatus(409);
const newUser = await UserService.getInstance().updateUserToName(req.user_id, req.body.newName);
if (!newUser) return res.sendStatus(401);
res.sendStatus(204);
if (!newUser) return res.sendStatus(409);
res.status(201).send(newUser);
} catch (err) {
res.sendStatus(409);
}
Expand Down
2 changes: 1 addition & 1 deletion backend/src/entities/chat_room-user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export class ChatRoomUser {
@JoinColumn({ name: 'user_id' })
user: User;

@ManyToOne(() => ChatRoom, (chatRoom) => chatRoom.chat_room_id)
@ManyToOne(() => ChatRoom, (chatRoom) => chatRoom.chat_room_id, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'chat_room_id' })
chat_room: ChatRoom;
}
6 changes: 1 addition & 5 deletions backend/src/entities/chat_room.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Entity, PrimaryGeneratedColumn, ManyToOne, JoinColumn, Column, OneToMany } from 'typeorm';
import { ChatRoomUser } from './chat_room-user';
import { Message } from './message';
import { Team } from './team';

@Entity({ name: 'chat_room' })
Expand All @@ -18,9 +17,6 @@ export class ChatRoom {
@Column()
chat_room_name: string;

@OneToMany(() => ChatRoomUser, (chatRoomUser) => chatRoomUser.chat_room)
@OneToMany(() => ChatRoomUser, (chatRoomUser) => chatRoomUser.chat_room, { cascade: true })
chat_room_users: ChatRoomUser[];

@OneToMany(() => Message, (message) => message.chat_room)
messages: Message[];
}
27 changes: 0 additions & 27 deletions backend/src/entities/message.ts

This file was deleted.

50 changes: 0 additions & 50 deletions backend/src/entities/postit.ts

This file was deleted.

18 changes: 0 additions & 18 deletions backend/src/entities/reaction.ts

This file was deleted.

4 changes: 0 additions & 4 deletions backend/src/entities/team.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm';
import { ChatRoom } from './chat_room';
import { Postit } from './postit';
import { Schedule } from './schedule';
import { TeamUser } from './team-user';

Expand All @@ -23,7 +22,4 @@ export class Team {

@OneToMany(() => ChatRoom, (chatRoom) => chatRoom.team, { cascade: true })
chat_rooms: ChatRoom[];

@OneToMany(() => Postit, (postit) => postit.team, { cascade: true })
postits: Postit[];
}
Loading

0 comments on commit a850506

Please sign in to comment.