@strapi/review-workflows 0.0.0-next.7f1333f1967e625c57ab16648c057aea08c9dddb → 0.0.0-next.8f63e1055db761e0213cb6610f80c55658196ae1

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.
Files changed (34) hide show
  1. package/dist/_chunks/{Layout-b_msoxIP.js → Layout-8i0EXRRs.js} +2 -2
  2. package/dist/_chunks/{Layout-b_msoxIP.js.map → Layout-8i0EXRRs.js.map} +1 -1
  3. package/dist/_chunks/{Layout-C_uZ98Uf.mjs → Layout-C9m07iTY.mjs} +2 -2
  4. package/dist/_chunks/{Layout-C_uZ98Uf.mjs.map → Layout-C9m07iTY.mjs.map} +1 -1
  5. package/dist/_chunks/{_id-4xBYY7wK.js → id-CmtaTf1x.js} +3 -3
  6. package/dist/_chunks/id-CmtaTf1x.js.map +1 -0
  7. package/dist/_chunks/{_id-mkPbu6GX.mjs → id-DV0Ndeav.mjs} +3 -3
  8. package/dist/_chunks/id-DV0Ndeav.mjs.map +1 -0
  9. package/dist/_chunks/{index-CIGzoVfk.js → index-B8WmHbCU.js} +3 -3
  10. package/dist/_chunks/{index-CIGzoVfk.js.map → index-B8WmHbCU.js.map} +1 -1
  11. package/dist/_chunks/{index-C5NgBQMb.js → index-BCUO98DV.js} +2 -2
  12. package/dist/_chunks/{index-C5NgBQMb.js.map → index-BCUO98DV.js.map} +1 -1
  13. package/dist/_chunks/{index-D_k4wfAN.mjs → index-CA5Axcoc.mjs} +3 -3
  14. package/dist/_chunks/{index-D_k4wfAN.mjs.map → index-CA5Axcoc.mjs.map} +1 -1
  15. package/dist/_chunks/{index-DL8-Q4Q5.mjs → index-CqYVkW3E.mjs} +2 -2
  16. package/dist/_chunks/{index-DL8-Q4Q5.mjs.map → index-CqYVkW3E.mjs.map} +1 -1
  17. package/dist/_chunks/{router-BFr5lHsE.js → router-BOXlNnrU.js} +3 -3
  18. package/dist/_chunks/router-BOXlNnrU.js.map +1 -0
  19. package/dist/_chunks/{router-DnQKLQOJ.mjs → router-Jdt6SbIA.mjs} +3 -3
  20. package/dist/_chunks/router-Jdt6SbIA.mjs.map +1 -0
  21. package/dist/admin/index.js +1 -1
  22. package/dist/admin/index.mjs +1 -1
  23. package/dist/server/index.js +35 -1
  24. package/dist/server/index.js.map +1 -1
  25. package/dist/server/index.mjs +35 -1
  26. package/dist/server/index.mjs.map +1 -1
  27. package/dist/server/src/register.d.ts.map +1 -1
  28. package/dist/server/src/services/stages.d.ts.map +1 -1
  29. package/package.json +7 -7
  30. package/dist/_chunks/_id-4xBYY7wK.js.map +0 -1
  31. package/dist/_chunks/_id-mkPbu6GX.mjs.map +0 -1
  32. package/dist/_chunks/router-BFr5lHsE.js.map +0 -1
  33. package/dist/_chunks/router-DnQKLQOJ.mjs.map +0 -1
  34. /package/dist/admin/src/routes/settings/{:id.d.ts → id.d.ts} +0 -0
@@ -6561,8 +6561,40 @@ function extendReviewWorkflowContentTypes({ strapi: strapi2 }) {
6561
6561
  });
6562
6562
  }
6563
6563
  }
6564
+ function persistRWOnDowngrade({ strapi: strapi2 }) {
6565
+ const { removePersistedTablesWithSuffix, persistTables } = getAdminService("persist-tables");
6566
+ return async ({ contentTypes: contentTypes2 }) => {
6567
+ const getStageTableToPersist = (contentTypeUID) => {
6568
+ const { attributes, tableName } = strapi2.db.metadata.get(contentTypeUID);
6569
+ const joinTableName = attributes[ENTITY_STAGE_ATTRIBUTE].joinTable.name;
6570
+ return {
6571
+ name: joinTableName,
6572
+ dependsOn: [{ name: tableName }]
6573
+ };
6574
+ };
6575
+ const getAssigneeTableToPersist = (contentTypeUID) => {
6576
+ const { attributes, tableName } = strapi2.db.metadata.get(contentTypeUID);
6577
+ const joinTableName = attributes[ENTITY_ASSIGNEE_ATTRIBUTE].joinTable.name;
6578
+ return {
6579
+ name: joinTableName,
6580
+ dependsOn: [{ name: tableName }]
6581
+ };
6582
+ };
6583
+ const enabledRWContentTypes = fp.pipe([
6584
+ getVisibleContentTypesUID,
6585
+ fp.filter((uid) => hasStageAttribute(contentTypes2[uid]))
6586
+ ])(contentTypes2);
6587
+ const stageJoinTablesToPersist = enabledRWContentTypes.map(getStageTableToPersist);
6588
+ await removePersistedTablesWithSuffix("_strapi_stage_lnk");
6589
+ await persistTables(stageJoinTablesToPersist);
6590
+ const assigneeJoinTablesToPersist = enabledRWContentTypes.map(getAssigneeTableToPersist);
6591
+ await removePersistedTablesWithSuffix("_strapi_assignee_lnk");
6592
+ await persistTables(assigneeJoinTablesToPersist);
6593
+ };
6594
+ }
6564
6595
  const register = async ({ strapi: strapi2 }) => {
6565
6596
  strapi2.hook("strapi::content-types.beforeSync").register(migrateStageAttribute);
6597
+ strapi2.hook("strapi::content-types.afterSync").register(persistRWOnDowngrade({ strapi: strapi2 }));
6566
6598
  strapi2.hook("strapi::content-types.afterSync").register(migrateReviewWorkflowStagesColor).register(migrateReviewWorkflowStagesRoles).register(migrateReviewWorkflowName).register(migrateWorkflowsContentTypes).register(migrateDeletedCTInWorkflows);
6567
6599
  reviewWorkflowsMiddlewares.contentTypeMiddleware(strapi2);
6568
6600
  extendReviewWorkflowContentTypes({ strapi: strapi2 });
@@ -7331,7 +7363,9 @@ const stages$1 = ({ strapi: strapi2 }) => {
7331
7363
  const entity = await strapi2.documents(model).update({
7332
7364
  documentId,
7333
7365
  locale,
7334
- data: { [ENTITY_STAGE_ATTRIBUTE]: stage },
7366
+ // Stage doesn't have DP or i18n enabled, connecting it through the `id`
7367
+ // will be safer than relying on the `documentId` + `locale` + `status` transformation
7368
+ data: { [ENTITY_STAGE_ATTRIBUTE]: fp.pick(["id"], stage) },
7335
7369
  populate: [ENTITY_STAGE_ATTRIBUTE]
7336
7370
  });
7337
7371
  metrics.sendDidChangeEntryStage();