mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-19 05:55:34 +09:00
21 lines
667 B
TypeScript
21 lines
667 B
TypeScript
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
import {ATTACHMENT_MAX_SIZE_NON_PREMIUM} from '@fluxer/constants/src/LimitConstants';
|
|
|
|
interface FileSizeLike {
|
|
size: number;
|
|
}
|
|
|
|
export const MULTIPART_ATTACHMENT_FALLBACK_MAX_REQUEST_SIZE = ATTACHMENT_MAX_SIZE_NON_PREMIUM;
|
|
|
|
export function getMultipartFallbackRequestSize(files: ReadonlyArray<FileSizeLike>): number {
|
|
return files.reduce((total, file) => total + file.size, 0);
|
|
}
|
|
|
|
export function exceedsMultipartFallbackRequestSize(
|
|
files: ReadonlyArray<FileSizeLike>,
|
|
maxRequestSize = MULTIPART_ATTACHMENT_FALLBACK_MAX_REQUEST_SIZE,
|
|
): boolean {
|
|
return getMultipartFallbackRequestSize(files) > maxRequestSize;
|
|
}
|