@strapi/content-releases 5.0.0-beta.3 → 5.0.0-beta.5

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 (51) hide show
  1. package/dist/_chunks/{App-Vd892Zuj.mjs → App-Cmn2Mkn7.mjs} +22 -12
  2. package/dist/_chunks/App-Cmn2Mkn7.mjs.map +1 -0
  3. package/dist/_chunks/{App-7E8zfxM4.js → App-FVorrIzF.js} +21 -11
  4. package/dist/_chunks/App-FVorrIzF.js.map +1 -0
  5. package/dist/_chunks/{PurchaseContentReleases-3tRbmbY3.mjs → PurchaseContentReleases-C8djn9fP.mjs} +1 -1
  6. package/dist/_chunks/{PurchaseContentReleases-3tRbmbY3.mjs.map → PurchaseContentReleases-C8djn9fP.mjs.map} +1 -1
  7. package/dist/_chunks/{PurchaseContentReleases-bpIYXOfu.js → PurchaseContentReleases-sD6ADHk2.js} +1 -1
  8. package/dist/_chunks/{PurchaseContentReleases-bpIYXOfu.js.map → PurchaseContentReleases-sD6ADHk2.js.map} +1 -1
  9. package/dist/_chunks/{en-bpHsnU0n.mjs → en-B9Ur3VsE.mjs} +2 -1
  10. package/dist/_chunks/en-B9Ur3VsE.mjs.map +1 -0
  11. package/dist/_chunks/{en-3SGjiVyR.js → en-DtFJ5ViE.js} +2 -1
  12. package/dist/_chunks/en-DtFJ5ViE.js.map +1 -0
  13. package/dist/_chunks/{index-OCYXm4ZK.js → index-BfJLth9Z.js} +33 -14
  14. package/dist/_chunks/index-BfJLth9Z.js.map +1 -0
  15. package/dist/_chunks/{index-NBWsQac-.mjs → index-DDohgTaQ.mjs} +33 -14
  16. package/dist/_chunks/index-DDohgTaQ.mjs.map +1 -0
  17. package/dist/admin/index.js +1 -1
  18. package/dist/admin/index.mjs +1 -1
  19. package/dist/admin/src/components/ReleaseListCell.d.ts +0 -0
  20. package/dist/admin/src/services/release.d.ts +61 -26
  21. package/dist/server/index.js +77 -13
  22. package/dist/server/index.js.map +1 -1
  23. package/dist/server/index.mjs +77 -13
  24. package/dist/server/index.mjs.map +1 -1
  25. package/dist/server/src/bootstrap.d.ts.map +1 -1
  26. package/dist/server/src/controllers/index.d.ts +1 -0
  27. package/dist/server/src/controllers/index.d.ts.map +1 -1
  28. package/dist/server/src/controllers/release.d.ts +1 -0
  29. package/dist/server/src/controllers/release.d.ts.map +1 -1
  30. package/dist/server/src/destroy.d.ts.map +1 -1
  31. package/dist/server/src/index.d.ts +2 -1
  32. package/dist/server/src/index.d.ts.map +1 -1
  33. package/dist/server/src/migrations/index.d.ts.map +1 -1
  34. package/dist/server/src/register.d.ts.map +1 -1
  35. package/dist/server/src/routes/release.d.ts.map +1 -1
  36. package/dist/server/src/services/index.d.ts +1 -1
  37. package/dist/server/src/services/release.d.ts +2 -2
  38. package/dist/server/src/services/release.d.ts.map +1 -1
  39. package/dist/server/src/services/scheduling.d.ts.map +1 -1
  40. package/dist/server/src/services/validation.d.ts.map +1 -1
  41. package/dist/server/src/utils/index.d.ts +1 -1
  42. package/dist/server/src/utils/index.d.ts.map +1 -1
  43. package/dist/shared/contracts/releases.d.ts +17 -1
  44. package/dist/shared/contracts/releases.d.ts.map +1 -1
  45. package/package.json +10 -10
  46. package/dist/_chunks/App-7E8zfxM4.js.map +0 -1
  47. package/dist/_chunks/App-Vd892Zuj.mjs.map +0 -1
  48. package/dist/_chunks/en-3SGjiVyR.js.map +0 -1
  49. package/dist/_chunks/en-bpHsnU0n.mjs.map +0 -1
  50. package/dist/_chunks/index-NBWsQac-.mjs.map +0 -1
  51. package/dist/_chunks/index-OCYXm4ZK.js.map +0 -1
