@strapi/content-releases 0.0.0-experimental.d23f1485e5669cca1cee1bf5f8168b6b8109b78f → 0.0.0-experimental.d2ab08126cfde998bfecc0aad44d3ea2b29293a6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/App-dLXY5ei3.js +1353 -0
- package/dist/_chunks/App-dLXY5ei3.js.map +1 -0
- package/dist/_chunks/App-jrh58sXY.mjs +1330 -0
- package/dist/_chunks/App-jrh58sXY.mjs.map +1 -0
- package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs +51 -0
- package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs.map +1 -0
- package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js +51 -0
- package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js.map +1 -0
- package/dist/_chunks/en-HrREghh3.js +86 -0
- package/dist/_chunks/en-HrREghh3.js.map +1 -0
- package/dist/_chunks/en-ltT1TlKQ.mjs +86 -0
- package/dist/_chunks/en-ltT1TlKQ.mjs.map +1 -0
- package/dist/_chunks/index-CVO0Rqdm.js +1336 -0
- package/dist/_chunks/index-CVO0Rqdm.js.map +1 -0
- package/dist/_chunks/index-PiOGBETy.mjs +1315 -0
- package/dist/_chunks/index-PiOGBETy.mjs.map +1 -0
- package/dist/admin/index.js +18 -148
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +18 -143
- package/dist/admin/index.mjs.map +1 -1
- package/dist/server/index.js +1784 -25
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +1763 -24
- package/dist/server/index.mjs.map +1 -1
- package/package.json +43 -39
- package/strapi-server.js +3 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js +0 -6
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +0 -1
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +0 -4
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +0 -1
- package/dist/admin/assets/purchase-page-illustration-light.svg.js +0 -6
- package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +0 -1
- package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +0 -4
- package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +0 -1
- package/dist/admin/components/EntryValidationPopover.js +0 -310
- package/dist/admin/components/EntryValidationPopover.js.map +0 -1
- package/dist/admin/components/EntryValidationPopover.mjs +0 -308
- package/dist/admin/components/EntryValidationPopover.mjs.map +0 -1
- package/dist/admin/components/RelativeTime.js +0 -76
- package/dist/admin/components/RelativeTime.js.map +0 -1
- package/dist/admin/components/RelativeTime.mjs +0 -55
- package/dist/admin/components/RelativeTime.mjs.map +0 -1
- package/dist/admin/components/ReleaseAction.js +0 -203
- package/dist/admin/components/ReleaseAction.js.map +0 -1
- package/dist/admin/components/ReleaseAction.mjs +0 -201
- package/dist/admin/components/ReleaseAction.mjs.map +0 -1
- package/dist/admin/components/ReleaseActionMenu.js +0 -194
- package/dist/admin/components/ReleaseActionMenu.js.map +0 -1
- package/dist/admin/components/ReleaseActionMenu.mjs +0 -173
- package/dist/admin/components/ReleaseActionMenu.mjs.map +0 -1
- package/dist/admin/components/ReleaseActionModal.js +0 -268
- package/dist/admin/components/ReleaseActionModal.js.map +0 -1
- package/dist/admin/components/ReleaseActionModal.mjs +0 -244
- package/dist/admin/components/ReleaseActionModal.mjs.map +0 -1
- package/dist/admin/components/ReleaseActionOptions.js +0 -104
- package/dist/admin/components/ReleaseActionOptions.js.map +0 -1
- package/dist/admin/components/ReleaseActionOptions.mjs +0 -102
- package/dist/admin/components/ReleaseActionOptions.mjs.map +0 -1
- package/dist/admin/components/ReleaseListCell.js +0 -103
- package/dist/admin/components/ReleaseListCell.js.map +0 -1
- package/dist/admin/components/ReleaseListCell.mjs +0 -100
- package/dist/admin/components/ReleaseListCell.mjs.map +0 -1
- package/dist/admin/components/ReleaseModal.js +0 -323
- package/dist/admin/components/ReleaseModal.js.map +0 -1
- package/dist/admin/components/ReleaseModal.mjs +0 -302
- package/dist/admin/components/ReleaseModal.mjs.map +0 -1
- package/dist/admin/components/ReleasesPanel.js +0 -138
- package/dist/admin/components/ReleasesPanel.js.map +0 -1
- package/dist/admin/components/ReleasesPanel.mjs +0 -136
- package/dist/admin/components/ReleasesPanel.mjs.map +0 -1
- package/dist/admin/components/Widgets.js +0 -122
- package/dist/admin/components/Widgets.js.map +0 -1
- package/dist/admin/components/Widgets.mjs +0 -120
- package/dist/admin/components/Widgets.mjs.map +0 -1
- package/dist/admin/constants.js +0 -79
- package/dist/admin/constants.js.map +0 -1
- package/dist/admin/constants.mjs +0 -76
- package/dist/admin/constants.mjs.map +0 -1
- package/dist/admin/modules/hooks.js +0 -8
- package/dist/admin/modules/hooks.js.map +0 -1
- package/dist/admin/modules/hooks.mjs +0 -6
- package/dist/admin/modules/hooks.mjs.map +0 -1
- package/dist/admin/pages/App.js +0 -29
- package/dist/admin/pages/App.js.map +0 -1
- package/dist/admin/pages/App.mjs +0 -27
- package/dist/admin/pages/App.mjs.map +0 -1
- package/dist/admin/pages/PurchaseContentReleases.js +0 -192
- package/dist/admin/pages/PurchaseContentReleases.js.map +0 -1
- package/dist/admin/pages/PurchaseContentReleases.mjs +0 -190
- package/dist/admin/pages/PurchaseContentReleases.mjs.map +0 -1
- package/dist/admin/pages/ReleaseDetailsPage.js +0 -772
- package/dist/admin/pages/ReleaseDetailsPage.js.map +0 -1
- package/dist/admin/pages/ReleaseDetailsPage.mjs +0 -751
- package/dist/admin/pages/ReleaseDetailsPage.mjs.map +0 -1
- package/dist/admin/pages/ReleasesPage.js +0 -403
- package/dist/admin/pages/ReleasesPage.js.map +0 -1
- package/dist/admin/pages/ReleasesPage.mjs +0 -381
- package/dist/admin/pages/ReleasesPage.mjs.map +0 -1
- package/dist/admin/pages/ReleasesSettingsPage.js +0 -225
- package/dist/admin/pages/ReleasesSettingsPage.js.map +0 -1
- package/dist/admin/pages/ReleasesSettingsPage.mjs +0 -223
- package/dist/admin/pages/ReleasesSettingsPage.mjs.map +0 -1
- package/dist/admin/pluginId.js +0 -6
- package/dist/admin/pluginId.js.map +0 -1
- package/dist/admin/pluginId.mjs +0 -4
- package/dist/admin/pluginId.mjs.map +0 -1
- package/dist/admin/services/homepage.js +0 -24
- package/dist/admin/services/homepage.js.map +0 -1
- package/dist/admin/services/homepage.mjs +0 -22
- package/dist/admin/services/homepage.mjs.map +0 -1
- package/dist/admin/services/release.js +0 -474
- package/dist/admin/services/release.js.map +0 -1
- package/dist/admin/services/release.mjs +0 -457
- package/dist/admin/services/release.mjs.map +0 -1
- package/dist/admin/src/components/EntryValidationPopover.d.ts +0 -13
- package/dist/admin/src/components/RelativeTime.d.ts +0 -28
- package/dist/admin/src/components/ReleaseAction.d.ts +0 -3
- package/dist/admin/src/components/ReleaseActionMenu.d.ts +0 -26
- package/dist/admin/src/components/ReleaseActionModal.d.ts +0 -24
- package/dist/admin/src/components/ReleaseActionOptions.d.ts +0 -9
- package/dist/admin/src/components/ReleaseListCell.d.ts +0 -28
- package/dist/admin/src/components/ReleaseModal.d.ts +0 -17
- package/dist/admin/src/components/ReleasesPanel.d.ts +0 -3
- package/dist/admin/src/components/Widgets.d.ts +0 -2
- package/dist/admin/src/constants.d.ts +0 -77
- package/dist/admin/src/index.d.ts +0 -3
- package/dist/admin/src/modules/hooks.d.ts +0 -7
- package/dist/admin/src/pages/App.d.ts +0 -1
- package/dist/admin/src/pages/PurchaseContentReleases.d.ts +0 -2
- package/dist/admin/src/pages/ReleaseDetailsPage.d.ts +0 -2
- package/dist/admin/src/pages/ReleasesPage.d.ts +0 -8
- package/dist/admin/src/pages/ReleasesSettingsPage.d.ts +0 -1
- package/dist/admin/src/pages/tests/mockReleaseDetailsPageData.d.ts +0 -181
- package/dist/admin/src/pages/tests/mockReleasesPageData.d.ts +0 -39
- package/dist/admin/src/pluginId.d.ts +0 -1
- package/dist/admin/src/services/homepage.d.ts +0 -9
- package/dist/admin/src/services/release.d.ts +0 -112
- package/dist/admin/src/store/hooks.d.ts +0 -7
- package/dist/admin/src/utils/api.d.ts +0 -6
- package/dist/admin/src/utils/prefixPluginTranslations.d.ts +0 -3
- package/dist/admin/src/utils/time.d.ts +0 -10
- package/dist/admin/src/validation/schemas.d.ts +0 -6
- package/dist/admin/store/hooks.js +0 -8
- package/dist/admin/store/hooks.js.map +0 -1
- package/dist/admin/store/hooks.mjs +0 -6
- package/dist/admin/store/hooks.mjs.map +0 -1
- package/dist/admin/translations/en.json.js +0 -111
- package/dist/admin/translations/en.json.js.map +0 -1
- package/dist/admin/translations/en.json.mjs +0 -109
- package/dist/admin/translations/en.json.mjs.map +0 -1
- package/dist/admin/translations/uk.json.js +0 -103
- package/dist/admin/translations/uk.json.js.map +0 -1
- package/dist/admin/translations/uk.json.mjs +0 -101
- package/dist/admin/translations/uk.json.mjs.map +0 -1
- package/dist/admin/utils/api.js +0 -8
- package/dist/admin/utils/api.js.map +0 -1
- package/dist/admin/utils/api.mjs +0 -6
- package/dist/admin/utils/api.mjs.map +0 -1
- package/dist/admin/utils/prefixPluginTranslations.js +0 -11
- package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
- package/dist/admin/utils/prefixPluginTranslations.mjs +0 -9
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
- package/dist/admin/utils/time.js +0 -42
- package/dist/admin/utils/time.js.map +0 -1
- package/dist/admin/utils/time.mjs +0 -39
- package/dist/admin/utils/time.mjs.map +0 -1
- package/dist/admin/validation/schemas.js +0 -65
- package/dist/admin/validation/schemas.js.map +0 -1
- package/dist/admin/validation/schemas.mjs +0 -43
- package/dist/admin/validation/schemas.mjs.map +0 -1
- package/dist/server/bootstrap.js +0 -68
- package/dist/server/bootstrap.js.map +0 -1
- package/dist/server/bootstrap.mjs +0 -66
- package/dist/server/bootstrap.mjs.map +0 -1
- package/dist/server/constants.js +0 -74
- package/dist/server/constants.js.map +0 -1
- package/dist/server/constants.mjs +0 -69
- package/dist/server/constants.mjs.map +0 -1
- package/dist/server/content-types/index.js +0 -12
- package/dist/server/content-types/index.js.map +0 -1
- package/dist/server/content-types/index.mjs +0 -10
- package/dist/server/content-types/index.mjs.map +0 -1
- package/dist/server/content-types/release/index.js +0 -10
- package/dist/server/content-types/release/index.js.map +0 -1
- package/dist/server/content-types/release/index.mjs +0 -8
- package/dist/server/content-types/release/index.mjs.map +0 -1
- package/dist/server/content-types/release/schema.js +0 -58
- package/dist/server/content-types/release/schema.js.map +0 -1
- package/dist/server/content-types/release/schema.mjs +0 -56
- package/dist/server/content-types/release/schema.mjs.map +0 -1
- package/dist/server/content-types/release-action/index.js +0 -10
- package/dist/server/content-types/release-action/index.js.map +0 -1
- package/dist/server/content-types/release-action/index.mjs +0 -8
- package/dist/server/content-types/release-action/index.mjs.map +0 -1
- package/dist/server/content-types/release-action/schema.js +0 -55
- package/dist/server/content-types/release-action/schema.js.map +0 -1
- package/dist/server/content-types/release-action/schema.mjs +0 -53
- package/dist/server/content-types/release-action/schema.mjs.map +0 -1
- package/dist/server/controllers/homepage.js +0 -15
- package/dist/server/controllers/homepage.js.map +0 -1
- package/dist/server/controllers/homepage.mjs +0 -13
- package/dist/server/controllers/homepage.mjs.map +0 -1
- package/dist/server/controllers/index.js +0 -16
- package/dist/server/controllers/index.js.map +0 -1
- package/dist/server/controllers/index.mjs +0 -14
- package/dist/server/controllers/index.mjs.map +0 -1
- package/dist/server/controllers/release-action.js +0 -150
- package/dist/server/controllers/release-action.js.map +0 -1
- package/dist/server/controllers/release-action.mjs +0 -148
- package/dist/server/controllers/release-action.mjs.map +0 -1
- package/dist/server/controllers/release.js +0 -302
- package/dist/server/controllers/release.js.map +0 -1
- package/dist/server/controllers/release.mjs +0 -300
- package/dist/server/controllers/release.mjs.map +0 -1
- package/dist/server/controllers/settings.js +0 -37
- package/dist/server/controllers/settings.js.map +0 -1
- package/dist/server/controllers/settings.mjs +0 -35
- package/dist/server/controllers/settings.mjs.map +0 -1
- package/dist/server/controllers/validation/release-action.js +0 -34
- package/dist/server/controllers/validation/release-action.js.map +0 -1
- package/dist/server/controllers/validation/release-action.mjs +0 -30
- package/dist/server/controllers/validation/release-action.mjs.map +0 -1
- package/dist/server/controllers/validation/release.js +0 -26
- package/dist/server/controllers/validation/release.js.map +0 -1
- package/dist/server/controllers/validation/release.mjs +0 -22
- package/dist/server/controllers/validation/release.mjs.map +0 -1
- package/dist/server/controllers/validation/settings.js +0 -32
- package/dist/server/controllers/validation/settings.js.map +0 -1
- package/dist/server/controllers/validation/settings.mjs +0 -10
- package/dist/server/controllers/validation/settings.mjs.map +0 -1
- package/dist/server/destroy.js +0 -15
- package/dist/server/destroy.js.map +0 -1
- package/dist/server/destroy.mjs +0 -13
- package/dist/server/destroy.mjs.map +0 -1
- package/dist/server/middlewares/documents.js +0 -104
- package/dist/server/middlewares/documents.js.map +0 -1
- package/dist/server/middlewares/documents.mjs +0 -101
- package/dist/server/middlewares/documents.mjs.map +0 -1
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +0 -51
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +0 -1
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +0 -49
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +0 -1
- package/dist/server/migrations/index.js +0 -205
- package/dist/server/migrations/index.js.map +0 -1
- package/dist/server/migrations/index.mjs +0 -198
- package/dist/server/migrations/index.mjs.map +0 -1
- package/dist/server/register.js +0 -23
- package/dist/server/register.js.map +0 -1
- package/dist/server/register.mjs +0 -21
- package/dist/server/register.mjs.map +0 -1
- package/dist/server/routes/homepage.js +0 -25
- package/dist/server/routes/homepage.js.map +0 -1
- package/dist/server/routes/homepage.mjs +0 -23
- package/dist/server/routes/homepage.mjs.map +0 -1
- package/dist/server/routes/index.js +0 -16
- package/dist/server/routes/index.js.map +0 -1
- package/dist/server/routes/index.mjs +0 -14
- package/dist/server/routes/index.mjs.map +0 -1
- package/dist/server/routes/release-action.js +0 -100
- package/dist/server/routes/release-action.js.map +0 -1
- package/dist/server/routes/release-action.mjs +0 -98
- package/dist/server/routes/release-action.mjs.map +0 -1
- package/dist/server/routes/release.js +0 -154
- package/dist/server/routes/release.js.map +0 -1
- package/dist/server/routes/release.mjs +0 -152
- package/dist/server/routes/release.mjs.map +0 -1
- package/dist/server/routes/settings.js +0 -46
- package/dist/server/routes/settings.js.map +0 -1
- package/dist/server/routes/settings.mjs +0 -44
- package/dist/server/routes/settings.mjs.map +0 -1
- package/dist/server/services/homepage.js +0 -26
- package/dist/server/services/homepage.js.map +0 -1
- package/dist/server/services/homepage.mjs +0 -24
- package/dist/server/services/homepage.mjs.map +0 -1
- package/dist/server/services/index.js +0 -20
- package/dist/server/services/index.js.map +0 -1
- package/dist/server/services/index.mjs +0 -18
- package/dist/server/services/index.mjs.map +0 -1
- package/dist/server/services/release-action.js +0 -324
- package/dist/server/services/release-action.js.map +0 -1
- package/dist/server/services/release-action.mjs +0 -322
- package/dist/server/services/release-action.mjs.map +0 -1
- package/dist/server/services/release.js +0 -324
- package/dist/server/services/release.js.map +0 -1
- package/dist/server/services/release.mjs +0 -322
- package/dist/server/services/release.mjs.map +0 -1
- package/dist/server/services/scheduling.js +0 -74
- package/dist/server/services/scheduling.js.map +0 -1
- package/dist/server/services/scheduling.mjs +0 -72
- package/dist/server/services/scheduling.mjs.map +0 -1
- package/dist/server/services/settings.js +0 -34
- package/dist/server/services/settings.js.map +0 -1
- package/dist/server/services/settings.mjs +0 -32
- package/dist/server/services/settings.mjs.map +0 -1
- package/dist/server/services/validation.js +0 -91
- package/dist/server/services/validation.js.map +0 -1
- package/dist/server/services/validation.mjs +0 -86
- package/dist/server/services/validation.mjs.map +0 -1
- package/dist/server/src/bootstrap.d.ts +0 -5
- package/dist/server/src/bootstrap.d.ts.map +0 -1
- package/dist/server/src/constants.d.ts +0 -21
- package/dist/server/src/constants.d.ts.map +0 -1
- package/dist/server/src/content-types/index.d.ts +0 -97
- package/dist/server/src/content-types/index.d.ts.map +0 -1
- package/dist/server/src/content-types/release/index.d.ts +0 -48
- package/dist/server/src/content-types/release/index.d.ts.map +0 -1
- package/dist/server/src/content-types/release/schema.d.ts +0 -47
- package/dist/server/src/content-types/release/schema.d.ts.map +0 -1
- package/dist/server/src/content-types/release-action/index.d.ts +0 -48
- package/dist/server/src/content-types/release-action/index.d.ts.map +0 -1
- package/dist/server/src/content-types/release-action/schema.d.ts +0 -47
- package/dist/server/src/content-types/release-action/schema.d.ts.map +0 -1
- package/dist/server/src/controllers/homepage.d.ts +0 -6
- package/dist/server/src/controllers/homepage.d.ts.map +0 -1
- package/dist/server/src/controllers/index.d.ts +0 -28
- package/dist/server/src/controllers/index.d.ts.map +0 -1
- package/dist/server/src/controllers/release-action.d.ts +0 -10
- package/dist/server/src/controllers/release-action.d.ts.map +0 -1
- package/dist/server/src/controllers/release.d.ts +0 -18
- package/dist/server/src/controllers/release.d.ts.map +0 -1
- package/dist/server/src/controllers/settings.d.ts +0 -11
- package/dist/server/src/controllers/settings.d.ts.map +0 -1
- package/dist/server/src/controllers/validation/release-action.d.ts +0 -14
- package/dist/server/src/controllers/validation/release-action.d.ts.map +0 -1
- package/dist/server/src/controllers/validation/release.d.ts +0 -4
- package/dist/server/src/controllers/validation/release.d.ts.map +0 -1
- package/dist/server/src/controllers/validation/settings.d.ts +0 -3
- package/dist/server/src/controllers/validation/settings.d.ts.map +0 -1
- package/dist/server/src/destroy.d.ts +0 -5
- package/dist/server/src/destroy.d.ts.map +0 -1
- package/dist/server/src/index.d.ts +0 -2120
- package/dist/server/src/index.d.ts.map +0 -1
- package/dist/server/src/middlewares/documents.d.ts +0 -6
- package/dist/server/src/middlewares/documents.d.ts.map +0 -1
- package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts +0 -9
- package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts.map +0 -1
- package/dist/server/src/migrations/index.d.ts +0 -13
- package/dist/server/src/migrations/index.d.ts.map +0 -1
- package/dist/server/src/register.d.ts +0 -5
- package/dist/server/src/register.d.ts.map +0 -1
- package/dist/server/src/routes/homepage.d.ts +0 -4
- package/dist/server/src/routes/homepage.d.ts.map +0 -1
- package/dist/server/src/routes/index.d.ts +0 -52
- package/dist/server/src/routes/index.d.ts.map +0 -1
- package/dist/server/src/routes/release-action.d.ts +0 -18
- package/dist/server/src/routes/release-action.d.ts.map +0 -1
- package/dist/server/src/routes/release.d.ts +0 -18
- package/dist/server/src/routes/release.d.ts.map +0 -1
- package/dist/server/src/routes/settings.d.ts +0 -18
- package/dist/server/src/routes/settings.d.ts.map +0 -1
- package/dist/server/src/services/homepage.d.ts +0 -9
- package/dist/server/src/services/homepage.d.ts.map +0 -1
- package/dist/server/src/services/index.d.ts +0 -1829
- package/dist/server/src/services/index.d.ts.map +0 -1
- package/dist/server/src/services/release-action.d.ts +0 -34
- package/dist/server/src/services/release-action.d.ts.map +0 -1
- package/dist/server/src/services/release.d.ts +0 -31
- package/dist/server/src/services/release.d.ts.map +0 -1
- package/dist/server/src/services/scheduling.d.ts +0 -17
- package/dist/server/src/services/scheduling.d.ts.map +0 -1
- package/dist/server/src/services/settings.d.ts +0 -13
- package/dist/server/src/services/settings.d.ts.map +0 -1
- package/dist/server/src/services/validation.d.ts +0 -18
- package/dist/server/src/services/validation.d.ts.map +0 -1
- package/dist/server/src/utils/index.d.ts +0 -35
- package/dist/server/src/utils/index.d.ts.map +0 -1
- package/dist/server/utils/index.js +0 -94
- package/dist/server/utils/index.js.map +0 -1
- package/dist/server/utils/index.mjs +0 -88
- package/dist/server/utils/index.mjs.map +0 -1
- package/dist/shared/contracts/homepage.d.ts +0 -11
- package/dist/shared/contracts/homepage.d.ts.map +0 -1
- package/dist/shared/contracts/release-actions.d.ts +0 -136
- package/dist/shared/contracts/release-actions.d.ts.map +0 -1
- package/dist/shared/contracts/releases.d.ts +0 -183
- package/dist/shared/contracts/releases.d.ts.map +0 -1
- package/dist/shared/contracts/settings.d.ts +0 -38
- package/dist/shared/contracts/settings.d.ts.map +0 -1
- package/dist/shared/types.d.ts +0 -24
- package/dist/shared/types.d.ts.map +0 -1
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import { errors, async } from '@strapi/utils';
|
|
2
|
-
import _ from 'lodash/fp';
|
|
3
|
-
import { RELEASE_MODEL_UID, RELEASE_ACTION_MODEL_UID } from '../constants.mjs';
|
|
4
|
-
import { getService, getDraftEntryValidStatus, getEntry, getEntryStatus } from '../utils/index.mjs';
|
|
5
|
-
|
|
6
|
-
const getGroupName = (queryValue)=>{
|
|
7
|
-
switch(queryValue){
|
|
8
|
-
case 'contentType':
|
|
9
|
-
return 'contentType.displayName';
|
|
10
|
-
case 'type':
|
|
11
|
-
return 'type';
|
|
12
|
-
case 'locale':
|
|
13
|
-
return _.getOr('No locale', 'locale.name');
|
|
14
|
-
default:
|
|
15
|
-
return 'contentType.displayName';
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
const createReleaseActionService = ({ strapi })=>{
|
|
19
|
-
const getLocalesDataForActions = async ()=>{
|
|
20
|
-
if (!strapi.plugin('i18n')) {
|
|
21
|
-
return {};
|
|
22
|
-
}
|
|
23
|
-
const allLocales = await strapi.plugin('i18n').service('locales').find() || [];
|
|
24
|
-
return allLocales.reduce((acc, locale)=>{
|
|
25
|
-
acc[locale.code] = {
|
|
26
|
-
name: locale.name,
|
|
27
|
-
code: locale.code
|
|
28
|
-
};
|
|
29
|
-
return acc;
|
|
30
|
-
}, {});
|
|
31
|
-
};
|
|
32
|
-
const getContentTypesDataForActions = async (contentTypesUids)=>{
|
|
33
|
-
const contentManagerContentTypeService = strapi.plugin('content-manager').service('content-types');
|
|
34
|
-
const contentTypesData = {};
|
|
35
|
-
for (const contentTypeUid of contentTypesUids){
|
|
36
|
-
const contentTypeConfig = await contentManagerContentTypeService.findConfiguration({
|
|
37
|
-
uid: contentTypeUid
|
|
38
|
-
});
|
|
39
|
-
contentTypesData[contentTypeUid] = {
|
|
40
|
-
mainField: contentTypeConfig.settings.mainField,
|
|
41
|
-
displayName: strapi.getModel(contentTypeUid).info.displayName
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
return contentTypesData;
|
|
45
|
-
};
|
|
46
|
-
return {
|
|
47
|
-
async create (releaseId, action, { disableUpdateReleaseStatus = false } = {}) {
|
|
48
|
-
const { validateEntryData, validateUniqueEntry } = getService('release-validation', {
|
|
49
|
-
strapi
|
|
50
|
-
});
|
|
51
|
-
await Promise.all([
|
|
52
|
-
validateEntryData(action.contentType, action.entryDocumentId),
|
|
53
|
-
validateUniqueEntry(releaseId, action)
|
|
54
|
-
]);
|
|
55
|
-
// If we are adding a singleType, we need to append the documentId of that singleType
|
|
56
|
-
const model = strapi.contentType(action.contentType);
|
|
57
|
-
if (model.kind === 'singleType') {
|
|
58
|
-
const document = await strapi.db.query(model.uid).findOne({
|
|
59
|
-
select: [
|
|
60
|
-
'documentId'
|
|
61
|
-
]
|
|
62
|
-
});
|
|
63
|
-
if (!document) {
|
|
64
|
-
throw new errors.NotFoundError(`No entry found for contentType ${action.contentType}`);
|
|
65
|
-
}
|
|
66
|
-
action.entryDocumentId = document.documentId;
|
|
67
|
-
}
|
|
68
|
-
const release = await strapi.db.query(RELEASE_MODEL_UID).findOne({
|
|
69
|
-
where: {
|
|
70
|
-
id: releaseId
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
if (!release) {
|
|
74
|
-
throw new errors.NotFoundError(`No release found for id ${releaseId}`);
|
|
75
|
-
}
|
|
76
|
-
if (release.releasedAt) {
|
|
77
|
-
throw new errors.ValidationError('Release already published');
|
|
78
|
-
}
|
|
79
|
-
// If the action is a publish, check if the entry is valid
|
|
80
|
-
// If the action is an unpublish, skip the validation
|
|
81
|
-
const actionStatus = action.type === 'publish' ? await getDraftEntryValidStatus({
|
|
82
|
-
contentType: action.contentType,
|
|
83
|
-
documentId: action.entryDocumentId,
|
|
84
|
-
locale: action.locale
|
|
85
|
-
}, {
|
|
86
|
-
strapi
|
|
87
|
-
}) : true;
|
|
88
|
-
const releaseAction = await strapi.db.query(RELEASE_ACTION_MODEL_UID).create({
|
|
89
|
-
data: {
|
|
90
|
-
...action,
|
|
91
|
-
release: release.id,
|
|
92
|
-
isEntryValid: actionStatus
|
|
93
|
-
},
|
|
94
|
-
populate: {
|
|
95
|
-
release: {
|
|
96
|
-
select: [
|
|
97
|
-
'id'
|
|
98
|
-
]
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
if (!disableUpdateReleaseStatus) {
|
|
103
|
-
getService('release', {
|
|
104
|
-
strapi
|
|
105
|
-
}).updateReleaseStatus(release.id);
|
|
106
|
-
}
|
|
107
|
-
return releaseAction;
|
|
108
|
-
},
|
|
109
|
-
async findPage (releaseId, query) {
|
|
110
|
-
const release = await strapi.db.query(RELEASE_MODEL_UID).findOne({
|
|
111
|
-
where: {
|
|
112
|
-
id: releaseId
|
|
113
|
-
},
|
|
114
|
-
select: [
|
|
115
|
-
'id'
|
|
116
|
-
]
|
|
117
|
-
});
|
|
118
|
-
if (!release) {
|
|
119
|
-
throw new errors.NotFoundError(`No release found for id ${releaseId}`);
|
|
120
|
-
}
|
|
121
|
-
const dbQuery = strapi.get('query-params').transform(RELEASE_ACTION_MODEL_UID, query ?? {});
|
|
122
|
-
const { results: actions, pagination } = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findPage({
|
|
123
|
-
...dbQuery,
|
|
124
|
-
where: {
|
|
125
|
-
release: releaseId
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
// For each contentType on the release, we create a custom populate object for nested relations
|
|
129
|
-
const populateBuilderService = strapi.plugin('content-manager').service('populate-builder');
|
|
130
|
-
const actionsWithEntry = await async.map(actions, async (action)=>{
|
|
131
|
-
// @ts-expect-error - Core.Service type is not a function
|
|
132
|
-
const populate = await populateBuilderService(action.contentType).populateDeep(Infinity).build();
|
|
133
|
-
const entry = await getEntry({
|
|
134
|
-
contentType: action.contentType,
|
|
135
|
-
documentId: action.entryDocumentId,
|
|
136
|
-
locale: action.locale,
|
|
137
|
-
populate,
|
|
138
|
-
status: action.type === 'publish' ? 'draft' : 'published'
|
|
139
|
-
}, {
|
|
140
|
-
strapi
|
|
141
|
-
});
|
|
142
|
-
return {
|
|
143
|
-
...action,
|
|
144
|
-
entry,
|
|
145
|
-
status: entry ? await getEntryStatus(action.contentType, entry) : null
|
|
146
|
-
};
|
|
147
|
-
});
|
|
148
|
-
return {
|
|
149
|
-
results: actionsWithEntry,
|
|
150
|
-
pagination
|
|
151
|
-
};
|
|
152
|
-
},
|
|
153
|
-
async groupActions (actions, groupBy) {
|
|
154
|
-
const contentTypeUids = actions.reduce((acc, action)=>{
|
|
155
|
-
if (!acc.includes(action.contentType)) {
|
|
156
|
-
acc.push(action.contentType);
|
|
157
|
-
}
|
|
158
|
-
return acc;
|
|
159
|
-
}, []);
|
|
160
|
-
const allReleaseContentTypesDictionary = await getContentTypesDataForActions(contentTypeUids);
|
|
161
|
-
const allLocalesDictionary = await getLocalesDataForActions();
|
|
162
|
-
const formattedData = actions.map((action)=>{
|
|
163
|
-
const { mainField, displayName } = allReleaseContentTypesDictionary[action.contentType];
|
|
164
|
-
return {
|
|
165
|
-
...action,
|
|
166
|
-
locale: action.locale ? allLocalesDictionary[action.locale] : null,
|
|
167
|
-
contentType: {
|
|
168
|
-
displayName,
|
|
169
|
-
mainFieldValue: action.entry[mainField],
|
|
170
|
-
uid: action.contentType
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
});
|
|
174
|
-
const groupName = getGroupName(groupBy);
|
|
175
|
-
return _.groupBy(groupName)(formattedData);
|
|
176
|
-
},
|
|
177
|
-
async getContentTypeModelsFromActions (actions) {
|
|
178
|
-
const contentTypeUids = actions.reduce((acc, action)=>{
|
|
179
|
-
if (!acc.includes(action.contentType)) {
|
|
180
|
-
acc.push(action.contentType);
|
|
181
|
-
}
|
|
182
|
-
return acc;
|
|
183
|
-
}, []);
|
|
184
|
-
const workflowsService = strapi.plugin('review-workflows').service('workflows');
|
|
185
|
-
const contentTypeModelsMap = await async.reduce(contentTypeUids)(async (accPromise, contentTypeUid)=>{
|
|
186
|
-
const acc = await accPromise;
|
|
187
|
-
const contentTypeModel = strapi.getModel(contentTypeUid);
|
|
188
|
-
// Workflows service may not be available depending on the license
|
|
189
|
-
const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {
|
|
190
|
-
populate: 'stageRequiredToPublish'
|
|
191
|
-
});
|
|
192
|
-
acc[contentTypeUid] = {
|
|
193
|
-
...contentTypeModel,
|
|
194
|
-
hasReviewWorkflow: !!workflow,
|
|
195
|
-
stageRequiredToPublish: workflow?.stageRequiredToPublish
|
|
196
|
-
};
|
|
197
|
-
return acc;
|
|
198
|
-
}, {});
|
|
199
|
-
return contentTypeModelsMap;
|
|
200
|
-
},
|
|
201
|
-
async countActions (query) {
|
|
202
|
-
const dbQuery = strapi.get('query-params').transform(RELEASE_ACTION_MODEL_UID, query ?? {});
|
|
203
|
-
return strapi.db.query(RELEASE_ACTION_MODEL_UID).count(dbQuery);
|
|
204
|
-
},
|
|
205
|
-
async update (actionId, releaseId, update) {
|
|
206
|
-
const action = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findOne({
|
|
207
|
-
where: {
|
|
208
|
-
id: actionId,
|
|
209
|
-
release: {
|
|
210
|
-
id: releaseId,
|
|
211
|
-
releasedAt: {
|
|
212
|
-
$null: true
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
if (!action) {
|
|
218
|
-
throw new errors.NotFoundError(`Action with id ${actionId} not found in release with id ${releaseId} or it is already published`);
|
|
219
|
-
}
|
|
220
|
-
const actionStatus = update.type === 'publish' ? await getDraftEntryValidStatus({
|
|
221
|
-
contentType: action.contentType,
|
|
222
|
-
documentId: action.entryDocumentId,
|
|
223
|
-
locale: action.locale
|
|
224
|
-
}, {
|
|
225
|
-
strapi
|
|
226
|
-
}) : true;
|
|
227
|
-
const updatedAction = await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({
|
|
228
|
-
where: {
|
|
229
|
-
id: actionId,
|
|
230
|
-
release: {
|
|
231
|
-
id: releaseId,
|
|
232
|
-
releasedAt: {
|
|
233
|
-
$null: true
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
data: {
|
|
238
|
-
...update,
|
|
239
|
-
isEntryValid: actionStatus
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
getService('release', {
|
|
243
|
-
strapi
|
|
244
|
-
}).updateReleaseStatus(releaseId);
|
|
245
|
-
return updatedAction;
|
|
246
|
-
},
|
|
247
|
-
async delete (actionId, releaseId) {
|
|
248
|
-
const deletedAction = await strapi.db.query(RELEASE_ACTION_MODEL_UID).delete({
|
|
249
|
-
where: {
|
|
250
|
-
id: actionId,
|
|
251
|
-
release: {
|
|
252
|
-
id: releaseId,
|
|
253
|
-
releasedAt: {
|
|
254
|
-
$null: true
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
if (!deletedAction) {
|
|
260
|
-
throw new errors.NotFoundError(`Action with id ${actionId} not found in release with id ${releaseId} or it is already published`);
|
|
261
|
-
}
|
|
262
|
-
getService('release', {
|
|
263
|
-
strapi
|
|
264
|
-
}).updateReleaseStatus(releaseId);
|
|
265
|
-
return deletedAction;
|
|
266
|
-
},
|
|
267
|
-
async validateActionsByContentTypes (contentTypeUids) {
|
|
268
|
-
const actions = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findMany({
|
|
269
|
-
where: {
|
|
270
|
-
contentType: {
|
|
271
|
-
$in: contentTypeUids
|
|
272
|
-
},
|
|
273
|
-
// We only want to validate actions that are going to be published
|
|
274
|
-
type: 'publish',
|
|
275
|
-
release: {
|
|
276
|
-
releasedAt: {
|
|
277
|
-
$null: true
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
},
|
|
281
|
-
populate: {
|
|
282
|
-
release: true
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
|
-
const releasesUpdated = [];
|
|
286
|
-
await async.map(actions, async (action)=>{
|
|
287
|
-
const isValid = await getDraftEntryValidStatus({
|
|
288
|
-
contentType: action.contentType,
|
|
289
|
-
documentId: action.entryDocumentId,
|
|
290
|
-
locale: action.locale
|
|
291
|
-
}, {
|
|
292
|
-
strapi
|
|
293
|
-
});
|
|
294
|
-
await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({
|
|
295
|
-
where: {
|
|
296
|
-
id: action.id
|
|
297
|
-
},
|
|
298
|
-
data: {
|
|
299
|
-
isEntryValid: isValid
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
if (!releasesUpdated.includes(action.release.id)) {
|
|
303
|
-
releasesUpdated.push(action.release.id);
|
|
304
|
-
}
|
|
305
|
-
return {
|
|
306
|
-
id: action.id,
|
|
307
|
-
isEntryValid: isValid
|
|
308
|
-
};
|
|
309
|
-
});
|
|
310
|
-
if (releasesUpdated.length > 0) {
|
|
311
|
-
await async.map(releasesUpdated, async (releaseId)=>{
|
|
312
|
-
await getService('release', {
|
|
313
|
-
strapi
|
|
314
|
-
}).updateReleaseStatus(releaseId);
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
};
|
|
319
|
-
};
|
|
320
|
-
|
|
321
|
-
export { createReleaseActionService as default };
|
|
322
|
-
//# sourceMappingURL=release-action.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-action.mjs","sources":["../../../server/src/services/release-action.ts"],"sourcesContent":["import { errors, async } from '@strapi/utils';\n\nimport type { Core, Internal, Modules, UID, Data } from '@strapi/types';\n\nimport _ from 'lodash/fp';\n\nimport { RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID } from '../constants';\n\nimport type {\n CreateReleaseAction,\n GetReleaseActions,\n ReleaseAction,\n ReleaseActionGroupBy,\n UpdateReleaseAction,\n DeleteReleaseAction,\n} from '../../../shared/contracts/release-actions';\nimport type { Entity } from '../../../shared/types';\nimport { getService, getDraftEntryValidStatus, getEntry, getEntryStatus } from '../utils';\n\nconst getGroupName = (queryValue: string) => {\n switch (queryValue) {\n case 'contentType':\n return 'contentType.displayName';\n case 'type':\n return 'type';\n case 'locale':\n return _.getOr('No locale', 'locale.name');\n default:\n return 'contentType.displayName';\n }\n};\n\nexport interface Locale extends Entity {\n name: string;\n code: string;\n}\n\ntype LocaleDictionary = {\n [key: Locale['code']]: Pick<Locale, 'name' | 'code'>;\n};\n\nconst createReleaseActionService = ({ strapi }: { strapi: Core.Strapi }) => {\n const getLocalesDataForActions = async () => {\n if (!strapi.plugin('i18n')) {\n return {};\n }\n\n const allLocales: Locale[] = (await strapi.plugin('i18n').service('locales').find()) || [];\n return allLocales.reduce<LocaleDictionary>((acc, locale) => {\n acc[locale.code] = { name: locale.name, code: locale.code };\n\n return acc;\n }, {});\n };\n\n const getContentTypesDataForActions = async (\n contentTypesUids: ReleaseAction['contentType'][]\n ) => {\n const contentManagerContentTypeService = strapi\n .plugin('content-manager')\n .service('content-types');\n\n const contentTypesData: Record<\n Internal.UID.ContentType,\n { mainField: string; displayName: string }\n > = {};\n for (const contentTypeUid of contentTypesUids) {\n const contentTypeConfig = await contentManagerContentTypeService.findConfiguration({\n uid: contentTypeUid,\n });\n\n contentTypesData[contentTypeUid] = {\n mainField: contentTypeConfig.settings.mainField,\n displayName: strapi.getModel(contentTypeUid).info.displayName,\n };\n }\n\n return contentTypesData;\n };\n\n return {\n async create(\n releaseId: CreateReleaseAction.Request['params']['releaseId'],\n action: CreateReleaseAction.Request['body'],\n { disableUpdateReleaseStatus = false }: { disableUpdateReleaseStatus?: boolean } = {}\n ) {\n const { validateEntryData, validateUniqueEntry } = getService('release-validation', {\n strapi,\n });\n\n await Promise.all([\n validateEntryData(action.contentType, action.entryDocumentId),\n validateUniqueEntry(releaseId, action),\n ]);\n\n // If we are adding a singleType, we need to append the documentId of that singleType\n const model = strapi.contentType(action.contentType);\n if (model.kind === 'singleType') {\n const document = await strapi.db.query(model.uid).findOne({ select: ['documentId'] });\n\n if (!document) {\n throw new errors.NotFoundError(`No entry found for contentType ${action.contentType}`);\n }\n\n action.entryDocumentId = document.documentId;\n }\n\n const release = await strapi.db\n .query(RELEASE_MODEL_UID)\n .findOne({ where: { id: releaseId } });\n\n if (!release) {\n throw new errors.NotFoundError(`No release found for id ${releaseId}`);\n }\n\n if (release.releasedAt) {\n throw new errors.ValidationError('Release already published');\n }\n\n // If the action is a publish, check if the entry is valid\n // If the action is an unpublish, skip the validation\n const actionStatus =\n action.type === 'publish'\n ? await getDraftEntryValidStatus(\n {\n contentType: action.contentType,\n documentId: action.entryDocumentId,\n locale: action.locale,\n },\n {\n strapi,\n }\n )\n : true;\n\n const releaseAction = await strapi.db.query(RELEASE_ACTION_MODEL_UID).create({\n data: {\n ...action,\n release: release.id,\n isEntryValid: actionStatus,\n },\n populate: { release: { select: ['id'] } },\n });\n\n if (!disableUpdateReleaseStatus) {\n getService('release', { strapi }).updateReleaseStatus(release.id);\n }\n\n return releaseAction;\n },\n\n async findPage(\n releaseId: GetReleaseActions.Request['params']['releaseId'],\n query?: GetReleaseActions.Request['query']\n ) {\n const release = await strapi.db.query(RELEASE_MODEL_UID).findOne({\n where: { id: releaseId },\n select: ['id'],\n });\n\n if (!release) {\n throw new errors.NotFoundError(`No release found for id ${releaseId}`);\n }\n\n const dbQuery = strapi.get('query-params').transform(RELEASE_ACTION_MODEL_UID, query ?? {});\n const { results: actions, pagination } = await strapi.db\n .query(RELEASE_ACTION_MODEL_UID)\n .findPage({\n ...dbQuery,\n where: {\n release: releaseId,\n },\n });\n\n // For each contentType on the release, we create a custom populate object for nested relations\n const populateBuilderService = strapi.plugin('content-manager').service('populate-builder');\n\n const actionsWithEntry = await async.map(actions, async (action: ReleaseAction) => {\n // @ts-expect-error - Core.Service type is not a function\n const populate = await populateBuilderService(action.contentType)\n .populateDeep(Infinity)\n .build();\n\n const entry = await getEntry(\n {\n contentType: action.contentType,\n documentId: action.entryDocumentId,\n locale: action.locale,\n populate,\n status: action.type === 'publish' ? 'draft' : 'published',\n },\n { strapi }\n );\n\n return {\n ...action,\n entry,\n status: entry ? await getEntryStatus(action.contentType, entry) : null,\n };\n });\n\n return {\n results: actionsWithEntry,\n pagination,\n };\n },\n\n async groupActions(actions: ReleaseAction[], groupBy: ReleaseActionGroupBy) {\n const contentTypeUids = actions.reduce<ReleaseAction['contentType'][]>((acc, action) => {\n if (!acc.includes(action.contentType)) {\n acc.push(action.contentType);\n }\n\n return acc;\n }, []);\n const allReleaseContentTypesDictionary = await getContentTypesDataForActions(contentTypeUids);\n const allLocalesDictionary = await getLocalesDataForActions();\n\n const formattedData = actions.map((action: ReleaseAction) => {\n const { mainField, displayName } = allReleaseContentTypesDictionary[action.contentType];\n\n return {\n ...action,\n locale: action.locale ? allLocalesDictionary[action.locale] : null,\n contentType: {\n displayName,\n mainFieldValue: action.entry[mainField],\n uid: action.contentType,\n },\n };\n });\n\n const groupName = getGroupName(groupBy);\n return _.groupBy(groupName)(formattedData);\n },\n\n async getContentTypeModelsFromActions(actions: ReleaseAction[]) {\n const contentTypeUids = actions.reduce<ReleaseAction['contentType'][]>((acc, action) => {\n if (!acc.includes(action.contentType)) {\n acc.push(action.contentType);\n }\n\n return acc;\n }, []);\n\n const workflowsService = strapi.plugin('review-workflows').service('workflows');\n\n const contentTypeModelsMap = await async.reduce(contentTypeUids)(\n async (\n accPromise: Promise<GetReleaseActions.Response['meta']['contentTypes']>,\n contentTypeUid: ReleaseAction['contentType']\n ) => {\n const acc = await accPromise;\n const contentTypeModel = strapi.getModel(contentTypeUid);\n\n // Workflows service may not be available depending on the license\n const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {\n populate: 'stageRequiredToPublish',\n });\n\n acc[contentTypeUid] = {\n ...contentTypeModel,\n hasReviewWorkflow: !!workflow,\n stageRequiredToPublish: workflow?.stageRequiredToPublish,\n };\n\n return acc;\n },\n {}\n );\n\n return contentTypeModelsMap;\n },\n\n async countActions(\n query: Modules.EntityService.Params.Pick<typeof RELEASE_ACTION_MODEL_UID, 'filters'>\n ) {\n const dbQuery = strapi.get('query-params').transform(RELEASE_ACTION_MODEL_UID, query ?? {});\n\n return strapi.db.query(RELEASE_ACTION_MODEL_UID).count(dbQuery);\n },\n\n async update(\n actionId: UpdateReleaseAction.Request['params']['actionId'],\n releaseId: UpdateReleaseAction.Request['params']['releaseId'],\n update: UpdateReleaseAction.Request['body']\n ) {\n const action = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findOne({\n where: {\n id: actionId,\n release: {\n id: releaseId,\n releasedAt: {\n $null: true,\n },\n },\n },\n });\n\n if (!action) {\n throw new errors.NotFoundError(\n `Action with id ${actionId} not found in release with id ${releaseId} or it is already published`\n );\n }\n\n const actionStatus =\n update.type === 'publish'\n ? await getDraftEntryValidStatus(\n {\n contentType: action.contentType,\n documentId: action.entryDocumentId,\n locale: action.locale,\n },\n {\n strapi,\n }\n )\n : true;\n\n const updatedAction = await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({\n where: {\n id: actionId,\n release: {\n id: releaseId,\n releasedAt: {\n $null: true,\n },\n },\n },\n data: {\n ...update,\n isEntryValid: actionStatus,\n },\n });\n\n getService('release', { strapi }).updateReleaseStatus(releaseId);\n\n return updatedAction;\n },\n\n async delete(\n actionId: DeleteReleaseAction.Request['params']['actionId'],\n releaseId: DeleteReleaseAction.Request['params']['releaseId']\n ) {\n const deletedAction = await strapi.db.query(RELEASE_ACTION_MODEL_UID).delete({\n where: {\n id: actionId,\n release: {\n id: releaseId,\n releasedAt: {\n $null: true,\n },\n },\n },\n });\n\n if (!deletedAction) {\n throw new errors.NotFoundError(\n `Action with id ${actionId} not found in release with id ${releaseId} or it is already published`\n );\n }\n\n getService('release', { strapi }).updateReleaseStatus(releaseId);\n\n return deletedAction;\n },\n\n async validateActionsByContentTypes(contentTypeUids: UID.ContentType[]) {\n const actions = await strapi.db.query(RELEASE_ACTION_MODEL_UID).findMany({\n where: {\n contentType: {\n $in: contentTypeUids,\n },\n // We only want to validate actions that are going to be published\n type: 'publish',\n release: {\n releasedAt: {\n $null: true,\n },\n },\n },\n populate: { release: true },\n });\n\n const releasesUpdated: Data.ID[] = [];\n\n await async.map(actions, async (action: ReleaseAction) => {\n const isValid = await getDraftEntryValidStatus(\n {\n contentType: action.contentType,\n documentId: action.entryDocumentId,\n locale: action.locale,\n },\n { strapi }\n );\n\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).update({\n where: {\n id: action.id,\n },\n data: {\n isEntryValid: isValid,\n },\n });\n\n if (!releasesUpdated.includes(action.release.id)) {\n releasesUpdated.push(action.release.id);\n }\n\n return {\n id: action.id,\n isEntryValid: isValid,\n };\n });\n\n if (releasesUpdated.length > 0) {\n await async.map(releasesUpdated, async (releaseId: number) => {\n await getService('release', { strapi }).updateReleaseStatus(releaseId);\n });\n }\n },\n };\n};\n\nexport type ReleaseActionService = ReturnType<typeof createReleaseActionService>;\n\nexport default createReleaseActionService;\n"],"names":["getGroupName","queryValue","_","getOr","createReleaseActionService","strapi","getLocalesDataForActions","plugin","allLocales","service","find","reduce","acc","locale","code","name","getContentTypesDataForActions","contentTypesUids","contentManagerContentTypeService","contentTypesData","contentTypeUid","contentTypeConfig","findConfiguration","uid","mainField","settings","displayName","getModel","info","create","releaseId","action","disableUpdateReleaseStatus","validateEntryData","validateUniqueEntry","getService","Promise","all","contentType","entryDocumentId","model","kind","document","db","query","findOne","select","errors","NotFoundError","documentId","release","RELEASE_MODEL_UID","where","id","releasedAt","ValidationError","actionStatus","type","getDraftEntryValidStatus","releaseAction","RELEASE_ACTION_MODEL_UID","data","isEntryValid","populate","updateReleaseStatus","findPage","dbQuery","get","transform","results","actions","pagination","populateBuilderService","actionsWithEntry","async","map","populateDeep","Infinity","build","entry","getEntry","status","getEntryStatus","groupActions","groupBy","contentTypeUids","includes","push","allReleaseContentTypesDictionary","allLocalesDictionary","formattedData","mainFieldValue","groupName","getContentTypeModelsFromActions","workflowsService","contentTypeModelsMap","accPromise","contentTypeModel","workflow","getAssignedWorkflow","hasReviewWorkflow","stageRequiredToPublish","countActions","count","update","actionId","$null","updatedAction","delete","deletedAction","validateActionsByContentTypes","findMany","$in","releasesUpdated","isValid","length"],"mappings":"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"}
|