Files
payload/src/uploads/types.ts
2022-02-13 19:05:21 -05:00

64 lines
1.4 KiB
TypeScript

/* eslint-disable import/no-extraneous-dependencies */
import express from 'express';
import serveStatic from 'serve-static';
export type FileSize = {
filename: string;
filesize: number;
mimeType: string;
name: string;
width: number;
height: number;
crop: string;
}
export type FileSizes = {
[size: string]: FileSize
}
export type FileData = {
filename: string;
filesize: number;
mimeType: string;
width: number;
height: number;
sizes: FileSizes;
};
export type ImageSize = {
name: string,
width: number | null,
height: number | null,
crop?: string, // comes from sharp package
};
export type GetAdminThumbnail = (args: { doc: Record<string, unknown> }) => string
export type IncomingUploadType = {
imageSizes?: ImageSize[];
staticURL?: string;
staticDir?: string;
disableLocalStorage?: boolean
adminThumbnail?: string | GetAdminThumbnail;
mimeTypes?: string[];
staticOptions?: serveStatic.ServeStaticOptions<express.Response<any, Record<string, any>>>
}
export type Upload = {
imageSizes?: ImageSize[]
staticURL: string
staticDir: string
disableLocalStorage: boolean
adminThumbnail?: string | GetAdminThumbnail
mimeTypes?: string[];
staticOptions?: serveStatic.ServeStaticOptions<express.Response<any, Record<string, any>>>
}
export type File = {
data: Buffer
mimetype: string
name: string
size: number
}