28 lines
881 B
TypeScript
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();
|
|
}
|
|
}
|