File

src/request/request.service.ts

Index

Methods

Constructor

constructor(requestModel: Model<RequestDocument>)
Parameters :
Name Type Optional
requestModel Model<RequestDocument> No

Methods

Async create
create(createRequestDto: CreateRequestDto, email: string)
Parameters :
Name Type Optional
createRequestDto CreateRequestDto No
email string No
Async findAll
findAll(filterFundDTO: FilterRequestDto)
Parameters :
Name Type Optional
filterFundDTO FilterRequestDto No
Async findByIds
findByIds(ids: string[])
Parameters :
Name Type Optional
ids string[] No
Async findOne
findOne(id: string)
Parameters :
Name Type Optional
id string No
Returns : unknown
Async update
update(id: string, updateRequestDto: UpdateRequestDto)
Parameters :
Name Type Optional
id string No
updateRequestDto UpdateRequestDto No
import { Model } from "mongoose";
import { InjectModel } from "@nestjs/mongoose";
import { Injectable } from "@nestjs/common";

import { CreateRequestDto } from "./dto/create-request.dto";
import { UpdateRequestDto } from "./dto/update-request.dto";
import { Request, RequestDocument } from "./schemas/request.schema";
import { Status } from "./entities/request.entity";
import { FilterRequestDto } from "./dto/filter-requesr.dto";

@Injectable()
export class RequestService {
  constructor(
    @InjectModel(Request.name)
    private readonly requestModel: Model<RequestDocument>,
  ) {}

  async create(
    createRequestDto: CreateRequestDto,
    email: string,
  ): Promise<RequestDocument> {
    const request = new this.requestModel({
      ...createRequestDto,
      submitterEmail: email,
      status: Status.review,
    });
    return request.save();
  }

  async findAll(filterFundDTO: FilterRequestDto): Promise<RequestDocument[]> {
    return this.requestModel.find(filterFundDTO);
  }

  async findByIds(ids: string[]): Promise<RequestDocument[]> {
    return this.requestModel.find({ _id: { $in: ids } });
  }
  async findOne(id: string) {
    return this.requestModel.findById(id);
  }

  async update(
    id: string,
    updateRequestDto: UpdateRequestDto,
  ): Promise<RequestDocument> {
    return this.requestModel.findByIdAndUpdate(id, updateRequestDto);
  }
}

results matching ""

    No results matching ""