{"version":3,"file":"registries.mjs","sources":["../../src/providers/registries.ts"],"sourcesContent":["import { hooks } from '@strapi/utils';\n\nimport { defineProvider } from './provider';\nimport * as registries from '../registries';\nimport { loadApplicationContext } from '../loaders';\nimport * as syncMigrations from '../migrations';\nimport { discardDocumentDrafts } from '../migrations/database/5.0.0-discard-drafts';\n\nexport default defineProvider({\n  init(strapi) {\n    strapi\n      .add('content-types', () => registries.contentTypes())\n      .add('components', () => registries.components())\n      .add('services', () => registries.services(strapi))\n      .add('policies', () => registries.policies())\n      .add('middlewares', () => registries.middlewares())\n      .add('hooks', () => registries.hooks())\n      .add('controllers', () => registries.controllers(strapi))\n      .add('modules', () => registries.modules(strapi))\n      .add('plugins', () => registries.plugins(strapi))\n      .add('custom-fields', () => registries.customFields(strapi))\n      .add('apis', () => registries.apis(strapi))\n      .add('models', () => registries.models())\n      .add('sanitizers', registries.sanitizers())\n      .add('validators', registries.validators());\n  },\n  async register(strapi) {\n    await loadApplicationContext(strapi);\n\n    strapi.get('hooks').set('strapi::content-types.beforeSync', hooks.createAsyncParallelHook());\n    strapi.get('hooks').set('strapi::content-types.afterSync', hooks.createAsyncParallelHook());\n\n    // Content migration to enable draft and publish\n    strapi.hook('strapi::content-types.beforeSync').register(syncMigrations.disable);\n    strapi.hook('strapi::content-types.afterSync').register(syncMigrations.enable);\n\n    // Database migrations\n    strapi.db.migrations.providers.internal.register(discardDocumentDrafts);\n  },\n});\n"],"names":["defineProvider","init","strapi","add","registries","register","loadApplicationContext","get","set","hooks","createAsyncParallelHook","hook","syncMigrations","db","migrations","providers","internal","discardDocumentDrafts"],"mappings":";;;;;;;;;;;;;;;;;;;;AAQA,iBAAeA,cAAAA,CAAe;AAC5BC,IAAAA,IAAAA,CAAAA,CAAKC,MAAM,EAAA;QACTA,MAAAA,CACGC,GAAG,CAAC,eAAA,EAAiB,IAAMC,oBAAuB,EAAA,CAAA,CAClDD,GAAG,CAAC,YAAA,EAAc,IAAMC,kBAAqB,EAAA,CAAA,CAC7CD,GAAG,CAAC,UAAA,EAAY,IAAMC,gBAAmB,CAACF,MAAAA,CAAAA,CAAAA,CAC1CC,GAAG,CAAC,YAAY,IAAMC,gBAAmB,EAAA,CAAA,CACzCD,GAAG,CAAC,aAAA,EAAe,IAAMC,mBAAsB,EAAA,CAAA,CAC/CD,GAAG,CAAC,OAAA,EAAS,IAAMC,aAAgB,EAAA,CAAA,CACnCD,GAAG,CAAC,aAAA,EAAe,IAAMC,mBAAsB,CAACF,SAChDC,GAAG,CAAC,WAAW,IAAMC,eAAkB,CAACF,MAAAA,CAAAA,CAAAA,CACxCC,GAAG,CAAC,SAAA,EAAW,IAAMC,eAAkB,CAACF,SACxCC,GAAG,CAAC,iBAAiB,IAAMC,oBAAuB,CAACF,MAAAA,CAAAA,CAAAA,CACnDC,GAAG,CAAC,MAAA,EAAQ,IAAMC,YAAe,CAACF,SAClCC,GAAG,CAAC,QAAA,EAAU,IAAMC,QAAiB,IACrCD,GAAG,CAAC,cAAcC,kBAAqB,IACvCD,GAAG,CAAC,YAAA,EAAcC,kBAAqB,EAAA,CAAA;AAC5C,IAAA,CAAA;AACA,IAAA,MAAMC,UAASH,MAAM,EAAA;AACnB,QAAA,MAAMI,sBAAAA,CAAuBJ,MAAAA,CAAAA;AAE7BA,QAAAA,MAAAA,CAAOK,GAAG,CAAC,OAAA,CAAA,CAASC,GAAG,CAAC,kCAAA,EAAoCC,MAAMC,uBAAuB,EAAA,CAAA;AACzFR,QAAAA,MAAAA,CAAOK,GAAG,CAAC,OAAA,CAAA,CAASC,GAAG,CAAC,iCAAA,EAAmCC,MAAMC,uBAAuB,EAAA,CAAA;;AAGxFR,QAAAA,MAAAA,CAAOS,IAAI,CAAC,kCAAA,CAAA,CAAoCN,QAAQ,CAACO,OAAsB,CAAA;AAC/EV,QAAAA,MAAAA,CAAOS,IAAI,CAAC,iCAAA,CAAA,CAAmCN,QAAQ,CAACO,MAAqB,CAAA;;QAG7EV,MAAAA,CAAOW,EAAE,CAACC,UAAU,CAACC,SAAS,CAACC,QAAQ,CAACX,QAAQ,CAACY,qBAAAA,CAAAA;AACnD,IAAA;AACF,CAAA,CAAA;;;;"}