import { Injectable } from '@nestjs/common'; import { Model } from 'mongoose'; import { InjectModel } from '@nestjs/mongoose'; import { DepEdPhUser } from './interfaces/depedphuser.interface'; import { CreateUserDTO } from './dto/create-user.dto'; @Injectable() export class UserService { constructor(@InjectModel('DepEdPhUser') private readonly DepEdPhUserModel: Model) { } // fetch all DepEdPhUsers async getAllDepEdPhUser(): Promise { const DepEdPhUsers = await this.DepEdPhUserModel.find().exec(); return DepEdPhUsers; } // Get a single DepEdPhUser async getDepEdPhUser(DepEdPhUserID): Promise { const DepEdPhUser = await this.DepEdPhUserModel.findById(DepEdPhUserID).exec(); return DepEdPhUser; } // post a single DepEdPhUser async addDepEdPhUser(createUserDTO: CreateUserDTO): Promise { const newDepEdPhUser = await new this.DepEdPhUserModel(createUserDTO); return newDepEdPhUser.save(); } // Edit DepEdPhUser details async updateDepEdPhUser(DepEdPhUserID, createUserDTO: CreateUserDTO): Promise { const updatedDepEdPhUser = await this.DepEdPhUserModel .findByIdAndUpdate(DepEdPhUserID, createUserDTO, { new: true }); return updatedDepEdPhUser; } // Delete a DepEdPhUser async deleteDepEdPhUser(DepEdPhUserID): Promise { const deletedDepEdPhUser = await this.DepEdPhUserModel.findByIdAndRemove(DepEdPhUserID); return deletedDepEdPhUser; } }