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 "일시적인 오류가 발생하였습니다.";
}
}
}
오늘부터 추가로 자원과 회의록 채널을 맡게 되었다.
앞으로도 즐겁게 파이팅하는 나와 우리가 되었으면 좋겠다.
TEAM 태조왕건 파이팅!
'아카이브 > 미륵관심법' 카테고리의 다른 글
FCM Firebase 클라우드 메시징 (0) | 2023.09.26 |
---|---|
PWA 프로그레시브 웹 앱 (0) | 2023.09.26 |
미륵관심법 devices PATCH API (0) | 2023.09.19 |
미륵 관심법 기기 관리 API 구조 잡기 (0) | 2023.09.16 |
기기의 고유 ID 생성 방법 (0) | 2023.09.13 |