Files
payload/packages/plugin-cloud-storage/src/utilities/getFilePrefix.ts
2023-10-24 17:05:58 -04:00

27 lines
730 B
TypeScript

import type { CollectionConfig, IncomingUploadType, PayloadRequest } from 'payload/types'
export async function getFilePrefix({
collection,
req,
}: {
collection: CollectionConfig
req: PayloadRequest
}): Promise<string> {
const imageSizes = (collection?.upload as IncomingUploadType)?.imageSizes || []
const files = await req.payload.find({
collection: collection.slug,
where: {
or: [
{
filename: { equals: req.params.filename },
},
...imageSizes.map((imageSize) => ({
[`sizes.${imageSize.name}.filename`]: { equals: req.params.filename },
})),
],
},
})
const prefix = files?.docs?.[0]?.prefix
return prefix ? (prefix as string) : ''
}