@contentchef/contentchef-types 10.1.0-alpha.0 → 10.1.0-alpha.10

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.
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_CONTENT_EXPORT_IMPORT_PAGE_SIZE = exports.ContentImportItemAction = exports.ContentImportItemStatus = exports.ContentImportRowType = exports.ContentImportStatus = exports.ContentExportStatus = exports.ContentExportFormat = void 0;
4
+ /**
5
+ * This enum represent the file format of a content export, and the format an import file is read with
6
+ */
7
+ var ContentExportFormat;
8
+ (function (ContentExportFormat) {
9
+ ContentExportFormat["JSON"] = "json";
10
+ ContentExportFormat["CSV"] = "csv";
11
+ })(ContentExportFormat || (exports.ContentExportFormat = ContentExportFormat = {}));
12
+ /**
13
+ * This enum represent the lifecycle of a content export request. Exports are processed
14
+ * asynchronously, so a freshly created request is always `queued`
15
+ */
16
+ var ContentExportStatus;
17
+ (function (ContentExportStatus) {
18
+ ContentExportStatus["QUEUED"] = "queued";
19
+ ContentExportStatus["PROCESSING"] = "processing";
20
+ ContentExportStatus["COMPLETED"] = "completed";
21
+ ContentExportStatus["FAILED"] = "failed";
22
+ })(ContentExportStatus || (exports.ContentExportStatus = ContentExportStatus = {}));
23
+ /**
24
+ * This enum represent the lifecycle of a content import request. A freshly created request is
25
+ * `awaiting_upload` until the import file is uploaded to
26
+ * [[CreateContentImportRequestResponse.uploadUrl]], which is what starts the import
27
+ */
28
+ var ContentImportStatus;
29
+ (function (ContentImportStatus) {
30
+ ContentImportStatus["AWAITING_UPLOAD"] = "awaiting_upload";
31
+ ContentImportStatus["PROCESSING"] = "processing";
32
+ ContentImportStatus["COMPLETED"] = "completed";
33
+ ContentImportStatus["COMPLETED_WITH_ERRORS"] = "completed_with_errors";
34
+ ContentImportStatus["FAILED"] = "failed";
35
+ })(ContentImportStatus || (exports.ContentImportStatus = ContentImportStatus = {}));
36
+ /**
37
+ * This enum represent what an imported row describes: the content itself or one of its translations
38
+ */
39
+ var ContentImportRowType;
40
+ (function (ContentImportRowType) {
41
+ ContentImportRowType["CONTENT"] = "content";
42
+ ContentImportRowType["TRANSLATION"] = "translation";
43
+ })(ContentImportRowType || (exports.ContentImportRowType = ContentImportRowType = {}));
44
+ /**
45
+ * This enum represent the outcome of a single imported row
46
+ */
47
+ var ContentImportItemStatus;
48
+ (function (ContentImportItemStatus) {
49
+ ContentImportItemStatus["SUCCESS"] = "success";
50
+ ContentImportItemStatus["FAILED"] = "failed";
51
+ })(ContentImportItemStatus || (exports.ContentImportItemStatus = ContentImportItemStatus = {}));
52
+ /**
53
+ * This enum represent what the import did to the content of a successfully imported row
54
+ */
55
+ var ContentImportItemAction;
56
+ (function (ContentImportItemAction) {
57
+ ContentImportItemAction["UPDATED"] = "updated";
58
+ })(ContentImportItemAction || (exports.ContentImportItemAction = ContentImportItemAction = {}));
59
+ /**
60
+ * The maximum number of items a content export or import list API request can take in a single page
61
+ */
62
+ exports.MAX_CONTENT_EXPORT_IMPORT_PAGE_SIZE = 100;
@@ -1,7 +1,8 @@
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";
5
+ import { PagedListResponse } from "./common";
5
6
  /**
6
7
  * The published content unique id
7
8
  */
