37 lines
1.5 KiB
TypeScript
37 lines
1.5 KiB
TypeScript
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<DepEdPhUser>) { }
|
|
// fetch all DepEdPhUsers
|
|
async getAllDepEdPhUser(): Promise<DepEdPhUser[]> {
|
|
const DepEdPhUsers = await this.DepEdPhUserModel.find().exec();
|
|
return DepEdPhUsers;
|
|
}
|
|
// Get a single DepEdPhUser
|
|
async getDepEdPhUser(DepEdPhUserID): Promise<DepEdPhUser> {
|
|
const DepEdPhUser = await this.DepEdPhUserModel.findById(DepEdPhUserID).exec();
|
|
return DepEdPhUser;
|
|
}
|
|
// post a single DepEdPhUser
|
|
async addDepEdPhUser(createUserDTO: CreateUserDTO): Promise<DepEdPhUser> {
|
|
const newDepEdPhUser = await new this.DepEdPhUserModel(createUserDTO);
|
|
return newDepEdPhUser.save();
|
|
}
|
|
// Edit DepEdPhUser details
|
|
async updateDepEdPhUser(DepEdPhUserID, createUserDTO: CreateUserDTO): Promise<DepEdPhUser> {
|
|
const updatedDepEdPhUser = await this.DepEdPhUserModel
|
|
.findByIdAndUpdate(DepEdPhUserID, createUserDTO, { new: true });
|
|
return updatedDepEdPhUser;
|
|
}
|
|
// Delete a DepEdPhUser
|
|
async deleteDepEdPhUser(DepEdPhUserID): Promise<any> {
|
|
const deletedDepEdPhUser = await this.DepEdPhUserModel.findByIdAndRemove(DepEdPhUserID);
|
|
return deletedDepEdPhUser;
|
|
}
|
|
}
|