chore: Refactor file storage (#5711)

This commit is contained in:
Tom Moor
2023-08-20 10:04:34 -04:00
committed by GitHub
parent 4354e1055e
commit 74722b80f2
68 changed files with 496 additions and 313 deletions

View File

@@ -11,7 +11,7 @@ import {
} from "@server/test/factories";
import { getTestServer } from "@server/test/support";
jest.mock("@server/utils/s3");
jest.mock("@server/storage/files");
const server = getTestServer();

View File

@@ -12,9 +12,9 @@ import { Attachment, Document, Event } from "@server/models";
import AttachmentHelper from "@server/models/helpers/AttachmentHelper";
import { authorize } from "@server/policies";
import { presentAttachment } from "@server/presenters";
import FileStorage from "@server/storage/files";
import { APIContext } from "@server/types";
import { RateLimiterStrategy } from "@server/utils/RateLimiter";
import { getPresignedPost, publicS3Endpoint } from "@server/utils/s3";
import { assertIn } from "@server/validation";
import * as T from "./schema";
@@ -90,7 +90,7 @@ router.post(
{ transaction }
);
const presignedPost = await getPresignedPost(
const presignedPost = await FileStorage.getPresignedPost(
key,
acl,
maxUploadSize,
@@ -99,7 +99,7 @@ router.post(
ctx.body = {
data: {
uploadUrl: publicS3Endpoint(),
uploadUrl: FileStorage.getPublicEndpoint(),
form: {
"Cache-Control": "max-age=31557600",
"Content-Type": contentType,

View File

@@ -12,7 +12,7 @@ import { getTestServer } from "@server/test/support";
const server = getTestServer();
jest.mock("@server/utils/s3");
jest.mock("@server/storage/files");
describe("#fileOperations.info", () => {
it("should return fileOperation", async () => {

View File

@@ -7,8 +7,8 @@ import validate from "@server/middlewares/validate";
import { FileOperation, Team } from "@server/models";
import { authorize } from "@server/policies";
import { presentFileOperation } from "@server/presenters";
import FileStorage from "@server/storage/files";
import { APIContext } from "@server/types";
import { getSignedUrl } from "@server/utils/s3";
import pagination from "../middlewares/pagination";
import * as T from "./schema";
@@ -84,7 +84,7 @@ const handleFileOperationsRedirect = async (
throw ValidationError(`${fileOperation.type} is not complete yet`);
}
const accessUrl = await getSignedUrl(fileOperation.key);
const accessUrl = await FileStorage.getSignedUrl(fileOperation.key);
ctx.redirect(accessUrl);
};