bex-twn/src/resident/resident.service.ts

28 lines
881 B
TypeScript

import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { takeMongoObject } from 'src/utility';
import { Resident, ResidentDocument } from './schemas/Resident.schema';
@Injectable()
export class ResidentService {
constructor(
@InjectModel(Resident.name) private residentModel: Model<ResidentDocument>,
) {}
public async createResident(resident: Partial<Resident>): Promise<Resident> {
const createdResident = new this.residentModel(resident);
return createdResident.save();
}
public async getResidentBySub(sub: string): Promise<Resident> {
return this.residentModel.findOne({ sub }).exec();
}
public async save(resident: Partial<Resident>): Promise<Resident> {
return this.residentModel
.findOneAndUpdate({ sub: resident.sub }, resident)
.exec();
}
}