From 10701c16bed1fcf21209b58164dbd944e9bceb02 Mon Sep 17 00:00:00 2001 From: hknsh Date: Sat, 12 Oct 2024 17:51:02 +0100 Subject: [PATCH] feat: downgraded swc and file-type, added field count on user info --- bun.lockb | Bin 453656 -> 452520 bytes package.json | 4 ++-- src/users/users.service.ts | 6 ++++++ src/validators/buffer.validator.ts | 7 ++----- src/validators/multi_file.validator.ts | 7 ++----- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2097a7585a6e04dd23054b39a0f26038624d88fd..c1c18f3b5a4b0375bc8ea2d5f3420326d0087c46 100755 GIT binary patch delta 67790 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 B3?Kji delta 68531 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�U0pWJhcjU``P*W2(r0p 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 PZPz?jHqUN%Txa|rhwET- diff --git a/package.json b/package.json index 19c7b16..cc22cae 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "argon2": "^0.41.1", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", - "file-type": "^19.5.0", + "file-type": "16.5.4", "ioredis": "^5.4.1", "nestjs-s3": "^2.0.1", "nestjs-zod": "^3.0.0", @@ -66,7 +66,7 @@ "@nestjs/schematics": "^10.1.4", "@nestjs/testing": "^10.4.4", "@swc/cli": "^0.1.65", - "@swc/core": "^1.7.35", + "@swc/core": "1.7.25", "@swc/jest": "^0.2.36", "@types/jest": "^29.5.13", "@types/node": "^20.16.11", diff --git a/src/users/users.service.ts b/src/users/users.service.ts index 76d7768..2f2a78d 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -56,6 +56,12 @@ export class UserService { attachments: true, createdAt: true, updatedAt: true, + _count: { + select: { + comments: true, + likes: true, + }, + }, }, }, }, diff --git a/src/validators/buffer.validator.ts b/src/validators/buffer.validator.ts index f3460bc..d5a5003 100644 --- a/src/validators/buffer.validator.ts +++ b/src/validators/buffer.validator.ts @@ -1,5 +1,6 @@ import { File } from "@nest-lab/fastify-multer"; import { BadRequestException, Injectable, PipeTransform } from "@nestjs/common"; +import { fromBuffer } from "file-type"; /** * Magic Number validation with `file-type` module. @@ -7,12 +8,8 @@ import { BadRequestException, Injectable, PipeTransform } from "@nestjs/common"; @Injectable() export class BufferValidator implements PipeTransform { async transform(value: File) { - const { fileTypeFromBuffer } = await (eval( - 'import("file-type")', - ) as Promise); - const ALLOWED_MIMES = ["image/jpeg", "image/png", "image/webp"]; - const buffer_type = await fileTypeFromBuffer(value.buffer); + const buffer_type = await fromBuffer(value.buffer); if (!buffer_type || !ALLOWED_MIMES.includes(buffer_type.mime)) { throw new BadRequestException( diff --git a/src/validators/multi_file.validator.ts b/src/validators/multi_file.validator.ts index 62f6988..3d61be9 100644 --- a/src/validators/multi_file.validator.ts +++ b/src/validators/multi_file.validator.ts @@ -1,5 +1,6 @@ import { File } from "@nest-lab/fastify-multer"; import { BadRequestException, Injectable, PipeTransform } from "@nestjs/common"; +import { fromBuffer } from "file-type"; @Injectable() export class MultiFileValidation implements PipeTransform { @@ -8,16 +9,12 @@ export class MultiFileValidation implements PipeTransform { const errors = []; - const { fileTypeFromBuffer } = await (eval( - 'import("file-type")', - ) as Promise); - for (let i = 0; i < value.length; i++) { const file = value[i]; const { buffer, size } = file; try { - const buffer_type = await fileTypeFromBuffer(buffer); + const buffer_type = await fromBuffer(buffer); if (!buffer_type || !ALLOWED_MIMES.includes(buffer_type.mime)) { errors.push({