import { Injectable } from "@nestjs/common"; import { InjectModel } from "@nestjs/mongoose"; import { FilterQuery, Model, UpdateQuery } from "mongoose"; import { ClientModel, ClientDocument } from "../schema/client.schema"; @Injectable() export class ClientDbService { constructor( @InjectModel(ClientModel.name) private readonly clientModel: Model, ) {} async create(client: ClientModel): Promise { return await this.clientModel.create(client); } async find(client: FilterQuery): Promise { return await this.clientModel.findOne(client); } async findOne(client: FilterQuery) { return this.clientModel.findOne(client); } async findAll(): Promise { return await this.clientModel.find(); } async findByIdAndUpdate( id: string, update: UpdateQuery, ): Promise { return this.clientModel .findByIdAndUpdate(id, update, { new: true }) .lean() .exec(); } }