Skip to content

Commit

Permalink
Merge pull request #24 from TeamBookTez/feat/myInfo-api
Browse files Browse the repository at this point in the history
Feat/my info api
  • Loading branch information
seohyun-106 authored Jan 12, 2022
2 parents c6f6b49 + 706c86f commit 9a04855
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/controller/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -148,4 +148,4 @@ const authController = {
postLoginController,
};

export default authController;
export default authController;
48 changes: 48 additions & 0 deletions src/controller/user.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { Request, Response } from "express";

// slack
import slack from "../others/slack/slack";

// libraries
import response from "../library/response";
import returnCode from "../library/returnCode";
import constant from "../library/constant";

// service
import userService from "../service/user";
import { resolveModelGetter } from "sequelize-typescript";

/**
* @유저정보조회
* @route GET /user/myInfo
* @access public
* @err
*/

const getMyInfoController = async (req: Request, res: Response) => {
try {
const resData = await userService.getMyInfoService(req.body.userID.id);
response.dataResponse(
res,
returnCode.OK,
"마이페이지 조회 성공.",
true,
resData
);
} catch (err) {
slack.slackWebhook(req, err.message);
console.error(err.message);
response.basicResponse(
res,
returnCode.INTERNAL_SERVER_ERROR,
false,
"서버 오류"
);
}
};

const userController = {
getMyInfoController,
};

export default userController;
1 change: 0 additions & 1 deletion src/middleware/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ export default (req: Request, res: Response, next) => {
// Verify token
try {
const decoded = jwt.verify(token, config.jwtSecret);

req.body.userID = decoded.user;
next();
} catch (err) {
Expand Down
1 change: 1 addition & 0 deletions src/router/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@ router.get("", async (req: Request, res: Response) => {

router.use("/test", require("./test"));
router.use("/auth", require("./auth"));
router.use("/user", require("./user"));

export default router;
11 changes: 11 additions & 0 deletions src/router/user.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import express from "express";
import userController from "../controller/user";

// middleware
import authMiddleware from "../middleware/auth";

const router = express.Router();

router.get("/myInfo", authMiddleware, userController.getMyInfoController);

module.exports = router;
39 changes: 39 additions & 0 deletions src/service/user.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// sequelize
import Sequelize, { Op } from 'sequelize';

// library
// import jwt from "jsonwebtoken";
// import bcrypt from 'bcryptjs';
// import constant from "../library/constant";
// import index from "../config";

// model
import { User, Review } from "../models";

/**
* @유저정보조회
* @route GET /user/myInfo
* @access public
* @err
*/
const getMyInfoService = async ( userId: number ) => {
// TODO: - user isDeleted 상태 확인
const user = await User.findOne({ where: { id: userId } });
const nickname = user.nickname;
const email = user.email;
const review = await Review.findAll({
where: {
user_id: userId,
is_deleted: false,
},
});
const reviewCount = review.length;
return { nickname, email, reviewCount };
};

const userService = {
getMyInfoService,
};

export default userService;

0 comments on commit 9a04855

Please sign in to comment.