From 6129af5a1f52ea9fc0cfbba863d6799bb57bf88e Mon Sep 17 00:00:00 2001 From: Jinwoo Lee <34625313+GrasshopperBears@users.noreply.github.com> Date: Fri, 11 Dec 2020 16:21:03 +0900 Subject: [PATCH] =?UTF-8?q?[be]=20refactor=20(#95)=20=EA=B3=B5=ED=86=B5=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EB=A9=94=EC=84=B8=EC=A7=80=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/graphql/resolver/mutations/driver.ts | 21 +++++++++++++-------- server/graphql/resolver/mutations/user.ts | 6 ++++-- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/server/graphql/resolver/mutations/driver.ts b/server/graphql/resolver/mutations/driver.ts index 77a34d5..3443fe6 100644 --- a/server/graphql/resolver/mutations/driver.ts +++ b/server/graphql/resolver/mutations/driver.ts @@ -2,8 +2,12 @@ import mongoose from 'mongoose'; import { logger } from '../../../config/winston'; import { USER_MATCHED, USER_ON_BOARD, UPDATE_LOCATION, ARRIVE_DESTINATION } from '../subscriptionType'; +const SERVER_ERROR = { success: false, message: '오류가 발생했습니다' }; +const MATCHING_FAILED = { success: false, message: '매칭에 실패했습니다.' }; + export default { startService: async (_, __, { dataSources, uid }) => { + const errorMessage = { success: false, message: '영업을 시작 할 수 없습니다.' }; try { const waitingDriver = await dataSources.model('WaitingDriver'); const existingWaitingDriver = await waitingDriver.findOneAndUpdate({ driver: uid }, { isWorking: false }); @@ -13,22 +17,23 @@ export default { logger.info(`${uid} start service: ${result}`); if (result) return { success: true }; - return { success: false, message: '영업을 시작 할 수 없습니다.' }; + return errorMessage; } catch (err) { logger.error(`START SERVICE ERROR : ${err}`); - return { success: false, message: '영업을 시작 할 수 없습니다' }; + return errorMessage; } }, stopService: async (_, __, { dataSources, uid }) => { + const errorMessage = { success: false, message: '영업을 끝낼 수 없습니다' }; try { const waitingDriver = await dataSources.model('WaitingDriver'); const result = await waitingDriver.findOneAndRemove({ driver: uid, isWorking: false }); logger.info(`${uid} stop service: ${result}`); if (result) return { success: true }; - return { success: false, message: '영업을 끝낼 수 없습니다' }; + return errorMessage; } catch (err) { logger.error(`STOP SERVICE ERROR : ${err}`); - return { success: false, message: '영업을 끝낼 수 없습니다' }; + return errorMessage; } }, updateDriverLocation: async (_, { location, uid }, { dataSources, uid: driverId, pubsub }) => { @@ -46,7 +51,7 @@ export default { return { success: false, message: '해당 드라이버를 찾을 수 없습니다.' }; } catch (err) { logger.error(`UPDATE DRIVER LOCATION ERROR: ${err}`); - return { success: false, message: '매칭에 실패했습니다.' }; + return MATCHING_FAILED; } }, approveMatching: async (_, { uid }, { dataSources, uid: driverId, pubsub }) => { @@ -78,7 +83,7 @@ export default { return { success: true }; } catch (err) { logger.error(`APPROVE MATCHING ERROR: ${err}`); - return { success: false, message: '매칭에 실패했습니다.' }; + return MATCHING_FAILED; } }, userOnBoard: async (_, { uid }, { pubsub }) => { @@ -86,7 +91,7 @@ export default { await pubsub.publish(USER_ON_BOARD, { uid, driverLocationSub: { board: true } }); return { success: true }; } catch (err) { - return { success: false, message: '오류가 발생했습니다' }; + return SERVER_ERROR; } }, arriveDestination: async (_, { uid }, { dataSources, uid: driverId, pubsub }) => { @@ -105,7 +110,7 @@ export default { logger.error(`${driverId} DRIVER ARRIVE ERROR`); return { success: false, message: '운행을 종료 할 수 없습니다.' }; } catch (err) { - return { success: false, message: '오류가 발생했습니다.' }; + return SERVER_ERROR; } }, }; diff --git a/server/graphql/resolver/mutations/user.ts b/server/graphql/resolver/mutations/user.ts index 8d3b5b4..d57c2e4 100644 --- a/server/graphql/resolver/mutations/user.ts +++ b/server/graphql/resolver/mutations/user.ts @@ -1,6 +1,8 @@ import { REQUEST_ADDED } from '../subscriptionType'; import { logger } from '../../../config/winston'; +const SERVER_ERROR = { success: false, message: '오류가 발생했습니다' }; + export default { requestMatching: async (_, { request }, { dataSources, uid, pubsub }) => { try { @@ -42,7 +44,7 @@ export default { return { success: false, message: 'Database error' }; } catch (err) { logger.error(`REQUEST MATCHING ERROR : ${err}`); - return { success: false, message: 'Internal server error' }; + return SERVER_ERROR; } }, stopMatching: async (_, __, { dataSources, uid }) => { @@ -57,7 +59,7 @@ export default { return { success: false, message: '해당 요청이 존재하지 않습니다.' }; } catch (err) { logger.error(`STOP MATCHING ERROR : ${err}`); - return { success: false, message: '알 수 없는 오류가 발생했습니다.' }; + return SERVER_ERROR; } }, saveUserHistory: async (_, args, { dataSources, uid }) => {