File

src/service/1.0.0/global.service.ts

Index

Methods

Constructor

constructor(coursespository: Repository, fileRepository: Repository, fileCoureRepository: Repository)
Parameters :
Name Type Optional
coursespository Repository<Course> No
fileRepository Repository<Files> No
fileCoureRepository Repository<FilesCourse> No

Methods

Async updateCourseDataSize
updateCourseDataSize(courseId: Number)
Parameters :
Name Type Optional
courseId Number No
Returns : {}
import { Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { Course } from "src/entity/course.entity";
import { FilesCourse } from "src/entity/file-course.entity";
import { Files } from "src/entity/file-descriptor.entity";
import { CourseNotFoundException } from "src/exception/course/course-not-found.exception";
import { Repository } from "typeorm";
import * as fs from "fs";

@Injectable()
export class GlobalService100 {
  constructor(
    @InjectRepository(Course)
    private readonly coursespository: Repository<Course>,
    @InjectRepository(Files)
    private readonly fileRepository: Repository<Files>,
    @InjectRepository(FilesCourse)
    private readonly fileCoureRepository: Repository<FilesCourse>
  ) {}

  async updateCourseDataSize(courseId: Number) {    
        let course = await this.coursespository.findOne({ where: { id: courseId } })
        if (!course) {
            throw new CourseNotFoundException()
        }
        const coourseFiles = await this.fileCoureRepository.find({ where: { course: course }, relations:["file"] })
        let fileSizes = 0
        for (let index = 0; index < coourseFiles.length; index++) {
            const element = coourseFiles[index];
         const stats = fs.statSync(
           "./files/uploadedFiles/" + element.file.fileSavedName
         );
         fileSizes = fileSizes + stats.size;
        }
        course.dataSize = fileSizes
        // console.log(typeof course.dataSize);
        // console.log(typeof fileSizes);
        
        course = await this.coursespository.save(course)
        return course
  }
}

result-matching ""

    No results matching ""