Skip to content

Commit

Permalink
Merge pull request #159 from waifuvault/refactor
Browse files Browse the repository at this point in the history
refactor file service
  • Loading branch information
VictoriqueMoe committed Jun 21, 2024
2 parents a19ced7 + 30f03e0 commit 46d51df
Show file tree
Hide file tree
Showing 7 changed files with 334 additions and 293 deletions.
10 changes: 6 additions & 4 deletions src/controllers/rest/impl/FileUploadController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,24 @@ import { FileUploadResponseDto } from "../../../model/dto/FileUploadResponseDto.
import { BadRequest } from "@tsed/exceptions";
import { MultipartFile, PathParams, type PlatformMulterFile, QueryParams, Req, Res } from "@tsed/common";
import { BodyParams } from "@tsed/platform-params";
import { FileService } from "../../../services/FileService.js";
import { FileUploadService } from "../../../services/FileUploadService.js";
import { FileUtils, NetworkUtils } from "../../../utils/Utils.js";
import { BaseRestController } from "../BaseRestController.js";
import { Logger } from "@tsed/logger";
import { EntryModificationDto } from "../../../model/dto/EntryModificationDto.js";
import type { Request, Response } from "express";
import { DefaultRenderException } from "../../../model/rest/DefaultRenderException.js";
import { FileUploadQueryParameters } from "../../../model/rest/FileUploadQueryParameters.js";
import { FileService } from "../../../services/FileService.js";

@Controller("/")
@Description("This is the API documentation for uploading and sharing files.")
@Name("File Uploader")
@Returns(StatusCodes.FORBIDDEN, DefaultRenderException).Description("If your IP has been blocked")
export class FileUploadController extends BaseRestController {
public constructor(
@Inject() private fileUploadService: FileService,
@Inject() private fileUploadService: FileUploadService,
@Inject() private fileService: FileService,
@Inject() private logger: Logger,
) {
super();
Expand Down Expand Up @@ -128,7 +130,7 @@ export class FileUploadController extends BaseRestController {
if (!token) {
throw new BadRequest("no token provided");
}
return this.fileUploadService.getFileInfo(token, humanReadable);
return this.fileService.getFileInfo(token, humanReadable);
}

@Patch("/:token")
Expand Down Expand Up @@ -157,7 +159,7 @@ export class FileUploadController extends BaseRestController {
if (!token) {
throw new BadRequest("no token provided");
}
const deleted = await this.fileUploadService.processDelete([token]);
const deleted = await this.fileService.processDelete([token]);
if (!deleted) {
throw new BadRequest(`Unknown token ${token}`);
}
Expand Down
2 changes: 1 addition & 1 deletion src/controllers/serve/FileServerController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { Get, Hidden } from "@tsed/schema";
import { Controller, Inject } from "@tsed/di";
import { HeaderParams, PathParams, Res } from "@tsed/common";
import * as Path from "node:path";
import { FileService } from "../../services/FileService.js";
import { FileProtectedException } from "../../model/exceptions/FileProtectedException.js";
import { MimeService } from "../../services/MimeService.js";
import type { Response } from "express";
import { FileUploadModel } from "../../model/db/FileUpload.model.js";
import { FileService } from "../../services/FileService.js";

@Hidden()
@Controller("/")
Expand Down
6 changes: 4 additions & 2 deletions src/public/fileLogin.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,12 @@
}
);
const filename = location.pathname.split("/").pop();
const blob = await res.blob();
const _url = window.URL.createObjectURL(blob);
const file = new File([blob], filename)
const _url = window.URL.createObjectURL(file);
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
if (blob.type === "application/octet-stream" || isSafari) {
if (isSafari) {
const a = document.createElement("a");
document.body.appendChild(a);
a.style.display = "none";
Expand Down
6 changes: 3 additions & 3 deletions src/services/AdminService.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { Constant, Inject, Service } from "@tsed/di";
import { FileRepo } from "../db/repo/FileRepo.js";
import { Constant, Inject, Service } from "@tsed/di";
import { IpBlackListRepo } from "../db/repo/IpBlackListRepo.js";
import { IpBlackListModel } from "../model/db/IpBlackList.model.js";
import { FileService } from "./FileService.js";
import GlobalEnv from "../model/constants/GlobalEnv.js";
import { StatsDto } from "../model/dto/StatsDto.js";
import { FileEntryDto } from "../model/dto/FileEntryDto.js";
import { FileUploadModel } from "../model/db/FileUpload.model.js";
import { IpBlockedAwareFileEntry } from "../utils/typeings.js";
import { StatsDto } from "../model/dto/StatsDto.js";
import { IpBlackListModel } from "../model/db/IpBlackList.model.js";

@Service()
export class AdminService {
Expand Down
2 changes: 1 addition & 1 deletion src/services/FileCleaner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { Constant, Inject, Service } from "@tsed/di";
import { OnReady } from "@tsed/common";
import { FileRepo } from "../db/repo/FileRepo.js";
import { ScheduleService } from "./ScheduleService.js";
import { FileService } from "./FileService.js";
import { filesDir, FileUtils } from "../utils/Utils.js";
import GlobalEnv from "../model/constants/GlobalEnv.js";
import fs from "node:fs/promises";
import { FileUploadModel } from "../model/db/FileUpload.model.js";
import { FileService } from "./FileService.js";

@Service()
export class FileCleaner implements OnReady {
Expand Down
Loading

0 comments on commit 46d51df

Please sign in to comment.