@@ -49,7 +49,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
49
49
  };
50
50
  };
51
51
  data?: undefined;
52
- }>, "Release" | "ReleaseAction", GetContentTypeEntryReleases.Response, "content-releases">;
52
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetContentTypeEntryReleases.Response, "content-releases">;
53
53
  getReleases: import("@reduxjs/toolkit/query/react").QueryDefinition<void | GetReleasesQueryParams, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
54
54
  data: TData;
55
55
  error?: undefined;
@@ -62,7 +62,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
62
62
  };
63
63
  };
64
64
  data?: undefined;
65
- }>, "Release" | "ReleaseAction", GetReleasesTabResponse, "content-releases">;
65
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetReleasesTabResponse, "content-releases">;
66
66
  getRelease: import("@reduxjs/toolkit/query/react").QueryDefinition<{
67
67
  id: import("@strapi/types/dist/data").ID;
68
68
  }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
@@ -77,7 +77,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
77
77
  };
78
78
  };
79
79
  data?: undefined;
80
- }>, "Release" | "ReleaseAction", GetRelease.Response, "content-releases">;
80
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetRelease.Response, "content-releases">;
81
81
  getReleaseActions: import("@reduxjs/toolkit/query/react").QueryDefinition<{
82
82
  releaseId: import("@strapi/types/dist/data").ID;
83
83
  } & Partial<Pick<import("../../../shared/contracts/releases").Pagination, "page" | "pageSize">> & {
@@ -94,7 +94,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
94
94
  };
95
95
  };
96
96
  data?: undefined;
97
- }>, "Release" | "ReleaseAction", GetReleaseActions.Response, "content-releases">;
97
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetReleaseActions.Response, "content-releases">;
98
98
  createRelease: import("@reduxjs/toolkit/query/react").MutationDefinition<{
99
99
  name: string;
100
100
  scheduledAt: Date | null;
@@ -111,7 +111,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
111
111
  };
112
112
  };
113
113
  data?: undefined;
114
- }>, "Release" | "ReleaseAction", CreateRelease.Response, "content-releases">;
114
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", CreateRelease.Response, "content-releases">;
115
115
  updateRelease: import("@reduxjs/toolkit/query/react").MutationDefinition<{
116
116
  id: import("@strapi/types/dist/data").ID;
117
117
  } & {
@@ -130,7 +130,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
130
130
  };
131
131
  };
132
132
  data?: undefined;
133
- }>, "Release" | "ReleaseAction", void, "content-releases">;
133
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", void, "content-releases">;
134
134
  createReleaseAction: import("@reduxjs/toolkit/query/react").MutationDefinition<CreateReleaseAction.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
135
135
  data: TData;
136
136
  error?: undefined;
@@ -143,7 +143,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
143
143
  };
144
144
  };
145
145
  data?: undefined;
146
- }>, "Release" | "ReleaseAction", CreateReleaseAction.Response, "content-releases">;
146
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", CreateReleaseAction.Response, "content-releases">;
147
147
  createManyReleaseActions: import("@reduxjs/toolkit/query/react").MutationDefinition<CreateManyReleaseActions.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
148
148
  data: TData;
149
149
  error?: undefined;
@@ -156,7 +156,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
156
156
  };
157
157
  };
158
158
  data?: undefined;
159
- }>, "Release" | "ReleaseAction", CreateManyReleaseActions.Response, "content-releases">;
159
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", CreateManyReleaseActions.Response, "content-releases">;
160
160
  updateReleaseAction: import("@reduxjs/toolkit/query/react").MutationDefinition<UpdateReleaseAction.Request & {
161
161
  query: GetReleaseActions.Request['query'];
162
162
  } & {
@@ -173,7 +173,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
173
173
  };
174
174
  };
175
175
  data?: undefined;
176
- }>, "Release" | "ReleaseAction", UpdateReleaseAction.Response, "content-releases">;
176
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", UpdateReleaseAction.Response, "content-releases">;
177
177
  deleteReleaseAction: import("@reduxjs/toolkit/query/react").MutationDefinition<DeleteReleaseAction.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
