From c760675931b2f673a9dd4fd91800ba67014a8ab5 Mon Sep 17 00:00:00 2001 From: Seohyeon Date: Sat, 5 Aug 2023 15:01:28 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[ADD]=20responseStatus=20=ED=95=80=EC=A7=80?= =?UTF-8?q?=EB=8F=84=20=EA=B4=80=EB=A0=A8=20=EC=98=A4=EB=A5=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/responseStatus.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/config/responseStatus.js b/config/responseStatus.js index 2b6fa14..98bc63a 100644 --- a/config/responseStatus.js +++ b/config/responseStatus.js @@ -84,6 +84,14 @@ module.exports = { message: "이미 신고한 핀리뷰입니다.", }, - - + //핀지도 관련 오류 + PINVIEW_LONGITUDE_EMPTY : {"isSuccess": false, "code": 4000, "message": "경도를 입력해주세요."}, + PINVIEW_LATITUDE_EMPTY : {"isSuccess": false, "code": 4000, "message": "위도를 입력해주세요."}, + PINVIEW_ADDRESS_EMPTY : {"isSuccess": false, "code": 4000, "message": "주소를 입력해주세요."}, + PINVIEW_PINCONGEST_EMPTY : {"isSuccess": false, "code": 4000, "message": "핀 혼잡도를 입력해주세요."}, + PINVIEW_PINFEELING_EMPTY : {"isSuccess": false, "code": 4000, "message": "핀 기분을 입력해주세요."}, + PINVIEW_USERID_EMPTY : {"isSuccess": false, "code": 4000, "message": "userId를 입력해주세요."}, + PINVIEW_PINID_EMPTY : {"isSuccess": false, "code": 4000, "message": "pinId를 입력해주세요."}, + + PINVIEW_CONTENTS_LENGTH : {"isSuccess": false, "code": 4000, "message": "내용을 300자 이내로 입력해주세요."} }; From 23eb708dd38ab449198ba6d40e686a2ae373fbf2 Mon Sep 17 00:00:00 2001 From: Seohyeon Date: Sat, 5 Aug 2023 15:07:33 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[CHORE]=20userId=20=ED=86=A0=ED=81=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/PinView/pinViewController.js | 14 +++++++------- src/app/PinView/pinViewRoute.js | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/app/PinView/pinViewController.js b/src/app/PinView/pinViewController.js index 281b695..c10ebad 100644 --- a/src/app/PinView/pinViewController.js +++ b/src/app/PinView/pinViewController.js @@ -23,7 +23,7 @@ exports.postPin = async function (req, res){ * Body: longitude, latitude, address, pinCongest, pinFeeling, contents */ const {longitude, latitude, address, pinCongest, pinFeeling, contents} = req.body; - const userId = req.params.userId; + const userId = req.verifiedToken.userId; // 빈 값 체크 @@ -84,7 +84,7 @@ exports.getPinById = async function (req, res) { * Path Variable: pinId */ const pinId = req.params.pinId; - const userId = req.params.userId; + const userId = req.verifiedToken.userId; if (!pinId) return res.send(errResponse(baseResponse.PINVIEW_PINID_EMPTY)); @@ -102,7 +102,7 @@ exports.getPinById = async function (req, res) { exports.deletePin= async function(req, res){ - const userId = req.params.userId + const userId = req.verifiedToken.userId; const pinId=req.params.pinId; if (!pinId) return res.send(errResponse(baseResponse.PINVIEW_PINID_EMPTY)); @@ -122,7 +122,7 @@ exports.postPinLike= async function(req, res){ const pinId=req.params.pinId; - const userId = req.params.userId; + const userId = req.verifiedToken.userId; if (!userId) return res.send(errResponse(baseResponse.PINVIEW_USERID_EMPTY)); if (!pinId) return res.send(errResponse(baseResponse.PINVIEW_PINID_EMPTY)); @@ -140,7 +140,7 @@ exports.postPinLike= async function(req, res){ exports.deletePinLike= async function(req, res){ - const userId = req.params.userId; + const userId = req.verifiedToken.userId; const pinId=req.params.pinId; if (!userId) return res.send(errResponse(baseResponse.PINVIEW_USERID_EMPTY)); @@ -159,7 +159,7 @@ exports.deletePinLike= async function(req, res){ exports.getMyPin = async function (req, res) { - const userId = req.params.userId; + const userId = req.verifiedToken.userId; if (!userId) return res.send(errResponse(baseResponse.PINVIEW_USERID_EMPTY)); @@ -175,7 +175,7 @@ exports.getMyPin = async function (req, res) { exports.deleteMyPin = async function (req, res) { - const userId = req.params.userId; + const userId = req.verifiedToken.userId; const pinId = req.params.pinId; if (!userId) return res.send(errResponse(baseResponse.PINVIEW_USERID_EMPTY)); diff --git a/src/app/PinView/pinViewRoute.js b/src/app/PinView/pinViewRoute.js index 8760eff..6692c33 100644 --- a/src/app/PinView/pinViewRoute.js +++ b/src/app/PinView/pinViewRoute.js @@ -26,7 +26,7 @@ module.exports = function(app) { // @. my pin 조회 API -> 추후 myPage로 이동 - app.get('/app/myPage/myPin/:userId', pinView.getMyPin); + app.get('/app/myPage/myPin', pinView.getMyPin); // @. my pin 삭제 API -> 추후 myPage로 이동 From e767782f7a26712f69071e20afde027ddc69855d Mon Sep 17 00:00:00 2001 From: Seohyeon Date: Sat, 5 Aug 2023 15:29:20 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[CHORE]=20express=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/express.js | 1 + src/app/Alert/alertController.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config/express.js b/config/express.js index 4057955..d2c5a71 100644 --- a/config/express.js +++ b/config/express.js @@ -27,6 +27,7 @@ module.exports = function () { require("../src/app/Alert/alertRoute")(app); require("../src/app/Report/reportRoute")(app); require("../src/app/datamap/dmRoute")(app); + require("../src/app/PinView/pinViewRoute")(app); return app; }; diff --git a/src/app/Alert/alertController.js b/src/app/Alert/alertController.js index 397d68c..1e3ed91 100644 --- a/src/app/Alert/alertController.js +++ b/src/app/Alert/alertController.js @@ -1,7 +1,7 @@ const schedule = require("node-schedule"); const baseResponse = require("../../../config/responseStatus"); const { response, errResponse } = require("../../../config/response"); -const admin = require("../../../config/pushConnect"); +// const admin = require("../../../config/pushConnect"); const alertService = require("../../app/Alert/alertService"); const alertProvider = require("../../app/Alert/alertProvider"); From c49d2e52032f00432cb52245c2cce68d3ae47869 Mon Sep 17 00:00:00 2001 From: Seohyeon Date: Mon, 7 Aug 2023 23:17:54 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[CHORE]=20pinViewDao=20:=20module.exports?= =?UTF-8?q?=EC=97=90=20insertNearByPin=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/PinView/pinViewDao.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/PinView/pinViewDao.js b/src/app/PinView/pinViewDao.js index 657d284..36be4a4 100644 --- a/src/app/PinView/pinViewDao.js +++ b/src/app/PinView/pinViewDao.js @@ -197,6 +197,7 @@ insertPin, selectPin, selectPinById, + insertNearByPin, deleteRecentPin, insertRecentPin, selectRecentPin, From a044922a3f22e9a144083af26bf7c51c02e4d071 Mon Sep 17 00:00:00 2001 From: Seohyeon Date: Thu, 24 Aug 2023 20:58:42 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[MOD]=20insertNearByPin=20=EB=B0=8F=20jwt?= =?UTF-8?q?=20=ED=86=A0=ED=81=B0=20=EA=B4=80=EB=A0=A8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/PinView/pinViewDao.js | 13 +++++-------- src/app/PinView/pinViewRoute.js | 16 ++++++++-------- src/app/PinView/pinViewService.js | 2 +- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/app/PinView/pinViewDao.js b/src/app/PinView/pinViewDao.js index 36be4a4..5bb820f 100644 --- a/src/app/PinView/pinViewDao.js +++ b/src/app/PinView/pinViewDao.js @@ -13,20 +13,17 @@ } //공공 데이터 장소와 핀지도 거리계산(인근 핀 생성) - // -> 핀지도에 넣을지 공공데이터에 넣을지 고민중입니다! - // -> 거리계산값이 정확한지 확인중입니다! - async function insertNearByPin(connection, pinId) { + async function insertNearByPin(connection) { const insertNearByPinQuery = ` - INSERT into nearByPin(pinId, placeId, pinCongest) - SELECT p.pinId, c.placeId, p.pinCongest + INSERT into nearByPin(pinId, placeId, pinCongest, pinCreatedAt) + SELECT p.pinId, c.placeId, p.pinCongest, p.createdAt FROM cityData c, pinView p WHERE (6371*acos(cos(radians(p.latitude))*cos(radians(c.lat))*cos(radians(c.lng) - -radians(p.longitude))+sin(radians(p.latitude))*sin(radians(c.lat)))) < 1), + -radians(p.longitude))+sin(radians(p.latitude))*sin(radians(c.lat)))) < 1 AND pinId = (SELECT MAX(pinId) from pinView); `; const insertNearByPinRows = await connection.query( - insertNearByPinQuery, - pinId + insertNearByPinQuery ); return insertNearByPinRows; diff --git a/src/app/PinView/pinViewRoute.js b/src/app/PinView/pinViewRoute.js index 6692c33..02a5124 100644 --- a/src/app/PinView/pinViewRoute.js +++ b/src/app/PinView/pinViewRoute.js @@ -2,34 +2,34 @@ module.exports = function(app) { const pinView = require('./pinViewController'); // 1. 핀지도 작성 API - app.post('/app/pinView', pinView.postPin); + app.post('/app/pinView', jwtMiddleware, pinView.postPin); // 2. 핀지도 전체 조회 API - app.get('/app/pinView', pinView.getPins); + app.get('/app/pinView', jwtMiddleware, pinView.getPins); // 3. 특정 핀지도 조회 API - app.get('/app/pinView/:pinId', pinView.getPinById); + app.get('/app/pinView/:pinId', jwtMiddleware, pinView.getPinById); // 4. 특정 핀지도 삭제 API - app.patch('/app/pinView/:pinId', pinView.deletePin); + app.patch('/app/pinView/:pinId', jwtMiddleware, pinView.deletePin); // 5. 도움이 되었어요 API - app.patch('/app/pinview/:pinId/likes', pinView.postPinLike); + app.patch('/app/pinview/:pinId/likes', jwtMiddleware, pinView.postPinLike); // 6. 도움이 되었어요 취소 API - app.patch('/app/pinview/:pinId/liked', pinView.deletePinLike); + app.patch('/app/pinview/:pinId/liked', jwtMiddleware, pinView.deletePinLike); // @. my pin 조회 API -> 추후 myPage로 이동 - app.get('/app/myPage/myPin', pinView.getMyPin); + app.get('/app/myPage/myPin', jwtMiddleware, pinView.getMyPin); // @. my pin 삭제 API -> 추후 myPage로 이동 - app.delete('/app/myPage/myPin/:pinId', pinView.deleteMyPin); + app.delete('/app/myPage/myPin/:pinId', jwtMiddleware, pinView.deleteMyPin); } diff --git a/src/app/PinView/pinViewService.js b/src/app/PinView/pinViewService.js index c764564..d74067b 100644 --- a/src/app/PinView/pinViewService.js +++ b/src/app/PinView/pinViewService.js @@ -13,7 +13,7 @@ exports.createPin = async function (userId, longitude, latitude, address, pinCon const connection = await pool.getConnection(async (conn) => conn); const pinIdResult = await pinViewDao.insertPin(connection, insertPinParams); - const nearByPinIdResult = await pinViewDao.insertNearByPin(connection, pinId, pinCongest); + const nearByPinIdResult = await pinViewDao.insertNearByPin(connection); // console.log(`추가된 핀지도 : ${pinIdResult[0]}`) connection.release(); return response(baseResponse.SUCCESS);