@strapi/content-releases 0.0.0-next.f8af92b375dc730ba47ed2117f25df893aae696c → 0.0.0-next.f93d6eabe52aa7681655cfa08eedbc3708dbb90d
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/LICENSE +17 -1
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-light.svg.js +6 -0
- package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +4 -0
- package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
- package/dist/admin/components/EntryValidationPopover.js +344 -0
- package/dist/admin/components/EntryValidationPopover.js.map +1 -0
- package/dist/admin/components/EntryValidationPopover.mjs +342 -0
- package/dist/admin/components/EntryValidationPopover.mjs.map +1 -0
- package/dist/admin/components/RelativeTime.js +76 -0
- package/dist/admin/components/RelativeTime.js.map +1 -0
- package/dist/admin/components/RelativeTime.mjs +55 -0
- package/dist/admin/components/RelativeTime.mjs.map +1 -0
- package/dist/admin/components/ReleaseAction.js +201 -0
- package/dist/admin/components/ReleaseAction.js.map +1 -0
- package/dist/admin/components/ReleaseAction.mjs +199 -0
- package/dist/admin/components/ReleaseAction.mjs.map +1 -0
- package/dist/admin/components/ReleaseActionMenu.js +243 -0
- package/dist/admin/components/ReleaseActionMenu.js.map +1 -0
- package/dist/admin/components/ReleaseActionMenu.mjs +222 -0
- package/dist/admin/components/ReleaseActionMenu.mjs.map +1 -0
- package/dist/admin/components/ReleaseActionModal.js +268 -0
- package/dist/admin/components/ReleaseActionModal.js.map +1 -0
- package/dist/admin/components/ReleaseActionModal.mjs +244 -0
- package/dist/admin/components/ReleaseActionModal.mjs.map +1 -0
- package/dist/admin/components/ReleaseActionOptions.js +104 -0
- package/dist/admin/components/ReleaseActionOptions.js.map +1 -0
- package/dist/admin/components/ReleaseActionOptions.mjs +102 -0
- package/dist/admin/components/ReleaseActionOptions.mjs.map +1 -0
- package/dist/admin/components/ReleaseListCell.js +103 -0
- package/dist/admin/components/ReleaseListCell.js.map +1 -0
- package/dist/admin/components/ReleaseListCell.mjs +100 -0
- package/dist/admin/components/ReleaseListCell.mjs.map +1 -0
- package/dist/admin/components/ReleaseModal.js +323 -0
- package/dist/admin/components/ReleaseModal.js.map +1 -0
- package/dist/admin/components/ReleaseModal.mjs +302 -0
- package/dist/admin/components/ReleaseModal.mjs.map +1 -0
- package/dist/admin/components/ReleasesPanel.js +138 -0
- package/dist/admin/components/ReleasesPanel.js.map +1 -0
- package/dist/admin/components/ReleasesPanel.mjs +136 -0
- package/dist/admin/components/ReleasesPanel.mjs.map +1 -0
- package/dist/admin/constants.js +77 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +75 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/index.js +125 -18
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +120 -18
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/modules/hooks.js +8 -0
- package/dist/admin/modules/hooks.js.map +1 -0
- package/dist/admin/modules/hooks.mjs +6 -0
- package/dist/admin/modules/hooks.mjs.map +1 -0
- package/dist/admin/pages/App.js +29 -0
- package/dist/admin/pages/App.js.map +1 -0
- package/dist/admin/pages/App.mjs +27 -0
- package/dist/admin/pages/App.mjs.map +1 -0
- package/dist/admin/pages/PurchaseContentReleases.js +192 -0
- package/dist/admin/pages/PurchaseContentReleases.js.map +1 -0
- package/dist/admin/pages/PurchaseContentReleases.mjs +190 -0
- package/dist/admin/pages/PurchaseContentReleases.mjs.map +1 -0
- package/dist/admin/pages/ReleaseDetailsPage.js +821 -0
- package/dist/admin/pages/ReleaseDetailsPage.js.map +1 -0
- package/dist/admin/pages/ReleaseDetailsPage.mjs +800 -0
- package/dist/admin/pages/ReleaseDetailsPage.mjs.map +1 -0
- package/dist/admin/pages/ReleasesPage.js +397 -0
- package/dist/admin/pages/ReleasesPage.js.map +1 -0
- package/dist/admin/pages/ReleasesPage.mjs +375 -0
- package/dist/admin/pages/ReleasesPage.mjs.map +1 -0
- package/dist/admin/pages/ReleasesSettingsPage.js +199 -0
- package/dist/admin/pages/ReleasesSettingsPage.js.map +1 -0
- package/dist/admin/pages/ReleasesSettingsPage.mjs +197 -0
- package/dist/admin/pages/ReleasesSettingsPage.mjs.map +1 -0
- package/dist/admin/pluginId.js +6 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +4 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/services/release.js +464 -0
- package/dist/admin/services/release.js.map +1 -0
- package/dist/admin/services/release.mjs +447 -0
- package/dist/admin/services/release.mjs.map +1 -0
- package/dist/admin/src/components/EntryValidationPopover.d.ts +13 -0
- package/dist/admin/src/components/RelativeTime.d.ts +28 -0
- package/dist/admin/src/components/ReleaseAction.d.ts +3 -0
- package/dist/admin/src/components/ReleaseActionMenu.d.ts +26 -0
- package/dist/admin/src/components/ReleaseActionModal.d.ts +24 -0
- package/dist/admin/src/components/ReleaseActionOptions.d.ts +9 -0
- package/dist/admin/src/components/ReleaseListCell.d.ts +28 -0
- package/dist/admin/src/components/ReleaseModal.d.ts +17 -0
- package/dist/admin/src/components/ReleasesPanel.d.ts +3 -0
- package/dist/admin/src/constants.d.ts +76 -0
- package/dist/admin/src/index.d.ts +3 -0
- package/dist/admin/src/modules/hooks.d.ts +7 -0
- package/dist/admin/src/pages/App.d.ts +1 -0
- package/dist/admin/src/pages/PurchaseContentReleases.d.ts +2 -0
- package/dist/admin/src/pages/ReleaseDetailsPage.d.ts +2 -0
- package/dist/admin/src/pages/ReleasesPage.d.ts +8 -0
- package/dist/admin/src/pages/ReleasesSettingsPage.d.ts +1 -0
- package/dist/admin/src/pages/tests/mockReleaseDetailsPageData.d.ts +181 -0
- package/dist/admin/src/pages/tests/mockReleasesPageData.d.ts +39 -0
- package/dist/admin/src/pluginId.d.ts +1 -0
- package/dist/admin/src/services/release.d.ts +112 -0
- package/dist/admin/src/store/hooks.d.ts +7 -0
- package/dist/admin/src/utils/api.d.ts +6 -0
- package/dist/admin/src/utils/prefixPluginTranslations.d.ts +3 -0
- package/dist/admin/src/utils/time.d.ts +10 -0
- package/dist/admin/src/validation/schemas.d.ts +6 -0
- package/dist/admin/store/hooks.js +8 -0
- package/dist/admin/store/hooks.js.map +1 -0
- package/dist/admin/store/hooks.mjs +6 -0
- package/dist/admin/store/hooks.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +108 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +106 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +103 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +101 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/utils/api.js +8 -0
- package/dist/admin/utils/api.js.map +1 -0
- package/dist/admin/utils/api.mjs +6 -0
- package/dist/admin/utils/api.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/admin/utils/time.js +42 -0
- package/dist/admin/utils/time.js.map +1 -0
- package/dist/admin/utils/time.mjs +39 -0
- package/dist/admin/utils/time.mjs.map +1 -0
- package/dist/admin/validation/schemas.js +65 -0
- package/dist/admin/validation/schemas.js.map +1 -0
- package/dist/admin/validation/schemas.mjs +43 -0
- package/dist/admin/validation/schemas.mjs.map +1 -0
- package/dist/server/bootstrap.js +68 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +66 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/constants.js +74 -0
- package/dist/server/constants.js.map +1 -0
- package/dist/server/constants.mjs +69 -0
- package/dist/server/constants.mjs.map +1 -0
- package/dist/server/content-types/index.js +12 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +10 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/content-types/release/index.js +10 -0
- package/dist/server/content-types/release/index.js.map +1 -0
- package/dist/server/content-types/release/index.mjs +8 -0
- package/dist/server/content-types/release/index.mjs.map +1 -0
- package/dist/server/content-types/release/schema.js +58 -0
- package/dist/server/content-types/release/schema.js.map +1 -0
- package/dist/server/content-types/release/schema.mjs +56 -0
- package/dist/server/content-types/release/schema.mjs.map +1 -0
- package/dist/server/content-types/release-action/index.js +10 -0
- package/dist/server/content-types/release-action/index.js.map +1 -0
- package/dist/server/content-types/release-action/index.mjs +8 -0
- package/dist/server/content-types/release-action/index.mjs.map +1 -0
- package/dist/server/content-types/release-action/schema.js +55 -0
- package/dist/server/content-types/release-action/schema.js.map +1 -0
- package/dist/server/content-types/release-action/schema.mjs +53 -0
- package/dist/server/content-types/release-action/schema.mjs.map +1 -0
- package/dist/server/controllers/index.js +14 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +12 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/release-action.js +150 -0
- package/dist/server/controllers/release-action.js.map +1 -0
- package/dist/server/controllers/release-action.mjs +148 -0
- package/dist/server/controllers/release-action.mjs.map +1 -0
- package/dist/server/controllers/release.js +302 -0
- package/dist/server/controllers/release.js.map +1 -0
- package/dist/server/controllers/release.mjs +300 -0
- package/dist/server/controllers/release.mjs.map +1 -0
- package/dist/server/controllers/settings.js +37 -0
- package/dist/server/controllers/settings.js.map +1 -0
- package/dist/server/controllers/settings.mjs +35 -0
- package/dist/server/controllers/settings.mjs.map +1 -0
- package/dist/server/controllers/validation/release-action.js +34 -0
- package/dist/server/controllers/validation/release-action.js.map +1 -0
- package/dist/server/controllers/validation/release-action.mjs +30 -0
- package/dist/server/controllers/validation/release-action.mjs.map +1 -0
- package/dist/server/controllers/validation/release.js +26 -0
- package/dist/server/controllers/validation/release.js.map +1 -0
- package/dist/server/controllers/validation/release.mjs +22 -0
- package/dist/server/controllers/validation/release.mjs.map +1 -0
- package/dist/server/controllers/validation/settings.js +32 -0
- package/dist/server/controllers/validation/settings.js.map +1 -0
- package/dist/server/controllers/validation/settings.mjs +10 -0
- package/dist/server/controllers/validation/settings.mjs.map +1 -0
- package/dist/server/destroy.js +15 -0
- package/dist/server/destroy.js.map +1 -0
- package/dist/server/destroy.mjs +13 -0
- package/dist/server/destroy.mjs.map +1 -0
- package/dist/server/index.js +25 -1331
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +24 -1311
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/documents.js +104 -0
- package/dist/server/middlewares/documents.js.map +1 -0
- package/dist/server/middlewares/documents.mjs +101 -0
- package/dist/server/middlewares/documents.mjs.map +1 -0
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +51 -0
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +1 -0
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +49 -0
- package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +1 -0
- package/dist/server/migrations/index.js +205 -0
- package/dist/server/migrations/index.js.map +1 -0
- package/dist/server/migrations/index.mjs +198 -0
- package/dist/server/migrations/index.mjs.map +1 -0
- package/dist/server/register.js +23 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +21 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/index.js +14 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +12 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/routes/release-action.js +100 -0
- package/dist/server/routes/release-action.js.map +1 -0
- package/dist/server/routes/release-action.mjs +98 -0
- package/dist/server/routes/release-action.mjs.map +1 -0
- package/dist/server/routes/release.js +154 -0
- package/dist/server/routes/release.js.map +1 -0
- package/dist/server/routes/release.mjs +152 -0
- package/dist/server/routes/release.mjs.map +1 -0
- package/dist/server/routes/settings.js +46 -0
- package/dist/server/routes/settings.js.map +1 -0
- package/dist/server/routes/settings.mjs +44 -0
- package/dist/server/routes/settings.mjs.map +1 -0
- package/dist/server/services/index.js +18 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +16 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/release-action.js +323 -0
- package/dist/server/services/release-action.js.map +1 -0
- package/dist/server/services/release-action.mjs +321 -0
- package/dist/server/services/release-action.mjs.map +1 -0
- package/dist/server/services/release.js +324 -0
- package/dist/server/services/release.js.map +1 -0
- package/dist/server/services/release.mjs +322 -0
- package/dist/server/services/release.mjs.map +1 -0
- package/dist/server/services/scheduling.js +70 -0
- package/dist/server/services/scheduling.js.map +1 -0
- package/dist/server/services/scheduling.mjs +68 -0
- package/dist/server/services/scheduling.mjs.map +1 -0
- package/dist/server/services/settings.js +34 -0
- package/dist/server/services/settings.js.map +1 -0
- package/dist/server/services/settings.mjs +32 -0
- package/dist/server/services/settings.mjs.map +1 -0
- package/dist/server/services/validation.js +91 -0
- package/dist/server/services/validation.js.map +1 -0
- package/dist/server/services/validation.mjs +86 -0
- package/dist/server/services/validation.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +5 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/constants.d.ts +21 -0
- package/dist/server/src/constants.d.ts.map +1 -0
- package/dist/server/src/content-types/index.d.ts +97 -0
- package/dist/server/src/content-types/index.d.ts.map +1 -0
- package/dist/server/src/content-types/release/index.d.ts +48 -0
- package/dist/server/src/content-types/release/index.d.ts.map +1 -0
- package/dist/server/src/content-types/release/schema.d.ts +47 -0
- package/dist/server/src/content-types/release/schema.d.ts.map +1 -0
- package/dist/server/src/content-types/release-action/index.d.ts +48 -0
- package/dist/server/src/content-types/release-action/index.d.ts.map +1 -0
- package/dist/server/src/content-types/release-action/schema.d.ts +47 -0
- package/dist/server/src/content-types/release-action/schema.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +25 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/controllers/release-action.d.ts +10 -0
- package/dist/server/src/controllers/release-action.d.ts.map +1 -0
- package/dist/server/src/controllers/release.d.ts +18 -0
- package/dist/server/src/controllers/release.d.ts.map +1 -0
- package/dist/server/src/controllers/settings.d.ts +11 -0
- package/dist/server/src/controllers/settings.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/release-action.d.ts +14 -0
- package/dist/server/src/controllers/validation/release-action.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/release.d.ts +4 -0
- package/dist/server/src/controllers/validation/release.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/settings.d.ts +3 -0
- package/dist/server/src/controllers/validation/settings.d.ts.map +1 -0
- package/dist/server/src/destroy.d.ts +5 -0
- package/dist/server/src/destroy.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +2111 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/documents.d.ts +6 -0
- package/dist/server/src/middlewares/documents.d.ts.map +1 -0
- package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts +9 -0
- package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts.map +1 -0
- package/dist/server/src/migrations/index.d.ts +13 -0
- package/dist/server/src/migrations/index.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +5 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +51 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/routes/release-action.d.ts +18 -0
- package/dist/server/src/routes/release-action.d.ts.map +1 -0
- package/dist/server/src/routes/release.d.ts +18 -0
- package/dist/server/src/routes/release.d.ts.map +1 -0
- package/dist/server/src/routes/settings.d.ts +18 -0
- package/dist/server/src/routes/settings.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +1824 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/release-action.d.ts +34 -0
- package/dist/server/src/services/release-action.d.ts.map +1 -0
- package/dist/server/src/services/release.d.ts +31 -0
- package/dist/server/src/services/release.d.ts.map +1 -0
- package/dist/server/src/services/scheduling.d.ts +18 -0
- package/dist/server/src/services/scheduling.d.ts.map +1 -0
- package/dist/server/src/services/settings.d.ts +13 -0
- package/dist/server/src/services/settings.d.ts.map +1 -0
- package/dist/server/src/services/validation.d.ts +18 -0
- package/dist/server/src/services/validation.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +35 -0
- package/dist/server/src/utils/index.d.ts.map +1 -0
- package/dist/server/utils/index.js +93 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +87 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/shared/contracts/release-actions.d.ts +136 -0
- package/dist/shared/contracts/release-actions.d.ts.map +1 -0
- package/dist/shared/contracts/releases.d.ts +183 -0
- package/dist/shared/contracts/releases.d.ts.map +1 -0
- package/dist/shared/contracts/settings.d.ts +38 -0
- package/dist/shared/contracts/settings.d.ts.map +1 -0
- package/dist/shared/types.d.ts +23 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/package.json +40 -42
- package/dist/_chunks/App-OK4Xac-O.js +0 -1315
- package/dist/_chunks/App-OK4Xac-O.js.map +0 -1
- package/dist/_chunks/App-xAkiD42p.mjs +0 -1292
- package/dist/_chunks/App-xAkiD42p.mjs.map +0 -1
- package/dist/_chunks/PurchaseContentReleases-Clm0iACO.mjs +0 -51
- package/dist/_chunks/PurchaseContentReleases-Clm0iACO.mjs.map +0 -1
- package/dist/_chunks/PurchaseContentReleases-YhAPgpG9.js +0 -51
- package/dist/_chunks/PurchaseContentReleases-YhAPgpG9.js.map +0 -1
- package/dist/_chunks/en-r0otWaln.js +0 -77
- package/dist/_chunks/en-r0otWaln.js.map +0 -1
- package/dist/_chunks/en-veqvqeEr.mjs +0 -77
- package/dist/_chunks/en-veqvqeEr.mjs.map +0 -1
- package/dist/_chunks/index-JvA2_26n.js +0 -1015
- package/dist/_chunks/index-JvA2_26n.js.map +0 -1
- package/dist/_chunks/index-exoiSU3V.mjs +0 -994
- package/dist/_chunks/index-exoiSU3V.mjs.map +0 -1
- package/strapi-server.js +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.mjs","sources":["../../../admin/src/utils/time.ts"],"sourcesContent":["export const getTimezoneOffset = (timezone: string, date: Date) => {\n try {\n const offsetPart = new Intl.DateTimeFormat('en', {\n timeZone: timezone,\n timeZoneName: 'longOffset',\n })\n .formatToParts(date)\n .find((part) => part.type === 'timeZoneName');\n\n const offset = offsetPart ? offsetPart.value : '';\n\n // We want to show time based on UTC, not GMT so we swap that.\n let utcOffset = offset.replace('GMT', 'UTC');\n\n // For perfect UTC (UTC+0:00) we only get the string UTC, So we need to append the 0's.\n if (!utcOffset.includes('+') && !utcOffset.includes('-')) {\n utcOffset = `${utcOffset}+00:00`;\n }\n\n return utcOffset;\n } catch (error) {\n // When timezone is invalid we catch the error and return empty to don't break the app\n return '';\n }\n};\n\ninterface ITimezoneOption {\n offset: string;\n value: string;\n}\n\nexport const getTimezones = (selectedDate: Date) => {\n const timezoneList: ITimezoneOption[] = Intl.supportedValuesOf('timeZone').map((timezone) => {\n // Timezone will be in the format GMT${OFFSET} where offset could be nothing,\n // a four digit string e.g. +05:00 or -08:00\n const utcOffset = getTimezoneOffset(timezone, selectedDate);\n\n // Offset and timezone are concatenated with '&', so to split and save the required timezone in DB\n return { offset: utcOffset, value: `${utcOffset}&${timezone}` } satisfies ITimezoneOption;\n });\n\n const systemTimezone = timezoneList.find(\n (timezone) => timezone.value.split('&')[1] === Intl.DateTimeFormat().resolvedOptions().timeZone\n );\n\n return { timezoneList, systemTimezone };\n};\n"],"names":["getTimezoneOffset","timezone","date","offsetPart","Intl","DateTimeFormat","timeZone","timeZoneName","formatToParts","find","part","type","offset","value","utcOffset","replace","includes","error","getTimezones","selectedDate","timezoneList","supportedValuesOf","map","systemTimezone","split","resolvedOptions"],"mappings":"AAAO,MAAMA,iBAAoB,GAAA,CAACC,QAAkBC,EAAAA,IAAAA,GAAAA;IAClD,IAAI;AACF,QAAA,MAAMC,UAAa,GAAA,IAAIC,IAAKC,CAAAA,cAAc,CAAC,IAAM,EAAA;YAC/CC,QAAUL,EAAAA,QAAAA;YACVM,YAAc,EAAA;SAEbC,CAAAA,CAAAA,aAAa,CAACN,IACdO,CAAAA,CAAAA,IAAI,CAAC,CAACC,IAAAA,GAASA,IAAKC,CAAAA,IAAI,KAAK,cAAA,CAAA;AAEhC,QAAA,MAAMC,MAAST,GAAAA,UAAAA,GAAaA,UAAWU,CAAAA,KAAK,GAAG,EAAA;;AAG/C,QAAA,IAAIC,SAAYF,GAAAA,MAAAA,CAAOG,OAAO,CAAC,KAAO,EAAA,KAAA,CAAA;;QAGtC,IAAI,CAACD,UAAUE,QAAQ,CAAC,QAAQ,CAACF,SAAAA,CAAUE,QAAQ,CAAC,GAAM,CAAA,EAAA;AACxDF,YAAAA,SAAAA,GAAY,CAAC,EAAEA,SAAU,CAAA,MAAM,CAAC;AAClC;QAEA,OAAOA,SAAAA;AACT,KAAA,CAAE,OAAOG,KAAO,EAAA;;QAEd,OAAO,EAAA;AACT;AACF;AAOO,MAAMC,eAAe,CAACC,YAAAA,GAAAA;AAC3B,IAAA,MAAMC,eAAkChB,IAAKiB,CAAAA,iBAAiB,CAAC,UAAYC,CAAAA,CAAAA,GAAG,CAAC,CAACrB,QAAAA,GAAAA;;;QAG9E,MAAMa,SAAAA,GAAYd,kBAAkBC,QAAUkB,EAAAA,YAAAA,CAAAA;;QAG9C,OAAO;YAAEP,MAAQE,EAAAA,SAAAA;AAAWD,YAAAA,KAAAA,EAAO,CAAC,EAAEC,SAAAA,CAAU,CAAC,EAAEb,SAAS;AAAE,SAAA;AAChE,KAAA,CAAA;IAEA,MAAMsB,cAAAA,GAAiBH,aAAaX,IAAI,CACtC,CAACR,QAAaA,GAAAA,QAAAA,CAASY,KAAK,CAACW,KAAK,CAAC,GAAI,CAAA,CAAC,EAAE,KAAKpB,IAAAA,CAAKC,cAAc,EAAGoB,CAAAA,eAAe,GAAGnB,QAAQ,CAAA;IAGjG,OAAO;AAAEc,QAAAA,YAAAA;AAAcG,QAAAA;AAAe,KAAA;AACxC;;;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
4
|
+
var dateFnsTz = require('date-fns-tz');
|
|
5
|
+
var yup = require('yup');
|
|
6
|
+
|
|
7
|
+
function _interopNamespaceDefault(e) {
|
|
8
|
+
var n = Object.create(null);
|
|
9
|
+
if (e) {
|
|
10
|
+
Object.keys(e).forEach(function (k) {
|
|
11
|
+
if (k !== 'default') {
|
|
12
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return e[k]; }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* FormikErrors type enforce us to always return a string as error.
|
|
28
|
+
* We need these errors to be translated, so we need to create a hook to be able to use the formatMessage function.
|
|
29
|
+
*/ const RELEASE_SCHEMA = yup__namespace.object().shape({
|
|
30
|
+
name: yup__namespace.string().trim().required(strapiAdmin.translatedErrors.required.id).nullable(),
|
|
31
|
+
scheduledAt: yup__namespace.string().nullable(),
|
|
32
|
+
isScheduled: yup__namespace.boolean().optional(),
|
|
33
|
+
time: yup__namespace.string().when('isScheduled', {
|
|
34
|
+
is: true,
|
|
35
|
+
then: yup__namespace.string().trim().required(strapiAdmin.translatedErrors.required.id),
|
|
36
|
+
otherwise: yup__namespace.string().nullable()
|
|
37
|
+
}).test('time-in-future-if-today', 'content-releases.modal.form.time.has-passed', function(time) {
|
|
38
|
+
const { date, timezone } = this.parent;
|
|
39
|
+
if (!date || !timezone || !time) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
// Timezone is in format "UTC&Europe/Paris", so we get the region part for the dates functions
|
|
43
|
+
const region = timezone.split('&')[1];
|
|
44
|
+
const selectedTime = dateFnsTz.zonedTimeToUtc(`${date} ${time}`, region);
|
|
45
|
+
const now = new Date();
|
|
46
|
+
return selectedTime > now;
|
|
47
|
+
}),
|
|
48
|
+
timezone: yup__namespace.string().when('isScheduled', {
|
|
49
|
+
is: true,
|
|
50
|
+
then: yup__namespace.string().required(strapiAdmin.translatedErrors.required.id).nullable(),
|
|
51
|
+
otherwise: yup__namespace.string().nullable()
|
|
52
|
+
}),
|
|
53
|
+
date: yup__namespace.string().when('isScheduled', {
|
|
54
|
+
is: true,
|
|
55
|
+
then: yup__namespace.string().required(strapiAdmin.translatedErrors.required.id).nullable(),
|
|
56
|
+
otherwise: yup__namespace.string().nullable()
|
|
57
|
+
})
|
|
58
|
+
}).required().noUnknown();
|
|
59
|
+
const SETTINGS_SCHEMA = yup__namespace.object().shape({
|
|
60
|
+
defaultTimezone: yup__namespace.string().nullable().default(null)
|
|
61
|
+
}).required().noUnknown();
|
|
62
|
+
|
|
63
|
+
exports.RELEASE_SCHEMA = RELEASE_SCHEMA;
|
|
64
|
+
exports.SETTINGS_SCHEMA = SETTINGS_SCHEMA;
|
|
65
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sources":["../../../admin/src/validation/schemas.ts"],"sourcesContent":["import { translatedErrors } from '@strapi/admin/strapi-admin';\nimport { zonedTimeToUtc } from 'date-fns-tz';\nimport * as yup from 'yup';\n\n/**\n * FormikErrors type enforce us to always return a string as error.\n * We need these errors to be translated, so we need to create a hook to be able to use the formatMessage function.\n */\nexport const RELEASE_SCHEMA = yup\n .object()\n .shape({\n name: yup.string().trim().required(translatedErrors.required.id).nullable(),\n scheduledAt: yup.string().nullable(),\n isScheduled: yup.boolean().optional(),\n time: yup\n .string()\n .when('isScheduled', {\n is: true,\n then: yup.string().trim().required(translatedErrors.required.id),\n otherwise: yup.string().nullable(),\n })\n .test(\n 'time-in-future-if-today',\n 'content-releases.modal.form.time.has-passed',\n function (time) {\n const { date, timezone } = this.parent;\n\n if (!date || !timezone || !time) {\n return true;\n }\n\n // Timezone is in format \"UTC&Europe/Paris\", so we get the region part for the dates functions\n const region = timezone.split('&')[1];\n\n const selectedTime = zonedTimeToUtc(`${date} ${time}`, region);\n const now = new Date();\n\n return selectedTime > now;\n }\n ),\n timezone: yup.string().when('isScheduled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id).nullable(),\n otherwise: yup.string().nullable(),\n }),\n date: yup.string().when('isScheduled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id).nullable(),\n otherwise: yup.string().nullable(),\n }),\n })\n .required()\n .noUnknown();\n\nexport const SETTINGS_SCHEMA = yup\n .object()\n .shape({\n defaultTimezone: yup.string().nullable().default(null),\n })\n .required()\n .noUnknown();\n"],"names":["RELEASE_SCHEMA","yup","object","shape","name","string","trim","required","translatedErrors","id","nullable","scheduledAt","isScheduled","boolean","optional","time","when","is","then","otherwise","test","date","timezone","parent","region","split","selectedTime","zonedTimeToUtc","now","Date","noUnknown","SETTINGS_SCHEMA","defaultTimezone","default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;AAGC,IACYA,MAAAA,cAAAA,GAAiBC,eAC3BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,IAAAA,EAAMH,cAAII,CAAAA,MAAM,EAAGC,CAAAA,IAAI,EAAGC,CAAAA,QAAQ,CAACC,4BAAAA,CAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;IACzEC,WAAaV,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ,EAAA;IAClCE,WAAaX,EAAAA,cAAAA,CAAIY,OAAO,EAAA,CAAGC,QAAQ,EAAA;AACnCC,IAAAA,IAAAA,EAAMd,cACHI,CAAAA,MAAM,EACNW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACnBC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGC,IAAI,EAAA,CAAGC,QAAQ,CAACC,4BAAAA,CAAiBD,QAAQ,CAACE,EAAE,CAAA;QAC/DU,SAAWlB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA,CAAA,CACCU,IAAI,CACH,yBACA,EAAA,6CAAA,EACA,SAAUL,IAAI,EAAA;QACZ,MAAM,EAAEM,IAAI,EAAEC,QAAQ,EAAE,GAAG,IAAI,CAACC,MAAM;AAEtC,QAAA,IAAI,CAACF,IAAAA,IAAQ,CAACC,QAAAA,IAAY,CAACP,IAAM,EAAA;YAC/B,OAAO,IAAA;AACT;;AAGA,QAAA,MAAMS,SAASF,QAASG,CAAAA,KAAK,CAAC,GAAA,CAAI,CAAC,CAAE,CAAA;QAErC,MAAMC,YAAAA,GAAeC,yBAAe,CAAC,EAAEN,KAAK,CAAC,EAAEN,IAAK,CAAA,CAAC,EAAES,MAAAA,CAAAA;AACvD,QAAA,MAAMI,MAAM,IAAIC,IAAAA,EAAAA;AAEhB,QAAA,OAAOH,YAAeE,GAAAA,GAAAA;AACxB,KAAA,CAAA;AAEJN,IAAAA,QAAAA,EAAUrB,cAAII,CAAAA,MAAM,EAAGW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACzCC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,CAACC,6BAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;QAClES,SAAWlB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA,CAAA;AACAW,IAAAA,IAAAA,EAAMpB,cAAII,CAAAA,MAAM,EAAGW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACrCC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,CAACC,6BAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;QAClES,SAAWlB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA;AACF,CACCH,CAAAA,CAAAA,QAAQ,EACRuB,CAAAA,SAAS;MAECC,eAAkB9B,GAAAA,cAAAA,CAC5BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACL6B,IAAAA,eAAAA,EAAiB/B,eAAII,MAAM,EAAA,CAAGK,QAAQ,EAAA,CAAGuB,OAAO,CAAC,IAAA;AACnD,CACC1B,CAAAA,CAAAA,QAAQ,EACRuB,CAAAA,SAAS;;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { translatedErrors } from '@strapi/admin/strapi-admin';
|
|
2
|
+
import { zonedTimeToUtc } from 'date-fns-tz';
|
|
3
|
+
import * as yup from 'yup';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* FormikErrors type enforce us to always return a string as error.
|
|
7
|
+
* We need these errors to be translated, so we need to create a hook to be able to use the formatMessage function.
|
|
8
|
+
*/ const RELEASE_SCHEMA = yup.object().shape({
|
|
9
|
+
name: yup.string().trim().required(translatedErrors.required.id).nullable(),
|
|
10
|
+
scheduledAt: yup.string().nullable(),
|
|
11
|
+
isScheduled: yup.boolean().optional(),
|
|
12
|
+
time: yup.string().when('isScheduled', {
|
|
13
|
+
is: true,
|
|
14
|
+
then: yup.string().trim().required(translatedErrors.required.id),
|
|
15
|
+
otherwise: yup.string().nullable()
|
|
16
|
+
}).test('time-in-future-if-today', 'content-releases.modal.form.time.has-passed', function(time) {
|
|
17
|
+
const { date, timezone } = this.parent;
|
|
18
|
+
if (!date || !timezone || !time) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
// Timezone is in format "UTC&Europe/Paris", so we get the region part for the dates functions
|
|
22
|
+
const region = timezone.split('&')[1];
|
|
23
|
+
const selectedTime = zonedTimeToUtc(`${date} ${time}`, region);
|
|
24
|
+
const now = new Date();
|
|
25
|
+
return selectedTime > now;
|
|
26
|
+
}),
|
|
27
|
+
timezone: yup.string().when('isScheduled', {
|
|
28
|
+
is: true,
|
|
29
|
+
then: yup.string().required(translatedErrors.required.id).nullable(),
|
|
30
|
+
otherwise: yup.string().nullable()
|
|
31
|
+
}),
|
|
32
|
+
date: yup.string().when('isScheduled', {
|
|
33
|
+
is: true,
|
|
34
|
+
then: yup.string().required(translatedErrors.required.id).nullable(),
|
|
35
|
+
otherwise: yup.string().nullable()
|
|
36
|
+
})
|
|
37
|
+
}).required().noUnknown();
|
|
38
|
+
const SETTINGS_SCHEMA = yup.object().shape({
|
|
39
|
+
defaultTimezone: yup.string().nullable().default(null)
|
|
40
|
+
}).required().noUnknown();
|
|
41
|
+
|
|
42
|
+
export { RELEASE_SCHEMA, SETTINGS_SCHEMA };
|
|
43
|
+
//# sourceMappingURL=schemas.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.mjs","sources":["../../../admin/src/validation/schemas.ts"],"sourcesContent":["import { translatedErrors } from '@strapi/admin/strapi-admin';\nimport { zonedTimeToUtc } from 'date-fns-tz';\nimport * as yup from 'yup';\n\n/**\n * FormikErrors type enforce us to always return a string as error.\n * We need these errors to be translated, so we need to create a hook to be able to use the formatMessage function.\n */\nexport const RELEASE_SCHEMA = yup\n .object()\n .shape({\n name: yup.string().trim().required(translatedErrors.required.id).nullable(),\n scheduledAt: yup.string().nullable(),\n isScheduled: yup.boolean().optional(),\n time: yup\n .string()\n .when('isScheduled', {\n is: true,\n then: yup.string().trim().required(translatedErrors.required.id),\n otherwise: yup.string().nullable(),\n })\n .test(\n 'time-in-future-if-today',\n 'content-releases.modal.form.time.has-passed',\n function (time) {\n const { date, timezone } = this.parent;\n\n if (!date || !timezone || !time) {\n return true;\n }\n\n // Timezone is in format \"UTC&Europe/Paris\", so we get the region part for the dates functions\n const region = timezone.split('&')[1];\n\n const selectedTime = zonedTimeToUtc(`${date} ${time}`, region);\n const now = new Date();\n\n return selectedTime > now;\n }\n ),\n timezone: yup.string().when('isScheduled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id).nullable(),\n otherwise: yup.string().nullable(),\n }),\n date: yup.string().when('isScheduled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id).nullable(),\n otherwise: yup.string().nullable(),\n }),\n })\n .required()\n .noUnknown();\n\nexport const SETTINGS_SCHEMA = yup\n .object()\n .shape({\n defaultTimezone: yup.string().nullable().default(null),\n })\n .required()\n .noUnknown();\n"],"names":["RELEASE_SCHEMA","yup","object","shape","name","string","trim","required","translatedErrors","id","nullable","scheduledAt","isScheduled","boolean","optional","time","when","is","then","otherwise","test","date","timezone","parent","region","split","selectedTime","zonedTimeToUtc","now","Date","noUnknown","SETTINGS_SCHEMA","defaultTimezone","default"],"mappings":";;;;AAIA;;;AAGC,IACYA,MAAAA,cAAAA,GAAiBC,IAC3BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,IAAAA,EAAMH,GAAII,CAAAA,MAAM,EAAGC,CAAAA,IAAI,EAAGC,CAAAA,QAAQ,CAACC,gBAAAA,CAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;IACzEC,WAAaV,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ,EAAA;IAClCE,WAAaX,EAAAA,GAAAA,CAAIY,OAAO,EAAA,CAAGC,QAAQ,EAAA;AACnCC,IAAAA,IAAAA,EAAMd,GACHI,CAAAA,MAAM,EACNW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACnBC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGC,IAAI,EAAA,CAAGC,QAAQ,CAACC,gBAAAA,CAAiBD,QAAQ,CAACE,EAAE,CAAA;QAC/DU,SAAWlB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA,CAAA,CACCU,IAAI,CACH,yBACA,EAAA,6CAAA,EACA,SAAUL,IAAI,EAAA;QACZ,MAAM,EAAEM,IAAI,EAAEC,QAAQ,EAAE,GAAG,IAAI,CAACC,MAAM;AAEtC,QAAA,IAAI,CAACF,IAAAA,IAAQ,CAACC,QAAAA,IAAY,CAACP,IAAM,EAAA;YAC/B,OAAO,IAAA;AACT;;AAGA,QAAA,MAAMS,SAASF,QAASG,CAAAA,KAAK,CAAC,GAAA,CAAI,CAAC,CAAE,CAAA;QAErC,MAAMC,YAAAA,GAAeC,eAAe,CAAC,EAAEN,KAAK,CAAC,EAAEN,IAAK,CAAA,CAAC,EAAES,MAAAA,CAAAA;AACvD,QAAA,MAAMI,MAAM,IAAIC,IAAAA,EAAAA;AAEhB,QAAA,OAAOH,YAAeE,GAAAA,GAAAA;AACxB,KAAA,CAAA;AAEJN,IAAAA,QAAAA,EAAUrB,GAAII,CAAAA,MAAM,EAAGW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACzCC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,CAACC,iBAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;QAClES,SAAWlB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA,CAAA;AACAW,IAAAA,IAAAA,EAAMpB,GAAII,CAAAA,MAAM,EAAGW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACrCC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,CAACC,iBAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;QAClES,SAAWlB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA;AACF,CACCH,CAAAA,CAAAA,QAAQ,EACRuB,CAAAA,SAAS;MAECC,eAAkB9B,GAAAA,GAAAA,CAC5BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACL6B,IAAAA,eAAAA,EAAiB/B,IAAII,MAAM,EAAA,CAAGK,QAAQ,EAAA,CAAGuB,OAAO,CAAC,IAAA;AACnD,CACC1B,CAAAA,CAAAA,QAAQ,EACRuB,CAAAA,SAAS;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var constants = require('./constants.js');
|
|
4
|
+
var index = require('./utils/index.js');
|
|
5
|
+
var documents = require('./middlewares/documents.js');
|
|
6
|
+
|
|
7
|
+
const deleteReleasesActionsAndUpdateReleaseStatus = async (params)=>{
|
|
8
|
+
const releases = await strapi.db.query(constants.RELEASE_MODEL_UID).findMany({
|
|
9
|
+
where: {
|
|
10
|
+
actions: params
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
await strapi.db.query(constants.RELEASE_ACTION_MODEL_UID).deleteMany({
|
|
14
|
+
where: params
|
|
15
|
+
});
|
|
16
|
+
// We update the status of each release after delete the actions
|
|
17
|
+
for (const release of releases){
|
|
18
|
+
index.getService('release', {
|
|
19
|
+
strapi
|
|
20
|
+
}).updateReleaseStatus(release.id);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const bootstrap = async ({ strapi: strapi1 })=>{
|
|
24
|
+
if (strapi1.ee.features.isEnabled('cms-content-releases')) {
|
|
25
|
+
const contentTypesWithDraftAndPublish = Object.keys(strapi1.contentTypes).filter((uid)=>strapi1.contentTypes[uid]?.options?.draftAndPublish);
|
|
26
|
+
strapi1.db.lifecycles.subscribe({
|
|
27
|
+
models: contentTypesWithDraftAndPublish,
|
|
28
|
+
/**
|
|
29
|
+
* deleteMany is still used outside documents service, for example when deleting a locale
|
|
30
|
+
*/ async afterDeleteMany (event) {
|
|
31
|
+
try {
|
|
32
|
+
const model = strapi1.getModel(event.model.uid);
|
|
33
|
+
// @ts-expect-error TODO: lifecycles types looks like are not 100% finished
|
|
34
|
+
if (model.kind === 'collectionType' && model.options?.draftAndPublish) {
|
|
35
|
+
const { where } = event.params;
|
|
36
|
+
deleteReleasesActionsAndUpdateReleaseStatus({
|
|
37
|
+
contentType: model.uid,
|
|
38
|
+
locale: where?.locale ?? null,
|
|
39
|
+
...where?.documentId && {
|
|
40
|
+
entryDocumentId: where.documentId
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
} catch (error) {
|
|
45
|
+
// If an error happens we don't want to block the delete entry flow, but we log the error
|
|
46
|
+
strapi1.log.error('Error while deleting release actions after entry deleteMany', {
|
|
47
|
+
error
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
// We register middleware to handle ReleaseActions when changes on documents are made
|
|
53
|
+
strapi1.documents.use(documents.deleteActionsOnDelete);
|
|
54
|
+
strapi1.documents.use(documents.updateActionsOnUpdate);
|
|
55
|
+
index.getService('scheduling', {
|
|
56
|
+
strapi: strapi1
|
|
57
|
+
}).syncFromDatabase().catch((err)=>{
|
|
58
|
+
strapi1.log.error('Error while syncing scheduled jobs from the database in the content-releases plugin. This could lead to errors in the releases scheduling.');
|
|
59
|
+
throw err;
|
|
60
|
+
});
|
|
61
|
+
Object.entries(constants.ALLOWED_WEBHOOK_EVENTS).forEach(([key, value])=>{
|
|
62
|
+
strapi1.get('webhookStore').addAllowedEvent(key, value);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
exports.bootstrap = bootstrap;
|
|
68
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport type { Core, UID, Modules } from '@strapi/types';\n\nimport { RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID, ALLOWED_WEBHOOK_EVENTS } from './constants';\nimport { getService } from './utils';\nimport { deleteActionsOnDelete, updateActionsOnUpdate } from './middlewares/documents';\n\ninterface DeleteManyParams {\n contentType: UID.ContentType;\n locale: string | null;\n entryDocumentId?: Modules.Documents.ID;\n}\n\nconst deleteReleasesActionsAndUpdateReleaseStatus = async (params: DeleteManyParams) => {\n const releases = await strapi.db.query(RELEASE_MODEL_UID).findMany({\n where: {\n actions: params,\n },\n });\n\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).deleteMany({\n where: params,\n });\n\n // We update the status of each release after delete the actions\n for (const release of releases) {\n getService('release', { strapi }).updateReleaseStatus(release.id);\n }\n};\n\nexport const bootstrap = async ({ strapi }: { strapi: Core.Strapi }) => {\n if (strapi.ee.features.isEnabled('cms-content-releases')) {\n const contentTypesWithDraftAndPublish = Object.keys(strapi.contentTypes).filter(\n (uid: any) => strapi.contentTypes[uid]?.options?.draftAndPublish\n );\n\n strapi.db.lifecycles.subscribe({\n models: contentTypesWithDraftAndPublish,\n\n /**\n * deleteMany is still used outside documents service, for example when deleting a locale\n */\n async afterDeleteMany(event) {\n try {\n const model = strapi.getModel(event.model.uid as UID.Schema);\n // @ts-expect-error TODO: lifecycles types looks like are not 100% finished\n if (model.kind === 'collectionType' && model.options?.draftAndPublish) {\n const { where } = event.params;\n\n deleteReleasesActionsAndUpdateReleaseStatus({\n contentType: model.uid,\n locale: where?.locale ?? null,\n ...(where?.documentId && { entryDocumentId: where.documentId }),\n });\n }\n } catch (error) {\n // If an error happens we don't want to block the delete entry flow, but we log the error\n strapi.log.error('Error while deleting release actions after entry deleteMany', {\n error,\n });\n }\n },\n });\n\n // We register middleware to handle ReleaseActions when changes on documents are made\n strapi.documents.use(deleteActionsOnDelete);\n strapi.documents.use(updateActionsOnUpdate);\n\n getService('scheduling', { strapi })\n .syncFromDatabase()\n .catch((err: Error) => {\n strapi.log.error(\n 'Error while syncing scheduled jobs from the database in the content-releases plugin. This could lead to errors in the releases scheduling.'\n );\n\n throw err;\n });\n\n Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {\n strapi.get('webhookStore').addAllowedEvent(key, value);\n });\n }\n};\n"],"names":["deleteReleasesActionsAndUpdateReleaseStatus","params","releases","strapi","db","query","RELEASE_MODEL_UID","findMany","where","actions","RELEASE_ACTION_MODEL_UID","deleteMany","release","getService","updateReleaseStatus","id","bootstrap","ee","features","isEnabled","contentTypesWithDraftAndPublish","Object","keys","contentTypes","filter","uid","options","draftAndPublish","lifecycles","subscribe","models","afterDeleteMany","event","model","getModel","kind","contentType","locale","documentId","entryDocumentId","error","log","documents","use","deleteActionsOnDelete","updateActionsOnUpdate","syncFromDatabase","catch","err","entries","ALLOWED_WEBHOOK_EVENTS","forEach","key","value","get","addAllowedEvent"],"mappings":";;;;;;AAaA,MAAMA,8CAA8C,OAAOC,MAAAA,GAAAA;IACzD,MAAMC,QAAAA,GAAW,MAAMC,MAAOC,CAAAA,EAAE,CAACC,KAAK,CAACC,2BAAmBC,CAAAA,CAAAA,QAAQ,CAAC;QACjEC,KAAO,EAAA;YACLC,OAASR,EAAAA;AACX;AACF,KAAA,CAAA;AAEA,IAAA,MAAME,OAAOC,EAAE,CAACC,KAAK,CAACK,kCAAAA,CAAAA,CAA0BC,UAAU,CAAC;QACzDH,KAAOP,EAAAA;AACT,KAAA,CAAA;;IAGA,KAAK,MAAMW,WAAWV,QAAU,CAAA;AAC9BW,QAAAA,gBAAAA,CAAW,SAAW,EAAA;AAAEV,YAAAA;SAAUW,CAAAA,CAAAA,mBAAmB,CAACF,OAAAA,CAAQG,EAAE,CAAA;AAClE;AACF,CAAA;MAEaC,SAAY,GAAA,OAAO,EAAEb,MAAAA,EAAAA,OAAM,EAA2B,GAAA;AACjE,IAAA,IAAIA,QAAOc,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,sBAAyB,CAAA,EAAA;AACxD,QAAA,MAAMC,kCAAkCC,MAAOC,CAAAA,IAAI,CAACnB,OAAAA,CAAOoB,YAAY,CAAEC,CAAAA,MAAM,CAC7E,CAACC,MAAatB,OAAOoB,CAAAA,YAAY,CAACE,GAAAA,CAAI,EAAEC,OAASC,EAAAA,eAAAA,CAAAA;AAGnDxB,QAAAA,OAAAA,CAAOC,EAAE,CAACwB,UAAU,CAACC,SAAS,CAAC;YAC7BC,MAAQV,EAAAA,+BAAAA;AAER;;UAGA,MAAMW,iBAAgBC,KAAK,EAAA;gBACzB,IAAI;AACF,oBAAA,MAAMC,QAAQ9B,OAAO+B,CAAAA,QAAQ,CAACF,KAAMC,CAAAA,KAAK,CAACR,GAAG,CAAA;;AAE7C,oBAAA,IAAIQ,MAAME,IAAI,KAAK,oBAAoBF,KAAMP,CAAAA,OAAO,EAAEC,eAAiB,EAAA;AACrE,wBAAA,MAAM,EAAEnB,KAAK,EAAE,GAAGwB,MAAM/B,MAAM;wBAE9BD,2CAA4C,CAAA;AAC1CoC,4BAAAA,WAAAA,EAAaH,MAAMR,GAAG;AACtBY,4BAAAA,MAAAA,EAAQ7B,OAAO6B,MAAU,IAAA,IAAA;AACzB,4BAAA,GAAI7B,OAAO8B,UAAc,IAAA;AAAEC,gCAAAA,eAAAA,EAAiB/B,MAAM8B;;AACpD,yBAAA,CAAA;AACF;AACF,iBAAA,CAAE,OAAOE,KAAO,EAAA;;AAEdrC,oBAAAA,OAAAA,CAAOsC,GAAG,CAACD,KAAK,CAAC,6DAA+D,EAAA;AAC9EA,wBAAAA;AACF,qBAAA,CAAA;AACF;AACF;AACF,SAAA,CAAA;;QAGArC,OAAOuC,CAAAA,SAAS,CAACC,GAAG,CAACC,+BAAAA,CAAAA;QACrBzC,OAAOuC,CAAAA,SAAS,CAACC,GAAG,CAACE,+BAAAA,CAAAA;AAErBhC,QAAAA,gBAAAA,CAAW,YAAc,EAAA;YAAEV,MAAAA,EAAAA;AAAO,SAAA,CAAA,CAC/B2C,gBAAgB,EAAA,CAChBC,KAAK,CAAC,CAACC,GAAAA,GAAAA;YACN7C,OAAOsC,CAAAA,GAAG,CAACD,KAAK,CACd,4IAAA,CAAA;YAGF,MAAMQ,GAAAA;AACR,SAAA,CAAA;QAEF3B,MAAO4B,CAAAA,OAAO,CAACC,gCAAwBC,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAM,CAAA,GAAA;AAC1DlD,YAAAA,OAAAA,CAAOmD,GAAG,CAAC,cAAgBC,CAAAA,CAAAA,eAAe,CAACH,GAAKC,EAAAA,KAAAA,CAAAA;AAClD,SAAA,CAAA;AACF;AACF;;;;"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ALLOWED_WEBHOOK_EVENTS, RELEASE_MODEL_UID, RELEASE_ACTION_MODEL_UID } from './constants.mjs';
|
|
2
|
+
import { getService } from './utils/index.mjs';
|
|
3
|
+
import { deleteActionsOnDelete, updateActionsOnUpdate } from './middlewares/documents.mjs';
|
|
4
|
+
|
|
5
|
+
const deleteReleasesActionsAndUpdateReleaseStatus = async (params)=>{
|
|
6
|
+
const releases = await strapi.db.query(RELEASE_MODEL_UID).findMany({
|
|
7
|
+
where: {
|
|
8
|
+
actions: params
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
await strapi.db.query(RELEASE_ACTION_MODEL_UID).deleteMany({
|
|
12
|
+
where: params
|
|
13
|
+
});
|
|
14
|
+
// We update the status of each release after delete the actions
|
|
15
|
+
for (const release of releases){
|
|
16
|
+
getService('release', {
|
|
17
|
+
strapi
|
|
18
|
+
}).updateReleaseStatus(release.id);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const bootstrap = async ({ strapi: strapi1 })=>{
|
|
22
|
+
if (strapi1.ee.features.isEnabled('cms-content-releases')) {
|
|
23
|
+
const contentTypesWithDraftAndPublish = Object.keys(strapi1.contentTypes).filter((uid)=>strapi1.contentTypes[uid]?.options?.draftAndPublish);
|
|
24
|
+
strapi1.db.lifecycles.subscribe({
|
|
25
|
+
models: contentTypesWithDraftAndPublish,
|
|
26
|
+
/**
|
|
27
|
+
* deleteMany is still used outside documents service, for example when deleting a locale
|
|
28
|
+
*/ async afterDeleteMany (event) {
|
|
29
|
+
try {
|
|
30
|
+
const model = strapi1.getModel(event.model.uid);
|
|
31
|
+
// @ts-expect-error TODO: lifecycles types looks like are not 100% finished
|
|
32
|
+
if (model.kind === 'collectionType' && model.options?.draftAndPublish) {
|
|
33
|
+
const { where } = event.params;
|
|
34
|
+
deleteReleasesActionsAndUpdateReleaseStatus({
|
|
35
|
+
contentType: model.uid,
|
|
36
|
+
locale: where?.locale ?? null,
|
|
37
|
+
...where?.documentId && {
|
|
38
|
+
entryDocumentId: where.documentId
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
} catch (error) {
|
|
43
|
+
// If an error happens we don't want to block the delete entry flow, but we log the error
|
|
44
|
+
strapi1.log.error('Error while deleting release actions after entry deleteMany', {
|
|
45
|
+
error
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
// We register middleware to handle ReleaseActions when changes on documents are made
|
|
51
|
+
strapi1.documents.use(deleteActionsOnDelete);
|
|
52
|
+
strapi1.documents.use(updateActionsOnUpdate);
|
|
53
|
+
getService('scheduling', {
|
|
54
|
+
strapi: strapi1
|
|
55
|
+
}).syncFromDatabase().catch((err)=>{
|
|
56
|
+
strapi1.log.error('Error while syncing scheduled jobs from the database in the content-releases plugin. This could lead to errors in the releases scheduling.');
|
|
57
|
+
throw err;
|
|
58
|
+
});
|
|
59
|
+
Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value])=>{
|
|
60
|
+
strapi1.get('webhookStore').addAllowedEvent(key, value);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { bootstrap };
|
|
66
|
+
//# sourceMappingURL=bootstrap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.mjs","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport type { Core, UID, Modules } from '@strapi/types';\n\nimport { RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID, ALLOWED_WEBHOOK_EVENTS } from './constants';\nimport { getService } from './utils';\nimport { deleteActionsOnDelete, updateActionsOnUpdate } from './middlewares/documents';\n\ninterface DeleteManyParams {\n contentType: UID.ContentType;\n locale: string | null;\n entryDocumentId?: Modules.Documents.ID;\n}\n\nconst deleteReleasesActionsAndUpdateReleaseStatus = async (params: DeleteManyParams) => {\n const releases = await strapi.db.query(RELEASE_MODEL_UID).findMany({\n where: {\n actions: params,\n },\n });\n\n await strapi.db.query(RELEASE_ACTION_MODEL_UID).deleteMany({\n where: params,\n });\n\n // We update the status of each release after delete the actions\n for (const release of releases) {\n getService('release', { strapi }).updateReleaseStatus(release.id);\n }\n};\n\nexport const bootstrap = async ({ strapi }: { strapi: Core.Strapi }) => {\n if (strapi.ee.features.isEnabled('cms-content-releases')) {\n const contentTypesWithDraftAndPublish = Object.keys(strapi.contentTypes).filter(\n (uid: any) => strapi.contentTypes[uid]?.options?.draftAndPublish\n );\n\n strapi.db.lifecycles.subscribe({\n models: contentTypesWithDraftAndPublish,\n\n /**\n * deleteMany is still used outside documents service, for example when deleting a locale\n */\n async afterDeleteMany(event) {\n try {\n const model = strapi.getModel(event.model.uid as UID.Schema);\n // @ts-expect-error TODO: lifecycles types looks like are not 100% finished\n if (model.kind === 'collectionType' && model.options?.draftAndPublish) {\n const { where } = event.params;\n\n deleteReleasesActionsAndUpdateReleaseStatus({\n contentType: model.uid,\n locale: where?.locale ?? null,\n ...(where?.documentId && { entryDocumentId: where.documentId }),\n });\n }\n } catch (error) {\n // If an error happens we don't want to block the delete entry flow, but we log the error\n strapi.log.error('Error while deleting release actions after entry deleteMany', {\n error,\n });\n }\n },\n });\n\n // We register middleware to handle ReleaseActions when changes on documents are made\n strapi.documents.use(deleteActionsOnDelete);\n strapi.documents.use(updateActionsOnUpdate);\n\n getService('scheduling', { strapi })\n .syncFromDatabase()\n .catch((err: Error) => {\n strapi.log.error(\n 'Error while syncing scheduled jobs from the database in the content-releases plugin. This could lead to errors in the releases scheduling.'\n );\n\n throw err;\n });\n\n Object.entries(ALLOWED_WEBHOOK_EVENTS).forEach(([key, value]) => {\n strapi.get('webhookStore').addAllowedEvent(key, value);\n });\n }\n};\n"],"names":["deleteReleasesActionsAndUpdateReleaseStatus","params","releases","strapi","db","query","RELEASE_MODEL_UID","findMany","where","actions","RELEASE_ACTION_MODEL_UID","deleteMany","release","getService","updateReleaseStatus","id","bootstrap","ee","features","isEnabled","contentTypesWithDraftAndPublish","Object","keys","contentTypes","filter","uid","options","draftAndPublish","lifecycles","subscribe","models","afterDeleteMany","event","model","getModel","kind","contentType","locale","documentId","entryDocumentId","error","log","documents","use","deleteActionsOnDelete","updateActionsOnUpdate","syncFromDatabase","catch","err","entries","ALLOWED_WEBHOOK_EVENTS","forEach","key","value","get","addAllowedEvent"],"mappings":";;;;AAaA,MAAMA,8CAA8C,OAAOC,MAAAA,GAAAA;IACzD,MAAMC,QAAAA,GAAW,MAAMC,MAAOC,CAAAA,EAAE,CAACC,KAAK,CAACC,iBAAmBC,CAAAA,CAAAA,QAAQ,CAAC;QACjEC,KAAO,EAAA;YACLC,OAASR,EAAAA;AACX;AACF,KAAA,CAAA;AAEA,IAAA,MAAME,OAAOC,EAAE,CAACC,KAAK,CAACK,wBAAAA,CAAAA,CAA0BC,UAAU,CAAC;QACzDH,KAAOP,EAAAA;AACT,KAAA,CAAA;;IAGA,KAAK,MAAMW,WAAWV,QAAU,CAAA;AAC9BW,QAAAA,UAAAA,CAAW,SAAW,EAAA;AAAEV,YAAAA;SAAUW,CAAAA,CAAAA,mBAAmB,CAACF,OAAAA,CAAQG,EAAE,CAAA;AAClE;AACF,CAAA;MAEaC,SAAY,GAAA,OAAO,EAAEb,MAAAA,EAAAA,OAAM,EAA2B,GAAA;AACjE,IAAA,IAAIA,QAAOc,EAAE,CAACC,QAAQ,CAACC,SAAS,CAAC,sBAAyB,CAAA,EAAA;AACxD,QAAA,MAAMC,kCAAkCC,MAAOC,CAAAA,IAAI,CAACnB,OAAAA,CAAOoB,YAAY,CAAEC,CAAAA,MAAM,CAC7E,CAACC,MAAatB,OAAOoB,CAAAA,YAAY,CAACE,GAAAA,CAAI,EAAEC,OAASC,EAAAA,eAAAA,CAAAA;AAGnDxB,QAAAA,OAAAA,CAAOC,EAAE,CAACwB,UAAU,CAACC,SAAS,CAAC;YAC7BC,MAAQV,EAAAA,+BAAAA;AAER;;UAGA,MAAMW,iBAAgBC,KAAK,EAAA;gBACzB,IAAI;AACF,oBAAA,MAAMC,QAAQ9B,OAAO+B,CAAAA,QAAQ,CAACF,KAAMC,CAAAA,KAAK,CAACR,GAAG,CAAA;;AAE7C,oBAAA,IAAIQ,MAAME,IAAI,KAAK,oBAAoBF,KAAMP,CAAAA,OAAO,EAAEC,eAAiB,EAAA;AACrE,wBAAA,MAAM,EAAEnB,KAAK,EAAE,GAAGwB,MAAM/B,MAAM;wBAE9BD,2CAA4C,CAAA;AAC1CoC,4BAAAA,WAAAA,EAAaH,MAAMR,GAAG;AACtBY,4BAAAA,MAAAA,EAAQ7B,OAAO6B,MAAU,IAAA,IAAA;AACzB,4BAAA,GAAI7B,OAAO8B,UAAc,IAAA;AAAEC,gCAAAA,eAAAA,EAAiB/B,MAAM8B;;AACpD,yBAAA,CAAA;AACF;AACF,iBAAA,CAAE,OAAOE,KAAO,EAAA;;AAEdrC,oBAAAA,OAAAA,CAAOsC,GAAG,CAACD,KAAK,CAAC,6DAA+D,EAAA;AAC9EA,wBAAAA;AACF,qBAAA,CAAA;AACF;AACF;AACF,SAAA,CAAA;;QAGArC,OAAOuC,CAAAA,SAAS,CAACC,GAAG,CAACC,qBAAAA,CAAAA;QACrBzC,OAAOuC,CAAAA,SAAS,CAACC,GAAG,CAACE,qBAAAA,CAAAA;AAErBhC,QAAAA,UAAAA,CAAW,YAAc,EAAA;YAAEV,MAAAA,EAAAA;AAAO,SAAA,CAAA,CAC/B2C,gBAAgB,EAAA,CAChBC,KAAK,CAAC,CAACC,GAAAA,GAAAA;YACN7C,OAAOsC,CAAAA,GAAG,CAACD,KAAK,CACd,4IAAA,CAAA;YAGF,MAAMQ,GAAAA;AACR,SAAA,CAAA;QAEF3B,MAAO4B,CAAAA,OAAO,CAACC,sBAAwBC,CAAAA,CAAAA,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAM,CAAA,GAAA;AAC1DlD,YAAAA,OAAAA,CAAOmD,GAAG,CAAC,cAAgBC,CAAAA,CAAAA,eAAe,CAACH,GAAKC,EAAAA,KAAAA,CAAAA;AAClD,SAAA,CAAA;AACF;AACF;;;;"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const RELEASE_MODEL_UID = 'plugin::content-releases.release';
|
|
4
|
+
const RELEASE_ACTION_MODEL_UID = 'plugin::content-releases.release-action';
|
|
5
|
+
const ACTIONS = [
|
|
6
|
+
{
|
|
7
|
+
section: 'plugins',
|
|
8
|
+
displayName: 'Read',
|
|
9
|
+
uid: 'read',
|
|
10
|
+
pluginName: 'content-releases'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
section: 'plugins',
|
|
14
|
+
displayName: 'Create',
|
|
15
|
+
uid: 'create',
|
|
16
|
+
pluginName: 'content-releases'
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
section: 'plugins',
|
|
20
|
+
displayName: 'Edit',
|
|
21
|
+
uid: 'update',
|
|
22
|
+
pluginName: 'content-releases'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
section: 'plugins',
|
|
26
|
+
displayName: 'Delete',
|
|
27
|
+
uid: 'delete',
|
|
28
|
+
pluginName: 'content-releases'
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
section: 'plugins',
|
|
32
|
+
displayName: 'Publish',
|
|
33
|
+
uid: 'publish',
|
|
34
|
+
pluginName: 'content-releases'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
section: 'plugins',
|
|
38
|
+
displayName: 'Remove an entry from a release',
|
|
39
|
+
uid: 'delete-action',
|
|
40
|
+
pluginName: 'content-releases'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
section: 'plugins',
|
|
44
|
+
displayName: 'Add an entry to a release',
|
|
45
|
+
uid: 'create-action',
|
|
46
|
+
pluginName: 'content-releases'
|
|
47
|
+
},
|
|
48
|
+
// Settings
|
|
49
|
+
{
|
|
50
|
+
uid: 'settings.read',
|
|
51
|
+
section: 'settings',
|
|
52
|
+
displayName: 'Read',
|
|
53
|
+
category: 'content releases',
|
|
54
|
+
subCategory: 'options',
|
|
55
|
+
pluginName: 'content-releases'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
uid: 'settings.update',
|
|
59
|
+
section: 'settings',
|
|
60
|
+
displayName: 'Edit',
|
|
61
|
+
category: 'content releases',
|
|
62
|
+
subCategory: 'options',
|
|
63
|
+
pluginName: 'content-releases'
|
|
64
|
+
}
|
|
65
|
+
];
|
|
66
|
+
const ALLOWED_WEBHOOK_EVENTS = {
|
|
67
|
+
RELEASES_PUBLISH: 'releases.publish'
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
exports.ACTIONS = ACTIONS;
|
|
71
|
+
exports.ALLOWED_WEBHOOK_EVENTS = ALLOWED_WEBHOOK_EVENTS;
|
|
72
|
+
exports.RELEASE_ACTION_MODEL_UID = RELEASE_ACTION_MODEL_UID;
|
|
73
|
+
exports.RELEASE_MODEL_UID = RELEASE_MODEL_UID;
|
|
74
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../server/src/constants.ts"],"sourcesContent":["export const RELEASE_MODEL_UID = 'plugin::content-releases.release';\nexport const RELEASE_ACTION_MODEL_UID = 'plugin::content-releases.release-action';\n\nexport const ACTIONS = [\n {\n section: 'plugins',\n displayName: 'Read',\n uid: 'read',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Create',\n uid: 'create',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Edit',\n uid: 'update',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Delete',\n uid: 'delete',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Publish',\n uid: 'publish',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Remove an entry from a release',\n uid: 'delete-action',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Add an entry to a release',\n uid: 'create-action',\n pluginName: 'content-releases',\n },\n\n // Settings\n {\n uid: 'settings.read',\n section: 'settings',\n displayName: 'Read',\n category: 'content releases',\n subCategory: 'options',\n pluginName: 'content-releases',\n },\n\n {\n uid: 'settings.update',\n section: 'settings',\n displayName: 'Edit',\n category: 'content releases',\n subCategory: 'options',\n pluginName: 'content-releases',\n },\n];\n\nexport const ALLOWED_WEBHOOK_EVENTS = {\n RELEASES_PUBLISH: 'releases.publish',\n};\n"],"names":["RELEASE_MODEL_UID","RELEASE_ACTION_MODEL_UID","ACTIONS","section","displayName","uid","pluginName","category","subCategory","ALLOWED_WEBHOOK_EVENTS","RELEASES_PUBLISH"],"mappings":";;AAAO,MAAMA,oBAAoB;AAC1B,MAAMC,2BAA2B;MAE3BC,OAAU,GAAA;AACrB,IAAA;QACEC,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,MAAA;QACbC,GAAK,EAAA,MAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,QAAA;QACbC,GAAK,EAAA,QAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,MAAA;QACbC,GAAK,EAAA,QAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,QAAA;QACbC,GAAK,EAAA,QAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,SAAA;QACbC,GAAK,EAAA,SAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,gCAAA;QACbC,GAAK,EAAA,eAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,2BAAA;QACbC,GAAK,EAAA,eAAA;QACLC,UAAY,EAAA;AACd,KAAA;;AAGA,IAAA;QACED,GAAK,EAAA,eAAA;QACLF,OAAS,EAAA,UAAA;QACTC,WAAa,EAAA,MAAA;QACbG,QAAU,EAAA,kBAAA;QACVC,WAAa,EAAA,SAAA;QACbF,UAAY,EAAA;AACd,KAAA;AAEA,IAAA;QACED,GAAK,EAAA,iBAAA;QACLF,OAAS,EAAA,UAAA;QACTC,WAAa,EAAA,MAAA;QACbG,QAAU,EAAA,kBAAA;QACVC,WAAa,EAAA,SAAA;QACbF,UAAY,EAAA;AACd;;MAGWG,sBAAyB,GAAA;IACpCC,gBAAkB,EAAA;AACpB;;;;;;;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const RELEASE_MODEL_UID = 'plugin::content-releases.release';
|
|
2
|
+
const RELEASE_ACTION_MODEL_UID = 'plugin::content-releases.release-action';
|
|
3
|
+
const ACTIONS = [
|
|
4
|
+
{
|
|
5
|
+
section: 'plugins',
|
|
6
|
+
displayName: 'Read',
|
|
7
|
+
uid: 'read',
|
|
8
|
+
pluginName: 'content-releases'
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
section: 'plugins',
|
|
12
|
+
displayName: 'Create',
|
|
13
|
+
uid: 'create',
|
|
14
|
+
pluginName: 'content-releases'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
section: 'plugins',
|
|
18
|
+
displayName: 'Edit',
|
|
19
|
+
uid: 'update',
|
|
20
|
+
pluginName: 'content-releases'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
section: 'plugins',
|
|
24
|
+
displayName: 'Delete',
|
|
25
|
+
uid: 'delete',
|
|
26
|
+
pluginName: 'content-releases'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
section: 'plugins',
|
|
30
|
+
displayName: 'Publish',
|
|
31
|
+
uid: 'publish',
|
|
32
|
+
pluginName: 'content-releases'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
section: 'plugins',
|
|
36
|
+
displayName: 'Remove an entry from a release',
|
|
37
|
+
uid: 'delete-action',
|
|
38
|
+
pluginName: 'content-releases'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
section: 'plugins',
|
|
42
|
+
displayName: 'Add an entry to a release',
|
|
43
|
+
uid: 'create-action',
|
|
44
|
+
pluginName: 'content-releases'
|
|
45
|
+
},
|
|
46
|
+
// Settings
|
|
47
|
+
{
|
|
48
|
+
uid: 'settings.read',
|
|
49
|
+
section: 'settings',
|
|
50
|
+
displayName: 'Read',
|
|
51
|
+
category: 'content releases',
|
|
52
|
+
subCategory: 'options',
|
|
53
|
+
pluginName: 'content-releases'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
uid: 'settings.update',
|
|
57
|
+
section: 'settings',
|
|
58
|
+
displayName: 'Edit',
|
|
59
|
+
category: 'content releases',
|
|
60
|
+
subCategory: 'options',
|
|
61
|
+
pluginName: 'content-releases'
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
const ALLOWED_WEBHOOK_EVENTS = {
|
|
65
|
+
RELEASES_PUBLISH: 'releases.publish'
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export { ACTIONS, ALLOWED_WEBHOOK_EVENTS, RELEASE_ACTION_MODEL_UID, RELEASE_MODEL_UID };
|
|
69
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../server/src/constants.ts"],"sourcesContent":["export const RELEASE_MODEL_UID = 'plugin::content-releases.release';\nexport const RELEASE_ACTION_MODEL_UID = 'plugin::content-releases.release-action';\n\nexport const ACTIONS = [\n {\n section: 'plugins',\n displayName: 'Read',\n uid: 'read',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Create',\n uid: 'create',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Edit',\n uid: 'update',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Delete',\n uid: 'delete',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Publish',\n uid: 'publish',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Remove an entry from a release',\n uid: 'delete-action',\n pluginName: 'content-releases',\n },\n {\n section: 'plugins',\n displayName: 'Add an entry to a release',\n uid: 'create-action',\n pluginName: 'content-releases',\n },\n\n // Settings\n {\n uid: 'settings.read',\n section: 'settings',\n displayName: 'Read',\n category: 'content releases',\n subCategory: 'options',\n pluginName: 'content-releases',\n },\n\n {\n uid: 'settings.update',\n section: 'settings',\n displayName: 'Edit',\n category: 'content releases',\n subCategory: 'options',\n pluginName: 'content-releases',\n },\n];\n\nexport const ALLOWED_WEBHOOK_EVENTS = {\n RELEASES_PUBLISH: 'releases.publish',\n};\n"],"names":["RELEASE_MODEL_UID","RELEASE_ACTION_MODEL_UID","ACTIONS","section","displayName","uid","pluginName","category","subCategory","ALLOWED_WEBHOOK_EVENTS","RELEASES_PUBLISH"],"mappings":"AAAO,MAAMA,oBAAoB;AAC1B,MAAMC,2BAA2B;MAE3BC,OAAU,GAAA;AACrB,IAAA;QACEC,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,MAAA;QACbC,GAAK,EAAA,MAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,QAAA;QACbC,GAAK,EAAA,QAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,MAAA;QACbC,GAAK,EAAA,QAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,QAAA;QACbC,GAAK,EAAA,QAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,SAAA;QACbC,GAAK,EAAA,SAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,gCAAA;QACbC,GAAK,EAAA,eAAA;QACLC,UAAY,EAAA;AACd,KAAA;AACA,IAAA;QACEH,OAAS,EAAA,SAAA;QACTC,WAAa,EAAA,2BAAA;QACbC,GAAK,EAAA,eAAA;QACLC,UAAY,EAAA;AACd,KAAA;;AAGA,IAAA;QACED,GAAK,EAAA,eAAA;QACLF,OAAS,EAAA,UAAA;QACTC,WAAa,EAAA,MAAA;QACbG,QAAU,EAAA,kBAAA;QACVC,WAAa,EAAA,SAAA;QACbF,UAAY,EAAA;AACd,KAAA;AAEA,IAAA;QACED,GAAK,EAAA,iBAAA;QACLF,OAAS,EAAA,UAAA;QACTC,WAAa,EAAA,MAAA;QACbG,QAAU,EAAA,kBAAA;QACVC,WAAa,EAAA,SAAA;QACbF,UAAY,EAAA;AACd;;MAGWG,sBAAyB,GAAA;IACpCC,gBAAkB,EAAA;AACpB;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./release/index.js');
|
|
4
|
+
var index$1 = require('./release-action/index.js');
|
|
5
|
+
|
|
6
|
+
const contentTypes = {
|
|
7
|
+
release: index.release,
|
|
8
|
+
'release-action': index$1.releaseAction
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
exports.contentTypes = contentTypes;
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/src/content-types/index.ts"],"sourcesContent":["import { release } from './release';\nimport { releaseAction } from './release-action';\n\nexport const contentTypes = {\n release,\n 'release-action': releaseAction,\n};\n"],"names":["contentTypes","release","releaseAction"],"mappings":";;;;;MAGaA,YAAe,GAAA;AAC1BC,aAAAA,aAAAA;IACA,gBAAkBC,EAAAA;AACpB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/content-types/index.ts"],"sourcesContent":["import { release } from './release';\nimport { releaseAction } from './release-action';\n\nexport const contentTypes = {\n release,\n 'release-action': releaseAction,\n};\n"],"names":["contentTypes","release","releaseAction"],"mappings":";;;MAGaA,YAAe,GAAA;AAC1BC,IAAAA,OAAAA;IACA,gBAAkBC,EAAAA;AACpB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../server/src/content-types/release/index.ts"],"sourcesContent":["import schema from './schema';\n\nexport const release = {\n schema,\n};\n"],"names":["release","schema"],"mappings":";;;;MAEaA,OAAU,GAAA;AACrBC,IAAAA;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../server/src/content-types/release/index.ts"],"sourcesContent":["import schema from './schema';\n\nexport const release = {\n schema,\n};\n"],"names":["release","schema"],"mappings":";;MAEaA,OAAU,GAAA;AACrBC,IAAAA;AACF;;;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var constants = require('../../constants.js');
|
|
4
|
+
|
|
5
|
+
var schema = {
|
|
6
|
+
collectionName: 'strapi_releases',
|
|
7
|
+
info: {
|
|
8
|
+
singularName: 'release',
|
|
9
|
+
pluralName: 'releases',
|
|
10
|
+
displayName: 'Release'
|
|
11
|
+
},
|
|
12
|
+
options: {
|
|
13
|
+
draftAndPublish: false
|
|
14
|
+
},
|
|
15
|
+
pluginOptions: {
|
|
16
|
+
'content-manager': {
|
|
17
|
+
visible: false
|
|
18
|
+
},
|
|
19
|
+
'content-type-builder': {
|
|
20
|
+
visible: false
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
attributes: {
|
|
24
|
+
name: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
required: true
|
|
27
|
+
},
|
|
28
|
+
releasedAt: {
|
|
29
|
+
type: 'datetime'
|
|
30
|
+
},
|
|
31
|
+
scheduledAt: {
|
|
32
|
+
type: 'datetime'
|
|
33
|
+
},
|
|
34
|
+
timezone: {
|
|
35
|
+
type: 'string'
|
|
36
|
+
},
|
|
37
|
+
status: {
|
|
38
|
+
type: 'enumeration',
|
|
39
|
+
enum: [
|
|
40
|
+
'ready',
|
|
41
|
+
'blocked',
|
|
42
|
+
'failed',
|
|
43
|
+
'done',
|
|
44
|
+
'empty'
|
|
45
|
+
],
|
|
46
|
+
required: true
|
|
47
|
+
},
|
|
48
|
+
actions: {
|
|
49
|
+
type: 'relation',
|
|
50
|
+
relation: 'oneToMany',
|
|
51
|
+
target: constants.RELEASE_ACTION_MODEL_UID,
|
|
52
|
+
mappedBy: 'release'
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
module.exports = schema;
|
|
58
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sources":["../../../../server/src/content-types/release/schema.ts"],"sourcesContent":["import { RELEASE_ACTION_MODEL_UID } from '../../constants';\n\nexport default {\n collectionName: 'strapi_releases',\n info: {\n singularName: 'release',\n pluralName: 'releases',\n displayName: 'Release',\n },\n options: {\n draftAndPublish: false,\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n name: {\n type: 'string',\n required: true,\n },\n releasedAt: {\n type: 'datetime',\n },\n scheduledAt: {\n type: 'datetime',\n },\n timezone: {\n type: 'string',\n },\n status: {\n type: 'enumeration',\n enum: ['ready', 'blocked', 'failed', 'done', 'empty'],\n required: true,\n },\n actions: {\n type: 'relation',\n relation: 'oneToMany',\n target: RELEASE_ACTION_MODEL_UID,\n mappedBy: 'release',\n },\n },\n};\n"],"names":["collectionName","info","singularName","pluralName","displayName","options","draftAndPublish","pluginOptions","visible","attributes","name","type","required","releasedAt","scheduledAt","timezone","status","enum","actions","relation","target","RELEASE_ACTION_MODEL_UID","mappedBy"],"mappings":";;;;AAEA,aAAe;IACbA,cAAgB,EAAA,iBAAA;IAChBC,IAAM,EAAA;QACJC,YAAc,EAAA,SAAA;QACdC,UAAY,EAAA,UAAA;QACZC,WAAa,EAAA;AACf,KAAA;IACAC,OAAS,EAAA;QACPC,eAAiB,EAAA;AACnB,KAAA;IACAC,aAAe,EAAA;QACb,iBAAmB,EAAA;YACjBC,OAAS,EAAA;AACX,SAAA;QACA,sBAAwB,EAAA;YACtBA,OAAS,EAAA;AACX;AACF,KAAA;IACAC,UAAY,EAAA;QACVC,IAAM,EAAA;YACJC,IAAM,EAAA,QAAA;YACNC,QAAU,EAAA;AACZ,SAAA;QACAC,UAAY,EAAA;YACVF,IAAM,EAAA;AACR,SAAA;QACAG,WAAa,EAAA;YACXH,IAAM,EAAA;AACR,SAAA;QACAI,QAAU,EAAA;YACRJ,IAAM,EAAA;AACR,SAAA;QACAK,MAAQ,EAAA;YACNL,IAAM,EAAA,aAAA;YACNM,IAAM,EAAA;AAAC,gBAAA,OAAA;AAAS,gBAAA,SAAA;AAAW,gBAAA,QAAA;AAAU,gBAAA,MAAA;AAAQ,gBAAA;AAAQ,aAAA;YACrDL,QAAU,EAAA;AACZ,SAAA;QACAM,OAAS,EAAA;YACPP,IAAM,EAAA,UAAA;YACNQ,QAAU,EAAA,WAAA;YACVC,MAAQC,EAAAA,kCAAAA;YACRC,QAAU,EAAA;AACZ;AACF;AACF,CAAE;;;;"}
|