File

src/compliance/evidence.service.ts

Index

Methods

Constructor

constructor(prismaService: PrismaService)
Parameters :
Name Type Optional
prismaService PrismaService No

Methods

Async createComplianceEvidence
createComplianceEvidence(name: string, description: string, projectId: number, fileName: string, bucketName: string, uploadedBy: string)

Create a new compliance evidence

Parameters :
Name Type Optional Description
name string No

evidence name

description string No

evidence description

projectId number No

project id

fileName string No

file name

bucketName string No

bucket name

uploadedBy string No

uploaded by

created evidence

Async deleteComplianceEvidence
deleteComplianceEvidence(id: number)

Delete compliance evidence

Parameters :
Name Type Optional Description
id number No

evidence id

deleted evidence

Async findOne
findOne(id: number)

Get compliance evidence by id

Parameters :
Name Type Optional Description
id number No

evidence id

evidence

import { PrismaService } from "../common/prisma/prisma.service";
import { Injectable } from "@nestjs/common";
import { ComplianceEvidence } from "./entities/evidence.entity";

@Injectable()
export class EvidenceService {
  constructor(private readonly prismaService: PrismaService) {}

  /**
   * Create a new compliance evidence
   * @param {string} name evidence name
   * @param {string} description evidence description
   * @param {number} projectId project id
   * @param {string} fileName file name
   * @param {string} bucketName bucket name
   * @param {string} uploadedBy uploaded by
   * @returns {Promise<ComplianceEvidence>} created evidence
   */
  async createComplianceEvidence(
    name: string,
    description: string,
    projectId: number,
    fileName: string,
    bucketName: string,
    uploadedBy: string,
  ): Promise<ComplianceEvidence> {
    return new ComplianceEvidence(
      await this.prismaService.complianceEvidence.create({
        data: {
          name: name,
          description: description,
          fileName: fileName,
          bucketName: bucketName,
          uploadedBy: uploadedBy,
        },
      }),
    );
  }

  /**
   * Get compliance evidence by id
   * @param {number} id evidence id
   * @returns {Promise<ComplianceEvidence>} evidence
   */
  async findOne(id: number): Promise<ComplianceEvidence> {
    return new ComplianceEvidence(
      await this.prismaService.complianceEvidence.findUnique({
        where: { id },
        include: {
          riskSubmissions: {
            include: {
              risk: {
                include: {
                  project: true,
                },
              },
            },
          },
        },
      }),
    );
  }

  /**
   * Delete compliance evidence
   * @param {number} id evidence id
   * @returns {Promise<ComplianceEvidence>} deleted evidence
   */
  async deleteComplianceEvidence(id: number): Promise<ComplianceEvidence> {
    return new ComplianceEvidence(
      await this.prismaService.complianceEvidence.delete({
        where: { id },
      }),
    );
  }
}

results matching ""

    No results matching ""