@primershop/strapi-plugin-status-manager 0.0.1

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 (153) hide show
  1. package/README.md +52 -0
  2. package/dist/admin/components/Initializer.js +17 -0
  3. package/dist/admin/components/Initializer.js.map +1 -0
  4. package/dist/admin/components/Initializer.mjs +15 -0
  5. package/dist/admin/components/Initializer.mjs.map +1 -0
  6. package/dist/admin/components/PluginIcon.js +9 -0
  7. package/dist/admin/components/PluginIcon.js.map +1 -0
  8. package/dist/admin/components/PluginIcon.mjs +7 -0
  9. package/dist/admin/components/PluginIcon.mjs.map +1 -0
  10. package/dist/admin/components/ProductStatusField.js +104 -0
  11. package/dist/admin/components/ProductStatusField.js.map +1 -0
  12. package/dist/admin/components/ProductStatusField.mjs +102 -0
  13. package/dist/admin/components/ProductStatusField.mjs.map +1 -0
  14. package/dist/admin/components/StatusManager.js +367 -0
  15. package/dist/admin/components/StatusManager.js.map +1 -0
  16. package/dist/admin/components/StatusManager.mjs +365 -0
  17. package/dist/admin/components/StatusManager.mjs.map +1 -0
  18. package/dist/admin/index.js +46 -0
  19. package/dist/admin/index.js.map +1 -0
  20. package/dist/admin/index.mjs +44 -0
  21. package/dist/admin/index.mjs.map +1 -0
  22. package/dist/admin/listView/StatusFilter.js +76 -0
  23. package/dist/admin/listView/StatusFilter.js.map +1 -0
  24. package/dist/admin/listView/StatusFilter.mjs +74 -0
  25. package/dist/admin/listView/StatusFilter.mjs.map +1 -0
  26. package/dist/admin/listView/add-status-column-hook.js +34 -0
  27. package/dist/admin/listView/add-status-column-hook.js.map +1 -0
  28. package/dist/admin/listView/add-status-column-hook.mjs +32 -0
  29. package/dist/admin/listView/add-status-column-hook.mjs.map +1 -0
  30. package/dist/admin/listView/status-cell.js +28 -0
  31. package/dist/admin/listView/status-cell.js.map +1 -0
  32. package/dist/admin/listView/status-cell.mjs +26 -0
  33. package/dist/admin/listView/status-cell.mjs.map +1 -0
  34. package/dist/admin/pages/HomePage.js +51 -0
  35. package/dist/admin/pages/HomePage.js.map +1 -0
  36. package/dist/admin/pages/HomePage.mjs +49 -0
  37. package/dist/admin/pages/HomePage.mjs.map +1 -0
  38. package/dist/admin/pluginId.js +6 -0
  39. package/dist/admin/pluginId.js.map +1 -0
  40. package/dist/admin/pluginId.mjs +4 -0
  41. package/dist/admin/pluginId.mjs.map +1 -0
  42. package/dist/admin/src/components/Initializer.js +13 -0
  43. package/dist/admin/src/components/PluginIcon.js +4 -0
  44. package/dist/admin/src/components/ProductStatusField.js +64 -0
  45. package/dist/admin/src/components/StatusManager.js +239 -0
  46. package/dist/admin/src/index.js +43 -0
  47. package/dist/admin/src/listView/StatusFilter.js +47 -0
  48. package/dist/admin/src/listView/add-status-column-hook.js +18 -0
  49. package/dist/admin/src/listView/status-cell.js +18 -0
  50. package/dist/admin/src/pages/HomePage.js +18 -0
  51. package/dist/admin/src/pluginId.js +1 -0
  52. package/dist/server/bootstrap.js +29 -0
  53. package/dist/server/bootstrap.js.map +1 -0
  54. package/dist/server/bootstrap.mjs +27 -0
  55. package/dist/server/bootstrap.mjs.map +1 -0
  56. package/dist/server/content-types/index.js +16 -0
  57. package/dist/server/content-types/index.js.map +1 -0
  58. package/dist/server/content-types/index.mjs +14 -0
  59. package/dist/server/content-types/index.mjs.map +1 -0
  60. package/dist/server/content-types/status-link.js +43 -0
  61. package/dist/server/content-types/status-link.js.map +1 -0
  62. package/dist/server/content-types/status-link.mjs +41 -0
  63. package/dist/server/content-types/status-link.mjs.map +1 -0
  64. package/dist/server/content-types/status.js +50 -0
  65. package/dist/server/content-types/status.js.map +1 -0
  66. package/dist/server/content-types/status.mjs +48 -0
  67. package/dist/server/content-types/status.mjs.map +1 -0
  68. package/dist/server/controllers/content.js +33 -0
  69. package/dist/server/controllers/content.js.map +1 -0
  70. package/dist/server/controllers/content.mjs +31 -0
  71. package/dist/server/controllers/content.mjs.map +1 -0
  72. package/dist/server/controllers/index.js +12 -0
  73. package/dist/server/controllers/index.js.map +1 -0
  74. package/dist/server/controllers/index.mjs +10 -0
  75. package/dist/server/controllers/index.mjs.map +1 -0
  76. package/dist/server/controllers/status.js +106 -0
  77. package/dist/server/controllers/status.js.map +1 -0
  78. package/dist/server/controllers/status.mjs +104 -0
  79. package/dist/server/controllers/status.mjs.map +1 -0
  80. package/dist/server/index.js +23 -0
  81. package/dist/server/index.js.map +1 -0
  82. package/dist/server/index.mjs +21 -0
  83. package/dist/server/index.mjs.map +1 -0
  84. package/dist/server/middlewares/add-status-field.js +48 -0
  85. package/dist/server/middlewares/add-status-field.js.map +1 -0
  86. package/dist/server/middlewares/add-status-field.mjs +46 -0
  87. package/dist/server/middlewares/add-status-field.mjs.map +1 -0
  88. package/dist/server/middlewares/filter-by-status.js +42 -0
  89. package/dist/server/middlewares/filter-by-status.js.map +1 -0
  90. package/dist/server/middlewares/filter-by-status.mjs +40 -0
  91. package/dist/server/middlewares/filter-by-status.mjs.map +1 -0
  92. package/dist/server/middlewares/filter-published.js +35 -0
  93. package/dist/server/middlewares/filter-published.js.map +1 -0
  94. package/dist/server/middlewares/filter-published.mjs +33 -0
  95. package/dist/server/middlewares/filter-published.mjs.map +1 -0
  96. package/dist/server/permissions.js +46 -0
  97. package/dist/server/permissions.js.map +1 -0
  98. package/dist/server/permissions.mjs +44 -0
  99. package/dist/server/permissions.mjs.map +1 -0
  100. package/dist/server/pluginId.js +6 -0
  101. package/dist/server/pluginId.js.map +1 -0
  102. package/dist/server/pluginId.mjs +4 -0
  103. package/dist/server/pluginId.mjs.map +1 -0
  104. package/dist/server/register.js +27 -0
  105. package/dist/server/register.js.map +1 -0
  106. package/dist/server/register.mjs +25 -0
  107. package/dist/server/register.mjs.map +1 -0
  108. package/dist/server/routes/content-management.js +41 -0
  109. package/dist/server/routes/content-management.js.map +1 -0
  110. package/dist/server/routes/content-management.mjs +39 -0
  111. package/dist/server/routes/content-management.mjs.map +1 -0
  112. package/dist/server/routes/index.js +17 -0
  113. package/dist/server/routes/index.js.map +1 -0
  114. package/dist/server/routes/index.mjs +15 -0
  115. package/dist/server/routes/index.mjs.map +1 -0
  116. package/dist/server/routes/status-management.js +122 -0
  117. package/dist/server/routes/status-management.js.map +1 -0
  118. package/dist/server/routes/status-management.mjs +120 -0
  119. package/dist/server/routes/status-management.mjs.map +1 -0
  120. package/dist/server/services/index.js +12 -0
  121. package/dist/server/services/index.js.map +1 -0
  122. package/dist/server/services/index.mjs +10 -0
  123. package/dist/server/services/index.mjs.map +1 -0
  124. package/dist/server/services/status-link.js +38 -0
  125. package/dist/server/services/status-link.js.map +1 -0
  126. package/dist/server/services/status-link.mjs +36 -0
  127. package/dist/server/services/status-link.mjs.map +1 -0
  128. package/dist/server/services/status.js +110 -0
  129. package/dist/server/services/status.js.map +1 -0
  130. package/dist/server/services/status.mjs +108 -0
  131. package/dist/server/services/status.mjs.map +1 -0
  132. package/dist/server/src/bootstrap.js +32 -0
  133. package/dist/server/src/config/dev.js +13 -0
  134. package/dist/server/src/content-types/index.js +15 -0
  135. package/dist/server/src/content-types/status-link.js +40 -0
  136. package/dist/server/src/content-types/status.js +47 -0
  137. package/dist/server/src/controllers/content.js +44 -0
  138. package/dist/server/src/controllers/index.js +9 -0
  139. package/dist/server/src/controllers/status.js +106 -0
  140. package/dist/server/src/index.js +23 -0
  141. package/dist/server/src/middlewares/add-status-field.js +51 -0
  142. package/dist/server/src/middlewares/filter-by-status.js +44 -0
  143. package/dist/server/src/middlewares/filter-published.js +31 -0
  144. package/dist/server/src/permissions.js +41 -0
  145. package/dist/server/src/pluginId.js +4 -0
  146. package/dist/server/src/register.js +28 -0
  147. package/dist/server/src/routes/content-management.js +34 -0
  148. package/dist/server/src/routes/index.js +15 -0
  149. package/dist/server/src/routes/status-management.js +109 -0
  150. package/dist/server/src/services/index.js +9 -0
  151. package/dist/server/src/services/status-link.js +33 -0
  152. package/dist/server/src/services/status.js +96 -0
  153. package/package.json +104 -0
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@strapi/utils');
4
+
5
+ var filterByStatus = (async (context, next)=>{
6
+ const uid = context.uid;
7
+ if (!uid.includes("api::")) {
8
+ return next();
9
+ }
10
+ const paramKeys = Object.keys(context.params || {});
11
+ if (!paramKeys.includes("statusName")) {
12
+ return next();
13
+ }
14
+ const desiredStatus = context.params["statusName"];
15
+ if (!desiredStatus || desiredStatus === "all") return next();
16
+ const isValid = await strapi.plugin("primershop-status-manager").service("status").isValidStatus(desiredStatus);
17
+ if (!isValid) throw new utils.errors.ValidationError(`Invalid status: ${desiredStatus}`);
18
+ const status = await strapi.plugin("primershop-status-manager").service("status").getStatusByName(desiredStatus);
19
+ if (!status) {
20
+ throw new utils.errors.ValidationError(`Status not found: ${desiredStatus}`);
21
+ }
22
+ const statusLinks = await strapi.db.query("plugin::primershop-status-manager.status-link").findMany({
23
+ where: {
24
+ targetUid: uid,
25
+ status: status.id
26
+ },
27
+ select: [
28
+ "targetDocumentId"
29
+ ]
30
+ });
31
+ const allowedDocumentIds = statusLinks.map((link)=>link.targetDocumentId);
32
+ context.params["filters"] = {
33
+ ...context.params["filters"],
34
+ documentId: {
35
+ $in: allowedDocumentIds
36
+ }
37
+ };
38
+ return next();
39
+ });
40
+
41
+ module.exports = filterByStatus;
42
+ //# sourceMappingURL=filter-by-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-by-status.js","sources":["../../../server/src/middlewares/filter-by-status.ts"],"sourcesContent":["import {\r\n AnyDocument,\r\n Middleware as DocumentMiddleware,\r\n} from \"@strapi/types/dist/modules/documents\";\r\nimport { errors } from \"@strapi/utils\";\r\n\r\nexport default async (\r\n context: DocumentMiddleware.Context,\r\n next: () => Promise<\r\n | number\r\n | AnyDocument\r\n | AnyDocument[]\r\n | { documentId: string; entries: AnyDocument[] }\r\n >\r\n) => {\r\n const uid = context.uid;\r\n if (!uid.includes(\"api::\")) {\r\n return next();\r\n }\r\n const paramKeys = Object.keys(context.params || {});\r\n\r\n if (!paramKeys.includes(\"statusName\")) {\r\n return next();\r\n }\r\n const desiredStatus = context.params[\"statusName\"];\r\n\r\n if (!desiredStatus || desiredStatus === \"all\") return next();\r\n\r\n const isValid = await strapi\r\n .plugin(\"primershop-status-manager\")\r\n .service(\"status\")\r\n .isValidStatus(desiredStatus);\r\n if (!isValid)\r\n throw new errors.ValidationError(`Invalid status: ${desiredStatus}`);\r\n\r\n const status = await strapi\r\n .plugin(\"primershop-status-manager\")\r\n .service(\"status\")\r\n .getStatusByName(desiredStatus);\r\n if (!status) {\r\n throw new errors.ValidationError(`Status not found: ${desiredStatus}`);\r\n }\r\n\r\n const statusLinks = await strapi.db\r\n .query(\"plugin::primershop-status-manager.status-link\")\r\n .findMany({\r\n where: {\r\n targetUid: uid,\r\n status: status.id,\r\n },\r\n select: [\"targetDocumentId\"],\r\n });\r\n\r\n const allowedDocumentIds = statusLinks.map((link) => link.targetDocumentId);\r\n\r\n context.params[\"filters\"] = {\r\n ...context.params[\"filters\"],\r\n documentId: { $in: allowedDocumentIds },\r\n };\r\n\r\n return next();\r\n};\r\n"],"names":["context","next","uid","includes","paramKeys","Object","keys","params","desiredStatus","isValid","strapi","plugin","service","isValidStatus","errors","ValidationError","status","getStatusByName","statusLinks","db","query","findMany","where","targetUid","id","select","allowedDocumentIds","map","link","targetDocumentId","documentId","$in"],"mappings":";;;;AAMA,qBAAe,CAAA,OACbA,OAAAA,EACAC,IAAAA,GAAAA;IAOA,MAAMC,GAAAA,GAAMF,QAAQE,GAAG;AACvB,IAAA,IAAI,CAACA,GAAAA,CAAIC,QAAQ,CAAC,OAAA,CAAA,EAAU;QAC1B,OAAOF,IAAAA,EAAAA;AACT,IAAA;AACA,IAAA,MAAMG,YAAYC,MAAAA,CAAOC,IAAI,CAACN,OAAAA,CAAQO,MAAM,IAAI,EAAC,CAAA;AAEjD,IAAA,IAAI,CAACH,SAAAA,CAAUD,QAAQ,CAAC,YAAA,CAAA,EAAe;QACrC,OAAOF,IAAAA,EAAAA;AACT,IAAA;AACA,IAAA,MAAMO,aAAAA,GAAgBR,OAAAA,CAAQO,MAAM,CAAC,YAAA,CAAa;AAElD,IAAA,IAAI,CAACC,aAAAA,IAAiBA,aAAAA,KAAkB,KAAA,EAAO,OAAOP,IAAAA,EAAAA;IAEtD,MAAMQ,OAAAA,GAAU,MAAMC,MAAAA,CACnBC,MAAM,CAAC,6BACPC,OAAO,CAAC,QAAA,CAAA,CACRC,aAAa,CAACL,aAAAA,CAAAA;IACjB,IAAI,CAACC,OAAAA,EACH,MAAM,IAAIK,YAAAA,CAAOC,eAAe,CAAC,CAAC,gBAAgB,EAAEP,aAAAA,CAAAA,CAAe,CAAA;IAErE,MAAMQ,MAAAA,GAAS,MAAMN,MAAAA,CAClBC,MAAM,CAAC,6BACPC,OAAO,CAAC,QAAA,CAAA,CACRK,eAAe,CAACT,aAAAA,CAAAA;AACnB,IAAA,IAAI,CAACQ,MAAAA,EAAQ;AACX,QAAA,MAAM,IAAIF,YAAAA,CAAOC,eAAe,CAAC,CAAC,kBAAkB,EAAEP,aAAAA,CAAAA,CAAe,CAAA;AACvE,IAAA;IAEA,MAAMU,WAAAA,GAAc,MAAMR,MAAAA,CAAOS,EAAE,CAChCC,KAAK,CAAC,+CAAA,CAAA,CACNC,QAAQ,CAAC;QACRC,KAAAA,EAAO;YACLC,SAAAA,EAAWrB,GAAAA;AACXc,YAAAA,MAAAA,EAAQA,OAAOQ;AACjB,SAAA;QACAC,MAAAA,EAAQ;AAAC,YAAA;AAAmB;AAC9B,KAAA,CAAA;AAEF,IAAA,MAAMC,qBAAqBR,WAAAA,CAAYS,GAAG,CAAC,CAACC,IAAAA,GAASA,KAAKC,gBAAgB,CAAA;IAE1E7B,OAAAA,CAAQO,MAAM,CAAC,SAAA,CAAU,GAAG;QAC1B,GAAGP,OAAAA,CAAQO,MAAM,CAAC,SAAA,CAAU;QAC5BuB,UAAAA,EAAY;YAAEC,GAAAA,EAAKL;AAAmB;AACxC,KAAA;IAEA,OAAOzB,IAAAA,EAAAA;AACT,CAAA;;;;"}
@@ -0,0 +1,40 @@
1
+ import { errors } from '@strapi/utils';
2
+
3
+ var filterByStatus = (async (context, next)=>{
4
+ const uid = context.uid;
5
+ if (!uid.includes("api::")) {
6
+ return next();
7
+ }
8
+ const paramKeys = Object.keys(context.params || {});
9
+ if (!paramKeys.includes("statusName")) {
10
+ return next();
11
+ }
12
+ const desiredStatus = context.params["statusName"];
13
+ if (!desiredStatus || desiredStatus === "all") return next();
14
+ const isValid = await strapi.plugin("primershop-status-manager").service("status").isValidStatus(desiredStatus);
15
+ if (!isValid) throw new errors.ValidationError(`Invalid status: ${desiredStatus}`);
16
+ const status = await strapi.plugin("primershop-status-manager").service("status").getStatusByName(desiredStatus);
17
+ if (!status) {
18
+ throw new errors.ValidationError(`Status not found: ${desiredStatus}`);
19
+ }
20
+ const statusLinks = await strapi.db.query("plugin::primershop-status-manager.status-link").findMany({
21
+ where: {
22
+ targetUid: uid,
23
+ status: status.id
24
+ },
25
+ select: [
26
+ "targetDocumentId"
27
+ ]
28
+ });
29
+ const allowedDocumentIds = statusLinks.map((link)=>link.targetDocumentId);
30
+ context.params["filters"] = {
31
+ ...context.params["filters"],
32
+ documentId: {
33
+ $in: allowedDocumentIds
34
+ }
35
+ };
36
+ return next();
37
+ });
38
+
39
+ export { filterByStatus as default };
40
+ //# sourceMappingURL=filter-by-status.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-by-status.mjs","sources":["../../../server/src/middlewares/filter-by-status.ts"],"sourcesContent":["import {\r\n AnyDocument,\r\n Middleware as DocumentMiddleware,\r\n} from \"@strapi/types/dist/modules/documents\";\r\nimport { errors } from \"@strapi/utils\";\r\n\r\nexport default async (\r\n context: DocumentMiddleware.Context,\r\n next: () => Promise<\r\n | number\r\n | AnyDocument\r\n | AnyDocument[]\r\n | { documentId: string; entries: AnyDocument[] }\r\n >\r\n) => {\r\n const uid = context.uid;\r\n if (!uid.includes(\"api::\")) {\r\n return next();\r\n }\r\n const paramKeys = Object.keys(context.params || {});\r\n\r\n if (!paramKeys.includes(\"statusName\")) {\r\n return next();\r\n }\r\n const desiredStatus = context.params[\"statusName\"];\r\n\r\n if (!desiredStatus || desiredStatus === \"all\") return next();\r\n\r\n const isValid = await strapi\r\n .plugin(\"primershop-status-manager\")\r\n .service(\"status\")\r\n .isValidStatus(desiredStatus);\r\n if (!isValid)\r\n throw new errors.ValidationError(`Invalid status: ${desiredStatus}`);\r\n\r\n const status = await strapi\r\n .plugin(\"primershop-status-manager\")\r\n .service(\"status\")\r\n .getStatusByName(desiredStatus);\r\n if (!status) {\r\n throw new errors.ValidationError(`Status not found: ${desiredStatus}`);\r\n }\r\n\r\n const statusLinks = await strapi.db\r\n .query(\"plugin::primershop-status-manager.status-link\")\r\n .findMany({\r\n where: {\r\n targetUid: uid,\r\n status: status.id,\r\n },\r\n select: [\"targetDocumentId\"],\r\n });\r\n\r\n const allowedDocumentIds = statusLinks.map((link) => link.targetDocumentId);\r\n\r\n context.params[\"filters\"] = {\r\n ...context.params[\"filters\"],\r\n documentId: { $in: allowedDocumentIds },\r\n };\r\n\r\n return next();\r\n};\r\n"],"names":["context","next","uid","includes","paramKeys","Object","keys","params","desiredStatus","isValid","strapi","plugin","service","isValidStatus","errors","ValidationError","status","getStatusByName","statusLinks","db","query","findMany","where","targetUid","id","select","allowedDocumentIds","map","link","targetDocumentId","documentId","$in"],"mappings":";;AAMA,qBAAe,CAAA,OACbA,OAAAA,EACAC,IAAAA,GAAAA;IAOA,MAAMC,GAAAA,GAAMF,QAAQE,GAAG;AACvB,IAAA,IAAI,CAACA,GAAAA,CAAIC,QAAQ,CAAC,OAAA,CAAA,EAAU;QAC1B,OAAOF,IAAAA,EAAAA;AACT,IAAA;AACA,IAAA,MAAMG,YAAYC,MAAAA,CAAOC,IAAI,CAACN,OAAAA,CAAQO,MAAM,IAAI,EAAC,CAAA;AAEjD,IAAA,IAAI,CAACH,SAAAA,CAAUD,QAAQ,CAAC,YAAA,CAAA,EAAe;QACrC,OAAOF,IAAAA,EAAAA;AACT,IAAA;AACA,IAAA,MAAMO,aAAAA,GAAgBR,OAAAA,CAAQO,MAAM,CAAC,YAAA,CAAa;AAElD,IAAA,IAAI,CAACC,aAAAA,IAAiBA,aAAAA,KAAkB,KAAA,EAAO,OAAOP,IAAAA,EAAAA;IAEtD,MAAMQ,OAAAA,GAAU,MAAMC,MAAAA,CACnBC,MAAM,CAAC,6BACPC,OAAO,CAAC,QAAA,CAAA,CACRC,aAAa,CAACL,aAAAA,CAAAA;IACjB,IAAI,CAACC,OAAAA,EACH,MAAM,IAAIK,MAAAA,CAAOC,eAAe,CAAC,CAAC,gBAAgB,EAAEP,aAAAA,CAAAA,CAAe,CAAA;IAErE,MAAMQ,MAAAA,GAAS,MAAMN,MAAAA,CAClBC,MAAM,CAAC,6BACPC,OAAO,CAAC,QAAA,CAAA,CACRK,eAAe,CAACT,aAAAA,CAAAA;AACnB,IAAA,IAAI,CAACQ,MAAAA,EAAQ;AACX,QAAA,MAAM,IAAIF,MAAAA,CAAOC,eAAe,CAAC,CAAC,kBAAkB,EAAEP,aAAAA,CAAAA,CAAe,CAAA;AACvE,IAAA;IAEA,MAAMU,WAAAA,GAAc,MAAMR,MAAAA,CAAOS,EAAE,CAChCC,KAAK,CAAC,+CAAA,CAAA,CACNC,QAAQ,CAAC;QACRC,KAAAA,EAAO;YACLC,SAAAA,EAAWrB,GAAAA;AACXc,YAAAA,MAAAA,EAAQA,OAAOQ;AACjB,SAAA;QACAC,MAAAA,EAAQ;AAAC,YAAA;AAAmB;AAC9B,KAAA,CAAA;AAEF,IAAA,MAAMC,qBAAqBR,WAAAA,CAAYS,GAAG,CAAC,CAACC,IAAAA,GAASA,KAAKC,gBAAgB,CAAA;IAE1E7B,OAAAA,CAAQO,MAAM,CAAC,SAAA,CAAU,GAAG;QAC1B,GAAGP,OAAAA,CAAQO,MAAM,CAAC,SAAA,CAAU;QAC5BuB,UAAAA,EAAY;YAAEC,GAAAA,EAAKL;AAAmB;AACxC,KAAA;IAEA,OAAOzB,IAAAA,EAAAA;AACT,CAAA;;;;"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var filterPublished = (async (context, next)=>{
4
+ const uid = context.uid;
5
+ if (!uid.includes("api::")) {
6
+ return next();
7
+ }
8
+ const params = context.params;
9
+ if (!params && !params["status"] || params["statusName"]) return next();
10
+ const unpublishedStatusLinks = await strapi.db.query("plugin::primershop-status-manager.status-link").findMany({
11
+ populate: {
12
+ status: true
13
+ },
14
+ where: {
15
+ targetUid: uid,
16
+ status: {
17
+ published: false
18
+ }
19
+ },
20
+ select: [
21
+ "targetDocumentId"
22
+ ]
23
+ });
24
+ const unpublishedDocumentIds = unpublishedStatusLinks.map((link)=>link.targetDocumentId);
25
+ context.params["filters"] = {
26
+ ...context.params["filters"],
27
+ documentId: {
28
+ $notIn: unpublishedDocumentIds
29
+ }
30
+ };
31
+ return next();
32
+ });
33
+
34
+ module.exports = filterPublished;
35
+ //# sourceMappingURL=filter-published.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-published.js","sources":["../../../server/src/middlewares/filter-published.ts"],"sourcesContent":["import {\r\n AnyDocument,\r\n Middleware as DocumentMiddleware,\r\n} from \"@strapi/types/dist/modules/documents\";\r\n\r\nexport default async (\r\n context: DocumentMiddleware.Context,\r\n next: () => Promise<\r\n | number\r\n | AnyDocument\r\n | AnyDocument[]\r\n | { documentId: string; entries: AnyDocument[] }\r\n >\r\n) => {\r\n const uid = context.uid;\r\n if (!uid.includes(\"api::\")) {\r\n return next();\r\n }\r\n\r\n const params = context.params;\r\n if ((!params && !params[\"status\"]) || params[\"statusName\"]) return next();\r\n\r\n const unpublishedStatusLinks = await strapi.db\r\n .query(\"plugin::primershop-status-manager.status-link\")\r\n .findMany({\r\n populate: {\r\n status: true,\r\n },\r\n where: {\r\n targetUid: uid,\r\n status: {\r\n published: false,\r\n },\r\n },\r\n select: [\"targetDocumentId\"],\r\n });\r\n\r\n const unpublishedDocumentIds = unpublishedStatusLinks.map(\r\n (link) => link.targetDocumentId\r\n );\r\n\r\n context.params[\"filters\"] = {\r\n ...context.params[\"filters\"],\r\n documentId: { $notIn: unpublishedDocumentIds },\r\n };\r\n\r\n return next();\r\n};\r\n"],"names":["context","next","uid","includes","params","unpublishedStatusLinks","strapi","db","query","findMany","populate","status","where","targetUid","published","select","unpublishedDocumentIds","map","link","targetDocumentId","documentId","$notIn"],"mappings":";;AAKA,sBAAe,CAAA,OACbA,OAAAA,EACAC,IAAAA,GAAAA;IAOA,MAAMC,GAAAA,GAAMF,QAAQE,GAAG;AACvB,IAAA,IAAI,CAACA,GAAAA,CAAIC,QAAQ,CAAC,OAAA,CAAA,EAAU;QAC1B,OAAOF,IAAAA,EAAAA;AACT,IAAA;IAEA,MAAMG,MAAAA,GAASJ,QAAQI,MAAM;AAC7B,IAAA,IAAI,CAAEA,MAAAA,IAAU,CAACA,MAAM,CAAC,QAAA,CAAS,IAAKA,MAAM,CAAC,YAAA,CAAa,EAAE,OAAOH,IAAAA,EAAAA;IAEnE,MAAMI,sBAAAA,GAAyB,MAAMC,MAAAA,CAAOC,EAAE,CAC3CC,KAAK,CAAC,+CAAA,CAAA,CACNC,QAAQ,CAAC;QACRC,QAAAA,EAAU;YACRC,MAAAA,EAAQ;AACV,SAAA;QACAC,KAAAA,EAAO;YACLC,SAAAA,EAAWX,GAAAA;YACXS,MAAAA,EAAQ;gBACNG,SAAAA,EAAW;AACb;AACF,SAAA;QACAC,MAAAA,EAAQ;AAAC,YAAA;AAAmB;AAC9B,KAAA,CAAA;AAEF,IAAA,MAAMC,yBAAyBX,sBAAAA,CAAuBY,GAAG,CACvD,CAACC,IAAAA,GAASA,KAAKC,gBAAgB,CAAA;IAGjCnB,OAAAA,CAAQI,MAAM,CAAC,SAAA,CAAU,GAAG;QAC1B,GAAGJ,OAAAA,CAAQI,MAAM,CAAC,SAAA,CAAU;QAC5BgB,UAAAA,EAAY;YAAEC,MAAAA,EAAQL;AAAuB;AAC/C,KAAA;IAEA,OAAOf,IAAAA,EAAAA;AACT,CAAA;;;;"}
@@ -0,0 +1,33 @@
1
+ var filterPublished = (async (context, next)=>{
2
+ const uid = context.uid;
3
+ if (!uid.includes("api::")) {
4
+ return next();
5
+ }
6
+ const params = context.params;
7
+ if (!params && !params["status"] || params["statusName"]) return next();
8
+ const unpublishedStatusLinks = await strapi.db.query("plugin::primershop-status-manager.status-link").findMany({
9
+ populate: {
10
+ status: true
11
+ },
12
+ where: {
13
+ targetUid: uid,
14
+ status: {
15
+ published: false
16
+ }
17
+ },
18
+ select: [
19
+ "targetDocumentId"
20
+ ]
21
+ });
22
+ const unpublishedDocumentIds = unpublishedStatusLinks.map((link)=>link.targetDocumentId);
23
+ context.params["filters"] = {
24
+ ...context.params["filters"],
25
+ documentId: {
26
+ $notIn: unpublishedDocumentIds
27
+ }
28
+ };
29
+ return next();
30
+ });
31
+
32
+ export { filterPublished as default };
33
+ //# sourceMappingURL=filter-published.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-published.mjs","sources":["../../../server/src/middlewares/filter-published.ts"],"sourcesContent":["import {\r\n AnyDocument,\r\n Middleware as DocumentMiddleware,\r\n} from \"@strapi/types/dist/modules/documents\";\r\n\r\nexport default async (\r\n context: DocumentMiddleware.Context,\r\n next: () => Promise<\r\n | number\r\n | AnyDocument\r\n | AnyDocument[]\r\n | { documentId: string; entries: AnyDocument[] }\r\n >\r\n) => {\r\n const uid = context.uid;\r\n if (!uid.includes(\"api::\")) {\r\n return next();\r\n }\r\n\r\n const params = context.params;\r\n if ((!params && !params[\"status\"]) || params[\"statusName\"]) return next();\r\n\r\n const unpublishedStatusLinks = await strapi.db\r\n .query(\"plugin::primershop-status-manager.status-link\")\r\n .findMany({\r\n populate: {\r\n status: true,\r\n },\r\n where: {\r\n targetUid: uid,\r\n status: {\r\n published: false,\r\n },\r\n },\r\n select: [\"targetDocumentId\"],\r\n });\r\n\r\n const unpublishedDocumentIds = unpublishedStatusLinks.map(\r\n (link) => link.targetDocumentId\r\n );\r\n\r\n context.params[\"filters\"] = {\r\n ...context.params[\"filters\"],\r\n documentId: { $notIn: unpublishedDocumentIds },\r\n };\r\n\r\n return next();\r\n};\r\n"],"names":["context","next","uid","includes","params","unpublishedStatusLinks","strapi","db","query","findMany","populate","status","where","targetUid","published","select","unpublishedDocumentIds","map","link","targetDocumentId","documentId","$notIn"],"mappings":"AAKA,sBAAe,CAAA,OACbA,OAAAA,EACAC,IAAAA,GAAAA;IAOA,MAAMC,GAAAA,GAAMF,QAAQE,GAAG;AACvB,IAAA,IAAI,CAACA,GAAAA,CAAIC,QAAQ,CAAC,OAAA,CAAA,EAAU;QAC1B,OAAOF,IAAAA,EAAAA;AACT,IAAA;IAEA,MAAMG,MAAAA,GAASJ,QAAQI,MAAM;AAC7B,IAAA,IAAI,CAAEA,MAAAA,IAAU,CAACA,MAAM,CAAC,QAAA,CAAS,IAAKA,MAAM,CAAC,YAAA,CAAa,EAAE,OAAOH,IAAAA,EAAAA;IAEnE,MAAMI,sBAAAA,GAAyB,MAAMC,MAAAA,CAAOC,EAAE,CAC3CC,KAAK,CAAC,+CAAA,CAAA,CACNC,QAAQ,CAAC;QACRC,QAAAA,EAAU;YACRC,MAAAA,EAAQ;AACV,SAAA;QACAC,KAAAA,EAAO;YACLC,SAAAA,EAAWX,GAAAA;YACXS,MAAAA,EAAQ;gBACNG,SAAAA,EAAW;AACb;AACF,SAAA;QACAC,MAAAA,EAAQ;AAAC,YAAA;AAAmB;AAC9B,KAAA,CAAA;AAEF,IAAA,MAAMC,yBAAyBX,sBAAAA,CAAuBY,GAAG,CACvD,CAACC,IAAAA,GAASA,KAAKC,gBAAgB,CAAA;IAGjCnB,OAAAA,CAAQI,MAAM,CAAC,SAAA,CAAU,GAAG;QAC1B,GAAGJ,OAAAA,CAAQI,MAAM,CAAC,SAAA,CAAU;QAC5BgB,UAAAA,EAAY;YAAEC,MAAAA,EAAQL;AAAuB;AAC/C,KAAA;IAEA,OAAOf,IAAAA,EAAAA;AACT,CAAA;;;;"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var statusActions = {
4
+ actions: [
5
+ {
6
+ // Roles
7
+ section: "plugins",
8
+ displayName: "Create",
9
+ uid: "status.create",
10
+ subCategory: "status",
11
+ pluginName: "primershop-status-manager"
12
+ },
13
+ {
14
+ section: "plugins",
15
+ displayName: "Read",
16
+ uid: "status.read",
17
+ subCategory: "status",
18
+ pluginName: "primershop-status-manager",
19
+ aliases: [
20
+ {
21
+ actionId: "plugin::content-manager.explorer.read",
22
+ subjects: [
23
+ "plugin::primershop-status-manager.status"
24
+ ]
25
+ }
26
+ ]
27
+ },
28
+ {
29
+ section: "plugins",
30
+ displayName: "Update",
31
+ uid: "status.update",
32
+ subCategory: "status",
33
+ pluginName: "primershop-status-manager"
34
+ },
35
+ {
36
+ section: "plugins",
37
+ displayName: "Delete",
38
+ uid: "status.delete",
39
+ subCategory: "status",
40
+ pluginName: "primershop-status-manager"
41
+ }
42
+ ]
43
+ };
44
+
45
+ module.exports = statusActions;
46
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sources":["../../server/src/permissions.ts"],"sourcesContent":["export default {\r\n actions: [\r\n {\r\n // Roles\r\n section: \"plugins\",\r\n displayName: \"Create\",\r\n uid: \"status.create\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n },\r\n {\r\n section: \"plugins\",\r\n displayName: \"Read\",\r\n uid: \"status.read\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n aliases: [\r\n {\r\n actionId: \"plugin::content-manager.explorer.read\",\r\n subjects: [\"plugin::primershop-status-manager.status\"],\r\n },\r\n ],\r\n },\r\n {\r\n section: \"plugins\",\r\n displayName: \"Update\",\r\n uid: \"status.update\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n },\r\n {\r\n section: \"plugins\",\r\n displayName: \"Delete\",\r\n uid: \"status.delete\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n },\r\n ],\r\n};\r\n"],"names":["actions","section","displayName","uid","subCategory","pluginName","aliases","actionId","subjects"],"mappings":";;AAAA,oBAAe;IACbA,OAAAA,EAAS;AACP,QAAA;;YAEEC,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,QAAA;YACbC,GAAAA,EAAK,eAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY;AACd,SAAA;AACA,QAAA;YACEJ,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,MAAA;YACbC,GAAAA,EAAK,aAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY,2BAAA;YACZC,OAAAA,EAAS;AACP,gBAAA;oBACEC,QAAAA,EAAU,uCAAA;oBACVC,QAAAA,EAAU;AAAC,wBAAA;AAA2C;AACxD;AACD;AACH,SAAA;AACA,QAAA;YACEP,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,QAAA;YACbC,GAAAA,EAAK,eAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY;AACd,SAAA;AACA,QAAA;YACEJ,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,QAAA;YACbC,GAAAA,EAAK,eAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY;AACd;AACD;AACH,CAAA;;;;"}
@@ -0,0 +1,44 @@
1
+ var statusActions = {
2
+ actions: [
3
+ {
4
+ // Roles
5
+ section: "plugins",
6
+ displayName: "Create",
7
+ uid: "status.create",
8
+ subCategory: "status",
9
+ pluginName: "primershop-status-manager"
10
+ },
11
+ {
12
+ section: "plugins",
13
+ displayName: "Read",
14
+ uid: "status.read",
15
+ subCategory: "status",
16
+ pluginName: "primershop-status-manager",
17
+ aliases: [
18
+ {
19
+ actionId: "plugin::content-manager.explorer.read",
20
+ subjects: [
21
+ "plugin::primershop-status-manager.status"
22
+ ]
23
+ }
24
+ ]
25
+ },
26
+ {
27
+ section: "plugins",
28
+ displayName: "Update",
29
+ uid: "status.update",
30
+ subCategory: "status",
31
+ pluginName: "primershop-status-manager"
32
+ },
33
+ {
34
+ section: "plugins",
35
+ displayName: "Delete",
36
+ uid: "status.delete",
37
+ subCategory: "status",
38
+ pluginName: "primershop-status-manager"
39
+ }
40
+ ]
41
+ };
42
+
43
+ export { statusActions as default };
44
+ //# sourceMappingURL=permissions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.mjs","sources":["../../server/src/permissions.ts"],"sourcesContent":["export default {\r\n actions: [\r\n {\r\n // Roles\r\n section: \"plugins\",\r\n displayName: \"Create\",\r\n uid: \"status.create\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n },\r\n {\r\n section: \"plugins\",\r\n displayName: \"Read\",\r\n uid: \"status.read\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n aliases: [\r\n {\r\n actionId: \"plugin::content-manager.explorer.read\",\r\n subjects: [\"plugin::primershop-status-manager.status\"],\r\n },\r\n ],\r\n },\r\n {\r\n section: \"plugins\",\r\n displayName: \"Update\",\r\n uid: \"status.update\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n },\r\n {\r\n section: \"plugins\",\r\n displayName: \"Delete\",\r\n uid: \"status.delete\",\r\n subCategory: \"status\",\r\n pluginName: \"primershop-status-manager\",\r\n },\r\n ],\r\n};\r\n"],"names":["actions","section","displayName","uid","subCategory","pluginName","aliases","actionId","subjects"],"mappings":"AAAA,oBAAe;IACbA,OAAAA,EAAS;AACP,QAAA;;YAEEC,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,QAAA;YACbC,GAAAA,EAAK,eAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY;AACd,SAAA;AACA,QAAA;YACEJ,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,MAAA;YACbC,GAAAA,EAAK,aAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY,2BAAA;YACZC,OAAAA,EAAS;AACP,gBAAA;oBACEC,QAAAA,EAAU,uCAAA;oBACVC,QAAAA,EAAU;AAAC,wBAAA;AAA2C;AACxD;AACD;AACH,SAAA;AACA,QAAA;YACEP,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,QAAA;YACbC,GAAAA,EAAK,eAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY;AACd,SAAA;AACA,QAAA;YACEJ,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,QAAA;YACbC,GAAAA,EAAK,eAAA;YACLC,WAAAA,EAAa,QAAA;YACbC,UAAAA,EAAY;AACd;AACD;AACH,CAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const PLUGIN_ID = "primershop-status-manager";
4
+
5
+ exports.PLUGIN_ID = PLUGIN_ID;
6
+ //# sourceMappingURL=pluginId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginId.js","sources":["../../server/src/pluginId.ts"],"sourcesContent":["export const PLUGIN_ID = \"primershop-status-manager\";\r\n"],"names":["PLUGIN_ID"],"mappings":";;AAAO,MAAMA,YAAY;;;;"}
@@ -0,0 +1,4 @@
1
+ const PLUGIN_ID = "primershop-status-manager";
2
+
3
+ export { PLUGIN_ID };
4
+ //# sourceMappingURL=pluginId.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginId.mjs","sources":["../../server/src/pluginId.ts"],"sourcesContent":["export const PLUGIN_ID = \"primershop-status-manager\";\r\n"],"names":["PLUGIN_ID"],"mappings":"AAAO,MAAMA,YAAY;;;;"}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var pluginId = require('./pluginId.js');
4
+ var addStatusField = require('./middlewares/add-status-field.js');
5
+ var filterByStatus = require('./middlewares/filter-by-status.js');
6
+ var filterPublished = require('./middlewares/filter-published.js');
7
+
8
+ const register = ({ strapi })=>{
9
+ strapi.customFields.register({
10
+ name: "statusName",
11
+ plugin: pluginId.PLUGIN_ID,
12
+ type: "string"
13
+ });
14
+ // Register permissions
15
+ strapi.admin.services.permission.actionProvider.register({
16
+ section: "plugins",
17
+ displayName: "Status Manager",
18
+ uid: pluginId.PLUGIN_ID,
19
+ pluginName: pluginId.PLUGIN_ID
20
+ });
21
+ strapi.documents.use(filterByStatus);
22
+ strapi.documents.use(addStatusField);
23
+ strapi.documents.use(filterPublished);
24
+ };
25
+
26
+ exports.register = register;
27
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sources":["../../server/src/register.ts"],"sourcesContent":["import { PLUGIN_ID } from \"./pluginId\";\r\nimport type { Core } from \"@strapi/strapi\";\r\nimport addStatusField from \"./middlewares/add-status-field\";\r\nimport filterByStatus from \"./middlewares/filter-by-status\";\r\nimport filterPublished from \"./middlewares/filter-published\";\r\n\r\n\r\n\r\nexport const register = ({ strapi }: { strapi: Core.Strapi }): void => {\r\n strapi.customFields.register({\r\n name: \"statusName\",\r\n plugin: PLUGIN_ID,\r\n type: \"string\",\r\n });\r\n // Register permissions\r\n strapi.admin.services.permission.actionProvider.register({\r\n section: \"plugins\",\r\n displayName: \"Status Manager\",\r\n uid: PLUGIN_ID,\r\n pluginName: PLUGIN_ID,\r\n });\r\n\r\n strapi.documents.use(filterByStatus);\r\n strapi.documents.use(addStatusField);\r\n strapi.documents.use(filterPublished);\r\n};\r\n"],"names":["register","strapi","customFields","name","plugin","PLUGIN_ID","type","admin","services","permission","actionProvider","section","displayName","uid","pluginName","documents","use","filterByStatus","addStatusField","filterPublished"],"mappings":";;;;;;;AAQO,MAAMA,QAAAA,GAAW,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAC1DA,MAAAA,CAAOC,YAAY,CAACF,QAAQ,CAAC;QAC3BG,IAAAA,EAAM,YAAA;QACNC,MAAAA,EAAQC,kBAAAA;QACRC,IAAAA,EAAM;AACR,KAAA,CAAA;;IAEAL,MAAAA,CAAOM,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACC,cAAc,CAACV,QAAQ,CAAC;QACvDW,OAAAA,EAAS,SAAA;QACTC,WAAAA,EAAa,gBAAA;QACbC,GAAAA,EAAKR,kBAAAA;QACLS,UAAAA,EAAYT;AACd,KAAA,CAAA;IAEAJ,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACC,cAAAA,CAAAA;IACrBhB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACE,cAAAA,CAAAA;IACrBjB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACG,eAAAA,CAAAA;AACvB;;;;"}
@@ -0,0 +1,25 @@
1
+ import { PLUGIN_ID } from './pluginId.mjs';
2
+ import addStatusField from './middlewares/add-status-field.mjs';
3
+ import filterByStatus from './middlewares/filter-by-status.mjs';
4
+ import filterPublished from './middlewares/filter-published.mjs';
5
+
6
+ const register = ({ strapi })=>{
7
+ strapi.customFields.register({
8
+ name: "statusName",
9
+ plugin: PLUGIN_ID,
10
+ type: "string"
11
+ });
12
+ // Register permissions
13
+ strapi.admin.services.permission.actionProvider.register({
14
+ section: "plugins",
15
+ displayName: "Status Manager",
16
+ uid: PLUGIN_ID,
17
+ pluginName: PLUGIN_ID
18
+ });
19
+ strapi.documents.use(filterByStatus);
20
+ strapi.documents.use(addStatusField);
21
+ strapi.documents.use(filterPublished);
22
+ };
23
+
24
+ export { register };
25
+ //# sourceMappingURL=register.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.mjs","sources":["../../server/src/register.ts"],"sourcesContent":["import { PLUGIN_ID } from \"./pluginId\";\r\nimport type { Core } from \"@strapi/strapi\";\r\nimport addStatusField from \"./middlewares/add-status-field\";\r\nimport filterByStatus from \"./middlewares/filter-by-status\";\r\nimport filterPublished from \"./middlewares/filter-published\";\r\n\r\n\r\n\r\nexport const register = ({ strapi }: { strapi: Core.Strapi }): void => {\r\n strapi.customFields.register({\r\n name: \"statusName\",\r\n plugin: PLUGIN_ID,\r\n type: \"string\",\r\n });\r\n // Register permissions\r\n strapi.admin.services.permission.actionProvider.register({\r\n section: \"plugins\",\r\n displayName: \"Status Manager\",\r\n uid: PLUGIN_ID,\r\n pluginName: PLUGIN_ID,\r\n });\r\n\r\n strapi.documents.use(filterByStatus);\r\n strapi.documents.use(addStatusField);\r\n strapi.documents.use(filterPublished);\r\n};\r\n"],"names":["register","strapi","customFields","name","plugin","PLUGIN_ID","type","admin","services","permission","actionProvider","section","displayName","uid","pluginName","documents","use","filterByStatus","addStatusField","filterPublished"],"mappings":";;;;;AAQO,MAAMA,QAAAA,GAAW,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAC1DA,MAAAA,CAAOC,YAAY,CAACF,QAAQ,CAAC;QAC3BG,IAAAA,EAAM,YAAA;QACNC,MAAAA,EAAQC,SAAAA;QACRC,IAAAA,EAAM;AACR,KAAA,CAAA;;IAEAL,MAAAA,CAAOM,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACC,cAAc,CAACV,QAAQ,CAAC;QACvDW,OAAAA,EAAS,SAAA;QACTC,WAAAA,EAAa,gBAAA;QACbC,GAAAA,EAAKR,SAAAA;QACLS,UAAAA,EAAYT;AACd,KAAA,CAAA;IAEAJ,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACC,cAAAA,CAAAA;IACrBhB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACE,cAAAA,CAAAA;IACrBjB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACG,eAAAA,CAAAA;AACvB;;;;"}
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var contentManagement = [
4
+ {
5
+ method: "GET",
6
+ path: "/content-status",
7
+ handler: "content_controller.getStatusForTarget",
8
+ config: {
9
+ policies: [
10
+ {
11
+ name: "admin::hasPermissions",
12
+ config: {
13
+ actions: [
14
+ "plugin::primershop-status-manager.status.read"
15
+ ]
16
+ }
17
+ }
18
+ ]
19
+ }
20
+ },
21
+ {
22
+ method: "PUT",
23
+ path: "/content-status",
24
+ handler: "content_controller.setStatusForTarget",
25
+ config: {
26
+ policies: [
27
+ {
28
+ name: "admin::hasPermissions",
29
+ config: {
30
+ actions: [
31
+ "plugin::primershop-status-manager.status.update"
32
+ ]
33
+ }
34
+ }
35
+ ]
36
+ }
37
+ }
38
+ ];
39
+
40
+ module.exports = contentManagement;
41
+ //# sourceMappingURL=content-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-management.js","sources":["../../../server/src/routes/content-management.ts"],"sourcesContent":["export default [\r\n {\r\n method: \"GET\",\r\n path: \"/content-status\",\r\n handler: \"content_controller.getStatusForTarget\",\r\n config: {\r\n policies: [\r\n {\r\n name: \"admin::hasPermissions\",\r\n config: {\r\n actions: [\"plugin::primershop-status-manager.status.read\"],\r\n },\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n method: \"PUT\",\r\n path: \"/content-status\",\r\n handler: \"content_controller.setStatusForTarget\",\r\n config: {\r\n policies: [\r\n {\r\n name: \"admin::hasPermissions\",\r\n config: {\r\n actions: [\"plugin::primershop-status-manager.status.update\"],\r\n },\r\n },\r\n ],\r\n },\r\n },\r\n];\r\n"],"names":["method","path","handler","config","policies","name","actions"],"mappings":";;AAAA,wBAAe;AACb,IAAA;QACEA,MAAAA,EAAQ,KAAA;QACRC,IAAAA,EAAM,iBAAA;QACNC,OAAAA,EAAS,uCAAA;QACTC,MAAAA,EAAQ;YACNC,QAAAA,EAAU;AACR,gBAAA;oBACEC,IAAAA,EAAM,uBAAA;oBACNF,MAAAA,EAAQ;wBACNG,OAAAA,EAAS;AAAC,4BAAA;AAAgD;AAC5D;AACF;AACD;AACH;AACF,KAAA;AACA,IAAA;QACEN,MAAAA,EAAQ,KAAA;QACRC,IAAAA,EAAM,iBAAA;QACNC,OAAAA,EAAS,uCAAA;QACTC,MAAAA,EAAQ;YACNC,QAAAA,EAAU;AACR,gBAAA;oBACEC,IAAAA,EAAM,uBAAA;oBACNF,MAAAA,EAAQ;wBACNG,OAAAA,EAAS;AAAC,4BAAA;AAAkD;AAC9D;AACF;AACD;AACH;AACF;CACD;;;;"}
@@ -0,0 +1,39 @@
1
+ var contentManagement = [
2
+ {
3
+ method: "GET",
4
+ path: "/content-status",
5
+ handler: "content_controller.getStatusForTarget",
6
+ config: {
7
+ policies: [
8
+ {
9
+ name: "admin::hasPermissions",
10
+ config: {
11
+ actions: [
12
+ "plugin::primershop-status-manager.status.read"
13
+ ]
14
+ }
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ method: "PUT",
21
+ path: "/content-status",
22
+ handler: "content_controller.setStatusForTarget",
23
+ config: {
24
+ policies: [
25
+ {
26
+ name: "admin::hasPermissions",
27
+ config: {
28
+ actions: [
29
+ "plugin::primershop-status-manager.status.update"
30
+ ]
31
+ }
32
+ }
33
+ ]
34
+ }
35
+ }
36
+ ];
37
+
38
+ export { contentManagement as default };
39
+ //# sourceMappingURL=content-management.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-management.mjs","sources":["../../../server/src/routes/content-management.ts"],"sourcesContent":["export default [\r\n {\r\n method: \"GET\",\r\n path: \"/content-status\",\r\n handler: \"content_controller.getStatusForTarget\",\r\n config: {\r\n policies: [\r\n {\r\n name: \"admin::hasPermissions\",\r\n config: {\r\n actions: [\"plugin::primershop-status-manager.status.read\"],\r\n },\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n method: \"PUT\",\r\n path: \"/content-status\",\r\n handler: \"content_controller.setStatusForTarget\",\r\n config: {\r\n policies: [\r\n {\r\n name: \"admin::hasPermissions\",\r\n config: {\r\n actions: [\"plugin::primershop-status-manager.status.update\"],\r\n },\r\n },\r\n ],\r\n },\r\n },\r\n];\r\n"],"names":["method","path","handler","config","policies","name","actions"],"mappings":"AAAA,wBAAe;AACb,IAAA;QACEA,MAAAA,EAAQ,KAAA;QACRC,IAAAA,EAAM,iBAAA;QACNC,OAAAA,EAAS,uCAAA;QACTC,MAAAA,EAAQ;YACNC,QAAAA,EAAU;AACR,gBAAA;oBACEC,IAAAA,EAAM,uBAAA;oBACNF,MAAAA,EAAQ;wBACNG,OAAAA,EAAS;AAAC,4BAAA;AAAgD;AAC5D;AACF;AACD;AACH;AACF,KAAA;AACA,IAAA;QACEN,MAAAA,EAAQ,KAAA;QACRC,IAAAA,EAAM,iBAAA;QACNC,OAAAA,EAAS,uCAAA;QACTC,MAAAA,EAAQ;YACNC,QAAAA,EAAU;AACR,gBAAA;oBACEC,IAAAA,EAAM,uBAAA;oBACNF,MAAAA,EAAQ;wBACNG,OAAAA,EAAS;AAAC,4BAAA;AAAkD;AAC9D;AACF;AACD;AACH;AACF;CACD;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var statusManagement = require('./status-management.js');
4
+ var contentManagement = require('./content-management.js');
5
+
6
+ const routes = {
7
+ admin: {
8
+ type: "admin",
9
+ routes: [
10
+ ...statusManagement,
11
+ ...contentManagement
12
+ ]
13
+ }
14
+ };
15
+
16
+ exports.routes = routes;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import statusManagement from \"./status-management\";\r\nimport contentManagement from \"./content-management\";\r\n\r\nconst routes = {\r\n admin: {\r\n type: \"admin\",\r\n routes: [...statusManagement, ...contentManagement],\r\n },\r\n};\r\n\r\nexport { routes };\r\n"],"names":["routes","admin","type","statusManagement","contentManagement"],"mappings":";;;;;AAGA,MAAMA,MAAAA,GAAS;IACbC,KAAAA,EAAO;QACLC,IAAAA,EAAM,OAAA;QACNF,MAAAA,EAAQ;AAAIG,YAAAA,GAAAA,gBAAAA;AAAqBC,YAAAA,GAAAA;AAAkB;AACrD;AACF;;;;"}
@@ -0,0 +1,15 @@
1
+ import statusManagement from './status-management.mjs';
2
+ import contentManagement from './content-management.mjs';
3
+
4
+ const routes = {
5
+ admin: {
6
+ type: "admin",
7
+ routes: [
8
+ ...statusManagement,
9
+ ...contentManagement
10
+ ]
11
+ }
12
+ };
13
+
14
+ export { routes };
15
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import statusManagement from \"./status-management\";\r\nimport contentManagement from \"./content-management\";\r\n\r\nconst routes = {\r\n admin: {\r\n type: \"admin\",\r\n routes: [...statusManagement, ...contentManagement],\r\n },\r\n};\r\n\r\nexport { routes };\r\n"],"names":["routes","admin","type","statusManagement","contentManagement"],"mappings":";;;AAGA,MAAMA,MAAAA,GAAS;IACbC,KAAAA,EAAO;QACLC,IAAAA,EAAM,OAAA;QACNF,MAAAA,EAAQ;AAAIG,YAAAA,GAAAA,gBAAAA;AAAqBC,YAAAA,GAAAA;AAAkB;AACrD;AACF;;;;"}
@@ -0,0 +1,122 @@
1
+ 'use strict';
2
+
3
+ var statusManagement = [
4
+ {
5
+ method: "GET",
6
+ path: "/statuses",
7
+ handler: "status_controller.listStatuses",
8
+ config: {
9
+ policies: [
10
+ {
11
+ name: "admin::hasPermissions",
12
+ config: {
13
+ actions: [
14
+ "plugin::primershop-status-manager.status.read"
15
+ ]
16
+ }
17
+ }
18
+ ]
19
+ },
20
+ description: "Get all statuses",
21
+ tag: {
22
+ plugin: "primershop-status-manager",
23
+ name: "statuses",
24
+ actionType: "findMany"
25
+ }
26
+ },
27
+ {
28
+ method: "POST",
29
+ path: "/status",
30
+ handler: "status_controller.create",
31
+ config: {
32
+ policies: [
33
+ {
34
+ name: "admin::hasPermissions",
35
+ config: {
36
+ actions: [
37
+ "plugin::primershop-status-manager.status.create"
38
+ ]
39
+ }
40
+ }
41
+ ]
42
+ },
43
+ description: "Create a new status",
44
+ tag: {
45
+ plugin: "primershop-status-manager",
46
+ name: "Status",
47
+ actionType: "create"
48
+ }
49
+ },
50
+ {
51
+ method: "PUT",
52
+ path: "/statuses/reorder",
53
+ handler: "status_controller.reorder",
54
+ config: {
55
+ policies: [
56
+ {
57
+ name: "admin::hasPermissions",
58
+ config: {
59
+ actions: [
60
+ "plugin::primershop-status-manager.status.update"
61
+ ]
62
+ }
63
+ }
64
+ ],
65
+ description: "Reorder statuses",
66
+ tag: {
67
+ plugin: "primershop-status-manager",
68
+ name: "Status",
69
+ actionType: "update"
70
+ }
71
+ }
72
+ },
73
+ {
74
+ method: "PUT",
75
+ path: "/statuses/delete",
76
+ handler: "status_controller.delete",
77
+ config: {
78
+ policies: [
79
+ {
80
+ name: "admin::hasPermissions",
81
+ config: {
82
+ actions: [
83
+ "plugin::primershop-status-manager.status.delete"
84
+ ]
85
+ }
86
+ }
87
+ ],
88
+ description: "Delete a status",
89
+ tag: {
90
+ plugin: "primershop-status-manager",
91
+ name: "Status",
92
+ actionType: "delete"
93
+ }
94
+ }
95
+ },
96
+ {
97
+ method: "PUT",
98
+ path: "/statuses/:id",
99
+ handler: "status_controller.publish",
100
+ config: {
101
+ policies: [
102
+ {
103
+ name: "admin::hasPermissions",
104
+ config: {
105
+ actions: [
106
+ "plugin::primershop-status-manager.status.update"
107
+ ]
108
+ }
109
+ }
110
+ ],
111
+ description: "Update status publish state",
112
+ tag: {
113
+ plugin: "primershop-status-manager",
114
+ name: "Status",
115
+ actionType: "update"
116
+ }
117
+ }
118
+ }
119
+ ];
120
+
121
+ module.exports = statusManagement;
122
+ //# sourceMappingURL=status-management.js.map