locCodeController.js 1.87 KB
Newer Older
1
import { pool as db, dbMSG } from "../db";
2
import { serverMSG, statusCode } from "../serverinfo";
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 각각의 지역 코드 정보를 가져오는
const getQueryResult = async (query) => {
  let isError = false;
  let result;

  try {
    const [row, fields] = await db.execute(query);
    result = row;

    console.log(dbMSG.query_success);
  } catch (error) {
    //Error Log
    console.log("", error);

    isError = true;

    // 발생한 오류가 DB와 연결 오류인지 확인 후 Error Message 지정 및 전달
    if (error.code === "ECONNREFUSED") result = dbMSG.connection_err;
    else result = dbMSG.query_err;
  }

  return [isError, result];
};

// Do Code에 대한 GET 요청 처리
29
30
31
export const getDo = async (req, res) => {
  const query = "SELECT CODE, DONAME FROM LOCDO";

32
33
34
35
36
37
38
39
  const [isError, result] = await getQueryResult(query);

  if (!isError) {
    res.status(statusCode.ok).json({ DO: result });
  } else {
    console.log(result);
    res.status(statusCode.err).send(serverMSG.server_err);
  }
40
41
};

42
43
// SGG Code에 대한 GET 요청 처리
export const getSGG = async (req, res) => {
44
45
46
47
48
49
  const {
    params: { id },
  } = req;

  const query = `SELECT CODE, SGGNAME FROM LOCSIGUNGU WHERE DOCODE = ${id}`;

50
51
52
53
54
55
56
57
  const [isError, result] = await getQueryResult(query);

  if (!isError) {
    res.status(statusCode.ok).json({ DO: id, SGG: result });
  } else {
    console.log(result);
    res.status(statusCode.err).send(serverMSG.server_err);
  }
58
59
};

60
61
// EMD Code에 대한 GET 요청 처리
export const getEMD = async (req, res) => {
62
63
64
65
66
67
  const {
    params: { id },
  } = req;

  const query = `SELECT CODE, EMDNAME FROM LOCINFO WHERE SGGCODE = ${id}`;

68
69
70
71
72
73
74
75
  const [isError, result] = await getQueryResult(query);

  if (!isError) {
    res.status(statusCode.ok).json({ SGG: id, EMD: result });
  } else {
    console.log(result);
    res.status(statusCode.err).send(serverMSG.server_err);
  }
76
};