diff --git a/functions/api/routes/report/index.js b/functions/api/routes/report/index.js index 51bdd17..421f977 100644 --- a/functions/api/routes/report/index.js +++ b/functions/api/routes/report/index.js @@ -3,7 +3,7 @@ const router = express.Router(); const { checkUser } = require('../../../middlewares/auth'); const uploadImage = require('../../../middlewares/uploadImage'); -router.get('/:reportKind', require('./reportCategoryGET')); +router.get('/', require('./reportCategoryGET')); router.post('/', checkUser, uploadImage('report'), require('./reportPOST')); module.exports = router; diff --git a/functions/api/routes/report/reportCategoryGET.js b/functions/api/routes/report/reportCategoryGET.js index cfc9a0e..37d17b4 100644 --- a/functions/api/routes/report/reportCategoryGET.js +++ b/functions/api/routes/report/reportCategoryGET.js @@ -7,35 +7,12 @@ const slackAPI = require('../../../lib/slackAPI'); const { reportDB } = require('../../../db'); module.exports = async (req, res) => { - const { reportKind } = req.params; - if (!reportKind) { - return res.status(statusCode.BAD_REQUEST).send(util.fail(statusCode.BAD_REQUEST, responseMessage.NULL_VALUE)); - } - let client; - function checkReportKind(reportKind) { - let kindId = 0; - switch (reportKind) { - case 'customer': - kindId = 1; - break; - case 'team': - kindId = 2; - break; - default: - } - return kindId; - } try { client = await db.connect(req); - const reportKindId = checkReportKind(reportKind); - // ^_^// 가져온 kind로 해당 카테고리 조회 - if (reportKindId === 0) { - return res.status(statusCode.BAD_REQUEST).send(util.fail(statusCode.BAD_REQUEST, responseMessage.NO_REPORT_CATEGORY)); - } - const reportCategory = await reportDB.getReportCategory(client, reportKindId); + const reportCategory = await reportDB.getReportCategory(client); return res.status(statusCode.OK).send(util.success(statusCode.OK, responseMessage.READ_REPORT_CATEGORY_SUCCESS, { reportCategory })); } catch (error) { diff --git a/functions/api/routes/team/teamMemberEditPOST.js b/functions/api/routes/team/teamMemberEditPOST.js index f7364c6..d640b32 100644 --- a/functions/api/routes/team/teamMemberEditPOST.js +++ b/functions/api/routes/team/teamMemberEditPOST.js @@ -6,6 +6,7 @@ const db = require('../../../db/db'); const slackAPI = require('../../../lib/slackAPI'); const { memberDB } = require('../../../db'); + const extractValues = (arr, key) => { if (!Array.isArray(arr)) return [arr[key] || null]; return [...new Set(arr.map((o) => o[key]).filter(Boolean))]; @@ -15,6 +16,7 @@ module.exports = async (req, res) => { const user = req.user; const { teamId, userIdList } = req.body; + if (!user || !teamId || userIdList === 0) return res.status(statusCode.BAD_REQUEST).send(util.fail(statusCode.BAD_REQUEST, responseMessage.NULL_VALUE)); let client; diff --git a/functions/api/routes/user/keywordCreatePOST.js b/functions/api/routes/user/keywordCreatePOST.js index d16115f..06f9540 100644 --- a/functions/api/routes/user/keywordCreatePOST.js +++ b/functions/api/routes/user/keywordCreatePOST.js @@ -22,13 +22,19 @@ module.exports = async (req, res) => { } let newKeyword; + // ^_^// 이미 존재하는 키워드인지 검색한뒤 + const alreadyKeyword = await keywordDB.checkKeyword(client, name, userId); // console.log('alreadyKeyword', alreadyKeyword); if (alreadyKeyword) { + // ^_^// 이미 존재한다면 해당 키워드의 count를 + 해준다 + newKeyword = await keywordDB.addKeyword(client, alreadyKeyword.id); // console.log('oldNewKeyword : ', newKeyword); } else { + // ^_^// 존재하지 않는 키워드라면 키워드를 생성해준다 + const colorId = Math.floor(Math.random() * 4) + 1; newKeyword = await keywordDB.addNewKeyword(client, name, userId, colorId); // console.log('realNewKeyword :', newKeyword); diff --git a/functions/db/memberDB.js b/functions/db/memberDB.js index df982d1..6a25541 100644 --- a/functions/db/memberDB.js +++ b/functions/db/memberDB.js @@ -87,6 +87,7 @@ const addMember = async (client, teamId, userIdList) => { } const valuesInsertQuery = userIdList.map((x) => `(${teamId}, ${x})`).join(', '); + const { rows: resultRows } = await client.query( ` INSERT INTO member @@ -107,13 +108,13 @@ const checkMemberHost = async (client, userId, teamId) => { FROM "member" m WHERE m.user_id = $1 AND m.team_id = $2 - AND is_host = true - AND is_deleted = false + AND m.is_host = true + AND m.is_deleted = false `, [userId, teamId], ); - + console.log(rows); return convertSnakeToCamel.keysToCamel(rows[0]); }; diff --git a/functions/db/reportDB.js b/functions/db/reportDB.js index 410677e..1c1b0e0 100644 --- a/functions/db/reportDB.js +++ b/functions/db/reportDB.js @@ -2,14 +2,13 @@ const _ = require('lodash'); const { ClientBase } = require('pg'); const convertSnakeToCamel = require('../lib/convertSnakeToCamel'); -const getReportCategory = async (client, reportKindId) => { +const getReportCategory = async (client) => { const { rows } = await client.query( ` SELECT c.id, c.name FROM "report_category" c JOIN "report_kind" k ON c.report_kind_id = k.id - WHERE k.id = ${reportKindId} `, ); console.log(rows); diff --git a/functions/package-lock.json b/functions/package-lock.json index 03009e5..0c53246 100644 --- a/functions/package-lock.json +++ b/functions/package-lock.json @@ -1855,15 +1855,16 @@ } }, "firebase-functions": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-3.16.0.tgz", - "integrity": "sha512-6ISOn0JckMtpA3aJ/+wCCGhThUhBUrpZD+tSkUeolx0Vr+NoYFXA0+2YzJZa/A2MDU8gotPzUtnauLSEQvfClQ==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-3.24.1.tgz", + "integrity": "sha512-GYhoyOV0864HFMU1h/JNBXYNmDk2MlbvU7VO/5qliHX6u/6vhSjTJjlyCG4leDEI8ew8IvmkIC5QquQ1U8hAuA==", "requires": { "@types/cors": "^2.8.5", "@types/express": "4.17.3", "cors": "^2.8.5", "express": "^4.17.1", - "lodash": "^4.17.14" + "lodash": "^4.17.14", + "node-fetch": "^2.6.7" }, "dependencies": { "@types/express": { @@ -1875,6 +1876,14 @@ "@types/express-serve-static-core": "*", "@types/serve-static": "*" } + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } } } }, diff --git a/functions/package.json b/functions/package.json index 816da47..13f5cb5 100644 --- a/functions/package.json +++ b/functions/package.json @@ -26,7 +26,7 @@ "express": "^4.17.1", "firebase": "^9.6.2", "firebase-admin": "^9.2.0", - "firebase-functions": "^3.11.0", + "firebase-functions": "^3.24.1", "fs": "0.0.1-security", "helmet": "^4.6.0", "hpp": "^0.2.3",