@strapi/content-releases 5.12.1 → 5.12.2

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 (259) hide show
  1. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
  2. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
  3. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
  4. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
  5. package/dist/admin/assets/purchase-page-illustration-light.svg.js +6 -0
  6. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
  7. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +4 -0
  8. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
  9. package/dist/admin/components/EntryValidationPopover.js +344 -0
  10. package/dist/admin/components/EntryValidationPopover.js.map +1 -0
  11. package/dist/admin/components/EntryValidationPopover.mjs +342 -0
  12. package/dist/admin/components/EntryValidationPopover.mjs.map +1 -0
  13. package/dist/admin/components/RelativeTime.js +76 -0
  14. package/dist/admin/components/RelativeTime.js.map +1 -0
  15. package/dist/admin/components/RelativeTime.mjs +55 -0
  16. package/dist/admin/components/RelativeTime.mjs.map +1 -0
  17. package/dist/admin/components/ReleaseAction.js +201 -0
  18. package/dist/admin/components/ReleaseAction.js.map +1 -0
  19. package/dist/admin/components/ReleaseAction.mjs +199 -0
  20. package/dist/admin/components/ReleaseAction.mjs.map +1 -0
  21. package/dist/admin/components/ReleaseActionMenu.js +243 -0
  22. package/dist/admin/components/ReleaseActionMenu.js.map +1 -0
  23. package/dist/admin/components/ReleaseActionMenu.mjs +222 -0
  24. package/dist/admin/components/ReleaseActionMenu.mjs.map +1 -0
  25. package/dist/admin/components/ReleaseActionModal.js +268 -0
  26. package/dist/admin/components/ReleaseActionModal.js.map +1 -0
  27. package/dist/admin/components/ReleaseActionModal.mjs +244 -0
  28. package/dist/admin/components/ReleaseActionModal.mjs.map +1 -0
  29. package/dist/admin/components/ReleaseActionOptions.js +104 -0
  30. package/dist/admin/components/ReleaseActionOptions.js.map +1 -0
  31. package/dist/admin/components/ReleaseActionOptions.mjs +102 -0
  32. package/dist/admin/components/ReleaseActionOptions.mjs.map +1 -0
  33. package/dist/admin/components/ReleaseListCell.js +103 -0
  34. package/dist/admin/components/ReleaseListCell.js.map +1 -0
  35. package/dist/admin/components/ReleaseListCell.mjs +100 -0
  36. package/dist/admin/components/ReleaseListCell.mjs.map +1 -0
  37. package/dist/admin/components/ReleaseModal.js +323 -0
  38. package/dist/admin/components/ReleaseModal.js.map +1 -0
  39. package/dist/admin/components/ReleaseModal.mjs +302 -0
  40. package/dist/admin/components/ReleaseModal.mjs.map +1 -0
  41. package/dist/admin/components/ReleasesPanel.js +138 -0
  42. package/dist/admin/components/ReleasesPanel.js.map +1 -0
  43. package/dist/admin/components/ReleasesPanel.mjs +136 -0
  44. package/dist/admin/components/ReleasesPanel.mjs.map +1 -0
  45. package/dist/admin/constants.js +77 -0
  46. package/dist/admin/constants.js.map +1 -0
  47. package/dist/admin/constants.mjs +75 -0
  48. package/dist/admin/constants.mjs.map +1 -0
  49. package/dist/admin/index.js +120 -14
  50. package/dist/admin/index.js.map +1 -1
  51. package/dist/admin/index.mjs +121 -13
  52. package/dist/admin/index.mjs.map +1 -1
  53. package/dist/admin/{chunks/hooks-DA5VbUAp.js → modules/hooks.js} +1 -1
  54. package/dist/admin/modules/hooks.js.map +1 -0
  55. package/dist/admin/{chunks/hooks-CFk_8Q0b.mjs → modules/hooks.mjs} +2 -2
  56. package/dist/admin/modules/hooks.mjs.map +1 -0
  57. package/dist/admin/pages/App.js +29 -0
  58. package/dist/admin/pages/App.js.map +1 -0
  59. package/dist/admin/pages/App.mjs +27 -0
  60. package/dist/admin/pages/App.mjs.map +1 -0
  61. package/dist/admin/pages/PurchaseContentReleases.js +192 -0
  62. package/dist/admin/pages/PurchaseContentReleases.js.map +1 -0
  63. package/dist/admin/pages/PurchaseContentReleases.mjs +190 -0
  64. package/dist/admin/pages/PurchaseContentReleases.mjs.map +1 -0
  65. package/dist/admin/pages/ReleaseDetailsPage.js +821 -0
  66. package/dist/admin/pages/ReleaseDetailsPage.js.map +1 -0
  67. package/dist/admin/pages/ReleaseDetailsPage.mjs +800 -0
  68. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +1 -0
  69. package/dist/admin/pages/ReleasesPage.js +397 -0
  70. package/dist/admin/pages/ReleasesPage.js.map +1 -0
  71. package/dist/admin/pages/ReleasesPage.mjs +375 -0
  72. package/dist/admin/pages/ReleasesPage.mjs.map +1 -0
  73. package/dist/admin/{chunks/ReleasesSettingsPage-KRcoI1bC.js → pages/ReleasesSettingsPage.js} +9 -17
  74. package/dist/admin/pages/ReleasesSettingsPage.js.map +1 -0
  75. package/dist/admin/{chunks/ReleasesSettingsPage-DUKdFdvx.mjs → pages/ReleasesSettingsPage.mjs} +5 -13
  76. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +1 -0
  77. package/dist/admin/pluginId.js +6 -0
  78. package/dist/admin/pluginId.js.map +1 -0
  79. package/dist/admin/pluginId.mjs +4 -0
  80. package/dist/admin/pluginId.mjs.map +1 -0
  81. package/dist/admin/services/release.js +464 -0
  82. package/dist/admin/services/release.js.map +1 -0
  83. package/dist/admin/services/release.mjs +447 -0
  84. package/dist/admin/services/release.mjs.map +1 -0
  85. package/dist/admin/store/hooks.js +8 -0
  86. package/dist/admin/store/hooks.js.map +1 -0
  87. package/dist/admin/store/hooks.mjs +6 -0
  88. package/dist/admin/store/hooks.mjs.map +1 -0
  89. package/dist/admin/{chunks/en-BOpqX2t_.js → translations/en.json.js} +2 -2
  90. package/dist/admin/translations/en.json.js.map +1 -0
  91. package/dist/admin/{chunks/en-aQo8Bn_U.mjs → translations/en.json.mjs} +1 -1
  92. package/dist/admin/translations/en.json.mjs.map +1 -0
  93. package/dist/admin/{chunks/uk-9T9su-bj.js → translations/uk.json.js} +2 -2
  94. package/dist/admin/translations/uk.json.js.map +1 -0
  95. package/dist/admin/{chunks/uk-Bp9HotPq.mjs → translations/uk.json.mjs} +1 -1
  96. package/dist/admin/translations/uk.json.mjs.map +1 -0
  97. package/dist/admin/utils/api.js +8 -0
  98. package/dist/admin/utils/api.js.map +1 -0
  99. package/dist/admin/utils/api.mjs +6 -0
  100. package/dist/admin/utils/api.mjs.map +1 -0
  101. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  102. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  103. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  104. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  105. package/dist/admin/utils/time.js +42 -0
  106. package/dist/admin/utils/time.js.map +1 -0
  107. package/dist/admin/utils/time.mjs +39 -0
  108. package/dist/admin/utils/time.mjs.map +1 -0
  109. package/dist/admin/{chunks/schemas-DS7NeFDN.js → validation/schemas.js} +1 -1
  110. package/dist/admin/validation/schemas.js.map +1 -0
  111. package/dist/admin/{chunks/schemas-DMt8h1z-.mjs → validation/schemas.mjs} +2 -2
  112. package/dist/admin/validation/schemas.mjs.map +1 -0
  113. package/dist/server/bootstrap.js +68 -0
  114. package/dist/server/bootstrap.js.map +1 -0
  115. package/dist/server/bootstrap.mjs +66 -0
  116. package/dist/server/bootstrap.mjs.map +1 -0
  117. package/dist/server/constants.js +74 -0
  118. package/dist/server/constants.js.map +1 -0
  119. package/dist/server/constants.mjs +69 -0
  120. package/dist/server/constants.mjs.map +1 -0
  121. package/dist/server/content-types/index.js +12 -0
  122. package/dist/server/content-types/index.js.map +1 -0
  123. package/dist/server/content-types/index.mjs +10 -0
  124. package/dist/server/content-types/index.mjs.map +1 -0
  125. package/dist/server/content-types/release/index.js +10 -0
  126. package/dist/server/content-types/release/index.js.map +1 -0
  127. package/dist/server/content-types/release/index.mjs +8 -0
  128. package/dist/server/content-types/release/index.mjs.map +1 -0
  129. package/dist/server/content-types/release/schema.js +58 -0
  130. package/dist/server/content-types/release/schema.js.map +1 -0
  131. package/dist/server/content-types/release/schema.mjs +56 -0
  132. package/dist/server/content-types/release/schema.mjs.map +1 -0
  133. package/dist/server/content-types/release-action/index.js +10 -0
  134. package/dist/server/content-types/release-action/index.js.map +1 -0
  135. package/dist/server/content-types/release-action/index.mjs +8 -0
  136. package/dist/server/content-types/release-action/index.mjs.map +1 -0
  137. package/dist/server/content-types/release-action/schema.js +55 -0
  138. package/dist/server/content-types/release-action/schema.js.map +1 -0
  139. package/dist/server/content-types/release-action/schema.mjs +53 -0
  140. package/dist/server/content-types/release-action/schema.mjs.map +1 -0
  141. package/dist/server/controllers/index.js +14 -0
  142. package/dist/server/controllers/index.js.map +1 -0
  143. package/dist/server/controllers/index.mjs +12 -0
  144. package/dist/server/controllers/index.mjs.map +1 -0
  145. package/dist/server/controllers/release-action.js +150 -0
  146. package/dist/server/controllers/release-action.js.map +1 -0
  147. package/dist/server/controllers/release-action.mjs +148 -0
  148. package/dist/server/controllers/release-action.mjs.map +1 -0
  149. package/dist/server/controllers/release.js +302 -0
  150. package/dist/server/controllers/release.js.map +1 -0
  151. package/dist/server/controllers/release.mjs +300 -0
  152. package/dist/server/controllers/release.mjs.map +1 -0
  153. package/dist/server/controllers/settings.js +37 -0
  154. package/dist/server/controllers/settings.js.map +1 -0
  155. package/dist/server/controllers/settings.mjs +35 -0
  156. package/dist/server/controllers/settings.mjs.map +1 -0
  157. package/dist/server/controllers/validation/release-action.js +34 -0
  158. package/dist/server/controllers/validation/release-action.js.map +1 -0
  159. package/dist/server/controllers/validation/release-action.mjs +30 -0
  160. package/dist/server/controllers/validation/release-action.mjs.map +1 -0
  161. package/dist/server/controllers/validation/release.js +26 -0
  162. package/dist/server/controllers/validation/release.js.map +1 -0
  163. package/dist/server/controllers/validation/release.mjs +22 -0
  164. package/dist/server/controllers/validation/release.mjs.map +1 -0
  165. package/dist/server/controllers/validation/settings.js +32 -0
  166. package/dist/server/controllers/validation/settings.js.map +1 -0
  167. package/dist/server/controllers/validation/settings.mjs +10 -0
  168. package/dist/server/controllers/validation/settings.mjs.map +1 -0
  169. package/dist/server/destroy.js +15 -0
  170. package/dist/server/destroy.js.map +1 -0
  171. package/dist/server/destroy.mjs +13 -0
  172. package/dist/server/destroy.mjs.map +1 -0
  173. package/dist/server/index.js +16 -2336
  174. package/dist/server/index.js.map +1 -1
  175. package/dist/server/index.mjs +7 -2308
  176. package/dist/server/index.mjs.map +1 -1
  177. package/dist/server/middlewares/documents.js +104 -0
  178. package/dist/server/middlewares/documents.js.map +1 -0
  179. package/dist/server/middlewares/documents.mjs +101 -0
  180. package/dist/server/middlewares/documents.mjs.map +1 -0
  181. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +51 -0
  182. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +1 -0
  183. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +49 -0
  184. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +1 -0
  185. package/dist/server/migrations/index.js +205 -0
  186. package/dist/server/migrations/index.js.map +1 -0
  187. package/dist/server/migrations/index.mjs +198 -0
  188. package/dist/server/migrations/index.mjs.map +1 -0
  189. package/dist/server/register.js +23 -0
  190. package/dist/server/register.js.map +1 -0
  191. package/dist/server/register.mjs +21 -0
  192. package/dist/server/register.mjs.map +1 -0
  193. package/dist/server/routes/index.js +14 -0
  194. package/dist/server/routes/index.js.map +1 -0
  195. package/dist/server/routes/index.mjs +12 -0
  196. package/dist/server/routes/index.mjs.map +1 -0
  197. package/dist/server/routes/release-action.js +100 -0
  198. package/dist/server/routes/release-action.js.map +1 -0
  199. package/dist/server/routes/release-action.mjs +98 -0
  200. package/dist/server/routes/release-action.mjs.map +1 -0
  201. package/dist/server/routes/release.js +154 -0
  202. package/dist/server/routes/release.js.map +1 -0
  203. package/dist/server/routes/release.mjs +152 -0
  204. package/dist/server/routes/release.mjs.map +1 -0
  205. package/dist/server/routes/settings.js +46 -0
  206. package/dist/server/routes/settings.js.map +1 -0
  207. package/dist/server/routes/settings.mjs +44 -0
  208. package/dist/server/routes/settings.mjs.map +1 -0
  209. package/dist/server/services/index.js +18 -0
  210. package/dist/server/services/index.js.map +1 -0
  211. package/dist/server/services/index.mjs +16 -0
  212. package/dist/server/services/index.mjs.map +1 -0
  213. package/dist/server/services/release-action.js +323 -0
  214. package/dist/server/services/release-action.js.map +1 -0
  215. package/dist/server/services/release-action.mjs +321 -0
  216. package/dist/server/services/release-action.mjs.map +1 -0
  217. package/dist/server/services/release.js +324 -0
  218. package/dist/server/services/release.js.map +1 -0
  219. package/dist/server/services/release.mjs +322 -0
  220. package/dist/server/services/release.mjs.map +1 -0
  221. package/dist/server/services/scheduling.js +70 -0
  222. package/dist/server/services/scheduling.js.map +1 -0
  223. package/dist/server/services/scheduling.mjs +68 -0
  224. package/dist/server/services/scheduling.mjs.map +1 -0
  225. package/dist/server/services/settings.js +34 -0
  226. package/dist/server/services/settings.js.map +1 -0
  227. package/dist/server/services/settings.mjs +32 -0
  228. package/dist/server/services/settings.mjs.map +1 -0
  229. package/dist/server/services/validation.js +91 -0
  230. package/dist/server/services/validation.js.map +1 -0
  231. package/dist/server/services/validation.mjs +86 -0
  232. package/dist/server/services/validation.mjs.map +1 -0
  233. package/dist/server/utils/index.js +93 -0
  234. package/dist/server/utils/index.js.map +1 -0
  235. package/dist/server/utils/index.mjs +87 -0
  236. package/dist/server/utils/index.mjs.map +1 -0
  237. package/package.json +7 -7
  238. package/dist/admin/chunks/App-BkWgp5q_.mjs +0 -1845
  239. package/dist/admin/chunks/App-BkWgp5q_.mjs.map +0 -1
  240. package/dist/admin/chunks/App-CJiqPP7-.js +0 -1866
  241. package/dist/admin/chunks/App-CJiqPP7-.js.map +0 -1
  242. package/dist/admin/chunks/PurchaseContentReleases-CzayeVUD.mjs +0 -193
  243. package/dist/admin/chunks/PurchaseContentReleases-CzayeVUD.mjs.map +0 -1
  244. package/dist/admin/chunks/PurchaseContentReleases-Z9uEPb5b.js +0 -195
  245. package/dist/admin/chunks/PurchaseContentReleases-Z9uEPb5b.js.map +0 -1
  246. package/dist/admin/chunks/ReleasesSettingsPage-DUKdFdvx.mjs.map +0 -1
  247. package/dist/admin/chunks/ReleasesSettingsPage-KRcoI1bC.js.map +0 -1
  248. package/dist/admin/chunks/en-BOpqX2t_.js.map +0 -1
  249. package/dist/admin/chunks/en-aQo8Bn_U.mjs.map +0 -1
  250. package/dist/admin/chunks/hooks-CFk_8Q0b.mjs.map +0 -1
  251. package/dist/admin/chunks/hooks-DA5VbUAp.js.map +0 -1
  252. package/dist/admin/chunks/index-DBUaMD56.mjs +0 -1619
  253. package/dist/admin/chunks/index-DBUaMD56.mjs.map +0 -1
  254. package/dist/admin/chunks/index-vjWrvGN3.js +0 -1658
  255. package/dist/admin/chunks/index-vjWrvGN3.js.map +0 -1
  256. package/dist/admin/chunks/schemas-DMt8h1z-.mjs.map +0 -1
  257. package/dist/admin/chunks/schemas-DS7NeFDN.js.map +0 -1
  258. package/dist/admin/chunks/uk-9T9su-bj.js.map +0 -1
  259. package/dist/admin/chunks/uk-Bp9HotPq.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.mjs","sources":["../../../server/src/controllers/release.ts"],"sourcesContent":["import type Koa from 'koa';\nimport { errors } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\nimport { RELEASE_MODEL_UID } from '../constants';\nimport { validateRelease, validatefindByDocumentAttachedParams } from './validation/release';\nimport type {\n CreateRelease,\n UpdateRelease,\n PublishRelease,\n GetRelease,\n Release,\n DeleteRelease,\n GetReleases,\n MapEntriesToReleases,\n} from '../../../shared/contracts/releases';\nimport type { UserInfo } from '../../../shared/types';\nimport { getService } from '../utils';\n\ntype ReleaseWithPopulatedActions = Release & { actions: { count: number } };\n\nconst releaseController = {\n /**\n * Find releases based on documents attached or not to the release.\n * If `hasEntryAttached` is true, it will return all releases that have the entry attached.\n * If `hasEntryAttached` is false, it will return all releases that don't have the entry attached.\n */\n async findByDocumentAttached(ctx: Koa.Context) {\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: RELEASE_MODEL_UID,\n });\n await permissionsManager.validateQuery(ctx.query);\n const releaseService = getService('release', { strapi });\n const query = await permissionsManager.sanitizeQuery(ctx.query);\n\n await validatefindByDocumentAttachedParams(query);\n\n // If entry is a singleType, we need to manually add the entryDocumentId to the query\n const model = strapi.getModel(query.contentType) as Schema.ContentType;\n if (model.kind && model.kind === 'singleType') {\n const document = await strapi.db.query(model.uid).findOne({ select: ['documentId'] });\n\n if (!document) {\n throw new errors.NotFoundError(`No entry found for contentType ${query.contentType}`);\n }\n\n query.entryDocumentId = document.documentId;\n }\n\n const { contentType, hasEntryAttached, entryDocumentId, locale } = query;\n const isEntryAttached =\n typeof hasEntryAttached === 'string' ? Boolean(JSON.parse(hasEntryAttached)) : false;\n\n if (isEntryAttached) {\n const releases = await releaseService.findMany({\n where: {\n releasedAt: null,\n actions: {\n contentType,\n entryDocumentId: entryDocumentId ?? null,\n locale: locale ?? null,\n },\n },\n populate: {\n actions: {\n fields: ['type'],\n filters: {\n contentType,\n entryDocumentId: entryDocumentId ?? null,\n locale: locale ?? null,\n },\n },\n },\n });\n\n ctx.body = { data: releases };\n } else {\n const relatedReleases = await releaseService.findMany({\n where: {\n releasedAt: null,\n actions: {\n contentType,\n entryDocumentId: entryDocumentId ?? null,\n locale: locale ?? null,\n },\n },\n });\n\n const releases = await releaseService.findMany({\n where: {\n $or: [\n {\n id: {\n $notIn: relatedReleases.map((release: any) => release.id),\n },\n },\n {\n actions: null,\n },\n ],\n releasedAt: null,\n },\n });\n ctx.body = { data: releases };\n }\n },\n\n async findPage(ctx: Koa.Context) {\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: RELEASE_MODEL_UID,\n });\n\n await permissionsManager.validateQuery(ctx.query);\n\n const releaseService = getService('release', { strapi });\n\n const query: GetReleases.Request['query'] = await permissionsManager.sanitizeQuery(ctx.query);\n const { results, pagination } = await releaseService.findPage(query);\n\n const data = results.map((release: ReleaseWithPopulatedActions) => {\n const { actions, ...releaseData } = release;\n\n return {\n ...releaseData,\n actions: {\n meta: {\n count: actions.count,\n },\n },\n };\n });\n\n const pendingReleasesCount = await strapi.db.query(RELEASE_MODEL_UID).count({\n where: {\n releasedAt: null,\n },\n });\n\n ctx.body = { data, meta: { pagination, pendingReleasesCount } };\n },\n\n async findOne(ctx: Koa.Context) {\n const id: GetRelease.Request['params']['id'] = ctx.params.id;\n\n const releaseService = getService('release', { strapi });\n const releaseActionService = getService('release-action', { strapi });\n const release = await releaseService.findOne(id, { populate: ['createdBy'] });\n if (!release) {\n throw new errors.NotFoundError(`Release not found for id: ${id}`);\n }\n\n const count = await releaseActionService.countActions({\n filters: {\n release: id,\n },\n });\n const sanitizedRelease = {\n ...release,\n createdBy: release.createdBy\n ? strapi.service('admin::user').sanitizeUser(release.createdBy)\n : null,\n };\n\n // Format the data object\n const data = {\n ...sanitizedRelease,\n actions: {\n meta: {\n count,\n },\n },\n };\n\n ctx.body = { data };\n },\n\n async mapEntriesToReleases(ctx: Koa.Context) {\n const { contentTypeUid, documentIds, locale } = ctx.query;\n\n if (!contentTypeUid || !documentIds) {\n throw new errors.ValidationError('Missing required query parameters');\n }\n\n const releaseService = getService('release', { strapi });\n\n const releasesWithActions = await releaseService.findMany({\n where: {\n releasedAt: null,\n actions: {\n contentType: contentTypeUid,\n entryDocumentId: {\n $in: documentIds,\n },\n locale,\n },\n },\n populate: {\n actions: true,\n },\n });\n\n const mappedEntriesInReleases = releasesWithActions.reduce(\n (acc: MapEntriesToReleases.Response['data'], release: Release) => {\n release.actions.forEach((action) => {\n if (action.contentType !== contentTypeUid) {\n return;\n }\n\n if (locale && action.locale !== locale) {\n return;\n }\n\n if (!acc[action.entryDocumentId]) {\n acc[action.entryDocumentId] = [{ id: release.id, name: release.name }];\n } else {\n acc[action.entryDocumentId].push({ id: release.id, name: release.name });\n }\n });\n\n return acc;\n },\n {} as MapEntriesToReleases.Response['data']\n );\n\n ctx.body = {\n data: mappedEntriesInReleases,\n };\n },\n\n async create(ctx: Koa.Context) {\n const user: UserInfo = ctx.state.user;\n const releaseArgs = ctx.request.body as CreateRelease.Request['body'];\n\n await validateRelease(releaseArgs);\n\n const releaseService = getService('release', { strapi });\n const release = await releaseService.create(releaseArgs, { user });\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: RELEASE_MODEL_UID,\n });\n\n ctx.created({\n data: await permissionsManager.sanitizeOutput(release),\n });\n },\n\n async update(ctx: Koa.Context) {\n const user: UserInfo = ctx.state.user;\n const releaseArgs = ctx.request.body as UpdateRelease.Request['body'];\n const id: UpdateRelease.Request['params']['id'] = ctx.params.id;\n\n await validateRelease(releaseArgs);\n\n const releaseService = getService('release', { strapi });\n const release = await releaseService.update(id, releaseArgs, { user });\n\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: ctx.state.userAbility,\n model: RELEASE_MODEL_UID,\n });\n\n ctx.body = {\n data: await permissionsManager.sanitizeOutput(release),\n };\n },\n\n async delete(ctx: Koa.Context) {\n const id: DeleteRelease.Request['params']['id'] = ctx.params.id;\n\n const releaseService = getService('release', { strapi });\n const release = await releaseService.delete(id);\n\n ctx.body = {\n data: release,\n };\n },\n\n async publish(ctx: Koa.Context) {\n const id: PublishRelease.Request['params']['id'] = ctx.params.id;\n\n const releaseService = getService('release', { strapi });\n const releaseActionService = getService('release-action', { strapi });\n const release = await releaseService.publish(id);\n\n const [countPublishActions, countUnpublishActions] = await Promise.all([\n releaseActionService.countActions({\n filters: {\n release: id,\n type: 'publish',\n },\n }),\n releaseActionService.countActions({\n filters: {\n release: id,\n type: 'unpublish',\n },\n }),\n ]);\n\n ctx.body = {\n data: release,\n meta: {\n totalEntries: countPublishActions + countUnpublishActions,\n totalPublishedEntries: countPublishActions,\n totalUnpublishedEntries: countUnpublishActions,\n },\n };\n },\n};\n\nexport default releaseController;\n"],"names":["releaseController","findByDocumentAttached","ctx","permissionsManager","strapi","service","createPermissionsManager","ability","state","userAbility","model","RELEASE_MODEL_UID","validateQuery","query","releaseService","getService","sanitizeQuery","validatefindByDocumentAttachedParams","getModel","contentType","kind","document","db","uid","findOne","select","errors","NotFoundError","entryDocumentId","documentId","hasEntryAttached","locale","isEntryAttached","Boolean","JSON","parse","releases","findMany","where","releasedAt","actions","populate","fields","filters","body","data","relatedReleases","$or","id","$notIn","map","release","findPage","results","pagination","releaseData","meta","count","pendingReleasesCount","params","releaseActionService","countActions","sanitizedRelease","createdBy","sanitizeUser","mapEntriesToReleases","contentTypeUid","documentIds","ValidationError","releasesWithActions","$in","mappedEntriesInReleases","reduce","acc","forEach","action","name","push","create","user","releaseArgs","request","validateRelease","created","sanitizeOutput","update","delete","publish","countPublishActions","countUnpublishActions","Promise","all","type","totalEntries","totalPublishedEntries","totalUnpublishedEntries"],"mappings":";;;;;AAoBA,MAAMA,iBAAoB,GAAA;AACxB;;;;MAKA,MAAMC,wBAAuBC,GAAgB,EAAA;AAC3C,QAAA,MAAMC,qBAAqBC,MAAOC,CAAAA,OAAO,CAAC,mBAAA,CAAA,CAAqBC,wBAAwB,CAAC;YACtFC,OAASL,EAAAA,GAAAA,CAAIM,KAAK,CAACC,WAAW;YAC9BC,KAAOC,EAAAA;AACT,SAAA,CAAA;AACA,QAAA,MAAMR,kBAAmBS,CAAAA,aAAa,CAACV,GAAAA,CAAIW,KAAK,CAAA;QAChD,MAAMC,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AACtD,QAAA,MAAMS,QAAQ,MAAMV,kBAAAA,CAAmBa,aAAa,CAACd,IAAIW,KAAK,CAAA;AAE9D,QAAA,MAAMI,oCAAqCJ,CAAAA,KAAAA,CAAAA;;AAG3C,QAAA,MAAMH,KAAQN,GAAAA,MAAAA,CAAOc,QAAQ,CAACL,MAAMM,WAAW,CAAA;AAC/C,QAAA,IAAIT,MAAMU,IAAI,IAAIV,KAAMU,CAAAA,IAAI,KAAK,YAAc,EAAA;YAC7C,MAAMC,QAAAA,GAAW,MAAMjB,MAAAA,CAAOkB,EAAE,CAACT,KAAK,CAACH,KAAMa,CAAAA,GAAG,CAAEC,CAAAA,OAAO,CAAC;gBAAEC,MAAQ,EAAA;AAAC,oBAAA;AAAa;AAAC,aAAA,CAAA;AAEnF,YAAA,IAAI,CAACJ,QAAU,EAAA;gBACb,MAAM,IAAIK,MAAOC,CAAAA,aAAa,CAAC,CAAC,+BAA+B,EAAEd,KAAAA,CAAMM,WAAW,CAAC,CAAC,CAAA;AACtF;YAEAN,KAAMe,CAAAA,eAAe,GAAGP,QAAAA,CAASQ,UAAU;AAC7C;QAEA,MAAM,EAAEV,WAAW,EAAEW,gBAAgB,EAAEF,eAAe,EAAEG,MAAM,EAAE,GAAGlB,KAAAA;QACnE,MAAMmB,eAAAA,GACJ,OAAOF,gBAAqB,KAAA,QAAA,GAAWG,QAAQC,IAAKC,CAAAA,KAAK,CAACL,gBAAqB,CAAA,CAAA,GAAA,KAAA;AAEjF,QAAA,IAAIE,eAAiB,EAAA;AACnB,YAAA,MAAMI,QAAW,GAAA,MAAMtB,cAAeuB,CAAAA,QAAQ,CAAC;gBAC7CC,KAAO,EAAA;oBACLC,UAAY,EAAA,IAAA;oBACZC,OAAS,EAAA;AACPrB,wBAAAA,WAAAA;AACAS,wBAAAA,eAAAA,EAAiBA,eAAmB,IAAA,IAAA;AACpCG,wBAAAA,MAAAA,EAAQA,MAAU,IAAA;AACpB;AACF,iBAAA;gBACAU,QAAU,EAAA;oBACRD,OAAS,EAAA;wBACPE,MAAQ,EAAA;AAAC,4BAAA;AAAO,yBAAA;wBAChBC,OAAS,EAAA;AACPxB,4BAAAA,WAAAA;AACAS,4BAAAA,eAAAA,EAAiBA,eAAmB,IAAA,IAAA;AACpCG,4BAAAA,MAAAA,EAAQA,MAAU,IAAA;AACpB;AACF;AACF;AACF,aAAA,CAAA;AAEA7B,YAAAA,GAAAA,CAAI0C,IAAI,GAAG;gBAAEC,IAAMT,EAAAA;AAAS,aAAA;SACvB,MAAA;AACL,YAAA,MAAMU,eAAkB,GAAA,MAAMhC,cAAeuB,CAAAA,QAAQ,CAAC;gBACpDC,KAAO,EAAA;oBACLC,UAAY,EAAA,IAAA;oBACZC,OAAS,EAAA;AACPrB,wBAAAA,WAAAA;AACAS,wBAAAA,eAAAA,EAAiBA,eAAmB,IAAA,IAAA;AACpCG,wBAAAA,MAAAA,EAAQA,MAAU,IAAA;AACpB;AACF;AACF,aAAA,CAAA;AAEA,YAAA,MAAMK,QAAW,GAAA,MAAMtB,cAAeuB,CAAAA,QAAQ,CAAC;gBAC7CC,KAAO,EAAA;oBACLS,GAAK,EAAA;AACH,wBAAA;4BACEC,EAAI,EAAA;AACFC,gCAAAA,MAAAA,EAAQH,gBAAgBI,GAAG,CAAC,CAACC,OAAAA,GAAiBA,QAAQH,EAAE;AAC1D;AACF,yBAAA;AACA,wBAAA;4BACER,OAAS,EAAA;AACX;AACD,qBAAA;oBACDD,UAAY,EAAA;AACd;AACF,aAAA,CAAA;AACArC,YAAAA,GAAAA,CAAI0C,IAAI,GAAG;gBAAEC,IAAMT,EAAAA;AAAS,aAAA;AAC9B;AACF,KAAA;AAEA,IAAA,MAAMgB,UAASlD,GAAgB,EAAA;AAC7B,QAAA,MAAMC,qBAAqBC,MAAOC,CAAAA,OAAO,CAAC,mBAAA,CAAA,CAAqBC,wBAAwB,CAAC;YACtFC,OAASL,EAAAA,GAAAA,CAAIM,KAAK,CAACC,WAAW;YAC9BC,KAAOC,EAAAA;AACT,SAAA,CAAA;AAEA,QAAA,MAAMR,kBAAmBS,CAAAA,aAAa,CAACV,GAAAA,CAAIW,KAAK,CAAA;QAEhD,MAAMC,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AAEtD,QAAA,MAAMS,QAAsC,MAAMV,kBAAAA,CAAmBa,aAAa,CAACd,IAAIW,KAAK,CAAA;QAC5F,MAAM,EAAEwC,OAAO,EAAEC,UAAU,EAAE,GAAG,MAAMxC,cAAesC,CAAAA,QAAQ,CAACvC,KAAAA,CAAAA;AAE9D,QAAA,MAAMgC,IAAOQ,GAAAA,OAAAA,CAAQH,GAAG,CAAC,CAACC,OAAAA,GAAAA;AACxB,YAAA,MAAM,EAAEX,OAAO,EAAE,GAAGe,aAAa,GAAGJ,OAAAA;YAEpC,OAAO;AACL,gBAAA,GAAGI,WAAW;gBACdf,OAAS,EAAA;oBACPgB,IAAM,EAAA;AACJC,wBAAAA,KAAAA,EAAOjB,QAAQiB;AACjB;AACF;AACF,aAAA;AACF,SAAA,CAAA;QAEA,MAAMC,oBAAAA,GAAuB,MAAMtD,MAAOkB,CAAAA,EAAE,CAACT,KAAK,CAACF,iBAAmB8C,CAAAA,CAAAA,KAAK,CAAC;YAC1EnB,KAAO,EAAA;gBACLC,UAAY,EAAA;AACd;AACF,SAAA,CAAA;AAEArC,QAAAA,GAAAA,CAAI0C,IAAI,GAAG;AAAEC,YAAAA,IAAAA;YAAMW,IAAM,EAAA;AAAEF,gBAAAA,UAAAA;AAAYI,gBAAAA;AAAqB;AAAE,SAAA;AAChE,KAAA;AAEA,IAAA,MAAMlC,SAAQtB,GAAgB,EAAA;AAC5B,QAAA,MAAM8C,EAAyC9C,GAAAA,GAAAA,CAAIyD,MAAM,CAACX,EAAE;QAE5D,MAAMlC,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;QACtD,MAAMwD,oBAAAA,GAAuB7C,WAAW,gBAAkB,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AACnE,QAAA,MAAM+C,OAAU,GAAA,MAAMrC,cAAeU,CAAAA,OAAO,CAACwB,EAAI,EAAA;YAAEP,QAAU,EAAA;AAAC,gBAAA;AAAY;AAAC,SAAA,CAAA;AAC3E,QAAA,IAAI,CAACU,OAAS,EAAA;YACZ,MAAM,IAAIzB,OAAOC,aAAa,CAAC,CAAC,0BAA0B,EAAEqB,GAAG,CAAC,CAAA;AAClE;AAEA,QAAA,MAAMS,KAAQ,GAAA,MAAMG,oBAAqBC,CAAAA,YAAY,CAAC;YACpDlB,OAAS,EAAA;gBACPQ,OAASH,EAAAA;AACX;AACF,SAAA,CAAA;AACA,QAAA,MAAMc,gBAAmB,GAAA;AACvB,YAAA,GAAGX,OAAO;YACVY,SAAWZ,EAAAA,OAAAA,CAAQY,SAAS,GACxB3D,MAAOC,CAAAA,OAAO,CAAC,aAAA,CAAA,CAAe2D,YAAY,CAACb,OAAQY,CAAAA,SAAS,CAC5D,GAAA;AACN,SAAA;;AAGA,QAAA,MAAMlB,IAAO,GAAA;AACX,YAAA,GAAGiB,gBAAgB;YACnBtB,OAAS,EAAA;gBACPgB,IAAM,EAAA;AACJC,oBAAAA;AACF;AACF;AACF,SAAA;AAEAvD,QAAAA,GAAAA,CAAI0C,IAAI,GAAG;AAAEC,YAAAA;AAAK,SAAA;AACpB,KAAA;AAEA,IAAA,MAAMoB,sBAAqB/D,GAAgB,EAAA;QACzC,MAAM,EAAEgE,cAAc,EAAEC,WAAW,EAAEpC,MAAM,EAAE,GAAG7B,GAAAA,CAAIW,KAAK;QAEzD,IAAI,CAACqD,cAAkB,IAAA,CAACC,WAAa,EAAA;YACnC,MAAM,IAAIzC,MAAO0C,CAAAA,eAAe,CAAC,mCAAA,CAAA;AACnC;QAEA,MAAMtD,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AAEtD,QAAA,MAAMiE,mBAAsB,GAAA,MAAMvD,cAAeuB,CAAAA,QAAQ,CAAC;YACxDC,KAAO,EAAA;gBACLC,UAAY,EAAA,IAAA;gBACZC,OAAS,EAAA;oBACPrB,WAAa+C,EAAAA,cAAAA;oBACbtC,eAAiB,EAAA;wBACf0C,GAAKH,EAAAA;AACP,qBAAA;AACApC,oBAAAA;AACF;AACF,aAAA;YACAU,QAAU,EAAA;gBACRD,OAAS,EAAA;AACX;AACF,SAAA,CAAA;AAEA,QAAA,MAAM+B,uBAA0BF,GAAAA,mBAAAA,CAAoBG,MAAM,CACxD,CAACC,GAA4CtB,EAAAA,OAAAA,GAAAA;AAC3CA,YAAAA,OAAAA,CAAQX,OAAO,CAACkC,OAAO,CAAC,CAACC,MAAAA,GAAAA;gBACvB,IAAIA,MAAAA,CAAOxD,WAAW,KAAK+C,cAAgB,EAAA;AACzC,oBAAA;AACF;AAEA,gBAAA,IAAInC,MAAU4C,IAAAA,MAAAA,CAAO5C,MAAM,KAAKA,MAAQ,EAAA;AACtC,oBAAA;AACF;AAEA,gBAAA,IAAI,CAAC0C,GAAG,CAACE,MAAO/C,CAAAA,eAAe,CAAC,EAAE;AAChC6C,oBAAAA,GAAG,CAACE,MAAAA,CAAO/C,eAAe,CAAC,GAAG;AAAC,wBAAA;AAAEoB,4BAAAA,EAAAA,EAAIG,QAAQH,EAAE;AAAE4B,4BAAAA,IAAAA,EAAMzB,QAAQyB;AAAK;AAAE,qBAAA;iBACjE,MAAA;AACLH,oBAAAA,GAAG,CAACE,MAAO/C,CAAAA,eAAe,CAAC,CAACiD,IAAI,CAAC;AAAE7B,wBAAAA,EAAAA,EAAIG,QAAQH,EAAE;AAAE4B,wBAAAA,IAAAA,EAAMzB,QAAQyB;AAAK,qBAAA,CAAA;AACxE;AACF,aAAA,CAAA;YAEA,OAAOH,GAAAA;AACT,SAAA,EACA,EAAC,CAAA;AAGHvE,QAAAA,GAAAA,CAAI0C,IAAI,GAAG;YACTC,IAAM0B,EAAAA;AACR,SAAA;AACF,KAAA;AAEA,IAAA,MAAMO,QAAO5E,GAAgB,EAAA;AAC3B,QAAA,MAAM6E,IAAiB7E,GAAAA,GAAAA,CAAIM,KAAK,CAACuE,IAAI;AACrC,QAAA,MAAMC,WAAc9E,GAAAA,GAAAA,CAAI+E,OAAO,CAACrC,IAAI;AAEpC,QAAA,MAAMsC,eAAgBF,CAAAA,WAAAA,CAAAA;QAEtB,MAAMlE,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AACtD,QAAA,MAAM+C,OAAU,GAAA,MAAMrC,cAAegE,CAAAA,MAAM,CAACE,WAAa,EAAA;AAAED,YAAAA;AAAK,SAAA,CAAA;AAEhE,QAAA,MAAM5E,qBAAqBC,MAAOC,CAAAA,OAAO,CAAC,mBAAA,CAAA,CAAqBC,wBAAwB,CAAC;YACtFC,OAASL,EAAAA,GAAAA,CAAIM,KAAK,CAACC,WAAW;YAC9BC,KAAOC,EAAAA;AACT,SAAA,CAAA;AAEAT,QAAAA,GAAAA,CAAIiF,OAAO,CAAC;YACVtC,IAAM,EAAA,MAAM1C,kBAAmBiF,CAAAA,cAAc,CAACjC,OAAAA;AAChD,SAAA,CAAA;AACF,KAAA;AAEA,IAAA,MAAMkC,QAAOnF,GAAgB,EAAA;AAC3B,QAAA,MAAM6E,IAAiB7E,GAAAA,GAAAA,CAAIM,KAAK,CAACuE,IAAI;AACrC,QAAA,MAAMC,WAAc9E,GAAAA,GAAAA,CAAI+E,OAAO,CAACrC,IAAI;AACpC,QAAA,MAAMI,EAA4C9C,GAAAA,GAAAA,CAAIyD,MAAM,CAACX,EAAE;AAE/D,QAAA,MAAMkC,eAAgBF,CAAAA,WAAAA,CAAAA;QAEtB,MAAMlE,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AACtD,QAAA,MAAM+C,UAAU,MAAMrC,cAAAA,CAAeuE,MAAM,CAACrC,IAAIgC,WAAa,EAAA;AAAED,YAAAA;AAAK,SAAA,CAAA;AAEpE,QAAA,MAAM5E,qBAAqBC,MAAOC,CAAAA,OAAO,CAAC,mBAAA,CAAA,CAAqBC,wBAAwB,CAAC;YACtFC,OAASL,EAAAA,GAAAA,CAAIM,KAAK,CAACC,WAAW;YAC9BC,KAAOC,EAAAA;AACT,SAAA,CAAA;AAEAT,QAAAA,GAAAA,CAAI0C,IAAI,GAAG;YACTC,IAAM,EAAA,MAAM1C,kBAAmBiF,CAAAA,cAAc,CAACjC,OAAAA;AAChD,SAAA;AACF,KAAA;AAEA,IAAA,MAAMmC,QAAOpF,GAAgB,EAAA;AAC3B,QAAA,MAAM8C,EAA4C9C,GAAAA,GAAAA,CAAIyD,MAAM,CAACX,EAAE;QAE/D,MAAMlC,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AACtD,QAAA,MAAM+C,OAAU,GAAA,MAAMrC,cAAewE,CAAAA,MAAM,CAACtC,EAAAA,CAAAA;AAE5C9C,QAAAA,GAAAA,CAAI0C,IAAI,GAAG;YACTC,IAAMM,EAAAA;AACR,SAAA;AACF,KAAA;AAEA,IAAA,MAAMoC,SAAQrF,GAAgB,EAAA;AAC5B,QAAA,MAAM8C,EAA6C9C,GAAAA,GAAAA,CAAIyD,MAAM,CAACX,EAAE;QAEhE,MAAMlC,cAAAA,GAAiBC,WAAW,SAAW,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;QACtD,MAAMwD,oBAAAA,GAAuB7C,WAAW,gBAAkB,EAAA;AAAEX,YAAAA;AAAO,SAAA,CAAA;AACnE,QAAA,MAAM+C,OAAU,GAAA,MAAMrC,cAAeyE,CAAAA,OAAO,CAACvC,EAAAA,CAAAA;AAE7C,QAAA,MAAM,CAACwC,mBAAqBC,EAAAA,qBAAAA,CAAsB,GAAG,MAAMC,OAAAA,CAAQC,GAAG,CAAC;AACrE/B,YAAAA,oBAAAA,CAAqBC,YAAY,CAAC;gBAChClB,OAAS,EAAA;oBACPQ,OAASH,EAAAA,EAAAA;oBACT4C,IAAM,EAAA;AACR;AACF,aAAA,CAAA;AACAhC,YAAAA,oBAAAA,CAAqBC,YAAY,CAAC;gBAChClB,OAAS,EAAA;oBACPQ,OAASH,EAAAA,EAAAA;oBACT4C,IAAM,EAAA;AACR;AACF,aAAA;AACD,SAAA,CAAA;AAED1F,QAAAA,GAAAA,CAAI0C,IAAI,GAAG;YACTC,IAAMM,EAAAA,OAAAA;YACNK,IAAM,EAAA;AACJqC,gBAAAA,YAAAA,EAAcL,mBAAsBC,GAAAA,qBAAAA;gBACpCK,qBAAuBN,EAAAA,mBAAAA;gBACvBO,uBAAyBN,EAAAA;AAC3B;AACF,SAAA;AACF;AACF;;;;"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var index = require('../utils/index.js');
