dracoblue.net

Show System Collections in Payload CMS

When working with payload cms, I sometimes need to check what is in the system collections of payload.

There is e.g. payload-preferences or payload-migrations. Since 3.0 there is also payload-jobs for the neat queue system and payload-locked-documents for the document locking.

As a quick help for this I sometimes add this to the plugins array of the payload config:

plugins: [
    (
      () =>
      (incomingConfig: Config): Config => {
        const config: Config = { ...incomingConfig }
        config.onInit = async (payload: Payload) => {
          if (incomingConfig.onInit) await incomingConfig.onInit(payload)
          for (const collectionName of Object.keys(payload.collections)) {
            if (payload.collections[collectionName as CollectionSlug].config?.admin?.hidden) {
              payload.collections[collectionName as CollectionSlug].config.admin.hidden = false
              payload.collections[collectionName as CollectionSlug].config.admin.group = 'System'
            }
          }
        }
        return config
      }
    )(),
],

This makes all initially admin.hidden collections visible (in the onInit execution).

I strongly suggest not to tinker with the data in it - but if you just need to look at it - it works.

In nodejs, payloadcms by
@ 11 Jan 2025, Comments at Reddit & Hackernews

Give something back

Were my blog posts useful to you? If you want to give back, support one of these charities, too!

Report hate in social media Campact e.V. With our technology and your help, we protect the oceans from plastic waste. Gesellschaft fur Freiheitsrechte e. V. The civil eye in the mediterranean

Recent Dev-Articles

Read recently

Recent Files

About