Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
1 line
5.7 KiB
Plaintext
1 line
5.7 KiB
Plaintext
{"version":3,"sources":["../../src/folders/createFolderCollection.ts"],"sourcesContent":["import type { CollectionConfig } from '../collections/config/types.js'\nimport type { Field, Option, SelectField } from '../fields/config/types.js'\n\nimport { defaultAccess } from '../auth/defaultAccess.js'\nimport { buildFolderField } from './buildFolderField.js'\nimport { deleteSubfoldersBeforeDelete } from './hooks/deleteSubfoldersAfterDelete.js'\nimport { dissasociateAfterDelete } from './hooks/dissasociateAfterDelete.js'\nimport { ensureSafeCollectionsChange } from './hooks/ensureSafeCollectionsChange.js'\nimport { reparentChildFolder } from './hooks/reparentChildFolder.js'\n\ntype CreateFolderCollectionArgs = {\n collectionSpecific: boolean\n debug?: boolean\n folderEnabledCollections: CollectionConfig[]\n folderFieldName: string\n slug: string\n}\nexport const createFolderCollection = ({\n slug,\n collectionSpecific,\n debug,\n folderEnabledCollections,\n folderFieldName,\n}: CreateFolderCollectionArgs): CollectionConfig => {\n const { collectionOptions, collectionSlugs } = folderEnabledCollections.reduce(\n (acc, collection: CollectionConfig) => {\n acc.collectionSlugs.push(collection.slug)\n acc.collectionOptions.push({\n label: collection.labels?.plural || collection.slug,\n value: collection.slug,\n })\n\n return acc\n },\n {\n collectionOptions: [] as Option[],\n collectionSlugs: [] as string[],\n },\n )\n\n return {\n slug,\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n readVersions: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n hidden: !debug,\n useAsTitle: 'name',\n },\n fields: [\n {\n name: 'name',\n type: 'text',\n index: true,\n required: true,\n },\n buildFolderField({\n collectionSpecific,\n folderFieldName,\n folderSlug: slug,\n overrides: {\n admin: {\n hidden: !debug,\n },\n },\n }),\n {\n name: 'documentsAndFolders',\n type: 'join',\n admin: {\n hidden: !debug,\n },\n collection: [slug, ...collectionSlugs],\n hasMany: true,\n on: folderFieldName,\n },\n ...(collectionSpecific\n ? [\n {\n name: 'folderType',\n type: 'select',\n admin: {\n components: {\n Field: {\n path: '@payloadcms/next/client#FolderTypeField',\n },\n },\n position: 'sidebar',\n },\n hasMany: true,\n options: collectionOptions,\n } satisfies SelectField,\n ]\n : ([] as Field[])),\n ],\n hooks: {\n afterChange: [\n reparentChildFolder({\n folderFieldName,\n }),\n ],\n afterDelete: [\n dissasociateAfterDelete({\n collectionSlugs,\n folderFieldName,\n }),\n ],\n beforeDelete: [deleteSubfoldersBeforeDelete({ folderFieldName, folderSlug: slug })],\n beforeValidate: [\n ...(collectionSpecific ? [ensureSafeCollectionsChange({ foldersSlug: slug })] : []),\n ],\n },\n labels: {\n plural: 'Folders',\n singular: 'Folder',\n },\n typescript: {\n interface: 'FolderInterface',\n },\n }\n}\n"],"names":["defaultAccess","buildFolderField","deleteSubfoldersBeforeDelete","dissasociateAfterDelete","ensureSafeCollectionsChange","reparentChildFolder","createFolderCollection","slug","collectionSpecific","debug","folderEnabledCollections","folderFieldName","collectionOptions","collectionSlugs","reduce","acc","collection","push","label","labels","plural","value","access","create","delete","read","readVersions","update","admin","hidden","useAsTitle","fields","name","type","index","required","folderSlug","overrides","hasMany","on","components","Field","path","position","options","hooks","afterChange","afterDelete","beforeDelete","beforeValidate","foldersSlug","singular","typescript","interface"],"mappings":"AAGA,SAASA,aAAa,QAAQ,2BAA0B;AACxD,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,4BAA4B,QAAQ,yCAAwC;AACrF,SAASC,uBAAuB,QAAQ,qCAAoC;AAC5E,SAASC,2BAA2B,QAAQ,yCAAwC;AACpF,SAASC,mBAAmB,QAAQ,iCAAgC;AASpE,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,IAAI,EACJC,kBAAkB,EAClBC,KAAK,EACLC,wBAAwB,EACxBC,eAAe,EACY;IAC3B,MAAM,EAAEC,iBAAiB,EAAEC,eAAe,EAAE,GAAGH,yBAAyBI,MAAM,CAC5E,CAACC,KAAKC;QACJD,IAAIF,eAAe,CAACI,IAAI,CAACD,WAAWT,IAAI;QACxCQ,IAAIH,iBAAiB,CAACK,IAAI,CAAC;YACzBC,OAAOF,WAAWG,MAAM,EAAEC,UAAUJ,WAAWT,IAAI;YACnDc,OAAOL,WAAWT,IAAI;QACxB;QAEA,OAAOQ;IACT,GACA;QACEH,mBAAmB,EAAE;QACrBC,iBAAiB,EAAE;IACrB;IAGF,OAAO;QACLN;QACAe,QAAQ;YACNC,QAAQvB;YACRwB,QAAQxB;YACRyB,MAAMzB;YACN0B,cAAc1B;YACd2B,QAAQ3B;QACV;QACA4B,OAAO;YACLC,QAAQ,CAACpB;YACTqB,YAAY;QACd;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,MAAM;gBACNC,OAAO;gBACPC,UAAU;YACZ;YACAlC,iBAAiB;gBACfO;gBACAG;gBACAyB,YAAY7B;gBACZ8B,WAAW;oBACTT,OAAO;wBACLC,QAAQ,CAACpB;oBACX;gBACF;YACF;YACA;gBACEuB,MAAM;gBACNC,MAAM;gBACNL,OAAO;oBACLC,QAAQ,CAACpB;gBACX;gBACAO,YAAY;oBAACT;uBAASM;iBAAgB;gBACtCyB,SAAS;gBACTC,IAAI5B;YACN;eACIH,qBACA;gBACE;oBACEwB,MAAM;oBACNC,MAAM;oBACNL,OAAO;wBACLY,YAAY;4BACVC,OAAO;gCACLC,MAAM;4BACR;wBACF;wBACAC,UAAU;oBACZ;oBACAL,SAAS;oBACTM,SAAShC;gBACX;aACD,GACA,EAAE;SACR;QACDiC,OAAO;YACLC,aAAa;gBACXzC,oBAAoB;oBAClBM;gBACF;aACD;YACDoC,aAAa;gBACX5C,wBAAwB;oBACtBU;oBACAF;gBACF;aACD;YACDqC,cAAc;gBAAC9C,6BAA6B;oBAAES;oBAAiByB,YAAY7B;gBAAK;aAAG;YACnF0C,gBAAgB;mBACVzC,qBAAqB;oBAACJ,4BAA4B;wBAAE8C,aAAa3C;oBAAK;iBAAG,GAAG,EAAE;aACnF;QACH;QACAY,QAAQ;YACNC,QAAQ;YACR+B,UAAU;QACZ;QACAC,YAAY;YACVC,WAAW;QACb;IACF;AACF,EAAC"} |