feat: upload backups

This commit is contained in:
izzy
2025-11-21 12:52:27 +00:00
parent 3d2d7fa64c
commit 19ba23056c
12 changed files with 297 additions and 13 deletions

View File

@@ -1,4 +1,18 @@
import { Body, Controller, Delete, Get, Param, Post, Req, Res } from '@nestjs/common';
import {
Body,
Controller,
Delete,
FileTypeValidator,
Get,
Param,
ParseFilePipe,
Post,
Req,
Res,
UploadedFile,
UseInterceptors,
} from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
import { Request, Response } from 'express';
import {
MaintenanceAuthDto,
@@ -62,4 +76,14 @@ export class MaintenanceWorkerController {
async deleteBackup(@Param() { filename }: FilenameParamDto): Promise<void> {
return this.service.deleteBackup(filename);
}
@Post('admin/maintenance/backups/upload')
@MaintenanceRoute()
@UseInterceptors(FileInterceptor('file'))
uploadBackup(
@UploadedFile(new ParseFilePipe({ validators: [new FileTypeValidator({ fileType: 'application/gzip' })] }))
file: Express.Multer.File,
): Promise<void> {
return this.service.uploadBackup(file);
}
}