본문 바로가기

아카이브/미륵관심법

미륵 관심법 기기 관리 API 구조 잡기

728x90

회원가입 / 로그인 파트가 진행중이라 userID를 제외한 API를 만들었다.

API 작동 결과

처음에 endpoint를 /devices/alert 로 잡았었는데 PR 코멘트를 받고 수정하게 되었다.

코멘트를 이용해서 처음 협업을 해 봐서 신기했다.

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) {
    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,
    });
    return "알림 기기가 등록되었습니다.";
  }

  async findAll() {
    return await this.deviceRepository.find({});
  }

  async remove(deleteDeviceDto: DeleteDeviceDto) {
    await this.deviceRepository.delete({
      uuid: deleteDeviceDto.uuid,
    });
    return `This action removes a device`;
  }
}

타입스크립트 파이팅이다!