src/service/1.0.0/global.service.ts
Methods |
|
constructor(coursespository: Repository
|
||||||||||||
Defined in src/service/1.0.0/global.service.ts:11
|
||||||||||||
Parameters :
|
Async updateCourseDataSize | ||||||
updateCourseDataSize(courseId: Number)
|
||||||
Defined in src/service/1.0.0/global.service.ts:21
|
||||||
Parameters :
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
}
}