fix: #1656 remove size data

This commit is contained in:
Dan Ribbens
2022-12-19 14:51:49 -05:00
parent 2e765a1e05
commit 389ee261d4
4 changed files with 41 additions and 21 deletions

View File

@@ -4,6 +4,7 @@ import getFileByPath from '../../../uploads/getFileByPath';
import update from '../update';
import { PayloadRequest } from '../../../express/types';
import { getDataLoader } from '../../dataloader';
import { File } from '../../../uploads/types';
import i18nInit from '../../../translations/init';
export type Options<T> = {

View File

@@ -52,10 +52,21 @@ export default async function resizeAndSave({
}: Args): Promise<Result> {
const { imageSizes } = config.upload;
const sizesToSave: FileToSave[] = [];
const sizeData = {};
const sizes = imageSizes
.filter((desiredSize) => needsResize(desiredSize, dimensions))
const promises = imageSizes
.map(async (desiredSize) => {
if (!needsResize(desiredSize, dimensions)) {
sizeData[desiredSize.name] = {
url: null,
width: null,
height: null,
filename: null,
filesize: null,
mimeType: null,
};
return;
}
let resized = sharp(file).resize(desiredSize);
if (desiredSize.formatOptions) {
@@ -83,8 +94,7 @@ export default async function resizeAndSave({
buffer: bufferObject.data,
});
return {
name: desiredSize.name,
sizeData[desiredSize.name] = {
width: bufferObject.info.width,
height: bufferObject.info.height,
filename: imageNameWithDimensions,
@@ -93,22 +103,10 @@ export default async function resizeAndSave({
};
});
const savedSizes = await Promise.all(sizes);
await Promise.all(promises);
return {
sizeData: savedSizes.reduce(
(results, size) => ({
...results,
[size.name]: {
width: size.width,
height: size.height,
filename: size.filename,
mimeType: size.mimeType,
filesize: size.filesize,
},
}),
{},
),
sizeData,
sizesToSave,
};
}

View File

@@ -7,10 +7,8 @@ export type FileSize = {
filename: string;
filesize: number;
mimeType: string;
name: string;
width: number;
height: number;
crop: string;
}
export type FileSizes = {