@strapi/content-releases 0.0.0-next.f698d55751345c4ca87477ef683475c1a68f310a → 0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7
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/admin/assets/purchase-page-illustration-dark.jpg.js +6 -0
- package/dist/admin/assets/purchase-page-illustration-dark.jpg.js.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-dark.jpg.mjs +4 -0
- package/dist/admin/assets/purchase-page-illustration-dark.jpg.mjs.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-light.jpg.js +6 -0
- package/dist/admin/assets/purchase-page-illustration-light.jpg.js.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-light.jpg.mjs +4 -0
- package/dist/admin/assets/purchase-page-illustration-light.jpg.mjs.map +1 -0
- package/dist/admin/components/EntryValidationPopover.js +310 -0
- package/dist/admin/components/EntryValidationPopover.js.map +1 -0
- package/dist/admin/components/EntryValidationPopover.mjs +308 -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 +203 -0
- package/dist/admin/components/ReleaseAction.js.map +1 -0
- package/dist/admin/components/ReleaseAction.mjs +201 -0
- package/dist/admin/components/ReleaseAction.mjs.map +1 -0
- package/dist/admin/components/ReleaseActionMenu.js +194 -0
- package/dist/admin/components/ReleaseActionMenu.js.map +1 -0
- package/dist/admin/components/ReleaseActionMenu.mjs +173 -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 +331 -0
- package/dist/admin/components/ReleaseModal.js.map +1 -0
- package/dist/admin/components/ReleaseModal.mjs +310 -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/components/Widgets.js +122 -0
- package/dist/admin/components/Widgets.js.map +1 -0
- package/dist/admin/components/Widgets.mjs +120 -0
- package/dist/admin/components/Widgets.mjs.map +1 -0
- package/dist/admin/constants.js +79 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +76 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/index.js +148 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +143 -4
- 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 +774 -0
- package/dist/admin/pages/ReleaseDetailsPage.js.map +1 -0
- package/dist/admin/pages/ReleaseDetailsPage.mjs +753 -0
- package/dist/admin/pages/ReleaseDetailsPage.mjs.map +1 -0
- package/dist/admin/pages/ReleasesPage.js +405 -0
- package/dist/admin/pages/ReleasesPage.js.map +1 -0
- package/dist/admin/pages/ReleasesPage.mjs +383 -0
- package/dist/admin/pages/ReleasesPage.mjs.map +1 -0
- package/dist/admin/pages/ReleasesSettingsPage.js +225 -0
- package/dist/admin/pages/ReleasesSettingsPage.js.map +1 -0
- package/dist/admin/pages/ReleasesSettingsPage.mjs +223 -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/homepage.js +24 -0
- package/dist/admin/services/homepage.js.map +1 -0
- package/dist/admin/services/homepage.mjs +22 -0
- package/dist/admin/services/homepage.mjs.map +1 -0
- package/dist/admin/services/release.js +473 -0
- package/dist/admin/services/release.js.map +1 -0
- package/dist/admin/services/release.mjs +456 -0
- package/dist/admin/services/release.mjs.map +1 -0
- package/dist/admin/src/components/ReleaseListCell.d.ts +1 -1
- package/dist/admin/src/components/Widgets.d.ts +2 -0
- package/dist/admin/src/constants.d.ts +1 -0
- package/dist/admin/src/services/homepage.d.ts +9 -0
- package/dist/admin/src/services/release.d.ts +28 -28
- 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 +111 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +109 -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/homepage.js +15 -0
- package/dist/server/controllers/homepage.js.map +1 -0
- package/dist/server/controllers/homepage.mjs +13 -0
- package/dist/server/controllers/homepage.mjs.map +1 -0
- package/dist/server/controllers/index.js +16 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +14 -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 -2049
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +24 -2030
- 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/homepage.js +25 -0
- package/dist/server/routes/homepage.js.map +1 -0
- package/dist/server/routes/homepage.mjs +23 -0
- package/dist/server/routes/homepage.mjs.map +1 -0
- package/dist/server/routes/index.js +16 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +14 -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/homepage.js +26 -0
- package/dist/server/services/homepage.js.map +1 -0
- package/dist/server/services/homepage.mjs +24 -0
- package/dist/server/services/homepage.mjs.map +1 -0
- package/dist/server/services/index.js +20 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +18 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/release-action.js +324 -0
- package/dist/server/services/release-action.js.map +1 -0
- package/dist/server/services/release-action.mjs +322 -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 +74 -0
- package/dist/server/services/scheduling.js.map +1 -0
- package/dist/server/services/scheduling.mjs +72 -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/controllers/homepage.d.ts +6 -0
- package/dist/server/src/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +3 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/destroy.d.ts +1 -1
- package/dist/server/src/destroy.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +13 -4
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/documents.d.ts +1 -1
- package/dist/server/src/middlewares/documents.d.ts.map +1 -1
- package/dist/server/src/routes/homepage.d.ts +4 -0
- package/dist/server/src/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/homepage.d.ts +9 -0
- package/dist/server/src/services/homepage.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +9 -4
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/release-action.d.ts.map +1 -1
- package/dist/server/src/services/scheduling.d.ts +5 -6
- package/dist/server/src/services/scheduling.d.ts.map +1 -1
- package/dist/server/src/services/validation.d.ts +1 -1
- package/dist/server/src/services/validation.d.ts.map +1 -1
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/utils/index.js +94 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +88 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/shared/contracts/homepage.d.ts +11 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -0
- package/dist/shared/contracts/release-actions.d.ts +0 -1
- package/dist/shared/contracts/releases.d.ts +0 -1
- package/dist/shared/contracts/settings.d.ts +1 -2
- package/dist/shared/contracts/settings.d.ts.map +1 -1
- package/dist/shared/types.d.ts +1 -1
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +22 -21
- package/dist/_chunks/App-Cx72FM22.mjs +0 -1558
- package/dist/_chunks/App-Cx72FM22.mjs.map +0 -1
- package/dist/_chunks/App-DyjVixKE.js +0 -1578
- package/dist/_chunks/App-DyjVixKE.js.map +0 -1
- package/dist/_chunks/PurchaseContentReleases-BJlgTIuR.js +0 -52
- package/dist/_chunks/PurchaseContentReleases-BJlgTIuR.js.map +0 -1
- package/dist/_chunks/PurchaseContentReleases-CIiBmOhI.mjs +0 -52
- package/dist/_chunks/PurchaseContentReleases-CIiBmOhI.mjs.map +0 -1
- package/dist/_chunks/ReleasesSettingsPage-9si_53C5.mjs +0 -178
- package/dist/_chunks/ReleasesSettingsPage-9si_53C5.mjs.map +0 -1
- package/dist/_chunks/ReleasesSettingsPage-FsXF_FuJ.js +0 -178
- package/dist/_chunks/ReleasesSettingsPage-FsXF_FuJ.js.map +0 -1
- package/dist/_chunks/en-BWPPsSH-.js +0 -102
- package/dist/_chunks/en-BWPPsSH-.js.map +0 -1
- package/dist/_chunks/en-D9Q4YW03.mjs +0 -102
- package/dist/_chunks/en-D9Q4YW03.mjs.map +0 -1
- package/dist/_chunks/index-CVj5EFQC.mjs +0 -1386
- package/dist/_chunks/index-CVj5EFQC.mjs.map +0 -1
- package/dist/_chunks/index-CpTN5TdF.js +0 -1404
- package/dist/_chunks/index-CpTN5TdF.js.map +0 -1
- package/dist/_chunks/schemas-DBYv9gK8.js +0 -61
- package/dist/_chunks/schemas-DBYv9gK8.js.map +0 -1
- package/dist/_chunks/schemas-DdA2ic2U.mjs +0 -44
- package/dist/_chunks/schemas-DdA2ic2U.mjs.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
const getService = (name, { strapi: strapi1 })=>{
|
|
2
|
+
return strapi1.plugin('content-releases').service(name);
|
|
3
|
+
};
|
|
4
|
+
const getDraftEntryValidStatus = async ({ contentType, documentId, locale }, { strapi: strapi1 })=>{
|
|
5
|
+
const populateBuilderService = strapi1.plugin('content-manager').service('populate-builder');
|
|
6
|
+
// @ts-expect-error - populateBuilderService should be a function but is returning service
|
|
7
|
+
const populate = await populateBuilderService(contentType).populateDeep(Infinity).build();
|
|
8
|
+
const entry = await getEntry({
|
|
9
|
+
contentType,
|
|
10
|
+
documentId,
|
|
11
|
+
locale,
|
|
12
|
+
populate
|
|
13
|
+
}, {
|
|
14
|
+
strapi: strapi1
|
|
15
|
+
});
|
|
16
|
+
return isEntryValid(contentType, entry, {
|
|
17
|
+
strapi: strapi1
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
const isEntryValid = async (contentTypeUid, entry, { strapi: strapi1 })=>{
|
|
21
|
+
try {
|
|
22
|
+
// @TODO: When documents service has validateEntityCreation method, use it instead
|
|
23
|
+
await strapi1.entityValidator.validateEntityCreation(strapi1.getModel(contentTypeUid), entry, undefined, // @ts-expect-error - FIXME: entity here is unnecessary
|
|
24
|
+
entry);
|
|
25
|
+
const workflowsService = strapi1.plugin('review-workflows').service('workflows');
|
|
26
|
+
// Workflows service may not be available depending on the license
|
|
27
|
+
const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {
|
|
28
|
+
populate: 'stageRequiredToPublish'
|
|
29
|
+
});
|
|
30
|
+
if (workflow?.stageRequiredToPublish) {
|
|
31
|
+
return entry.strapi_stage.id === workflow.stageRequiredToPublish.id;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
} catch {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const getEntry = async ({ contentType, documentId, locale, populate, status = 'draft' }, { strapi: strapi1 })=>{
|
|
39
|
+
if (documentId) {
|
|
40
|
+
// Try to get an existing draft or published document
|
|
41
|
+
const entry = await strapi1.documents(contentType).findOne({
|
|
42
|
+
documentId,
|
|
43
|
+
locale,
|
|
44
|
+
populate,
|
|
45
|
+
status
|
|
46
|
+
});
|
|
47
|
+
// The document isn't published yet, but the action is to publish it, fetch the draft
|
|
48
|
+
if (status === 'published' && !entry) {
|
|
49
|
+
return strapi1.documents(contentType).findOne({
|
|
50
|
+
documentId,
|
|
51
|
+
locale,
|
|
52
|
+
populate,
|
|
53
|
+
status: 'draft'
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return entry;
|
|
57
|
+
}
|
|
58
|
+
return strapi1.documents(contentType).findFirst({
|
|
59
|
+
locale,
|
|
60
|
+
populate,
|
|
61
|
+
status
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const getEntryStatus = async (contentType, entry)=>{
|
|
65
|
+
if (entry.publishedAt) {
|
|
66
|
+
return 'published';
|
|
67
|
+
}
|
|
68
|
+
const publishedEntry = await strapi.documents(contentType).findOne({
|
|
69
|
+
documentId: entry.documentId,
|
|
70
|
+
locale: entry.locale,
|
|
71
|
+
status: 'published',
|
|
72
|
+
fields: [
|
|
73
|
+
'updatedAt'
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
if (!publishedEntry) {
|
|
77
|
+
return 'draft';
|
|
78
|
+
}
|
|
79
|
+
const entryUpdatedAt = new Date(entry.updatedAt).getTime();
|
|
80
|
+
const publishedEntryUpdatedAt = new Date(publishedEntry.updatedAt).getTime();
|
|
81
|
+
if (entryUpdatedAt > publishedEntryUpdatedAt) {
|
|
82
|
+
return 'modified';
|
|
83
|
+
}
|
|
84
|
+
return 'published';
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export { getDraftEntryValidStatus, getEntry, getEntryStatus, getService, isEntryValid };
|
|
88
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/utils/index.ts"],"sourcesContent":["import type { UID, Data, Core } from '@strapi/types';\n\nimport type { SettingsService } from '../services/settings';\nimport type { ReleaseService } from '../services/release';\nimport type { ReleaseActionService } from '../services/release-action';\n\ntype Services = {\n release: ReleaseService;\n 'release-validation': any;\n scheduling: any;\n 'release-action': ReleaseActionService;\n 'event-manager': any;\n settings: SettingsService;\n};\n\ninterface Action {\n contentType: UID.ContentType;\n documentId?: Data.DocumentID;\n locale?: string;\n}\n\nexport const getService = <TName extends keyof Services>(\n name: TName,\n { strapi }: { strapi: Core.Strapi }\n): Services[TName] => {\n return strapi.plugin('content-releases').service(name);\n};\n\nexport const getDraftEntryValidStatus = async (\n { contentType, documentId, locale }: Action,\n { strapi }: { strapi: Core.Strapi }\n) => {\n const populateBuilderService = strapi.plugin('content-manager').service('populate-builder');\n // @ts-expect-error - populateBuilderService should be a function but is returning service\n const populate = await populateBuilderService(contentType).populateDeep(Infinity).build();\n\n const entry = await getEntry({ contentType, documentId, locale, populate }, { strapi });\n\n return isEntryValid(contentType, entry, { strapi });\n};\n\nexport const isEntryValid = async (\n contentTypeUid: string,\n entry: any,\n { strapi }: { strapi: Core.Strapi }\n) => {\n try {\n // @TODO: When documents service has validateEntityCreation method, use it instead\n await strapi.entityValidator.validateEntityCreation(\n strapi.getModel(contentTypeUid as UID.ContentType),\n entry,\n undefined,\n // @ts-expect-error - FIXME: entity here is unnecessary\n entry\n );\n\n const workflowsService = strapi.plugin('review-workflows').service('workflows');\n // Workflows service may not be available depending on the license\n const workflow = await workflowsService?.getAssignedWorkflow(contentTypeUid, {\n populate: 'stageRequiredToPublish',\n });\n\n if (workflow?.stageRequiredToPublish) {\n return entry.strapi_stage.id === workflow.stageRequiredToPublish.id;\n }\n\n return true;\n } catch {\n return false;\n }\n};\n\nexport const getEntry = async (\n {\n contentType,\n documentId,\n locale,\n populate,\n status = 'draft',\n }: Action & { status?: 'draft' | 'published'; populate: any },\n { strapi }: { strapi: Core.Strapi }\n) => {\n if (documentId) {\n // Try to get an existing draft or published document\n const entry = await strapi\n .documents(contentType)\n .findOne({ documentId, locale, populate, status });\n\n // The document isn't published yet, but the action is to publish it, fetch the draft\n if (status === 'published' && !entry) {\n return strapi\n .documents(contentType)\n .findOne({ documentId, locale, populate, status: 'draft' });\n }\n\n return entry;\n }\n\n return strapi.documents(contentType).findFirst({ locale, populate, status });\n};\n\nexport const getEntryStatus = async (contentType: UID.ContentType, entry: Data.ContentType) => {\n if (entry.publishedAt) {\n return 'published';\n }\n\n const publishedEntry = await strapi.documents(contentType).findOne({\n documentId: entry.documentId,\n locale: entry.locale,\n status: 'published',\n fields: ['updatedAt'],\n });\n\n if (!publishedEntry) {\n return 'draft';\n }\n\n const entryUpdatedAt = new Date(entry.updatedAt).getTime();\n const publishedEntryUpdatedAt = new Date(publishedEntry.updatedAt).getTime();\n\n if (entryUpdatedAt > publishedEntryUpdatedAt) {\n return 'modified';\n }\n\n return 'published';\n};\n"],"names":["getService","name","strapi","plugin","service","getDraftEntryValidStatus","contentType","documentId","locale","populateBuilderService","populate","populateDeep","Infinity","build","entry","getEntry","isEntryValid","contentTypeUid","entityValidator","validateEntityCreation","getModel","undefined","workflowsService","workflow","getAssignedWorkflow","stageRequiredToPublish","strapi_stage","id","status","documents","findOne","findFirst","getEntryStatus","publishedAt","publishedEntry","fields","entryUpdatedAt","Date","updatedAt","getTime","publishedEntryUpdatedAt"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../shared/contracts/homepage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,MAAM,CAAC,OAAO,WAAW,mBAAmB,CAAC;IAC3C,UAAiB,OAAO;QACtB,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* E.g the default timezone for the release schedule.
|
|
4
4
|
*/
|
|
5
5
|
import { errors } from '@strapi/utils';
|
|
6
|
-
import { Utils } from '@strapi/types';
|
|
6
|
+
import type { Utils } from '@strapi/types';
|
|
7
7
|
export interface Settings {
|
|
8
8
|
defaultTimezone: string | null | undefined;
|
|
9
9
|
}
|
|
@@ -36,4 +36,3 @@ export declare namespace UpdateSettings {
|
|
|
36
36
|
error?: errors.ApplicationError | errors.ValidationError;
|
|
37
37
|
}>;
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../shared/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../shared/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,UAAiB,OAAO;QACtB,KAAK,CAAC,EAAE,EAAE,CAAC;KACZ;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,QAAQ,CAAC;KAChB;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,UAAiB,OAAO;QACtB,IAAI,EAAE,QAAQ,CAAC;KAChB;IAED,KAAY,QAAQ,GAAG,KAAK,CAAC,KAAK,CAChC;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,EAClB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAA;KAAE,CAC7D,CAAC;CACH"}
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,UAAU,QAAS,SAAQ,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,IAAI,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,UAAU,QAAS,SAAQ,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,IAAI,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/content-releases",
|
|
3
|
-
"version": "0.0.0-next.
|
|
3
|
+
"version": "0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7",
|
|
4
4
|
"description": "Strapi plugin for organizing and releasing content",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -41,7 +41,11 @@
|
|
|
41
41
|
"strapi-server.js"
|
|
42
42
|
],
|
|
43
43
|
"scripts": {
|
|
44
|
-
"build": "
|
|
44
|
+
"build": "run -T npm-run-all clean --parallel build:code build:types",
|
|
45
|
+
"build:code": "run -T rollup -c",
|
|
46
|
+
"build:types": "run -T run-p build:types:server build:types:admin",
|
|
47
|
+
"build:types:server": "run -T tsc -p server/tsconfig.build.json --emitDeclarationOnly",
|
|
48
|
+
"build:types:admin": "run -T tsc -p admin/tsconfig.build.json --emitDeclarationOnly",
|
|
45
49
|
"clean": "run -T rimraf ./dist",
|
|
46
50
|
"lint": "run -T eslint .",
|
|
47
51
|
"test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
|
|
@@ -51,42 +55,40 @@
|
|
|
51
55
|
"test:ts:front": "run -T tsc -p admin/tsconfig.json",
|
|
52
56
|
"test:unit": "run -T jest",
|
|
53
57
|
"test:unit:watch": "run -T jest --watch",
|
|
54
|
-
"watch": "
|
|
58
|
+
"watch": "run -T rollup -c -w"
|
|
55
59
|
},
|
|
56
60
|
"dependencies": {
|
|
57
61
|
"@reduxjs/toolkit": "1.9.7",
|
|
58
|
-
"@strapi/database": "0.0.0-next.
|
|
59
|
-
"@strapi/design-system": "2.0.
|
|
60
|
-
"@strapi/icons": "2.0.
|
|
61
|
-
"@strapi/types": "0.0.0-next.
|
|
62
|
-
"@strapi/utils": "0.0.0-next.
|
|
62
|
+
"@strapi/database": "0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7",
|
|
63
|
+
"@strapi/design-system": "2.0.1",
|
|
64
|
+
"@strapi/icons": "2.0.1",
|
|
65
|
+
"@strapi/types": "0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7",
|
|
66
|
+
"@strapi/utils": "0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7",
|
|
63
67
|
"date-fns": "2.30.0",
|
|
64
68
|
"date-fns-tz": "2.0.1",
|
|
65
69
|
"formik": "2.4.5",
|
|
66
70
|
"lodash": "4.17.21",
|
|
67
|
-
"node-schedule": "2.1.1",
|
|
68
71
|
"qs": "6.11.1",
|
|
69
72
|
"react-intl": "6.6.2",
|
|
70
73
|
"react-redux": "8.1.3",
|
|
71
74
|
"yup": "0.32.9"
|
|
72
75
|
},
|
|
73
76
|
"devDependencies": {
|
|
74
|
-
"@strapi/admin": "0.0.0-next.
|
|
75
|
-
"@strapi/admin-test-utils": "0.0.0-next.
|
|
76
|
-
"@strapi/content-manager": "0.0.0-next.
|
|
77
|
-
"@
|
|
78
|
-
"@testing-library/
|
|
79
|
-
"@testing-library/
|
|
80
|
-
"@testing-library/user-event": "14.5.2",
|
|
77
|
+
"@strapi/admin": "0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7",
|
|
78
|
+
"@strapi/admin-test-utils": "0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7",
|
|
79
|
+
"@strapi/content-manager": "0.0.0-next.f86041c89a8c1545c6437a881dc613e98bc52bd7",
|
|
80
|
+
"@testing-library/dom": "10.4.1",
|
|
81
|
+
"@testing-library/react": "16.3.0",
|
|
82
|
+
"@testing-library/user-event": "14.6.1",
|
|
81
83
|
"@types/koa": "2.13.4",
|
|
82
|
-
"koa": "2.
|
|
84
|
+
"koa": "2.16.1",
|
|
83
85
|
"msw": "1.3.0",
|
|
84
86
|
"react": "18.3.1",
|
|
85
87
|
"react-dom": "18.3.1",
|
|
86
88
|
"react-query": "3.39.3",
|
|
87
89
|
"react-router-dom": "6.22.3",
|
|
88
90
|
"styled-components": "6.1.8",
|
|
89
|
-
"typescript": "5.
|
|
91
|
+
"typescript": "5.4.4"
|
|
90
92
|
},
|
|
91
93
|
"peerDependencies": {
|
|
92
94
|
"@strapi/admin": "^5.0.0",
|
|
@@ -97,7 +99,7 @@
|
|
|
97
99
|
"styled-components": "^6.0.0"
|
|
98
100
|
},
|
|
99
101
|
"engines": {
|
|
100
|
-
"node": ">=
|
|
102
|
+
"node": ">=20.0.0 <=24.x.x",
|
|
101
103
|
"npm": ">=6.0.0"
|
|
102
104
|
},
|
|
103
105
|
"strapi": {
|
|
@@ -106,6 +108,5 @@
|
|
|
106
108
|
"kind": "plugin",
|
|
107
109
|
"displayName": "Releases",
|
|
108
110
|
"required": true
|
|
109
|
-
}
|
|
110
|
-
"gitHead": "f698d55751345c4ca87477ef683475c1a68f310a"
|
|
111
|
+
}
|
|
111
112
|
}
|