178
178
  data: TData;
179
179
  error?: undefined;
@@ -186,7 +186,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
186
186
  };
187
187
  };
188
188
  data?: undefined;
189
- }>, "Release" | "ReleaseAction", DeleteReleaseAction.Response, "content-releases">;
189
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", DeleteReleaseAction.Response, "content-releases">;
190
190
  publishRelease: import("@reduxjs/toolkit/query/react").MutationDefinition<{
191
191
  id: import("@strapi/types/dist/data").ID;
192
192
  }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
@@ -201,7 +201,7 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
201
201
  };
202
202
  };
203
203
  data?: undefined;
204
- }>, "Release" | "ReleaseAction", PublishRelease.Response, "content-releases">;
204
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", PublishRelease.Response, "content-releases">;
205
205
  deleteRelease: import("@reduxjs/toolkit/query/react").MutationDefinition<{
206
206
  id: import("@strapi/types/dist/data").ID;
207
207
  }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
@@ -216,8 +216,26 @@ declare const releaseApi: import("@reduxjs/toolkit/query/react").Api<(<TData = a
216
216
  };
217
217
  };
218
218
  data?: undefined;
219
- }>, "Release" | "ReleaseAction", DeleteRelease.Response, "content-releases">;
220
- }, "content-releases", "Release" | "ReleaseAction", typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
219
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", DeleteRelease.Response, "content-releases">;
220
+ getMappedEntriesInReleases: import("@reduxjs/toolkit/query/react").QueryDefinition<{
221
+ contentTypeUid: import("@strapi/types/dist/uid").ContentType;
222
+ entriesIds: number[];
223
+ }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
224
+ data: TData;
225
+ error?: undefined;
226
+ } | {
227
+ error: {
228
+ status: number | undefined;
229
+ code: string | undefined;
230
+ response: {
231
+ data: unknown;
232
+ };
233
+ };
234
+ data?: undefined;
235
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", {
236
+ [entryId: number]: Pick<import("../../../shared/contracts/releases").Release, "id" | "name">[];
237
+ }, "content-releases">;
238
+ }, "content-releases", "Release" | "ReleaseAction" | "EntriesInRelease", typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
221
239
  declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<void | GetReleasesQueryParams, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
222
240
  data: TData;
223
241
  error?: undefined;
@@ -230,7 +248,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
230
248
  };
231
249
  };
232
250
  data?: undefined;
233
- }>, "Release" | "ReleaseAction", GetReleasesTabResponse, "content-releases">>, useGetReleasesForEntryQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<Partial<{
251
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetReleasesTabResponse, "content-releases">>, useGetReleasesForEntryQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<Partial<{
234
252
  contentTypeUid: import("@strapi/types/dist/uid").ContentType;
235
253
  entryId: number;
236
254
  hasEntryAttached?: boolean | undefined;
@@ -246,7 +264,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
246
264
  };
247
265
  };
248
266
  data?: undefined;
249
- }>, "Release" | "ReleaseAction", GetContentTypeEntryReleases.Response, "content-releases">>, useGetReleaseQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<{
267
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetContentTypeEntryReleases.Response, "content-releases">>, useGetReleaseQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<{
250
268
  id: import("@strapi/types/dist/data").ID;
251
269
  }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
252
270
  data: TData;
@@ -260,7 +278,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
260
278
  };
261
279
  };
262
280
  data?: undefined;
263
- }>, "Release" | "ReleaseAction", GetRelease.Response, "content-releases">>, useGetReleaseActionsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<{
281
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetRelease.Response, "content-releases">>, useGetReleaseActionsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<{
264
282
  releaseId: import("@strapi/types/dist/data").ID;
265
283
  } & Partial<Pick<import("../../../shared/contracts/releases").Pagination, "page" | "pageSize">> & {
266
284
  groupBy?: ReleaseActionGroupBy | undefined;
@@ -276,7 +294,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
276
294
  };
277
295
  };
278
296
  data?: undefined;
279
- }>, "Release" | "ReleaseAction", GetReleaseActions.Response, "content-releases">>, useCreateReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
297
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", GetReleaseActions.Response, "content-releases">>, useCreateReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
280
298
  name: string;
281
299
  scheduledAt: Date | null;
282
300
  timezone: string | null;
@@ -292,7 +310,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
292
310
  };
