payload-cloudinary
Version:
A Cloudinary storage plugin for Payload CMS
35 lines • 1.21 kB
JavaScript
import { cloudinaryFields } from "./fields/cloudinary";
import { versionFields } from "./fields/versions";
import { generateCustomFields, } from "./fields/customFields";
export const generateMediaCollection = (cloudinaryOptions, collectionConfig = {}) => {
// Get custom fields from collection config or options
const customFields = collectionConfig.fields ||
cloudinaryOptions.customFields ||
[];
// Generate all fields
const fields = [
...generateCustomFields(customFields),
...cloudinaryFields,
...(cloudinaryOptions.versioning?.enabled &&
cloudinaryOptions.versioning?.storeHistory
? versionFields
: []),
];
return {
...collectionConfig,
slug: "media",
upload: {
...(typeof collectionConfig.upload === "object"
? collectionConfig.upload
: {}),
disableLocalStorage: true,
},
fields,
admin: {
...(collectionConfig.admin || {}),
description: "Cloudinary storage with versioning support",
useAsTitle: "filename",
},
};
};
//# sourceMappingURL=index.js.map