본문 바로가기

아카이브/미륵관심법

미륵관심법 devices DELETE GET POST 예외처리

728x90

오늘은 가볍게 예외처리를 진행하였다.

import { Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { CreateDeviceDto } from "./dto/create-device.dto";
import { DeleteDeviceDto } from "./dto/delete-device.dto";
import { Repository } from "typeorm";
import { DeviceEntity } from "./entities/device.entity";
import { UserEntity } from "../users/entities/user.entity";

@Injectable()
export class DevicesService {
  constructor(
    @InjectRepository(DeviceEntity)
    private readonly deviceRepository: Repository<DeviceEntity>
  ) {}
  async create(createDeviceDto: CreateDeviceDto, uuid: string, userId: number) {
    try {
      const target = await this.deviceRepository.findOne({
        where: { fcmToken: createDeviceDto.fcmToken },
      });
      if (target) {
        return "이미 등록된 기기입니다.";
      } else {
        const result = await this.deviceRepository.insert({
          uuid,
          fcmToken: createDeviceDto.fcmToken,
          name: createDeviceDto.name,
          mode: createDeviceDto.mode,
          startTime: createDeviceDto.startTime,
          endTime: createDeviceDto.endTime,
          alarmCount: createDeviceDto.alarmCount,
          activeStatus: createDeviceDto.activeStatus,
        });
        if (result) {
          return "기기가 등록되었습니다.";
        } else {
          return "기기 등록에 실패하였습니다.";
        }
      }
    } catch (error) {
      return "일시적인 오류가 발생하였습니다.";
    }
  }

  async findAll() {
    try {
      return await this.deviceRepository.find({});
    } catch (error) {
      return "일시적인 오류가 발생하였습니다.";
    }
  }

  async remove(deleteDeviceDto: DeleteDeviceDto) {
    try {
      const target = await this.deviceRepository.findOne({
        where: { uuid: deleteDeviceDto.uuid },
      });
      if (!target) {
        return "존재하지 않는 기기입니다.";
      }
      const result = await this.deviceRepository.delete({
        uuid: deleteDeviceDto.uuid,
      });
      if (result) {
        return `기기가 삭제되었습니다.`;
      } else {
        return `기기 삭제에 실패하였습니다.`;
      }
    } catch (error) {
      return "일시적인 오류가 발생하였습니다.";
    }
  }
}

 

오늘부터 추가로 자원과 회의록 채널을 맡게 되었다. 

2023년 9월 17일 회의록 중 발췌

 

앞으로도 즐겁게 파이팅하는 나와 우리가 되었으면 좋겠다.

TEAM 태조왕건 파이팅!