@contentchef/contentchef-types 10.1.0-alpha.1 → 10.1.0-alpha.3

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.
@@ -1,4 +1,4 @@
1
- import { ContentId } from "./Content";
1
+ import { ContentId, LocalizationSettings } from "./Content";
2
2
  import { AuthorResponse } from "./Author";
3
3
  import { ContentRepositoryId } from "./ContentRepository";
4
4
  import { ContentTranslationStatus } from "./ContentTranslation";
@@ -230,9 +230,9 @@ export type ReleaseItemFilters = {
230
230
  */
231
231
  search?: string;
232
232
  /**
233
- * The release item related content locale
233
+ * The release item related content locales. Matches items whose content locale is any of the given values
234
234
  */
235
- locale?: string;
235
+ locale?: string[];
236
236
  /**
237
237
  * The release item related content definition mnemonic ids
238
238
  */
@@ -318,12 +318,89 @@ export type ListReleaseItemsV2Request = {
318
318
  */
319
319
  filters?: ReleaseItemFilters;
320
320
  };
321
+ /**
322
+ * This type represent a single locale variant of a content inside a release item group
323
+ */
324
+ export type ReleaseItemVariant = {
325
+ /**
326
+ * The release item unique id
327
+ */
328
+ id: ReleaseItemId;
329
+ /**
330
+ * The variant content locale
331
+ */
332
+ contentLocale: string | null;
333
+ /**
334
+ * Mark if the release item is selected to be published
335
+ */
336
+ toPublish: boolean;
337
+ /**
338
+ * Status of the ContentTranslation (defined if content is derived from a translation)
339
+ */
340
+ translationStatus: ContentTranslationStatus | null;
341
+ /**
342
+ * The localization settings of the related content
343
+ */
344
+ contentLocalizationSettings: LocalizationSettings;
345
+ /**
346
+ * The localized content unique id (defined if content is derived from a translation)
347
+ */
348
+ localizedContentId: string | null;
349
+ /**
350
+ * The release item related content tags
351
+ */
352
+ contentTags: string[];
353
+ /**
354
+ * The release item related content online date, as an ISO 8601 string
355
+ */
356
+ onlineDate: string | null;
357
+ /**
358
+ * The release item related content offline date, as an ISO 8601 string
359
+ */
360
+ offlineDate: string | null;
361
+ };
362
+ /**
363
+ * This type represent a release content along with its locale variants matching the request filters
364
+ */
365
+ export type ReleaseItemGroup = {
366
+ /**
367
+ * The related content unique id
368
+ */
369
+ contentId: ContentId;
370
+ /**
371
+ * The related content public id
372
+ */
373
+ publicId: string;
374
+ /**
375
+ * The related content name
376
+ */
377
+ contentName: string;
378
+ /**
379
+ * The related content definition mnemonic id
380
+ */
381
+ contentDefinitionMnemonicId: string;
382
+ /**
383
+ * The related content repository mnemonic id
384
+ */
385
+ contentRepositoryMnemonicId: string;
386
+ /**
387
+ * The locale variants of the content matching the request filters
388
+ */
389
+ variants: ReleaseItemVariant[];
390
+ };
321
391
  /**
322
392
  * This type represent the response of a list release items V2 API request.
393
+ * The release items are grouped by content: one [[ReleaseItemGroup]] per content id with all of its
394
+ * filter-matching locale variants, so pagination (over groups) never splits a content across pages
395
+ * and [[PagedListResponse.total]] counts the matching groups.
323
396
  * The facets ([[locales]], [[contentDefinitionMnemonicIds]]) and [[selectedCount]] are computed
324
397
  * over the whole release, ignoring the request filters
325
398
  */
326
- export type ListReleaseItemsV2Response = PagedListResponse<ReleaseItem> & {
399
+ export type ListReleaseItemsV2Response = PagedListResponse<ReleaseItemGroup> & {
400
+ /**
401
+ * The total number of release items matching the request filters
402
+ */
403
+ totalItems: number;
327
404
  /**
328
405
  * The number of release items selected to be published in the whole release
329
406
  */
@@ -1,4 +1,4 @@
1
- import { ContentId } from "./Content";
1
+ import { ContentId, LocalizationSettings } from "./Content";
2
2
  import { AuthorResponse } from "./Author";
3
3
  import { ContentRepositoryId } from "./ContentRepository";
4
4
  import { ContentTranslationStatus } from "./ContentTranslation";
@@ -244,9 +244,9 @@ export type ReleaseItemFilters = {
244
244
  */
245
245
  search?: string;
246
246
  /**
247
- * The release item related content locale
247
+ * The release item related content locales. Matches items whose content locale is any of the given values
248
248
  */
249
- locale?: string;
249
+ locale?: string[];
250
250
  /**
251
251
  * The release item related content definition mnemonic ids
252
252
  */
@@ -338,12 +338,91 @@ export type ListReleaseItemsV2Request = {
338
338
  filters?: ReleaseItemFilters;
339
339
  };
340
340
 
341
+ /**
342
+ * This type represent a single locale variant of a content inside a release item group
343
+ */
344
+ export type ReleaseItemVariant = {
345
+ /**
346
+ * The release item unique id
347
+ */
348
+ id: ReleaseItemId;
349
+ /**
350
+ * The variant content locale
351
+ */
352
+ contentLocale: string | null;
353
+ /**
354
+ * Mark if the release item is selected to be published
355
+ */
356
+ toPublish: boolean;
357
+ /**
358
+ * Status of the ContentTranslation (defined if content is derived from a translation)
359
+ */
360
+ translationStatus: ContentTranslationStatus | null;
361
+ /**
362
+ * The localization settings of the related content
363
+ */
364
+ contentLocalizationSettings: LocalizationSettings;
365
+ /**
366
+ * The localized content unique id (defined if content is derived from a translation)
367
+ */
368
+ localizedContentId: string | null;
369
+ /**
370
+ * The release item related content tags
371
+ */
372
+ contentTags: string[];
373
+ /**
374
+ * The release item related content online date, as an ISO 8601 string
375
+ */
376
+ onlineDate: string | null;
377
+ /**
378
+ * The release item related content offline date, as an ISO 8601 string
379
+ */
380
+ offlineDate: string | null;
381
+ };
382
+
383
+ /**
384
+ * This type represent a release content along with its locale variants matching the request filters
385
+ */
386
+ export type ReleaseItemGroup = {
387
+ /**
388
+ * The related content unique id
389
+ */
390
+ contentId: ContentId;
391
+ /**
392
+ * The related content public id
393
+ */
394
+ publicId: string;
395
+ /**
396
+ * The related content name
397
+ */
398
+ contentName: string;
399
+ /**
400
+ * The related content definition mnemonic id
401
+ */
402
+ contentDefinitionMnemonicId: string;
403
+ /**
404
+ * The related content repository mnemonic id
405
+ */
406
+ contentRepositoryMnemonicId: string;
407
+ /**
408
+ * The locale variants of the content matching the request filters
409
+ */
410
+ variants: ReleaseItemVariant[];
411
+ };
412
+
341
413
  /**
342
414
  * This type represent the response of a list release items V2 API request.
415
+ * The release items are grouped by content: one [[ReleaseItemGroup]] per content id with all of its
416
+ * filter-matching locale variants, so pagination (over groups) never splits a content across pages
417
+ * and [[PagedListResponse.total]] counts the matching groups.
343
418
  * The facets ([[locales]], [[contentDefinitionMnemonicIds]]) and [[selectedCount]] are computed
344
419
  * over the whole release, ignoring the request filters
345
420
  */
346
- export type ListReleaseItemsV2Response = PagedListResponse<ReleaseItem> & {
421
+ export type ListReleaseItemsV2Response = PagedListResponse<ReleaseItemGroup> & {
422
+ /**
423
+ * The total number of release items matching the request filters
424
+ */
425
+ totalItems: number;
347
426
  /**
348
427
  * The number of release items selected to be published in the whole release
349
428
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentchef/contentchef-types",
3
- "version": "10.1.0-alpha.1",
3
+ "version": "10.1.0-alpha.3",
4
4
  "description": "ContentChef types",
5
5
  "author": "PierpaoloIannone <piannone@byte-code.com>",
6
6
  "homepage": "https://github.com/ContentChef/contentchef-management-js-client#readme",
@@ -34,5 +34,5 @@
34
34
  "devDependencies": {
35
35
  "typescript": "^5.9.3"
36
36
  },
37
- "gitHead": "05e45ae2e7f58035520a882982dceabef27a063d"
37
+ "gitHead": "255753294b502caeac66934099b393c3ebaa3b0d"
38
38
  }