Skip to content

Commit

Permalink
[be] refactor (#95) 공통 에러 메세지 분리
Browse files Browse the repository at this point in the history
  • Loading branch information
GrasshopperBears committed Dec 11, 2020
1 parent cfb2747 commit 6129af5
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
21 changes: 13 additions & 8 deletions server/graphql/resolver/mutations/driver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 });
Expand All @@ -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 }) => {
Expand All @@ -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 }) => {
Expand Down Expand Up @@ -78,15 +83,15 @@ export default {
return { success: true };
} catch (err) {
logger.error(`APPROVE MATCHING ERROR: ${err}`);
return { success: false, message: '매칭에 실패했습니다.' };
return MATCHING_FAILED;
}
},
userOnBoard: async (_, { uid }, { pubsub }) => {
try {
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 }) => {
Expand All @@ -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;
}
},
};
6 changes: 4 additions & 2 deletions server/graphql/resolver/mutations/user.ts
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down Expand Up @@ -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 }) => {
Expand All @@ -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 }) => {
Expand Down

0 comments on commit 6129af5

Please sign in to comment.