From b4d0f9d1000ebd4d208613b0a9a05b47915e96a4 Mon Sep 17 00:00:00 2001 From: Jieun Kim Date: Tue, 20 Feb 2024 18:37:10 +0900 Subject: [PATCH] =?UTF-8?q?feat(#88):=20User=20API=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controller/authController.js | 22 +++++++++++++++++++++- src/router/authRouter.js | 2 ++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/controller/authController.js b/src/controller/authController.js index c2f0557..aa66329 100644 --- a/src/controller/authController.js +++ b/src/controller/authController.js @@ -448,6 +448,26 @@ export const subscribePremium = async (req, res, next) => { } }; +/* + * API No. 11 + * API Name : 개인 포인트 순위 조회 + * [GET] /auth/rank + */ +export const getUserRank = async(req, res, next) => { + try { + const users = await User.find().sort({ point: -1 }).limit(3); + + if (users.length === 0) { + return res.send(errResponse(status.MEMBER_NOT_FOUND)); + } + + return res.send(response(status.SUCCESS, users)); + } catch (err) { + console.log(err); + return res.send(errResponse(status.INTERNAL_SERVER_ERROR)); + } +}; + /*************************************************************************************/ // 이메일 유효성 검사 export const validEmailCheck = (email) => { @@ -501,4 +521,4 @@ export const generateRandomPassword = () => { export const getRandomChar = (charset) => { const index = Math.floor(Math.random() * charset.length); return charset[index]; -}; +}; \ No newline at end of file diff --git a/src/router/authRouter.js b/src/router/authRouter.js index 223be07..b11a600 100644 --- a/src/router/authRouter.js +++ b/src/router/authRouter.js @@ -10,6 +10,7 @@ import { checkEmail, findPassword, subscribePremium, + getUserRank, } from "../controller/authController"; import { authenticateUser, @@ -37,3 +38,4 @@ authRouter.post("/premium", authenticateUser, subscribePremium); // 프리미엄 authRouter.get("/payment", function (req, res) { res.render("payment"); }); +authRouter.get("/rank", getUserRank); // 개인 포인트 순위 조회 \ No newline at end of file