Skip to content

Commit 738105d

Browse files
committed
fix: mime aws
1 parent c050913 commit 738105d

File tree

13 files changed

+285
-358
lines changed

13 files changed

+285
-358
lines changed

eslint.config.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ module.exports = rubiin({
1414
},
1515
overrides: {
1616
test: {
17-
"ts/unbound-method": "off"
17+
"ts/unbound-method": "off",
18+
"ts/no-unsafe-assignment": "off",
19+
"ts/no-unsafe-call": "off",
1820
},
1921
typescript:
2022
{

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
"ioredis": "^5.4.1",
109109
"isomorphic-dompurify": "^2.15.0",
110110
"joi": "^17.13.3",
111-
"mime-types": "^2.1.35",
111+
"mime": "^4.0.4",
112112
"nestjs-cloudinary": "^2.0.7",
113113
"nestjs-i18n": "^10.4.5",
114114
"nestjs-minio": "^2.6.2",

pnpm-lock.yaml

+259-337
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/common/database/user.subscriber.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ export class UserSubscriber implements EventSubscriber<User> {
1212
return [User];
1313
}
1414

15-
async beforeCreate(arguments_: EventArgs<User>): Promise<void> {
16-
if (arguments_.changeSet?.payload?.password)
17-
arguments_.entity.password = await HelperService.hashString(arguments_.entity.password);
15+
async beforeCreate(eventArguments: EventArgs<User>): Promise<void> {
16+
if (eventArguments.changeSet?.payload?.password != null)
17+
eventArguments.entity.password = await HelperService.hashString(eventArguments.entity.password);
1818
}
1919

20-
async beforeUpdate(arguments_: EventArgs<User>): Promise<void> {
21-
if (arguments_.changeSet?.payload?.password)
22-
arguments_.entity.password = await HelperService.hashString(arguments_.entity.password);
20+
async beforeUpdate(eventArguments: EventArgs<User>): Promise<void> {
21+
if (eventArguments?.changeSet?.payload?.password != null)
22+
eventArguments.entity.password = await HelperService.hashString(eventArguments.entity.password);
2323
}
2424
}

src/common/decorators/validation/is-nested.validator.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ import {
1111
} from "class-validator";
1212
import { i18nValidationMessage } from "nestjs-i18n";
1313
import { Type } from "class-transformer";
14+
import type { Class } from "helper-fns";
1415

1516
/**
1617
* It's a decorator that validates a string field
1718
* @param {IsNestedFieldOptions} [ops] - IsNestedFieldOptions
1819
* @returns A function that returns a decorator.
1920
*/
2021

21-
export function IsNestedField(entity: Function, ops?: IsNestedFieldOptions) {
22+
export function IsNestedField(entity: Class, ops?: IsNestedFieldOptions) {
2223
const options: IsNestedFieldOptions = {
2324
required: true,
2425
each: false,

src/common/guards/jwt.guard.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export class JwtAuthGuard extends AuthGuard("jwt") {
2626
}
2727

2828
handleRequest<User>(error: any, user: User, info: { message: string }) {
29-
if (error || info || !user) {
29+
if (error != null || info != null || user == null) {
3030
if (info instanceof TokenExpiredError) {
3131
throw new ForbiddenException(
3232
translate("exception.token", {

src/entities/post.entity.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ export class Post extends BaseEntity {
7272
@BeforeUpsert()
7373
@BeforeCreate()
7474
@BeforeUpdate()
75-
async generateSlug(arguments_: EventArgs<this>) {
76-
if (arguments_.changeSet?.payload?.title) {
75+
async generateSlug(eventArguments: EventArgs<this>) {
76+
if (eventArguments.changeSet?.payload?.title != null) {
7777
this.slug = `${slugify(
7878
this.title,
7979
)}-${Math.trunc(Math.random() * 36 ** 6).toString(36)}`;

src/entities/tag.entity.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ export class Tag extends BaseEntity {
3838
@BeforeCreate()
3939
@BeforeUpsert()
4040
@BeforeUpdate()
41-
generateSlug(arguments_: EventArgs<this>) {
42-
if (arguments_.changeSet?.payload?.title)
41+
generateSlug(eventArguments: EventArgs<this>) {
42+
if (eventArguments?.changeSet?.payload?.title != null)
4343
this.slug = slugify(this.title);
4444
}
4545
}

src/entities/user.entity.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ export class User extends BaseEntity {
122122
@BeforeCreate()
123123
@BeforeUpdate()
124124
@BeforeUpsert()
125-
async hashPassword(arguments_: EventArgs<this>) {
126-
if (arguments_.changeSet?.payload?.password)
125+
async hashPassword(eventArguments: EventArgs<this>) {
126+
if (eventArguments?.changeSet?.payload?.password != null)
127127
this.password = await HelperService.hashString(this.password);
128128
}
129129
}

src/lib/aws/aws.s3.service.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
UploadPartCommand,
1515
} from "@aws-sdk/client-s3";
1616
import { Inject, Injectable } from "@nestjs/common";
17-
import { lookup } from "mime-types";
17+
import mime from 'mime';
1818

1919
import { isEmpty, omit } from "helper-fns";
2020
import type { Observable } from "rxjs";
@@ -158,8 +158,8 @@ export class AwsS3Service {
158158
const extension = fileName
159159
.slice(fileName.lastIndexOf(".") + 1, fileName.length)
160160
.toUpperCase();
161-
const fileMime = lookup(extension);
162-
return fileMime || extension;
161+
const fileMime = mime.getType(extension) ?? extension;
162+
return fileMime
163163
}
164164

165165
/**

src/lib/config/configs/app.config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export const app = registerAs("app", () => ({
3030
url: process.env.API_URL,
3131
name: process.env.APP_NAME,
3232
clientUrl: process.env.CLIENT_URL,
33-
allowedOrigins: process.env.ALLOWED_ORIGINS ? process.env.ALLOWED_ORIGINS.split(",") : "*",
33+
allowedOrigins: process.env?.ALLOWED_ORIGINS?.split(",") ?? "*",
3434
sentryDsn: process.env.SENTRY_DSN,
3535
swaggerUser: process.env.SWAGGER_USER,
3636
swaggerPass: process.env.SWAGGER_PASSWORD,

src/lib/config/configs/mail.config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export const mail = registerAs("mail", () => ({
2727
port: process.env.MAIL_PORT ?? +process.env.MAIL_PORT,
2828
type: process.env.MAIL_SERVER,
2929
previewEmail: process.env.MAIL_PREVIEW_EMAIL,
30-
bccList: process.env?.MAIL_BCC_LIST ? process.env.MAIL_BCC_LIST.split(",") : [],
30+
bccList: process.env?.MAIL_BCC_LIST?.split(",") ?? [],
3131
templateDir: process.env.MAIL_TEMPLATE_DIR,
3232
senderEmail: process.env.MAIL_SENDER_EMAIL,
3333
sesKey: process.env.MAIL_SES_KEY,

src/lib/crud/crud.controller.ts

+2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ export class AbstractValidationPipe extends ValidationPipe {
1818
const targetType = this.targetTypes[metadata.type] as Type<any>;
1919

2020
if (targetType == null)
21+
// eslint-disable-next-line ts/no-unsafe-return
2122
return super.transform(value, metadata);
2223

24+
// eslint-disable-next-line ts/no-unsafe-return
2325
return super.transform(value, { ...metadata, metatype: targetType });
2426
}
2527
}

0 commit comments

Comments
 (0)