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

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,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";
@@ -222,7 +222,29 @@ export type UpdateReleaseRequest = {
222
222
  */
223
223
  export type UpdateReleaseResponse = Release;
224
224
  /**
225
- * This type represent the filters that can be applied to release items in the release V2 API requests
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
226
248
  */
227
249
  export type ReleaseItemFilters = {
228
250
  /**
@@ -230,9 +252,9 @@ export type ReleaseItemFilters = {
230
252
  */
231
253
  search?: string;
232
254
  /**
233
- * The release item related content locale
255
+ * The release item related content locales. Matches items whose content locale is any of the given values
234
256
  */
235
- locale?: string;
257
+ locale?: string[];
236
258
  /**
237
259
  * The release item related content definition mnemonic ids
238
260
  */
@@ -241,6 +263,16 @@ export type ReleaseItemFilters = {
241
263
  * Match only the release items that are (or are not) currently selected to be published
242
264
  */
243
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;
244
276
  };
245
277
  /**
246
278
  * This type represent the data needed to make a create release V2 API request
@@ -272,7 +304,9 @@ export type UpdateReleaseV2Request = {
272
304
  includeAll?: boolean;
273
305
  /**
274
306
  * Select the release items matching the given filters. Empty filters select all the release items.
275
- * A toPublish filter is evaluated against the selection before the update
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
276
310
  */
277
311
  filters?: ReleaseItemFilters;
278
312
  /**
@@ -318,12 +352,89 @@ export type ListReleaseItemsV2Request = {
318
352
  */
319
353
  filters?: ReleaseItemFilters;
320
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
+ };
321
425
  /**
322
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.
323
430
  * The facets ([[locales]], [[contentDefinitionMnemonicIds]]) and [[selectedCount]] are computed
324
431
  * over the whole release, ignoring the request filters
325
432
  */
326
- export type ListReleaseItemsV2Response = PagedListResponse<ReleaseItem> & {
433
+ export type ListReleaseItemsV2Response = PagedListResponse<ReleaseItemGroup> & {
434
+ /**
435
+ * The total number of release items matching the request filters
436
+ */
437
+ totalItems: number;
327
438
  /**
328
439
  * The number of release items selected to be published in the whole release
329
440
  */
@@ -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 = {}));
@@ -240,3 +240,107 @@ export type UpdateSpacePublishingLocalesRequest = {
240
240
  * Return type of `updateSpacePublishingLocales`
241
241
  */
242
242
  export type UpdateSpacePublishingLocalesResponse = SpaceLocale;
243
+ /**
244
+ * This enum represent the lifecycle of a space deletion. A freshly requested deletion is
245
+ * `requested` and stays revocable until [[SpaceDeletionResponse.deleteAfter]], after which it
246
+ * becomes `running` and can no longer be withdrawn
247
+ */
248
+ export declare enum SpaceDeletionStatus {
249
+ /**
250
+ * Asked for, inside the revocation window, still revocable
251
+ */
252
+ REQUESTED = "requested",
253
+ /**
254
+ * Withdrawn inside the revocation window, nothing has been deleted
255
+ */
256
+ REVOKED = "revoked",
257
+ RUNNING = "running",
258
+ DELETED = "deleted",
259
+ FAILED = "failed",
260
+ /**
261
+ * A dry run, only started by hand: it reports what it would delete and changes nothing
262
+ */
263
+ INSPECTED = "inspected"
264
+ }
265
+ /**
266
+ * This type represent the model of a space deletion, the only record that outlives a deleted space
267
+ */
268
+ export type SpaceDeletionResponse = {
269
+ /**
270
+ * The space the deletion refers to
271
+ */
272
+ spaceId: string;
273
+ /**
274
+ * The current status of the deletion
275
+ */
276
+ status: SpaceDeletionStatus;
277
+ /**
278
+ * The name the space had, captured when the deletion was requested because deleting the space
279
+ * destroys it
280
+ */
281
+ spaceName?: string;
282
+ /**
283
+ * The subscription the space was claimed under, preserved for the same reason as [[spaceName]]
284
+ */
285
+ subscriptionId?: string;
286
+ /**
287
+ * The account that requested the deletion
288
+ */
289
+ requestedBy?: string;
290
+ /**
291
+ * The account that withdrew the deletion, only set when [[status]] is `revoked`
292
+ */
293
+ revokedBy?: string;
294
+ /**
295
+ * The ISO date the revocation window shuts at: until then the deletion can be withdrawn with
296
+ * [[SystemFacade.revokeSpaceDeletion]], after it the deletion starts
297
+ */
298
+ deleteAfter?: string;
299
+ /**
300
+ * The arn of the workflow execution performing the deletion
301
+ */
302
+ executionArn?: string;
303
+ /**
304
+ * Whether the deletion only reported what it would delete, without deleting anything
305
+ */
306
+ dryRun?: boolean;
307
+ /**
308
+ * How many rows have been deleted, per domain and per table. Written when the deletion ends
309
+ */
310
+ counts?: {
311
+ [domain: string]: {
312
+ [table: string]: number;
313
+ };
314
+ };
315
+ /**
316
+ * The message describing why the deletion failed, only set when [[status]] is `failed`
317
+ */
318
+ error?: string;
319
+ /**
320
+ * The ISO date the deletion record was last written at
321
+ */
322
+ updatedAt?: string;
323
+ };
324
+ /**
325
+ * This type represent the response of a delete space API request. The deletion has not happened
326
+ * yet: it is only requested, and stays revocable for [[revocableForHours]]
327
+ */
328
+ export type DeleteSpaceResponse = {
329
+ /**
330
+ * Always true, the request has been accepted
331
+ */
332
+ requested: boolean;
333
+ /**
334
+ * How long the deletion stays revocable, in hours
335
+ */
336
+ revocableForHours: number;
337
+ };
338
+ /**
339
+ * Return type of `revokeSpaceDeletion`, the withdrawn deletion record
340
+ */
341
+ export type RevokeSpaceDeletionResponse = SpaceDeletionResponse;
342
+ /**
343
+ * Return type of `getSpaceDeletionStatus`. It is null when the space has never had a deletion
344
+ * requested: no request is a normal answer, not a missing resource
345
+ */
346
+ export type GetSpaceDeletionStatusResponse = SpaceDeletionResponse | null;
package/dist/api/Space.js CHANGED
@@ -1,2 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpaceDeletionStatus = void 0;
4
+ /**
5
+ * This enum represent the lifecycle of a space deletion. A freshly requested deletion is
6
+ * `requested` and stays revocable until [[SpaceDeletionResponse.deleteAfter]], after which it
7
+ * becomes `running` and can no longer be withdrawn
8
+ */
9
+ var SpaceDeletionStatus;
10
+ (function (SpaceDeletionStatus) {
11
+ /**
12
+ * Asked for, inside the revocation window, still revocable
13
+ */
14
+ SpaceDeletionStatus["REQUESTED"] = "requested";
15
+ /**
16
+ * Withdrawn inside the revocation window, nothing has been deleted
17
+ */
18
+ SpaceDeletionStatus["REVOKED"] = "revoked";
19
+ SpaceDeletionStatus["RUNNING"] = "running";
20
+ SpaceDeletionStatus["DELETED"] = "deleted";
21
+ SpaceDeletionStatus["FAILED"] = "failed";
22
+ /**
23
+ * A dry run, only started by hand: it reports what it would delete and changes nothing
24
+ */
25
+ SpaceDeletionStatus["INSPECTED"] = "inspected";
26
+ })(SpaceDeletionStatus || (exports.SpaceDeletionStatus = SpaceDeletionStatus = {}));
@@ -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
  /**