chore: upgrade dependencies

This commit is contained in:
Elias Schneider
2024-07-01 11:08:23 +02:00
parent 31366d961f
commit 9193a79b9a
11 changed files with 1253 additions and 813 deletions

View File

@@ -3,20 +3,20 @@ import { Module } from "@nestjs/common";
import { ScheduleModule } from "@nestjs/schedule";
import { AuthModule } from "./auth/auth.module";
import { CacheModule } from "@nestjs/cache-manager";
import { APP_GUARD } from "@nestjs/core";
import { ThrottlerGuard, ThrottlerModule } from "@nestjs/throttler";
import { AppController } from "./app.controller";
import { ClamScanModule } from "./clamscan/clamscan.module";
import { ConfigModule } from "./config/config.module";
import { EmailModule } from "./email/email.module";
import { FileModule } from "./file/file.module";
import { JobsModule } from "./jobs/jobs.module";
import { OAuthModule } from "./oauth/oauth.module";
import { PrismaModule } from "./prisma/prisma.module";
import { ReverseShareModule } from "./reverseShare/reverseShare.module";
import { ShareModule } from "./share/share.module";
import { UserModule } from "./user/user.module";
import { ClamScanModule } from "./clamscan/clamscan.module";
import { ReverseShareModule } from "./reverseShare/reverseShare.module";
import { AppController } from "./app.controller";
import { OAuthModule } from "./oauth/oauth.module";
import { CacheModule } from "@nestjs/cache-manager";
@Module({
imports: [
@@ -28,10 +28,12 @@ import { CacheModule } from "@nestjs/cache-manager";
ConfigModule,
JobsModule,
UserModule,
ThrottlerModule.forRoot({
ttl: 60,
limit: 100,
}),
ThrottlerModule.forRoot([
{
ttl: 60,
limit: 100,
},
]),
ScheduleModule.forRoot(),
ClamScanModule,
ReverseShareModule,

View File

@@ -37,7 +37,12 @@ export class AuthController {
) {}
@Post("signUp")
@Throttle(10, 5 * 60)
@Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
async signUp(
@Body() dto: AuthRegisterDTO,
@Res({ passthrough: true }) response: Response,
@@ -57,7 +62,12 @@ export class AuthController {
}
@Post("signIn")
@Throttle(10, 5 * 60)
@Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(200)
async signIn(
@Body() dto: AuthSignInDTO,
@@ -77,7 +87,12 @@ export class AuthController {
}
@Post("signIn/totp")
@Throttle(10, 5 * 60)
@Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(200)
async signInTotp(
@Body() dto: AuthSignInTotpDTO,
@@ -95,14 +110,24 @@ export class AuthController {
}
@Post("resetPassword/:email")
@Throttle(5, 5 * 60)
@Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(202)
async requestResetPassword(@Param("email") email: string) {
this.authService.requestResetPassword(email);
}
@Post("resetPassword")
@Throttle(5, 5 * 60)
@Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(204)
async resetPassword(@Body() dto: ResetPasswordDTO) {
return await this.authService.resetPassword(dto.token, dto.password);

View File

@@ -1,5 +1,4 @@
import { Injectable } from "@nestjs/common";
import fetch from "node-fetch";
import { ConfigService } from "../../config/config.service";
import { OAuthCallbackDto } from "../dto/oauthCallback.dto";
import { OAuthSignInDto } from "../dto/oauthSignIn.dto";
@@ -52,7 +51,7 @@ export class DiscordProvider implements OAuthProvider<DiscordToken> {
this.config.get("general.appUrl") + "/api/oauth/callback/discord",
}),
});
const token: DiscordToken = await res.json();
const token = (await res.json()) as DiscordToken;
return {
accessToken: token.access_token,
refreshToken: token.refresh_token,

View File

@@ -1,5 +1,4 @@
import { Logger } from "@nestjs/common";
import fetch from "node-fetch";
import { ConfigService } from "../../config/config.service";
import { JwtService } from "@nestjs/jwt";
import { Cache } from "cache-manager";
@@ -25,7 +24,7 @@ export abstract class GenericOidcProvider implements OAuthProvider<OidcToken> {
protected cache: Cache,
) {
this.discoveryUri = this.getDiscoveryUri();
this.config.addListener("update", (key: string, _: unknown) => {
this.config.addListener("update", (key: string) => {
if (this.keyOfConfigUpdateEvents.includes(key)) {
this.deinit();
this.discoveryUri = this.getDiscoveryUri();
@@ -94,7 +93,7 @@ export abstract class GenericOidcProvider implements OAuthProvider<OidcToken> {
redirect_uri: this.getRedirectUri(),
}).toString(),
});
const token: OidcToken = await res.json();
const token = (await res.json()) as OidcToken;
return {
accessToken: token.access_token,
expiresIn: token.expires_in,
@@ -159,7 +158,7 @@ export abstract class GenericOidcProvider implements OAuthProvider<OidcToken> {
: Date.now() + 1000 * 60 * 60 * 24;
this.configuration = {
expires,
data: await res.json(),
data: (await res.json()) as OidcConfiguration,
};
}

View File

@@ -1,5 +1,4 @@
import { Injectable } from "@nestjs/common";
import fetch from "node-fetch";
import { ConfigService } from "../../config/config.service";
import { OAuthCallbackDto } from "../dto/oauthCallback.dto";
import { OAuthSignInDto } from "../dto/oauthSignIn.dto";
@@ -38,7 +37,7 @@ export class GitHubProvider implements OAuthProvider<GitHubToken> {
},
},
);
const token: GitHubToken = await res.json();
const token = (await res.json()) as GitHubToken;
return {
accessToken: token.access_token,
tokenType: token.token_type,

View File

@@ -36,7 +36,12 @@ export class ReverseShareController {
return { token, link };
}
@Throttle(20, 60)
@Throttle({
default: {
limit: 20,
ttl: 60,
},
})
@Get(":reverseShareToken")
async getByToken(@Param("reverseShareToken") reverseShareToken: string) {
const isValid = await this.reverseShareService.isValid(reverseShareToken);

View File

@@ -16,6 +16,7 @@ import { Request, Response } from "express";
import { GetUser } from "src/auth/decorator/getUser.decorator";
import { AdministratorGuard } from "src/auth/guard/isAdmin.guard";
import { JwtGuard } from "src/auth/guard/jwt.guard";
import { AdminShareDTO } from "./dto/adminShare.dto";
import { CreateShareDTO } from "./dto/createShare.dto";
import { MyShareDTO } from "./dto/myShare.dto";
import { ShareDTO } from "./dto/share.dto";
@@ -26,7 +27,6 @@ import { ShareOwnerGuard } from "./guard/shareOwner.guard";
import { ShareSecurityGuard } from "./guard/shareSecurity.guard";
import { ShareTokenSecurity } from "./guard/shareTokenSecurity.guard";
import { ShareService } from "./share.service";
import { AdminShareDTO } from "./dto/adminShare.dto";
@Controller("shares")
export class ShareController {
constructor(private shareService: ShareService) {}
@@ -99,14 +99,24 @@ export class ShareController {
await this.shareService.remove(id, isDeleterAdmin);
}
@Throttle(10, 60)
@Throttle({
default: {
limit: 10,
ttl: 60,
},
})
@Get("isShareIdAvailable/:id")
async isShareIdAvailable(@Param("id") id: string) {
return this.shareService.isShareIdAvailable(id);
}
@HttpCode(200)
@Throttle(20, 5 * 60)
@Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@UseGuards(ShareTokenSecurity)
@Post(":id/token")
async getShareToken(

View File

@@ -11,7 +11,7 @@ import { ShareService } from "./share.service";
imports: [
JwtModule.register({}),
EmailModule,
ClamScanModule,
forwardRef(() => ClamScanModule),
ReverseShareModule,
forwardRef(() => FileModule),
],