293
311
  };
294
312
  data?: undefined;
295
- }>, "Release" | "ReleaseAction", CreateRelease.Response, "content-releases">>, useCreateReleaseActionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<CreateReleaseAction.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
313
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", CreateRelease.Response, "content-releases">>, useCreateReleaseActionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<CreateReleaseAction.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
296
314
  data: TData;
297
315
  error?: undefined;
298
316
  } | {
@@ -304,7 +322,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
304
322
  };
305
323
  };
306
324
  data?: undefined;
307
- }>, "Release" | "ReleaseAction", CreateReleaseAction.Response, "content-releases">>, useCreateManyReleaseActionsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<CreateManyReleaseActions.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
325
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", CreateReleaseAction.Response, "content-releases">>, useCreateManyReleaseActionsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<CreateManyReleaseActions.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
308
326
  data: TData;
309
327
  error?: undefined;
310
328
  } | {
@@ -316,7 +334,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
316
334
  };
317
335
  };
318
336
  data?: undefined;
319
- }>, "Release" | "ReleaseAction", CreateManyReleaseActions.Response, "content-releases">>, useUpdateReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
337
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", CreateManyReleaseActions.Response, "content-releases">>, useUpdateReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
320
338
  id: import("@strapi/types/dist/data").ID;
321
339
  } & {
322
340
  name: string;
@@ -334,7 +352,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
334
352
  };
335
353
  };
336
354
  data?: undefined;
337
- }>, "Release" | "ReleaseAction", void, "content-releases">>, useUpdateReleaseActionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<UpdateReleaseAction.Request & {
355
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", void, "content-releases">>, useUpdateReleaseActionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<UpdateReleaseAction.Request & {
338
356
  query: GetReleaseActions.Request['query'];
339
357
  } & {
340
358
  actionPath: [string, number];
@@ -350,7 +368,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
350
368
  };
351
369
  };
352
370
  data?: undefined;
353
- }>, "Release" | "ReleaseAction", UpdateReleaseAction.Response, "content-releases">>, usePublishReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
371
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", UpdateReleaseAction.Response, "content-releases">>, usePublishReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
354
372
  id: import("@strapi/types/dist/data").ID;
355
373
  }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
356
374
  data: TData;
@@ -364,7 +382,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
364
382
  };
365
383
  };
366
384
  data?: undefined;
367
- }>, "Release" | "ReleaseAction", PublishRelease.Response, "content-releases">>, useDeleteReleaseActionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<DeleteReleaseAction.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
385
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", PublishRelease.Response, "content-releases">>, useDeleteReleaseActionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<DeleteReleaseAction.Request, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
368
386
  data: TData;
369
387
  error?: undefined;
370
388
  } | {
@@ -376,7 +394,7 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
376
394
  };
377
395
  };
378
396
  data?: undefined;
379
- }>, "Release" | "ReleaseAction", DeleteReleaseAction.Response, "content-releases">>, useDeleteReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
397
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", DeleteReleaseAction.Response, "content-releases">>, useDeleteReleaseMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
380
398
  id: import("@strapi/types/dist/data").ID;
381
399
  }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
382
400
  data: TData;
@@ -390,5 +408,22 @@ declare const useGetReleasesQuery: import("@reduxjs/toolkit/dist/query/react/bui
390
408
  };
391
409
  };
392
410
  data?: undefined;