4
+ var settings = require('./validation/settings.js');
5
+
6
+ const settingsController = {
7
+ async find (ctx) {
8
+ // Get settings
9
+ const settingsService = index.getService('settings', {
10
+ strapi
11
+ });
12
+ const settings = await settingsService.find();
13
+ // Response
14
+ ctx.body = {
15
+ data: settings
16
+ };
17
+ },
18
+ async update (ctx) {
19
+ // Data validation
20
+ const settingsBody = ctx.request.body;
21
+ const settings$1 = await settings.validateSettings(settingsBody);
22
+ // Update
23
+ const settingsService = index.getService('settings', {
24
+ strapi
25
+ });
26
+ const updatedSettings = await settingsService.update({
27
+ settings: settings$1
28
+ });
29
+ // Response
30
+ ctx.body = {
31
+ data: updatedSettings
32
+ };
33
+ }
34
+ };
35
+
36
+ module.exports = settingsController;
37
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sources":["../../../server/src/controllers/settings.ts"],"sourcesContent":["/**\n * Used to store user configurations related to releases.\n * E.g the default timezone for the release schedule.\n */\nimport type Koa from 'koa';\n\nimport type { GetSettings, UpdateSettings, Settings } from '../../../shared/contracts/settings';\nimport { getService } from '../utils';\nimport { validateSettings } from './validation/settings';\n\nconst settingsController = {\n async find(ctx: Koa.Context) {\n // Get settings\n const settingsService = getService('settings', { strapi });\n const settings = await settingsService.find();\n\n // Response\n ctx.body = { data: settings } satisfies GetSettings.Response;\n },\n\n async update(ctx: Koa.Context) {\n // Data validation\n const settingsBody = ctx.request.body;\n const settings = (await validateSettings(settingsBody)) as Settings;\n\n // Update\n const settingsService = getService('settings', { strapi });\n const updatedSettings = await settingsService.update({ settings });\n\n // Response\n ctx.body = { data: updatedSettings } satisfies UpdateSettings.Response;\n },\n};\n\nexport default settingsController;\n"],"names":["settingsController","find","ctx","settingsService","getService","strapi","settings","body","data","update","settingsBody","request","validateSettings","updatedSettings"],"mappings":";;;;;AAUA,MAAMA,kBAAqB,GAAA;AACzB,IAAA,MAAMC,MAAKC,GAAgB,EAAA;;QAEzB,MAAMC,eAAAA,GAAkBC,iBAAW,UAAY,EAAA;AAAEC,YAAAA;AAAO,SAAA,CAAA;QACxD,MAAMC,QAAAA,GAAW,MAAMH,eAAAA,CAAgBF,IAAI,EAAA;;AAG3CC,QAAAA,GAAAA,CAAIK,IAAI,GAAG;YAAEC,IAAMF,EAAAA;AAAS,SAAA;AAC9B,KAAA;AAEA,IAAA,MAAMG,QAAOP,GAAgB,EAAA;;AAE3B,QAAA,MAAMQ,YAAeR,GAAAA,GAAAA,CAAIS,OAAO,CAACJ,IAAI;QACrC,MAAMD,UAAAA,GAAY,MAAMM,yBAAiBF,CAAAA,YAAAA,CAAAA;;QAGzC,MAAMP,eAAAA,GAAkBC,iBAAW,UAAY,EAAA;AAAEC,YAAAA;AAAO,SAAA,CAAA;AACxD,QAAA,MAAMQ,eAAkB,GAAA,MAAMV,eAAgBM,CAAAA,MAAM,CAAC;AAAEH,sBAAAA;AAAS,SAAA,CAAA;;AAGhEJ,QAAAA,GAAAA,CAAIK,IAAI,GAAG;YAAEC,IAAMK,EAAAA;AAAgB,SAAA;AACrC;AACF;;;;"}
@@ -0,0 +1,35 @@
1
+ import { getService } from '../utils/index.mjs';
2
+ import { validateSettings } from './validation/settings.mjs';
3
+
4
+ const settingsController = {
5
+ async find (ctx) {
6
+ // Get settings
7
+ const settingsService = getService('settings', {
8
+ strapi
9
+ });
10
+ const settings = await settingsService.find();
11
+ // Response
12
+ ctx.body = {
13
+ data: settings
14
+ };
15
+ },
16
+ async update (ctx) {
17
+ // Data validation
18
+ const settingsBody = ctx.request.body;
19
+ const settings = await validateSettings(settingsBody);
20
+ // Update
21
+ const settingsService = getService('settings', {
22
+ strapi
23
+ });
24
+ const updatedSettings = await settingsService.update({
25
+ settings
26
+ });
27
+ // Response
28
+ ctx.body = {
29
+ data: updatedSettings
30
+ };
31
+ }
32
+ };
33
+
34
+ export { settingsController as default };
35
+ //# sourceMappingURL=settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.mjs","sources":["../../../server/src/controllers/settings.ts"],"sourcesContent":["/**\n * Used to store user configurations related to releases.\n * E.g the default timezone for the release schedule.\n */\nimport type Koa from 'koa';\n\nimport type { GetSettings, UpdateSettings, Settings } from '../../../shared/contracts/settings';\nimport { getService } from '../utils';\nimport { validateSettings } from './validation/settings';\n\nconst settingsController = {\n async find(ctx: Koa.Context) {\n // Get settings\n const settingsService = getService('settings', { strapi });\n const settings = await settingsService.find();\n\n // Response\n ctx.body = { data: settings } satisfies GetSettings.Response;\n },\n\n async update(ctx: Koa.Context) {\n // Data validation\n const settingsBody = ctx.request.body;\n const settings = (await validateSettings(settingsBody)) as Settings;\n\n // Update\n const settingsService = getService('settings', { strapi });\n const updatedSettings = await settingsService.update({ settings });\n\n // Response\n ctx.body = { data: updatedSettings } satisfies UpdateSettings.Response;\n },\n};\n\nexport default settingsController;\n"],"names":["settingsController","find","ctx","settingsService","getService","strapi","settings","body","data","update","settingsBody","request","validateSettings","updatedSettings"],"mappings":";;;AAUA,MAAMA,kBAAqB,GAAA;AACzB,IAAA,MAAMC,MAAKC,GAAgB,EAAA;;QAEzB,MAAMC,eAAAA,GAAkBC,WAAW,UAAY,EAAA;AAAEC,YAAAA;AAAO,SAAA,CAAA;QACxD,MAAMC,QAAAA,GAAW,MAAMH,eAAAA,CAAgBF,IAAI,EAAA;;AAG3CC,QAAAA,GAAAA,CAAIK,IAAI,GAAG;YAAEC,IAAMF,EAAAA;AAAS,SAAA;AAC9B,KAAA;AAEA,IAAA,MAAMG,QAAOP,GAAgB,EAAA;;AAE3B,QAAA,MAAMQ,YAAeR,GAAAA,GAAAA,CAAIS,OAAO,CAACJ,IAAI;QACrC,MAAMD,QAAAA,GAAY,MAAMM,gBAAiBF,CAAAA,YAAAA,CAAAA;;QAGzC,MAAMP,eAAAA,GAAkBC,WAAW,UAAY,EAAA;AAAEC,YAAAA;AAAO,SAAA,CAAA;AACxD,QAAA,MAAMQ,eAAkB,GAAA,MAAMV,eAAgBM,CAAAA,MAAM,CAAC;AAAEH,YAAAA;AAAS,SAAA,CAAA;;AAGhEJ,QAAAA,GAAAA,CAAIK,IAAI,GAAG;YAAEC,IAAMK,EAAAA;AAAgB,SAAA;AACrC;AACF;;;;"}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@strapi/utils');
4
+
5
+ const RELEASE_ACTION_SCHEMA = utils.yup.object().shape({
6
+ contentType: utils.yup.string().required(),
7
+ entryDocumentId: utils.yup.strapiID(),
8
+ locale: utils.yup.string(),
9
+ type: utils.yup.string().oneOf([
10
+ 'publish',
11
+ 'unpublish'
12
+ ]).required()
13
+ });
14
+ const RELEASE_ACTION_UPDATE_SCHEMA = utils.yup.object().shape({
15
+ type: utils.yup.string().oneOf([
16
+ 'publish',
17
+ 'unpublish'
18
+ ]).required()
19
+ });
20
+ const FIND_MANY_ACTIONS_PARAMS = utils.yup.object().shape({
21
+ groupBy: utils.yup.string().oneOf([
22
+ 'action',
23
+ 'contentType',
24
+ 'locale'
25
+ ])
26
+ });
27
+ const validateReleaseAction = utils.validateYupSchema(RELEASE_ACTION_SCHEMA);
28
+ const validateReleaseActionUpdateSchema = utils.validateYupSchema(RELEASE_ACTION_UPDATE_SCHEMA);
29
+ const validateFindManyActionsParams = utils.validateYupSchema(FIND_MANY_ACTIONS_PARAMS);
30
+
31
+ exports.validateFindManyActionsParams = validateFindManyActionsParams;
32
+ exports.validateReleaseAction = validateReleaseAction;
33
+ exports.validateReleaseActionUpdateSchema = validateReleaseActionUpdateSchema;
34
+ //# sourceMappingURL=release-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-action.js","sources":["../../../../server/src/controllers/validation/release-action.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nconst RELEASE_ACTION_SCHEMA = yup.object().shape({\n contentType: yup.string().required(),\n entryDocumentId: yup.strapiID(),\n locale: yup.string(),\n type: yup.string().oneOf(['publish', 'unpublish']).required(),\n});\n\nconst RELEASE_ACTION_UPDATE_SCHEMA = yup.object().shape({\n type: yup.string().oneOf(['publish', 'unpublish']).required(),\n});\n\nconst FIND_MANY_ACTIONS_PARAMS = yup.object().shape({\n groupBy: yup.string().oneOf(['action', 'contentType', 'locale']),\n});\n\nexport const validateReleaseAction = validateYupSchema(RELEASE_ACTION_SCHEMA);\nexport const validateReleaseActionUpdateSchema = validateYupSchema(RELEASE_ACTION_UPDATE_SCHEMA);\nexport const validateFindManyActionsParams = validateYupSchema(FIND_MANY_ACTIONS_PARAMS);\n"],"names":["RELEASE_ACTION_SCHEMA","yup","object","shape","contentType","string","required","entryDocumentId","strapiID","locale","type","oneOf","RELEASE_ACTION_UPDATE_SCHEMA","FIND_MANY_ACTIONS_PARAMS","groupBy","validateReleaseAction","validateYupSchema","validateReleaseActionUpdateSchema","validateFindManyActionsParams"],"mappings":";;;;AAEA,MAAMA,qBAAwBC,GAAAA,SAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;IAC/CC,WAAaH,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAClCC,IAAAA,eAAAA,EAAiBN,UAAIO,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQR,UAAII,MAAM,EAAA;AAClBK,IAAAA,IAAAA,EAAMT,SAAII,CAAAA,MAAM,EAAGM,CAAAA,KAAK,CAAC;AAAC,QAAA,SAAA;AAAW,QAAA;AAAY,KAAA,CAAA,CAAEL,QAAQ;AAC7D,CAAA,CAAA;AAEA,MAAMM,4BAA+BX,GAAAA,SAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AACtDO,IAAAA,IAAAA,EAAMT,SAAII,CAAAA,MAAM,EAAGM,CAAAA,KAAK,CAAC;AAAC,QAAA,SAAA;AAAW,QAAA;AAAY,KAAA,CAAA,CAAEL,QAAQ;AAC7D,CAAA,CAAA;AAEA,MAAMO,wBAA2BZ,GAAAA,SAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AAClDW,IAAAA,OAAAA,EAASb,SAAII,CAAAA,MAAM,EAAGM,CAAAA,KAAK,CAAC;AAAC,QAAA,QAAA;AAAU,QAAA,aAAA;AAAe,QAAA;AAAS,KAAA;AACjE,CAAA,CAAA;AAEO,MAAMI,qBAAwBC,GAAAA,uBAAAA,CAAkBhB,qBAAuB;AACvE,MAAMiB,iCAAoCD,GAAAA,uBAAAA,CAAkBJ,4BAA8B;AAC1F,MAAMM,6BAAgCF,GAAAA,uBAAAA,CAAkBH,wBAA0B;;;;;;"}
@@ -0,0 +1,30 @@
1
+ import { yup, validateYupSchema } from '@strapi/utils';
2
+
3
+ const RELEASE_ACTION_SCHEMA = yup.object().shape({
4
+ contentType: yup.string().required(),
5
+ entryDocumentId: yup.strapiID(),
6
+ locale: yup.string(),
7
+ type: yup.string().oneOf([
8
+ 'publish',
9
+ 'unpublish'
10
+ ]).required()
11
+ });
12
+ const RELEASE_ACTION_UPDATE_SCHEMA = yup.object().shape({
13
+ type: yup.string().oneOf([
14
+ 'publish',
15
+ 'unpublish'
16
+ ]).required()
17
+ });
18
+ const FIND_MANY_ACTIONS_PARAMS = yup.object().shape({
19
+ groupBy: yup.string().oneOf([
20
+ 'action',
21
+ 'contentType',
22
+ 'locale'
23
+ ])
24
+ });
25
+ const validateReleaseAction = validateYupSchema(RELEASE_ACTION_SCHEMA);
26
+ const validateReleaseActionUpdateSchema = validateYupSchema(RELEASE_ACTION_UPDATE_SCHEMA);
27
+ const validateFindManyActionsParams = validateYupSchema(FIND_MANY_ACTIONS_PARAMS);
28
+
29
+ export { validateFindManyActionsParams, validateReleaseAction, validateReleaseActionUpdateSchema };
30
+ //# sourceMappingURL=release-action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-action.mjs","sources":["../../../../server/src/controllers/validation/release-action.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nconst RELEASE_ACTION_SCHEMA = yup.object().shape({\n contentType: yup.string().required(),\n entryDocumentId: yup.strapiID(),\n locale: yup.string(),\n type: yup.string().oneOf(['publish', 'unpublish']).required(),\n});\n\nconst RELEASE_ACTION_UPDATE_SCHEMA = yup.object().shape({\n type: yup.string().oneOf(['publish', 'unpublish']).required(),\n});\n\nconst FIND_MANY_ACTIONS_PARAMS = yup.object().shape({\n groupBy: yup.string().oneOf(['action', 'contentType', 'locale']),\n});\n\nexport const validateReleaseAction = validateYupSchema(RELEASE_ACTION_SCHEMA);\nexport const validateReleaseActionUpdateSchema = validateYupSchema(RELEASE_ACTION_UPDATE_SCHEMA);\nexport const validateFindManyActionsParams = validateYupSchema(FIND_MANY_ACTIONS_PARAMS);\n"],"names":["RELEASE_ACTION_SCHEMA","yup","object","shape","contentType","string","required","entryDocumentId","strapiID","locale","type","oneOf","RELEASE_ACTION_UPDATE_SCHEMA","FIND_MANY_ACTIONS_PARAMS","groupBy","validateReleaseAction","validateYupSchema","validateReleaseActionUpdateSchema","validateFindManyActionsParams"],"mappings":";;AAEA,MAAMA,qBAAwBC,GAAAA,GAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;IAC/CC,WAAaH,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAClCC,IAAAA,eAAAA,EAAiBN,IAAIO,QAAQ,EAAA;AAC7BC,IAAAA,MAAAA,EAAQR,IAAII,MAAM,EAAA;AAClBK,IAAAA,IAAAA,EAAMT,GAAII,CAAAA,MAAM,EAAGM,CAAAA,KAAK,CAAC;AAAC,QAAA,SAAA;AAAW,QAAA;AAAY,KAAA,CAAA,CAAEL,QAAQ;AAC7D,CAAA,CAAA;AAEA,MAAMM,4BAA+BX,GAAAA,GAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AACtDO,IAAAA,IAAAA,EAAMT,GAAII,CAAAA,MAAM,EAAGM,CAAAA,KAAK,CAAC;AAAC,QAAA,SAAA;AAAW,QAAA;AAAY,KAAA,CAAA,CAAEL,QAAQ;AAC7D,CAAA,CAAA;AAEA,MAAMO,wBAA2BZ,GAAAA,GAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AAClDW,IAAAA,OAAAA,EAASb,GAAII,CAAAA,MAAM,EAAGM,CAAAA,KAAK,CAAC;AAAC,QAAA,QAAA;AAAU,QAAA,aAAA;AAAe,QAAA;AAAS,KAAA;AACjE,CAAA,CAAA;AAEO,MAAMI,qBAAwBC,GAAAA,iBAAAA,CAAkBhB,qBAAuB;AACvE,MAAMiB,iCAAoCD,GAAAA,iBAAAA,CAAkBJ,4BAA8B;AAC1F,MAAMM,6BAAgCF,GAAAA,iBAAAA,CAAkBH,wBAA0B;;;;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@strapi/utils');
4
+
5
+ const RELEASE_SCHEMA = utils.yup.object().shape({
6
+ name: utils.yup.string().trim().required(),
7
+ scheduledAt: utils.yup.string().nullable(),
8
+ timezone: utils.yup.string().when('scheduledAt', {
9
+ is: (value)=>value !== null && value !== undefined,
10
+ then: utils.yup.string().required(),
11
+ otherwise: utils.yup.string().nullable()
12
+ })
13
+ }).required().noUnknown();
14
+ const FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA = utils.yup.object().shape({
15
+ contentType: utils.yup.string().required(),
16
+ entryDocumentId: utils.yup.string().nullable(),
17
+ hasEntryAttached: utils.yup.string().nullable(),
18
+ locale: utils.yup.string().nullable()
19
+ }).required().noUnknown();
20
+ const validateRelease = utils.validateYupSchema(RELEASE_SCHEMA);
21
+ const validatefindByDocumentAttachedParams = utils.validateYupSchema(FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA);
22
+
23
+ exports.RELEASE_SCHEMA = RELEASE_SCHEMA;
24
+ exports.validateRelease = validateRelease;
25
+ exports.validatefindByDocumentAttachedParams = validatefindByDocumentAttachedParams;
26
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sources":["../../../../server/src/controllers/validation/release.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nexport const RELEASE_SCHEMA = yup\n .object()\n .shape({\n name: yup.string().trim().required(),\n scheduledAt: yup.string().nullable(),\n timezone: yup.string().when('scheduledAt', {\n is: (value: any) => value !== null && value !== undefined,\n then: yup.string().required(),\n otherwise: yup.string().nullable(),\n }),\n })\n .required()\n .noUnknown();\n\nconst FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA = yup\n .object()\n .shape({\n contentType: yup.string().required(),\n entryDocumentId: yup.string().nullable(),\n hasEntryAttached: yup.string().nullable(),\n locale: yup.string().nullable(),\n })\n .required()\n .noUnknown();\n\nexport const validateRelease = validateYupSchema(RELEASE_SCHEMA);\n\nexport const validatefindByDocumentAttachedParams = validateYupSchema(\n FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA\n);\n"],"names":["RELEASE_SCHEMA","yup","object","shape","name","string","trim","required","scheduledAt","nullable","timezone","when","is","value","undefined","then","otherwise","noUnknown","FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA","contentType","entryDocumentId","hasEntryAttached","locale","validateRelease","validateYupSchema","validatefindByDocumentAttachedParams"],"mappings":";;;;MAEaA,cAAiBC,GAAAA,SAAAA,CAC3BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,IAAAA,EAAMH,SAAII,CAAAA,MAAM,EAAGC,CAAAA,IAAI,GAAGC,QAAQ,EAAA;IAClCC,WAAaP,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ,EAAA;AAClCC,IAAAA,QAAAA,EAAUT,SAAII,CAAAA,MAAM,EAAGM,CAAAA,IAAI,CAAC,aAAe,EAAA;AACzCC,QAAAA,EAAAA,EAAI,CAACC,KAAAA,GAAeA,KAAU,KAAA,IAAA,IAAQA,KAAUC,KAAAA,SAAAA;QAChDC,IAAMd,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,EAAA;QAC3BS,SAAWf,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ;AAClC,KAAA;AACF,CACCF,CAAAA,CAAAA,QAAQ,EACRU,CAAAA,SAAS;AAEZ,MAAMC,uCAA0CjB,GAAAA,SAAAA,CAC7CC,MAAM,EAAA,CACNC,KAAK,CAAC;IACLgB,WAAalB,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,EAAA;IAClCa,eAAiBnB,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ,EAAA;IACtCY,gBAAkBpB,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ,EAAA;IACvCa,MAAQrB,EAAAA,SAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ;AAC/B,CACCF,CAAAA,CAAAA,QAAQ,GACRU,SAAS,EAAA;AAEL,MAAMM,eAAkBC,GAAAA,uBAAAA,CAAkBxB,cAAgB;AAE1D,MAAMyB,oCAAuCD,GAAAA,uBAAAA,CAClDN,uCACA;;;;;;"}
@@ -0,0 +1,22 @@
1
+ import { yup, validateYupSchema } from '@strapi/utils';
2
+
3
+ const RELEASE_SCHEMA = yup.object().shape({
4
+ name: yup.string().trim().required(),
5
+ scheduledAt: yup.string().nullable(),
6
+ timezone: yup.string().when('scheduledAt', {
7
+ is: (value)=>value !== null && value !== undefined,
8
+ then: yup.string().required(),
9
+ otherwise: yup.string().nullable()
10
+ })
11
+ }).required().noUnknown();
12
+ const FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA = yup.object().shape({
13
+ contentType: yup.string().required(),
14
+ entryDocumentId: yup.string().nullable(),
15
+ hasEntryAttached: yup.string().nullable(),
16
+ locale: yup.string().nullable()
17
+ }).required().noUnknown();
18
+ const validateRelease = validateYupSchema(RELEASE_SCHEMA);
19
+ const validatefindByDocumentAttachedParams = validateYupSchema(FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA);
20
+
21
+ export { RELEASE_SCHEMA, validateRelease, validatefindByDocumentAttachedParams };
22
+ //# sourceMappingURL=release.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.mjs","sources":["../../../../server/src/controllers/validation/release.ts"],"sourcesContent":["import { yup, validateYupSchema } from '@strapi/utils';\n\nexport const RELEASE_SCHEMA = yup\n .object()\n .shape({\n name: yup.string().trim().required(),\n scheduledAt: yup.string().nullable(),\n timezone: yup.string().when('scheduledAt', {\n is: (value: any) => value !== null && value !== undefined,\n then: yup.string().required(),\n otherwise: yup.string().nullable(),\n }),\n })\n .required()\n .noUnknown();\n\nconst FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA = yup\n .object()\n .shape({\n contentType: yup.string().required(),\n entryDocumentId: yup.string().nullable(),\n hasEntryAttached: yup.string().nullable(),\n locale: yup.string().nullable(),\n })\n .required()\n .noUnknown();\n\nexport const validateRelease = validateYupSchema(RELEASE_SCHEMA);\n\nexport const validatefindByDocumentAttachedParams = validateYupSchema(\n FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA\n);\n"],"names":["RELEASE_SCHEMA","yup","object","shape","name","string","trim","required","scheduledAt","nullable","timezone","when","is","value","undefined","then","otherwise","noUnknown","FIND_BY_DOCUMENT_ATTACHED_PARAMS_SCHEMA","contentType","entryDocumentId","hasEntryAttached","locale","validateRelease","validateYupSchema","validatefindByDocumentAttachedParams"],"mappings":";;MAEaA,cAAiBC,GAAAA,GAAAA,CAC3BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,IAAAA,EAAMH,GAAII,CAAAA,MAAM,EAAGC,CAAAA,IAAI,GAAGC,QAAQ,EAAA;IAClCC,WAAaP,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ,EAAA;AAClCC,IAAAA,QAAAA,EAAUT,GAAII,CAAAA,MAAM,EAAGM,CAAAA,IAAI,CAAC,aAAe,EAAA;AACzCC,QAAAA,EAAAA,EAAI,CAACC,KAAAA,GAAeA,KAAU,KAAA,IAAA,IAAQA,KAAUC,KAAAA,SAAAA;QAChDC,IAAMd,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,EAAA;QAC3BS,SAAWf,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ;AAClC,KAAA;AACF,CACCF,CAAAA,CAAAA,QAAQ,EACRU,CAAAA,SAAS;AAEZ,MAAMC,uCAA0CjB,GAAAA,GAAAA,CAC7CC,MAAM,EAAA,CACNC,KAAK,CAAC;IACLgB,WAAalB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,EAAA;IAClCa,eAAiBnB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ,EAAA;IACtCY,gBAAkBpB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ,EAAA;IACvCa,MAAQrB,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGI,QAAQ;AAC/B,CACCF,CAAAA,CAAAA,QAAQ,GACRU,SAAS,EAAA;AAEL,MAAMM,eAAkBC,GAAAA,iBAAAA,CAAkBxB,cAAgB;AAE1D,MAAMyB,oCAAuCD,GAAAA,iBAAAA,CAClDN,uCACA;;;;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@strapi/utils');
4
+ var yup = require('yup');
5
+
6
+ function _interopNamespaceDefault(e) {
7
+ var n = Object.create(null);
8
+ if (e) {
9
+ Object.keys(e).forEach(function (k) {
10
+ if (k !== 'default') {
11
+ var d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: function () { return e[k]; }
15
+ });
16
+ }
17
+ });
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+
23
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
24
+
25
+ const SETTINGS_SCHEMA = yup__namespace.object().shape({
26
+ defaultTimezone: yup__namespace.string().nullable().default(null)
27
+ }).required().noUnknown();
28
+ const validateSettings = utils.validateYupSchema(SETTINGS_SCHEMA);
29
+
30
+ exports.SETTINGS_SCHEMA = SETTINGS_SCHEMA;
31
+ exports.validateSettings = validateSettings;
32
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sources":["../../../../server/src/controllers/validation/settings.ts"],"sourcesContent":["import { validateYupSchema } from '@strapi/utils';\nimport * as yup from 'yup';\n\nexport const SETTINGS_SCHEMA = yup\n .object()\n .shape({\n defaultTimezone: yup.string().nullable().default(null),\n })\n .required()\n .noUnknown();\n\nexport const validateSettings = validateYupSchema(SETTINGS_SCHEMA);\n"],"names":["SETTINGS_SCHEMA","yup","object","shape","defaultTimezone","string","nullable","default","required","noUnknown","validateSettings","validateYupSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MAGaA,eAAkBC,GAAAA,cAAAA,CAC5BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,eAAAA,EAAiBH,eAAII,MAAM,EAAA,CAAGC,QAAQ,EAAA,CAAGC,OAAO,CAAC,IAAA;AACnD,CACCC,CAAAA,CAAAA,QAAQ,EACRC,CAAAA,SAAS;AAEL,MAAMC,gBAAmBC,GAAAA,uBAAAA,CAAkBX,eAAiB;;;;;"}
@@ -0,0 +1,10 @@
1
+ import { validateYupSchema } from '@strapi/utils';
2
+ import * as yup from 'yup';
3
+
4
+ const SETTINGS_SCHEMA = yup.object().shape({
5
+ defaultTimezone: yup.string().nullable().default(null)
6
+ }).required().noUnknown();
7
+ const validateSettings = validateYupSchema(SETTINGS_SCHEMA);
8
+
9
+ export { SETTINGS_SCHEMA, validateSettings };
10
+ //# sourceMappingURL=settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.mjs","sources":["../../../../server/src/controllers/validation/settings.ts"],"sourcesContent":["import { validateYupSchema } from '@strapi/utils';\nimport * as yup from 'yup';\n\nexport const SETTINGS_SCHEMA = yup\n .object()\n .shape({\n defaultTimezone: yup.string().nullable().default(null),\n })\n .required()\n .noUnknown();\n\nexport const validateSettings = validateYupSchema(SETTINGS_SCHEMA);\n"],"names":["SETTINGS_SCHEMA","yup","object","shape","defaultTimezone","string","nullable","default","required","noUnknown","validateSettings","validateYupSchema"],"mappings":";;;MAGaA,eAAkBC,GAAAA,GAAAA,CAC5BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,eAAAA,EAAiBH,IAAII,MAAM,EAAA,CAAGC,QAAQ,EAAA,CAAGC,OAAO,CAAC,IAAA;AACnD,CACCC,CAAAA,CAAAA,QAAQ,EACRC,CAAAA,SAAS;AAEL,MAAMC,gBAAmBC,GAAAA,iBAAAA,CAAkBX,eAAiB;;;;"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var index = require('./utils/index.js');
4
+
5
+ const destroy = async ({ strapi })=>{
6
+ const scheduledJobs = index.getService('scheduling', {
7
+ strapi
8
+ }).getAll();
9
+ for (const [, job] of scheduledJobs){
10
+ job.cancel();
11
+ }
12
+ };
13
+
14
+ exports.destroy = destroy;
15
+ //# sourceMappingURL=destroy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.js","sources":["../../server/src/destroy.ts"],"sourcesContent":["import { Job } from 'node-schedule';\nimport type { Core } from '@strapi/types';\n\nimport { Release } from '../../shared/contracts/releases';\nimport { getService } from './utils';\n\nexport const destroy = async ({ strapi }: { strapi: Core.Strapi }) => {\n const scheduledJobs: Map<Release['id'], Job> = getService('scheduling', {\n strapi,\n }).getAll();\n\n for (const [, job] of scheduledJobs) {\n job.cancel();\n }\n};\n"],"names":["destroy","strapi","scheduledJobs","getService","getAll","job","cancel"],"mappings":";;;;AAMaA,MAAAA,OAAAA,GAAU,OAAO,EAAEC,MAAM,EAA2B,GAAA;IAC/D,MAAMC,aAAAA,GAAyCC,iBAAW,YAAc,EAAA;AACtEF,QAAAA;AACF,KAAA,CAAA,CAAGG,MAAM,EAAA;AAET,IAAA,KAAK,MAAM,GAAGC,GAAI,CAAA,IAAIH,aAAe,CAAA;AACnCG,QAAAA,GAAAA,CAAIC,MAAM,EAAA;AACZ;AACF;;;;"}
@@ -0,0 +1,13 @@
1
+ import { getService } from './utils/index.mjs';
2
+
3
+ const destroy = async ({ strapi })=>{
4
+ const scheduledJobs = getService('scheduling', {
5
+ strapi
6
+ }).getAll();
7
+ for (const [, job] of scheduledJobs){
8
+ job.cancel();
9
+ }
10
+ };
11
+
12
+ export { destroy };
13
+ //# sourceMappingURL=destroy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.mjs","sources":["../../server/src/destroy.ts"],"sourcesContent":["import { Job } from 'node-schedule';\nimport type { Core } from '@strapi/types';\n\nimport { Release } from '../../shared/contracts/releases';\nimport { getService } from './utils';\n\nexport const destroy = async ({ strapi }: { strapi: Core.Strapi }) => {\n const scheduledJobs: Map<Release['id'], Job> = getService('scheduling', {\n strapi,\n }).getAll();\n\n for (const [, job] of scheduledJobs) {\n job.cancel();\n }\n};\n"],"names":["destroy","strapi","scheduledJobs","getService","getAll","job","cancel"],"mappings":";;AAMaA,MAAAA,OAAAA,GAAU,OAAO,EAAEC,MAAM,EAA2B,GAAA;IAC/D,MAAMC,aAAAA,GAAyCC,WAAW,YAAc,EAAA;AACtEF,QAAAA;AACF,KAAA,CAAA,CAAGG,MAAM,EAAA;AAET,IAAA,KAAK,MAAM,GAAGC,GAAI,CAAA,IAAIH,aAAe,CAAA;AACnCG,QAAAA,GAAAA,CAAIC,MAAM,EAAA;AACZ;AACF;;;;"}