@@ -220,6 +221,233 @@ export type UpdateReleaseRequest = {
220
221
  * This type represent the response of an update release API request
221
222
  */
222
223
  export type UpdateReleaseResponse = Release;
224
+ /**
225
+ * This enum represent the comparison operators available to a release item date filter
226
+ */
227
+ export declare enum DateFilterOperator {
228
+ lte = "lte",
229
+ gte = "gte"
230
+ }
231
+ /**
232
+ * This type represent a filter applied to one of the release item date fields
233
+ */
234
+ export type ReleaseItemDateFilter = {
235
+ /**
236
+ * The date to compare the release item date field with, as an ISO 8601 string
237
+ */
238
+ value: string;
239
+ /**
240
+ * The comparison to apply to the release item date field.
241
+ * Defaults to [[DateFilterOperator.lte]], i.e. "at or before"
242
+ */
243
+ operator?: DateFilterOperator;
244
+ };
245
+ /**
246
+ * This type represent the filters that can be applied to release items in the release V2 API requests.
247
+ * When more than one filter is given they are combined with AND
248
+ */
249
+ export type ReleaseItemFilters = {
250
+ /**
251
+ * Case insensitive search applied to the release item content name and public id
252
+ */
253
+ search?: string;
254
+ /**
255
+ * The release item related content locales. Matches items whose content locale is any of the given values
256
+ */
257
+ locale?: string[];
258
+ /**
259
+ * The release item related content definition mnemonic ids
260
+ */
261
+ contentDefinitionMnemonicIds?: string[];
262
+ /**
263
+ * Match only the release items that are (or are not) currently selected to be published
264
+ */
265
+ toPublish?: boolean;
266
+ /**
267
+ * Match only the release items whose related content online date satisfies the filter.
268
+ * Release items with no online date never match, whatever the operator
269
+ */
270
+ onlineDate?: ReleaseItemDateFilter;
271
+ /**
272
+ * Match only the release items whose related content offline date satisfies the filter.
273
+ * Release items with no offline date never match, whatever the operator
274
+ */
275
+ offlineDate?: ReleaseItemDateFilter;
276
+ };
277
+ /**
278
+ * This type represent the data needed to make a create release V2 API request
279
+ */
280
+ export type CreateReleaseV2Request = {};
281
+ /**
282
+ * This type represent the response of a create release V2 API request.
283
+ * Unlike [[CreateReleaseResponse]] it does not return the release items, only their count
284
+ */
285
+ export type CreateReleaseV2Response = Omit<Release, "releaseItems"> & {
286
+ /**
287
+ * The number of items in the drafted release
288
+ */
289
+ itemsCount: number;
290
+ };
291
+ /**
292
+ * This type represent the data needed to make an update release V2 API request.
293
+ * The selection of items to publish is replaced atomically: exactly one of
294
+ * [[includeAll]], [[filters]] or [[releaseItemIds]] must be provided
295
+ */
296
+ export type UpdateReleaseV2Request = {
297
+ /**
298
+ * The release unique id to update
299
+ */
300
+ releaseId: ReleaseId;
301
+ /**
302
+ * When true, select all the release items to be published
303
+ */
304
+ includeAll?: boolean;
305
+ /**
306
+ * Select the release items matching the given filters. Empty filters select all the release items.
307
+ * A toPublish filter is evaluated against the selection before the update.
308
+ * The filters are the same ones accepted by [[ListReleaseItemsV2Request]], so a selection can be
309
+ * previewed with `listReleaseItemsV2` and then applied by passing the very same filters here
310
+ */
311
+ filters?: ReleaseItemFilters;
312
+ /**
313
+ * Select the release items with the given ids. An empty list deselects all the release items
314
+ */
315
+ releaseItemIds?: ReleaseItemId[];
316
+ };
317
+ /**
318
+ * This type represent the response of an update release V2 API request
319
+ */
320
+ export type UpdateReleaseV2Response = {
321
+ /**
322
+ * The updated release unique id
323
+ */
324
+ releaseId: ReleaseId;
325
+ /**
326
+ * The number of release items selected to be published
327
+ */
328
+ selectedCount: number;
329
+ /**
330
+ * The total number of items in the release
331
+ */
332
+ totalCount: number;
333
+ };
334
+ /**
335
+ * This type represent the data needed to make a list release items V2 API request
336
+ */
337
+ export type ListReleaseItemsV2Request = {
338
+ /**
339
+ * The release unique id
340
+ */
341
+ releaseId: ReleaseId;
342
+ /**
343
+ * The number of release items to skip
344
+ */
345
+ skip: number;
346
+ /**
347
+ * The number of release items to return (between 1 and 100)
348
+ */
349
+ take: number;
350
+ /**
351
+ * The filters to apply to the returned page of release items
352
+ */
353
+ filters?: ReleaseItemFilters;
354
+ };
355
+ /**
356
+ * This type represent a single locale variant of a content inside a release item group
357
+ */
358
+ export type ReleaseItemVariant = {
359
+ /**
360
+ * The release item unique id
361
+ */
362
+ id: ReleaseItemId;
363
+ /**
364
+ * The variant content locale
365
+ */
366
+ contentLocale: string | null;
367
+ /**
368
+ * Mark if the release item is selected to be published
369
+ */
370
+ toPublish: boolean;
371
+ /**
372
+ * Status of the ContentTranslation (defined if content is derived from a translation)
373
+ */
374
+ translationStatus: ContentTranslationStatus | null;
375
+ /**
376
+ * The localization settings of the related content
377
+ */
378
+ contentLocalizationSettings: LocalizationSettings;
379
+ /**
380
+ * The localized content unique id (defined if content is derived from a translation)
381
+ */
382
+ localizedContentId: string | null;
383
+ /**
384
+ * The release item related content tags
385
+ */
386
+ contentTags: string[];
387
+ /**
388
+ * The release item related content online date, as an ISO 8601 string
389
+ */
390
+ onlineDate: string | null;
391
+ /**
392
+ * The release item related content offline date, as an ISO 8601 string
393
+ */
394
+ offlineDate: string | null;
395
+ };
396
+ /**
397
+ * This type represent a release content along with its locale variants matching the request filters
398
+ */
399
+ export type ReleaseItemGroup = {
400
+ /**
401
+ * The related content unique id
402
+ */
403
+ contentId: ContentId;
404
+ /**
405
+ * The related content public id
406
+ */
407
+ publicId: string;
408
+ /**
409
+ * The related content name
410
+ */
411
+ contentName: string;
412
+ /**
413
+ * The related content definition mnemonic id
414
+ */
415
+ contentDefinitionMnemonicId: string;
416
+ /**
417
+ * The related content repository mnemonic id
418
+ */
419
+ contentRepositoryMnemonicId: string;
420
+ /**
421
+ * The locale variants of the content matching the request filters
422
+ */
423
+ variants: ReleaseItemVariant[];
424
+ };
425
+ /**
426
+ * This type represent the response of a list release items V2 API request.
427
+ * The release items are grouped by content: one [[ReleaseItemGroup]] per content id with all of its
428
+ * filter-matching locale variants, so pagination (over groups) never splits a content across pages
429
+ * and [[PagedListResponse.total]] counts the matching groups.
430
+ * The facets ([[locales]], [[contentDefinitionMnemonicIds]]) and [[selectedCount]] are computed
431
+ * over the whole release, ignoring the request filters
432
+ */
433
+ export type ListReleaseItemsV2Response = PagedListResponse<ReleaseItemGroup> & {
434
+ /**
435
+ * The total number of release items matching the request filters
436
+ */
437
+ totalItems: number;
438
+ /**
439
+ * The number of release items selected to be published in the whole release
440
+ */
441
+ selectedCount: number;
442
+ /**
443
+ * The distinct content locales present in the whole release
444
+ */
445
+ locales: string[];
446
+ /**
447
+ * The distinct content definition mnemonic ids present in the whole release
448
+ */
449
+ contentDefinitionMnemonicIds: string[];
450
+ };
223
451
  /**
224
452
  * This type represent the response of a get published content API request
225
453
  */
@@ -1,2 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateFilterOperator = void 0;
4
+ /**
5
+ * This enum represent the comparison operators available to a release item date filter
6
+ */
7
+ var DateFilterOperator;
8
+ (function (DateFilterOperator) {
9
+ DateFilterOperator["lte"] = "lte";
10
+ DateFilterOperator["gte"] = "gte";
11
+ })(DateFilterOperator || (exports.DateFilterOperator = DateFilterOperator = {}));
@@ -0,0 +1,97 @@
1
+ import { ContentId } from './Content';
2
+ import { AuthorResponse } from './Author';
3
+ /**
4
+ * The unpublish request unique id
5
+ */
6
+ export type UnpublishRequestId = number;
7
+ /**
8
+ * This type represent the data needed to make an unpublish content API request
9
+ */
10
+ export type UnpublishContentRequest = {
11
+ /**
12
+ * The content id to unpublish. Every staged locale of the content is unpublished
13
+ */
14
+ contentId: number;
15
+ };
16
+ /**
17
+ * This type represent the response of an unpublish content API request
18
+ */
19
+ export type UnpublishContentResponse = {
20
+ /**
21
+ * The staged content version that has been removed.
22
+ * Undefined when nothing was staged, meaning the request was a no-op
23
+ */
24
+ contentVersion?: number;
25
+ /**
26
+ * The content locales whose staged content has actually been removed or reverted to its live version
27
+ */
28
+ locales: string[];
29
+ /**
30
+ * The number of release items dropped from the non archived releases containing the content
31
+ */
32
+ removedReleaseItems: number;
33
+ };
34
+ /**
35
+ * This type represent the data needed to make a list unpublish requests API request
36
+ */
37
+ export type ListUnpublishRequestsRequest = {
38
+ /**
39
+ * The content id to list the unpublish requests of
40
+ */
41
+ contentId: number;
42
+ /**
43
+ * The content version to list the unpublish requests of.
44
+ * When omitted the whole unpublish history of the content is returned
45
+ */
46
+ contentVersion?: number;
47
+ };
48
+ /**
49
+ * This type represent the model of an unpublish request, the audit record of a content
50
+ * having been unpublished. It is written after the unpublish has been applied, so it always
51
+ * describes a completed unpublish
52
+ */
53
+ export type UnpublishRequestResponse = {
54
+ /**
55
+ * The unpublish request unique id
56
+ */
57
+ id: UnpublishRequestId;
58
+ /**
59
+ * The author that unpublished the content
60
+ */
61
+ author: AuthorResponse;
62
+ /**
63
+ * The unique id of the unpublished content
64
+ */
65
+ contentId: ContentId;
66
+ /**
67
+ * The unpublished content version
68
+ */
69
+ contentVersion: number;
70
+ /**
71
+ * The content locales that have been unpublished
72
+ */
73
+ locales: string[];
74
+ /**
75
+ * The date the content has been unpublished, as opposed to [[createdDate]]
76
+ * which is the date this audit record has been written
77
+ */
78
+ unpublishedDate: Date;
79
+ /**
80
+ * The unpublish request creation date
81
+ */
82
+ createdDate: Date;
83
+ /**
84
+ * The unpublish request last modified date
85
+ */
86
+ lastModifiedDate: Date;
87
+ };
88
+ /**
89
+ * This type represent the response of a list unpublish requests API request, sorted by
90
+ * [[UnpublishRequestResponse.unpublishedDate]] descending.
91
+ * Only the [[MAX_LISTED_UNPUBLISH_REQUESTS]] most recent unpublish requests are returned
92
+ */
93
+ export type ListUnpublishRequestsResponse = UnpublishRequestResponse[];
94
+ /**
95
+ * The maximum number of unpublish requests returned by a list unpublish requests API request
96
+ */
97
+ export declare const MAX_LISTED_UNPUBLISH_REQUESTS = 5;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_LISTED_UNPUBLISH_REQUESTS = void 0;
4
+ /**
5
+ * The maximum number of unpublish requests returned by a list unpublish requests API request
6
+ */
7
+ exports.MAX_LISTED_UNPUBLISH_REQUESTS = 5;
@@ -5,6 +5,7 @@ export * from './Channel';
5
5
  export * from './Content';
6
6
  export * from './ContentDefinition';
7
7
  export * from './ContentDefinitionSchema';
8
+ export * from './ContentExportImport';
8
9
  export * from './ContentRepository';
9
10
  export * from './ContentTag';
10
11
  export * from './Invites';
@@ -13,6 +14,7 @@ export * from './PublishedContent';
13
14
  export * from './PublishingRequest';
14
15
  export * from './Space';
15
16
  export * from './Subscription';
17
+ export * from './UnpublishRequest';
16
18
  export * from './User';
17
19
  export * from './UserConsents';
18
20
  export * from './UserPermission';
package/dist/api/index.js CHANGED
@@ -21,6 +21,7 @@ __exportStar(require("./Channel"), exports);
21
21
  __exportStar(require("./Content"), exports);
22
22
  __exportStar(require("./ContentDefinition"), exports);
23
23
  __exportStar(require("./ContentDefinitionSchema"), exports);
24
+ __exportStar(require("./ContentExportImport"), exports);
24
25
  __exportStar(require("./ContentRepository"), exports);
25
26
  __exportStar(require("./ContentTag"), exports);
26
27
  __exportStar(require("./Invites"), exports);
@@ -29,6 +30,7 @@ __exportStar(require("./PublishedContent"), exports);
29
30
  __exportStar(require("./PublishingRequest"), exports);
30
31
  __exportStar(require("./Space"), exports);
31
32
  __exportStar(require("./Subscription"), exports);
33
+ __exportStar(require("./UnpublishRequest"), exports);
32
34
  __exportStar(require("./User"), exports);
33
35
  __exportStar(require("./UserConsents"), exports);
34
36
  __exportStar(require("./UserPermission"), exports);
@@ -29,6 +29,42 @@ export enum ContentsStatus {
29
29
  all = "all",
30
30
  }
31
31
 
32
+ /**
33
+ * This enum represent the fields that can be used to sort a list of contents
34
+ */
35
+ export enum ContentSortField {
36
+ name = "name",
37
+ publicId = "publicId",
38
+ createdDate = "createdDate",
39
+ lastModifiedDate = "lastModifiedDate",
40
+ onlineDate = "onlineDate",
41
+ offlineDate = "offlineDate",
42
+ locale = "locale",
43
+ definitionName = "definitionName",
44
+ }
45
+
46
+ /**
47
+ * This enum represent the possible sort directions
48
+ */
49
+ export enum SortDirection {
50
+ asc = "asc",
51
+ desc = "desc",
52
+ }
53
+
54
+ /**
55
+ * This type represent the data that can be used to sort a list of contents
56
+ */
57
+ export type ListContentsSort = {
58
+ /**
59
+ * The field to sort the list of contents by
60
+ */
61
+ field: ContentSortField;
62
+ /**
63
+ * The direction to sort the list of contents in
64
+ */
65
+ direction: SortDirection;
66
+ };
67
+
32
68
  /**
33
69
  * This type represent the model of facet
34
70
  */
@@ -328,6 +364,34 @@ export type ListContentsFilters = {
328
364
  * This filter is used to search contents that has the tags inserted
329
365
  */
330
366
  tags?: string[];
367
+ /**
368
+ * This filter is used to search contents whose author matches (case-insensitively) one of the full names or emails inserted
369
+ */
370
+ authors?: string[];
371
+ /**
372
+ * This filter is used to search contents whose locale, or one of their translation locales, matches (case-insensitively) one of the locales inserted
373
+ */
374
+ locales?: string[];
375
+ /**
376
+ * This filter is used to search contents published in channels matching (case-insensitively) one of the mnemonic ids or names inserted
377
+ */
378
+ channels?: string[];
379
+ /**
380
+ * This filter is used to search contents with an online date starting from the ISO 8601 date inserted
381
+ */
382
+ onlineDateFrom?: string;
383
+ /**
384
+ * This filter is used to search contents with an online date up to the ISO 8601 date inserted
385
+ */
386
+ onlineDateTo?: string;
387
+ /**
388
+ * This filter is used to search contents with an offline date starting from the ISO 8601 date inserted
389
+ */
390
+ offlineDateFrom?: string;
391
+ /**
392
+ * This filter is used to search contents with an offline date up to the ISO 8601 date inserted
393
+ */
394
+ offlineDateTo?: string;
331
395
  /**
332
396
  * This filter is used to search contents in the content status inserted
333
397
  */
@@ -355,6 +419,10 @@ export type ListContentsRequest = {
355
419
  * The data used to filter the list of content
356
420
  */
357
421
  filters: ListContentsFilters;
422
+ /**
423
+ * The data used to sort the list of content
424
+ */
425
+ sort?: ListContentsSort;
358
426
  };
359
427
 
360
428
  /**