# All files / controllers issueTypeController.js

0% Statements 0/16
100% Branches 0/0
0% Functions 0/4
0% Lines 0/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66

     /**
     * 이슈 유형 관리 컨트롤러
     *
     * 이슈 유형(카테고리/서브카테고리) CRUD API 엔드포인트 핸들러
     *
     * @author TK-FB-Project
     * @since 2025-12-11
     */

    const issueTypeService = require('../services/issueTypeService');
    const { asyncHandler } = require('../middlewares/errorHandler');

    /**
     * 이슈 유형 생성
     */
    exports.createIssueType = asyncHandler(async (req, res) => {
      const result = await issueTypeService.createIssueTypeService(req.body);

      res.status(201).json({
        success: true,
        data: result,
        message: '이슈 유형이 성공적으로 생성되었습니다'
      });
    });

    /**
     * 전체 이슈 유형 조회
     */
    exports.getAllIssueTypes = asyncHandler(async (req, res) => {
      const rows = await issueTypeService.getAllIssueTypesService();

      res.json({
        success: true,
        data: rows,
        message: '이슈 유형 목록 조회 성공'
      });
    });

    /**
     * 이슈 유형 수정
     */
    exports.updateIssueType = asyncHandler(async (req, res) => {
      const id = parseInt(req.params.id, 10);
      const result = await issueTypeService.updateIssueTypeService(id, req.body);

      res.json({
        success: true,
        data: result,
        message: '이슈 유형이 성공적으로 수정되었습니다'
      });
    });

    /**
     * 이슈 유형 삭제
     */
    exports.removeIssueType = asyncHandler(async (req, res) => {
      const id = parseInt(req.params.id, 10);
      const result = await issueTypeService.removeIssueTypeService(id);

      res.json({
        success: true,
        data: result,
        message: '이슈 유형이 성공적으로 삭제되었습니다'
      });
    });