UNPKG

payload

Version:

Node, React, Headless CMS and Application Framework built on Next.js

72 lines (71 loc) 2.11 kB
import { populateFolderDataEndpoint } from './endpoints/populateFolderData.js'; import { deleteSubfoldersBeforeDelete } from './hooks/deleteSubfoldersAfterDelete.js'; import { dissasociateAfterDelete } from './hooks/dissasociateAfterDelete.js'; import { reparentChildFolder } from './hooks/reparentChildFolder.js'; export const createFolderCollection = ({ slug, collectionSlugs, debug, folderFieldName })=>({ slug, admin: { hidden: !debug, useAsTitle: 'name' }, endpoints: [ populateFolderDataEndpoint ], fields: [ { name: 'name', type: 'text', index: true, required: true }, { name: folderFieldName, type: 'relationship', admin: { hidden: !debug }, index: true, relationTo: slug }, { name: 'documentsAndFolders', type: 'join', admin: { hidden: !debug }, collection: [ slug, ...collectionSlugs ], hasMany: true, on: folderFieldName } ], hooks: { afterChange: [ reparentChildFolder({ folderFieldName }) ], afterDelete: [ dissasociateAfterDelete({ collectionSlugs, folderFieldName }) ], beforeDelete: [ deleteSubfoldersBeforeDelete({ folderFieldName, folderSlug: slug }) ] }, labels: { plural: 'Folders', singular: 'Folder' }, typescript: { interface: 'FolderInterface' } }); //# sourceMappingURL=createFolderCollection.js.map