393
- }>, "Release" | "ReleaseAction", DeleteRelease.Response, "content-releases">>;
394
- export { useGetReleasesQuery, useGetReleasesForEntryQuery, useGetReleaseQuery, useGetReleaseActionsQuery, useCreateReleaseMutation, useCreateReleaseActionMutation, useCreateManyReleaseActionsMutation, useUpdateReleaseMutation, useUpdateReleaseActionMutation, usePublishReleaseMutation, useDeleteReleaseActionMutation, useDeleteReleaseMutation, releaseApi, };
411
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", DeleteRelease.Response, "content-releases">>, useGetMappedEntriesInReleasesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<{
412
+ contentTypeUid: import("@strapi/types/dist/uid").ContentType;
413
+ entriesIds: number[];
414
+ }, <TData = any, TSend = any>({ url, method, data, config, }: import("./axios").QueryArguments<TSend>) => Promise<{
415
+ data: TData;
416
+ error?: undefined;
417
+ } | {
418
+ error: {
419
+ status: number | undefined;
420
+ code: string | undefined;
421
+ response: {
422
+ data: unknown;
423
+ };
424
+ };
425
+ data?: undefined;
426
+ }>, "Release" | "ReleaseAction" | "EntriesInRelease", {
427
+ [entryId: number]: Pick<import("../../../shared/contracts/releases").Release, "id" | "name">[];
428
+ }, "content-releases">>;
429
+ export { useGetReleasesQuery, useGetReleasesForEntryQuery, useGetReleaseQuery, useGetReleaseActionsQuery, useCreateReleaseMutation, useCreateReleaseActionMutation, useCreateManyReleaseActionsMutation, useUpdateReleaseMutation, useUpdateReleaseActionMutation, usePublishReleaseMutation, useDeleteReleaseActionMutation, useDeleteReleaseMutation, useGetMappedEntriesInReleasesQuery, releaseApi, };
@@ -236,13 +236,16 @@ async function disableContentTypeLocalized({ oldContentTypes, contentTypes: cont
236
236
  if (!oldContentTypes) {
237
237
  return;
238
238
  }
239
+ const i18nPlugin = strapi.plugin("i18n");
240
+ if (!i18nPlugin) {
241
+ return;
242
+ }
239
243
  for (const uid in contentTypes2) {
240
244
  if (!oldContentTypes[uid]) {
241
245
  continue;
242
246
  }
243
247
  const oldContentType = oldContentTypes[uid];
244
248
  const contentType = contentTypes2[uid];
245
- const i18nPlugin = strapi.plugin("i18n");
246
249
  const { isLocalizedContentType } = i18nPlugin.service("content-types");
247
250
  if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {
248
251
  await strapi.db.queryBuilder(RELEASE_ACTION_MODEL_UID).update({
@@ -255,13 +258,16 @@ async function enableContentTypeLocalized({ oldContentTypes, contentTypes: conte
255
258
  if (!oldContentTypes) {
256
259
  return;
257
260
  }
261
+ const i18nPlugin = strapi.plugin("i18n");
262
+ if (!i18nPlugin) {
263
+ return;
264
+ }
258
265
  for (const uid in contentTypes2) {
259
266
  if (!oldContentTypes[uid]) {
260
267
  continue;
261
268
  }
262
269
  const oldContentType = oldContentTypes[uid];
263
270
  const contentType = contentTypes2[uid];
264
- const i18nPlugin = strapi.plugin("i18n");
265
271
  const { isLocalizedContentType } = i18nPlugin.service("content-types");
266
272
  const { getDefaultLocale } = i18nPlugin.service("locales");
267
273
  if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {
@@ -674,12 +680,18 @@ const createReleaseService = ({ strapi: strapi2 }) => {
674
680
  }
675
681
  });
676
682
  },
677
- async findManyWithContentTypeEntryAttached(contentTypeUid, entryId) {
683
+ async findManyWithContentTypeEntryAttached(contentTypeUid, entriesIds) {
684
+ let entries = entriesIds;
685
+ if (!Array.isArray(entriesIds)) {
686
+ entries = [entriesIds];
687
+ }
678
688
  const releases = await strapi2.db.query(RELEASE_MODEL_UID).findMany({
679
689
  where: {
680
690
  actions: {
681
691
  target_type: contentTypeUid,
682
- target_id: entryId
692
+ target_id: {
693
+ $in: entries
694
+ }
683
695
  },
684
696
  releasedAt: {
685
697
  $null: true
@@ -690,18 +702,25 @@ const createReleaseService = ({ strapi: strapi2 }) => {
690
702
  actions: {
691
703
  where: {
692
704
  target_type: contentTypeUid,
693
- target_id: entryId
705
+ target_id: {
706
+ $in: entries
707
+ }
708
+ },
709
+ populate: {
710
+ entry: {
711
+ select: ["id"]
712
+ }
694
713
  }
695
714
  }
696
715
  }
697
716
  });
698
717
  return releases.map((release2) => {
699
718
  if (release2.actions?.length) {
700
- const [actionForEntry] = release2.actions;
719
+ const actionsForEntry = release2.actions;
701
720
  delete release2.actions;
702
721
  return {
703
722
  ...release2,
704
- action: actionForEntry
723
+ actions: actionsForEntry
705
724
  };
706
725
  }
707
726
  return release2;
@@ -1318,6 +1337,35 @@ const releaseController = {
1318
1337
  };
1319
1338
  ctx.body = { data };
1320
1339
  },
1340
+ async mapEntriesToReleases(ctx) {
1341
+ const { contentTypeUid, entriesIds } = ctx.query;
1342
+ if (!contentTypeUid || !entriesIds) {
1343
+ throw new utils.errors.ValidationError("Missing required query parameters");
1344
+ }
1345
+ const releaseService = getService("release", { strapi });
1346
+ const releasesWithActions = await releaseService.findManyWithContentTypeEntryAttached(
1347
+ contentTypeUid,
1348
+ entriesIds
1349
+ );
1350
+ const mappedEntriesInReleases = releasesWithActions.reduce(
1351
+ // TODO: Fix for v5 removed mappedEntriedToRelease
1352
+ (acc, release2) => {
1353
+ release2.actions.forEach((action) => {
1354
+ if (!acc[action.entry.id]) {
1355
+ acc[action.entry.id] = [{ id: release2.id, name: release2.name }];
1356
+ } else {
1357
+ acc[action.entry.id].push({ id: release2.id, name: release2.name });
1358
+ }
1359
+ });
1360
+ return acc;
1361
+ },
1362
+ // TODO: Fix for v5 removed mappedEntriedToRelease
1363
+ {}
1364
+ );
1365
+ ctx.body = {
1366
+ data: mappedEntriesInReleases
1367
+ };
1368
+ },
1321
1369
  async create(ctx) {
1322
1370
  const user = ctx.state.user;
1323
1371
  const releaseArgs = ctx.request.body;
@@ -1328,9 +1376,9 @@ const releaseController = {
1328
1376
  ability: ctx.state.userAbility,
1329
1377
  model: RELEASE_MODEL_UID
1330
1378
  });
1331
- ctx.body = {
1379
+ ctx.created({
1332
1380
  data: await permissionsManager.sanitizeOutput(release2)
1333
- };
1381
+ });
1334
1382
  },
1335
1383
  async update(ctx) {
1336
1384
  const user = ctx.state.user;
@@ -1403,9 +1451,9 @@ const releaseActionController = {
1403
1451
  await validateReleaseAction(releaseActionArgs);
1404
1452
  const releaseService = getService("release", { strapi });
1405
1453
  const releaseAction2 = await releaseService.createAction(releaseId, releaseActionArgs);
1406
- ctx.body = {
1454
+ ctx.created({
1407
1455
  data: releaseAction2
1408
- };
1456
+ });
1409
1457
  },
1410
1458
  async createMany(ctx) {
1411
1459
  const releaseId = ctx.params.releaseId;
@@ -1431,13 +1479,13 @@ const releaseActionController = {
1431
1479
  return releaseActions2;
1432
1480
  });
1433
1481
  const newReleaseActions = releaseActions.filter((action) => action !== null);
1434
- ctx.body = {
1482
+ ctx.created({
1435
1483
  data: newReleaseActions,
1436
1484
  meta: {
1437
1485
  entriesAlreadyInRelease: releaseActions.length - newReleaseActions.length,
1438
1486
  totalEntries: releaseActions.length
1439
1487
  }
1440
- };
1488
+ });
1441
1489
  },
1442
1490
  async findMany(ctx) {
1443
1491
  const releaseId = ctx.params.releaseId;
@@ -1507,6 +1555,22 @@ const controllers = { release: releaseController, "release-action": releaseActio
1507
1555
  const release = {
1508
1556
  type: "admin",
1509
1557
  routes: [
1558
+ {
1559
+ method: "GET",
1560
+ path: "/mapEntriesToReleases",
1561
+ handler: "release.mapEntriesToReleases",
1562
+ config: {
1563
+ policies: [
1564
+ "admin::isAuthenticatedAdmin",
1565
+ {
1566
+ name: "admin::hasPermissions",
1567
+ config: {
1568
+ actions: ["plugin::content-releases.read"]
1569
+ }
1570
+ }
1571
+ ]
1572
+ }
1573
+ },
1510
1574
  {
1511
1575
  method: "POST",
1512
1576
  path: "/",