@contentchef/contentchef-types 11.2.0-alpha.4 → 11.2.0-alpha.6
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.
- package/dist/api/Component.d.ts +146 -10
- package/dist/api/Component.js +1 -0
- package/dist/api/Content.d.ts +11 -4
- package/dist/api/ContentDefinition.d.ts +13 -1
- package/lib/api/Component.ts +154 -12
- package/lib/api/Content.ts +11 -4
- package/lib/api/ContentDefinition.ts +13 -1
- package/package.json +2 -2
package/dist/api/Component.d.ts
CHANGED
|
@@ -24,6 +24,18 @@ export type ComponentRename = {
|
|
|
24
24
|
from: string;
|
|
25
25
|
to: string;
|
|
26
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* This type represent a field of a definition's root, or of one of its own fragments, that a save gives
|
|
29
|
+
* another name, so that its values and translations follow. Unlike a version's rename, the type may
|
|
30
|
+
* change: the values are then checked against the field they move to
|
|
31
|
+
*/
|
|
32
|
+
export type DefinitionRename = ComponentRename & {
|
|
33
|
+
/**
|
|
34
|
+
* The definition's own fragment holding the field, named as the definition has it before the save,
|
|
35
|
+
* left out or null at the root
|
|
36
|
+
*/
|
|
37
|
+
fragment?: string | null;
|
|
38
|
+
};
|
|
27
39
|
/**
|
|
28
40
|
* This type represent field names, by what happened to them between two versions of a fragment.
|
|
29
41
|
* A field whose type changed is `changed`; a renamed field is in `renamed`, and in neither `added` nor
|
|
@@ -366,6 +378,7 @@ export declare enum ComponentErrorTypes {
|
|
|
366
378
|
noFragmentToPromote = "NoFragmentToPromote",
|
|
367
379
|
definitionMigrating = "DefinitionMigrating",
|
|
368
380
|
oneMigrationPerSave = "OneMigrationPerSave",
|
|
381
|
+
definitionRenamesRefused = "DefinitionRenamesRefused",
|
|
369
382
|
migrationPreviewNotFound = "MigrationPreviewNotFound",
|
|
370
383
|
invalidComparison = "InvalidComparison",
|
|
371
384
|
fieldNotFound = "FieldNotFound",
|
|
@@ -403,6 +416,41 @@ export type ComponentVersionViolation = {
|
|
|
403
416
|
code: string;
|
|
404
417
|
message: string;
|
|
405
418
|
};
|
|
419
|
+
/**
|
|
420
|
+
* This type represent a rename a definition save may not declare
|
|
421
|
+
*/
|
|
422
|
+
export type DefinitionRenameViolation =
|
|
423
|
+
/**
|
|
424
|
+
* A fragment rename from one that is not the definition's own or that the save still has, onto one the
|
|
425
|
+
* save does not have as its own or the definition has already, or a name in two fragment renames.
|
|
426
|
+
* Field renames are not judged until the fragment renames fit
|
|
427
|
+
*/
|
|
428
|
+
{
|
|
429
|
+
/**
|
|
430
|
+
* The fragment's new name
|
|
431
|
+
*/
|
|
432
|
+
fragment: string;
|
|
433
|
+
field: null;
|
|
434
|
+
code: 'definition.invalidFragmentRename';
|
|
435
|
+
message: string;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* A field rename from a field the definition does not have or the save still has, onto one the save
|
|
439
|
+
* does not have or the definition has already, a field in two renames, or a `fragment` that is none of
|
|
440
|
+
* the definition's own kept or renamed by the save
|
|
441
|
+
*/
|
|
442
|
+
| {
|
|
443
|
+
/**
|
|
444
|
+
* The rename's fragment, null at the root
|
|
445
|
+
*/
|
|
446
|
+
fragment: string | null;
|
|
447
|
+
/**
|
|
448
|
+
* The rename's `to`
|
|
449
|
+
*/
|
|
450
|
+
field: string;
|
|
451
|
+
code: 'definition.invalidRename';
|
|
452
|
+
message: string;
|
|
453
|
+
};
|
|
406
454
|
type ComponentErrorOf<T extends ComponentErrorTypes, D = {}> = {
|
|
407
455
|
type: T;
|
|
408
456
|
message: string;
|
|
@@ -458,11 +506,14 @@ export type ComponentError = ComponentErrorOf<ComponentErrorTypes.componentNotFo
|
|
|
458
506
|
*/
|
|
459
507
|
| ComponentErrorOf<ComponentErrorTypes.definitionMigrating, DefinitionMigrationState>
|
|
460
508
|
/**
|
|
461
|
-
* A save that would migrate the values of more than one component
|
|
462
|
-
* has finished
|
|
509
|
+
* A save that would migrate the values of more than one component, or of a component and of the
|
|
510
|
+
* definition's own fields (`ownFields`): save one, then the other once its migration has finished
|
|
463
511
|
*/
|
|
464
512
|
| ComponentErrorOf<ComponentErrorTypes.oneMigrationPerSave, {
|
|
465
513
|
mnemonicIds: string[];
|
|
514
|
+
ownFields: boolean;
|
|
515
|
+
}> | ComponentErrorOf<ComponentErrorTypes.definitionRenamesRefused, {
|
|
516
|
+
violations: DefinitionRenameViolation[];
|
|
466
517
|
}> | ComponentErrorOf<ComponentErrorTypes.migrationPreviewNotFound, {
|
|
467
518
|
id: MigrationPreviewId;
|
|
468
519
|
}>
|
|
@@ -482,8 +533,9 @@ export type ComponentError = ComponentErrorOf<ComponentErrorTypes.componentNotFo
|
|
|
482
533
|
* This type represent where a definition's contents stand, as the get content definition, update content
|
|
483
534
|
* definition and get migration API requests answer it
|
|
484
535
|
*
|
|
485
|
-
* An upgrade
|
|
486
|
-
* migrates its contents in the background, one migration at a
|
|
536
|
+
* An upgrade, an adoption, or a save of the definition's own fields that renames, removes or retypes
|
|
537
|
+
* fields bumps the definition's revision and migrates its contents in the background, one migration at a
|
|
538
|
+
* time per definition
|
|
487
539
|
*/
|
|
488
540
|
export type DefinitionMigrationState = {
|
|
489
541
|
/**
|
|
@@ -517,9 +569,13 @@ export type SetAsideValue = {
|
|
|
517
569
|
*/
|
|
518
570
|
revision: number;
|
|
519
571
|
/**
|
|
520
|
-
* The component it was a value of
|
|
572
|
+
* The component it was a value of, null for a value of the definition's own fields
|
|
521
573
|
*/
|
|
522
|
-
mnemonicId: string;
|
|
574
|
+
mnemonicId: string | null;
|
|
575
|
+
/**
|
|
576
|
+
* The definition's own fragment it was in, null at the root and for a component's value
|
|
577
|
+
*/
|
|
578
|
+
fragment: string | null;
|
|
523
579
|
/**
|
|
524
580
|
* Where it was, in the key format translation entries use, with the names the payload has now:
|
|
525
581
|
* `pic.credit`, `gallery.$k1.width`
|
|
@@ -564,11 +620,14 @@ export type SetAsideResolution = {
|
|
|
564
620
|
export type MigrationPreviewId = number;
|
|
565
621
|
/**
|
|
566
622
|
* This type represent the data needed to make a migration preview API request: the definition, and the
|
|
567
|
-
* schema about to be saved with the update content definition API request
|
|
623
|
+
* schema about to be saved with the update content definition API request with the renames it will
|
|
624
|
+
* declare, or the adoption about to be made
|
|
568
625
|
*/
|
|
569
626
|
export type MigrationPreviewRequest = {
|
|
570
627
|
id: ContentDefinitionId;
|
|
571
628
|
schema: ContentDefinitionSchemaInput;
|
|
629
|
+
renames?: DefinitionRename[];
|
|
630
|
+
fragmentRenames?: ComponentRename[];
|
|
572
631
|
} | {
|
|
573
632
|
id: ContentDefinitionId;
|
|
574
633
|
adopt: {
|
|
@@ -595,6 +654,10 @@ export type GetMigrationPreviewRequest = {
|
|
|
595
654
|
* values move or are checked
|
|
596
655
|
*/
|
|
597
656
|
export type MigrationPreviewField = {
|
|
657
|
+
/**
|
|
658
|
+
* The definition's own fragment holding the field, null at the root and for a component's field
|
|
659
|
+
*/
|
|
660
|
+
fragment: string | null;
|
|
598
661
|
field: string;
|
|
599
662
|
outcome: 'renamed' | 'changed' | 'removed';
|
|
600
663
|
/**
|
|
@@ -624,12 +687,15 @@ export type MigrationPreviewField = {
|
|
|
624
687
|
export type GetMigrationPreviewResponse = {
|
|
625
688
|
id: MigrationPreviewId;
|
|
626
689
|
definitionId: ContentDefinitionId;
|
|
627
|
-
mnemonicId: string;
|
|
628
690
|
/**
|
|
629
|
-
*
|
|
691
|
+
* The component, null for a save changing the definition's own fields, as `from` and `to`
|
|
692
|
+
*/
|
|
693
|
+
mnemonicId: string | null;
|
|
694
|
+
/**
|
|
695
|
+
* Null for an adoption, and for the definition's own fields
|
|
630
696
|
*/
|
|
631
697
|
from: number | null;
|
|
632
|
-
to: number;
|
|
698
|
+
to: number | null;
|
|
633
699
|
status: 'running' | 'done';
|
|
634
700
|
/**
|
|
635
701
|
* The contents walked so far, out of `total`
|
|
@@ -637,6 +703,13 @@ export type GetMigrationPreviewResponse = {
|
|
|
637
703
|
scanned: number;
|
|
638
704
|
total: number;
|
|
639
705
|
fields: MigrationPreviewField[];
|
|
706
|
+
/**
|
|
707
|
+
* The definition's own fragments renamed, and how many `oneFragmentOf` values take their new name;
|
|
708
|
+
* empty for a component
|
|
709
|
+
*/
|
|
710
|
+
fragments: (ComponentRename & {
|
|
711
|
+
values: number;
|
|
712
|
+
})[];
|
|
640
713
|
/**
|
|
641
714
|
* The contents whose payload or translations would change
|
|
642
715
|
*/
|
|
@@ -672,4 +745,67 @@ export type ResumeMigrationRequest = {
|
|
|
672
745
|
* This type represent the response of a resume migration API request
|
|
673
746
|
*/
|
|
674
747
|
export type ResumeMigrationResponse = DefinitionMigrationState;
|
|
748
|
+
/**
|
|
749
|
+
* This type represent the data needed to make a get set aside API request
|
|
750
|
+
*/
|
|
751
|
+
export type GetSetAsideRequest = {
|
|
752
|
+
/**
|
|
753
|
+
* The content definition unique id
|
|
754
|
+
*/
|
|
755
|
+
id: ContentDefinitionId;
|
|
756
|
+
};
|
|
757
|
+
/**
|
|
758
|
+
* This type represent what a definition's contents hold set aside for one field by one revision
|
|
759
|
+
*/
|
|
760
|
+
export type SetAsideGroup = {
|
|
761
|
+
revision: number;
|
|
762
|
+
/**
|
|
763
|
+
* The component, null for the definition's own fields
|
|
764
|
+
*/
|
|
765
|
+
mnemonicId: string | null;
|
|
766
|
+
/**
|
|
767
|
+
* The definition's own fragment, null at the root and for a component's field
|
|
768
|
+
*/
|
|
769
|
+
fragment: string | null;
|
|
770
|
+
/**
|
|
771
|
+
* The field's name as the version it came from had it
|
|
772
|
+
*/
|
|
773
|
+
field: string;
|
|
774
|
+
reason: 'removed' | 'changed';
|
|
775
|
+
/**
|
|
776
|
+
* The contents holding such values
|
|
777
|
+
*/
|
|
778
|
+
contents: number;
|
|
779
|
+
values: number;
|
|
780
|
+
};
|
|
781
|
+
/**
|
|
782
|
+
* This type represent the response of a get set aside API request, by revision, then fragment, then field,
|
|
783
|
+
* components' values included
|
|
784
|
+
*/
|
|
785
|
+
export type GetSetAsideResponse = SetAsideGroup[];
|
|
786
|
+
/**
|
|
787
|
+
* This type represent the data needed to make a discard set aside API request: one group as the get set
|
|
788
|
+
* aside API request answers it
|
|
789
|
+
*/
|
|
790
|
+
export type DiscardSetAsideRequest = {
|
|
791
|
+
/**
|
|
792
|
+
* The content definition unique id
|
|
793
|
+
*/
|
|
794
|
+
id: ContentDefinitionId;
|
|
795
|
+
revision: number;
|
|
796
|
+
fragment?: string | null;
|
|
797
|
+
field: string;
|
|
798
|
+
/**
|
|
799
|
+
* Where the previous call stopped, its `next`
|
|
800
|
+
*/
|
|
801
|
+
after?: number;
|
|
802
|
+
};
|
|
803
|
+
/**
|
|
804
|
+
* This type represent the response of a discard set aside API request. A call works for about five
|
|
805
|
+
* seconds: call again with `after: next` until `next` is null
|
|
806
|
+
*/
|
|
807
|
+
export type DiscardSetAsideResponse = {
|
|
808
|
+
discarded: number;
|
|
809
|
+
next: number | null;
|
|
810
|
+
};
|
|
675
811
|
export {};
|
package/dist/api/Component.js
CHANGED
|
@@ -27,6 +27,7 @@ var ComponentErrorTypes;
|
|
|
27
27
|
ComponentErrorTypes["noFragmentToPromote"] = "NoFragmentToPromote";
|
|
28
28
|
ComponentErrorTypes["definitionMigrating"] = "DefinitionMigrating";
|
|
29
29
|
ComponentErrorTypes["oneMigrationPerSave"] = "OneMigrationPerSave";
|
|
30
|
+
ComponentErrorTypes["definitionRenamesRefused"] = "DefinitionRenamesRefused";
|
|
30
31
|
ComponentErrorTypes["migrationPreviewNotFound"] = "MigrationPreviewNotFound";
|
|
31
32
|
ComponentErrorTypes["invalidComparison"] = "InvalidComparison";
|
|
32
33
|
ComponentErrorTypes["fieldNotFound"] = "FieldNotFound";
|
package/dist/api/Content.d.ts
CHANGED
|
@@ -1083,7 +1083,8 @@ export type RestoreViolations = {
|
|
|
1083
1083
|
violations: ContentConstraintViolation[];
|
|
1084
1084
|
}[];
|
|
1085
1085
|
/**
|
|
1086
|
-
*
|
|
1086
|
+
* @deprecated Always empty: what the migrations since set aside no longer keeps a version from being
|
|
1087
|
+
* restored, see [[GetContentHistoryEntryResponse.setAside]]
|
|
1087
1088
|
*/
|
|
1088
1089
|
setAside: {
|
|
1089
1090
|
path: string;
|
|
@@ -1104,13 +1105,19 @@ export type GetContentHistoryEntryResponse = ContentHistoryEntry & {
|
|
|
1104
1105
|
restorable: boolean;
|
|
1105
1106
|
violations: RestoreViolations;
|
|
1106
1107
|
/**
|
|
1107
|
-
* Values of fields removed from the definition by hand
|
|
1108
|
-
* entries. They are left out of `payload` and `translations`, as a save leaves them
|
|
1109
|
-
* keep the version from being restored
|
|
1108
|
+
* Values of fields removed from the definition by hand, before saves migrated contents, `path` in the key
|
|
1109
|
+
* format of translation entries. They are left out of `payload` and `translations`, as a save leaves them
|
|
1110
|
+
* out, so they do not keep the version from being restored
|
|
1110
1111
|
*/
|
|
1111
1112
|
dropped: {
|
|
1112
1113
|
path: string;
|
|
1113
1114
|
}[];
|
|
1115
|
+
/**
|
|
1116
|
+
* Values the migrations since set aside, removed or retyped fields of a component or of the definition.
|
|
1117
|
+
* They are left out of `payload` and `translations`, and a restore writes them beside the content, once,
|
|
1118
|
+
* for a person to move or discard
|
|
1119
|
+
*/
|
|
1120
|
+
setAside: SetAsideValue[];
|
|
1114
1121
|
};
|
|
1115
1122
|
/**
|
|
1116
1123
|
* This type represent the data needed to make a restore content API request
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AuthorResponse } from './Author';
|
|
2
2
|
import { PagedListResponse } from './common';
|
|
3
|
-
import { DefinitionMigrationState, FieldChanges } from './Component';
|
|
3
|
+
import { ComponentRename, DefinitionMigrationState, DefinitionRename, FieldChanges } from './Component';
|
|
4
4
|
import { ComponentMarker, ContentDefinitionSchema, ContentDefinitionSchemaInput, Field, I18NDictionary } from './ContentDefinitionSchema';
|
|
5
5
|
import { Extension } from './Extension';
|
|
6
6
|
/**
|
|
@@ -131,6 +131,18 @@ export type UpdateContentDefinitionRequest = {
|
|
|
131
131
|
* will bypass content definition mnemonicId validation for every linked-content field
|
|
132
132
|
*/
|
|
133
133
|
bypassLinkedContentValidation?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* The fields the save gives another name, at the root or in one of the definition's own fragments named
|
|
136
|
+
* as before the save, for their values to follow. Undeclared, a rename is a removal and an addition, and
|
|
137
|
+
* the values are set aside
|
|
138
|
+
*/
|
|
139
|
+
renames?: DefinitionRename[];
|
|
140
|
+
/**
|
|
141
|
+
* The definition's own fragments the save gives another name: the fields using them move nothing, and
|
|
142
|
+
* the stored `oneFragmentOf` values take the new name. Undeclared, a fragment rename is a removal and an
|
|
143
|
+
* addition, and the values that no longer fit are set aside whole
|
|
144
|
+
*/
|
|
145
|
+
fragmentRenames?: ComponentRename[];
|
|
134
146
|
};
|
|
135
147
|
/**
|
|
136
148
|
* This type represent the model of a content definition
|
package/lib/api/Component.ts
CHANGED
|
@@ -34,6 +34,19 @@ export type ComponentRename = {
|
|
|
34
34
|
to: string;
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* This type represent a field of a definition's root, or of one of its own fragments, that a save gives
|
|
39
|
+
* another name, so that its values and translations follow. Unlike a version's rename, the type may
|
|
40
|
+
* change: the values are then checked against the field they move to
|
|
41
|
+
*/
|
|
42
|
+
export type DefinitionRename = ComponentRename & {
|
|
43
|
+
/**
|
|
44
|
+
* The definition's own fragment holding the field, named as the definition has it before the save,
|
|
45
|
+
* left out or null at the root
|
|
46
|
+
*/
|
|
47
|
+
fragment?: string | null;
|
|
48
|
+
};
|
|
49
|
+
|
|
37
50
|
/**
|
|
38
51
|
* This type represent field names, by what happened to them between two versions of a fragment.
|
|
39
52
|
* A field whose type changed is `changed`; a renamed field is in `renamed`, and in neither `added` nor
|
|
@@ -385,6 +398,7 @@ export enum ComponentErrorTypes {
|
|
|
385
398
|
noFragmentToPromote = 'NoFragmentToPromote',
|
|
386
399
|
definitionMigrating = 'DefinitionMigrating',
|
|
387
400
|
oneMigrationPerSave = 'OneMigrationPerSave',
|
|
401
|
+
definitionRenamesRefused = 'DefinitionRenamesRefused',
|
|
388
402
|
migrationPreviewNotFound = 'MigrationPreviewNotFound',
|
|
389
403
|
invalidComparison = 'InvalidComparison',
|
|
390
404
|
fieldNotFound = 'FieldNotFound',
|
|
@@ -425,6 +439,42 @@ export type ComponentVersionViolation = {
|
|
|
425
439
|
message: string;
|
|
426
440
|
};
|
|
427
441
|
|
|
442
|
+
/**
|
|
443
|
+
* This type represent a rename a definition save may not declare
|
|
444
|
+
*/
|
|
445
|
+
export type DefinitionRenameViolation =
|
|
446
|
+
/**
|
|
447
|
+
* A fragment rename from one that is not the definition's own or that the save still has, onto one the
|
|
448
|
+
* save does not have as its own or the definition has already, or a name in two fragment renames.
|
|
449
|
+
* Field renames are not judged until the fragment renames fit
|
|
450
|
+
*/
|
|
451
|
+
| {
|
|
452
|
+
/**
|
|
453
|
+
* The fragment's new name
|
|
454
|
+
*/
|
|
455
|
+
fragment: string;
|
|
456
|
+
field: null;
|
|
457
|
+
code: 'definition.invalidFragmentRename';
|
|
458
|
+
message: string;
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* A field rename from a field the definition does not have or the save still has, onto one the save
|
|
462
|
+
* does not have or the definition has already, a field in two renames, or a `fragment` that is none of
|
|
463
|
+
* the definition's own kept or renamed by the save
|
|
464
|
+
*/
|
|
465
|
+
| {
|
|
466
|
+
/**
|
|
467
|
+
* The rename's fragment, null at the root
|
|
468
|
+
*/
|
|
469
|
+
fragment: string | null;
|
|
470
|
+
/**
|
|
471
|
+
* The rename's `to`
|
|
472
|
+
*/
|
|
473
|
+
field: string;
|
|
474
|
+
code: 'definition.invalidRename';
|
|
475
|
+
message: string;
|
|
476
|
+
};
|
|
477
|
+
|
|
428
478
|
type ComponentErrorOf<T extends ComponentErrorTypes, D = {}> = { type: T; message: string } & D;
|
|
429
479
|
|
|
430
480
|
/**
|
|
@@ -469,10 +519,11 @@ export type ComponentError =
|
|
|
469
519
|
*/
|
|
470
520
|
| ComponentErrorOf<ComponentErrorTypes.definitionMigrating, DefinitionMigrationState>
|
|
471
521
|
/**
|
|
472
|
-
* A save that would migrate the values of more than one component
|
|
473
|
-
* has finished
|
|
522
|
+
* A save that would migrate the values of more than one component, or of a component and of the
|
|
523
|
+
* definition's own fields (`ownFields`): save one, then the other once its migration has finished
|
|
474
524
|
*/
|
|
475
|
-
| ComponentErrorOf<ComponentErrorTypes.oneMigrationPerSave, { mnemonicIds: string[] }>
|
|
525
|
+
| ComponentErrorOf<ComponentErrorTypes.oneMigrationPerSave, { mnemonicIds: string[]; ownFields: boolean }>
|
|
526
|
+
| ComponentErrorOf<ComponentErrorTypes.definitionRenamesRefused, { violations: DefinitionRenameViolation[] }>
|
|
476
527
|
| ComponentErrorOf<ComponentErrorTypes.migrationPreviewNotFound, { id: MigrationPreviewId }>
|
|
477
528
|
/**
|
|
478
529
|
* A side of a compare component fields API request that is none of the kinds it takes
|
|
@@ -491,8 +542,9 @@ export type ComponentError =
|
|
|
491
542
|
* This type represent where a definition's contents stand, as the get content definition, update content
|
|
492
543
|
* definition and get migration API requests answer it
|
|
493
544
|
*
|
|
494
|
-
* An upgrade
|
|
495
|
-
* migrates its contents in the background, one migration at a
|
|
545
|
+
* An upgrade, an adoption, or a save of the definition's own fields that renames, removes or retypes
|
|
546
|
+
* fields bumps the definition's revision and migrates its contents in the background, one migration at a
|
|
547
|
+
* time per definition
|
|
496
548
|
*/
|
|
497
549
|
export type DefinitionMigrationState = {
|
|
498
550
|
/**
|
|
@@ -528,9 +580,13 @@ export type SetAsideValue = {
|
|
|
528
580
|
*/
|
|
529
581
|
revision: number;
|
|
530
582
|
/**
|
|
531
|
-
* The component it was a value of
|
|
583
|
+
* The component it was a value of, null for a value of the definition's own fields
|
|
532
584
|
*/
|
|
533
|
-
mnemonicId: string;
|
|
585
|
+
mnemonicId: string | null;
|
|
586
|
+
/**
|
|
587
|
+
* The definition's own fragment it was in, null at the root and for a component's value
|
|
588
|
+
*/
|
|
589
|
+
fragment: string | null;
|
|
534
590
|
/**
|
|
535
591
|
* Where it was, in the key format translation entries use, with the names the payload has now:
|
|
536
592
|
* `pic.credit`, `gallery.$k1.width`
|
|
@@ -576,10 +632,16 @@ export type MigrationPreviewId = number;
|
|
|
576
632
|
|
|
577
633
|
/**
|
|
578
634
|
* This type represent the data needed to make a migration preview API request: the definition, and the
|
|
579
|
-
* schema about to be saved with the update content definition API request
|
|
635
|
+
* schema about to be saved with the update content definition API request with the renames it will
|
|
636
|
+
* declare, or the adoption about to be made
|
|
580
637
|
*/
|
|
581
638
|
export type MigrationPreviewRequest =
|
|
582
|
-
| {
|
|
639
|
+
| {
|
|
640
|
+
id: ContentDefinitionId;
|
|
641
|
+
schema: ContentDefinitionSchemaInput;
|
|
642
|
+
renames?: DefinitionRename[];
|
|
643
|
+
fragmentRenames?: ComponentRename[];
|
|
644
|
+
}
|
|
583
645
|
| { id: ContentDefinitionId; adopt: { mnemonicId: string; version: number; renames?: ComponentRename[] } };
|
|
584
646
|
|
|
585
647
|
/**
|
|
@@ -602,6 +664,10 @@ export type GetMigrationPreviewRequest = {
|
|
|
602
664
|
* values move or are checked
|
|
603
665
|
*/
|
|
604
666
|
export type MigrationPreviewField = {
|
|
667
|
+
/**
|
|
668
|
+
* The definition's own fragment holding the field, null at the root and for a component's field
|
|
669
|
+
*/
|
|
670
|
+
fragment: string | null;
|
|
605
671
|
field: string;
|
|
606
672
|
outcome: 'renamed' | 'changed' | 'removed';
|
|
607
673
|
/**
|
|
@@ -632,12 +698,15 @@ export type MigrationPreviewField = {
|
|
|
632
698
|
export type GetMigrationPreviewResponse = {
|
|
633
699
|
id: MigrationPreviewId;
|
|
634
700
|
definitionId: ContentDefinitionId;
|
|
635
|
-
mnemonicId: string;
|
|
636
701
|
/**
|
|
637
|
-
*
|
|
702
|
+
* The component, null for a save changing the definition's own fields, as `from` and `to`
|
|
703
|
+
*/
|
|
704
|
+
mnemonicId: string | null;
|
|
705
|
+
/**
|
|
706
|
+
* Null for an adoption, and for the definition's own fields
|
|
638
707
|
*/
|
|
639
708
|
from: number | null;
|
|
640
|
-
to: number;
|
|
709
|
+
to: number | null;
|
|
641
710
|
status: 'running' | 'done';
|
|
642
711
|
/**
|
|
643
712
|
* The contents walked so far, out of `total`
|
|
@@ -645,6 +714,11 @@ export type GetMigrationPreviewResponse = {
|
|
|
645
714
|
scanned: number;
|
|
646
715
|
total: number;
|
|
647
716
|
fields: MigrationPreviewField[];
|
|
717
|
+
/**
|
|
718
|
+
* The definition's own fragments renamed, and how many `oneFragmentOf` values take their new name;
|
|
719
|
+
* empty for a component
|
|
720
|
+
*/
|
|
721
|
+
fragments: (ComponentRename & { values: number })[];
|
|
648
722
|
/**
|
|
649
723
|
* The contents whose payload or translations would change
|
|
650
724
|
*/
|
|
@@ -684,3 +758,71 @@ export type ResumeMigrationRequest = {
|
|
|
684
758
|
* This type represent the response of a resume migration API request
|
|
685
759
|
*/
|
|
686
760
|
export type ResumeMigrationResponse = DefinitionMigrationState;
|
|
761
|
+
|
|
762
|
+
/**
|
|
763
|
+
* This type represent the data needed to make a get set aside API request
|
|
764
|
+
*/
|
|
765
|
+
export type GetSetAsideRequest = {
|
|
766
|
+
/**
|
|
767
|
+
* The content definition unique id
|
|
768
|
+
*/
|
|
769
|
+
id: ContentDefinitionId;
|
|
770
|
+
};
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* This type represent what a definition's contents hold set aside for one field by one revision
|
|
774
|
+
*/
|
|
775
|
+
export type SetAsideGroup = {
|
|
776
|
+
revision: number;
|
|
777
|
+
/**
|
|
778
|
+
* The component, null for the definition's own fields
|
|
779
|
+
*/
|
|
780
|
+
mnemonicId: string | null;
|
|
781
|
+
/**
|
|
782
|
+
* The definition's own fragment, null at the root and for a component's field
|
|
783
|
+
*/
|
|
784
|
+
fragment: string | null;
|
|
785
|
+
/**
|
|
786
|
+
* The field's name as the version it came from had it
|
|
787
|
+
*/
|
|
788
|
+
field: string;
|
|
789
|
+
reason: 'removed' | 'changed';
|
|
790
|
+
/**
|
|
791
|
+
* The contents holding such values
|
|
792
|
+
*/
|
|
793
|
+
contents: number;
|
|
794
|
+
values: number;
|
|
795
|
+
};
|
|
796
|
+
|
|
797
|
+
/**
|
|
798
|
+
* This type represent the response of a get set aside API request, by revision, then fragment, then field,
|
|
799
|
+
* components' values included
|
|
800
|
+
*/
|
|
801
|
+
export type GetSetAsideResponse = SetAsideGroup[];
|
|
802
|
+
|
|
803
|
+
/**
|
|
804
|
+
* This type represent the data needed to make a discard set aside API request: one group as the get set
|
|
805
|
+
* aside API request answers it
|
|
806
|
+
*/
|
|
807
|
+
export type DiscardSetAsideRequest = {
|
|
808
|
+
/**
|
|
809
|
+
* The content definition unique id
|
|
810
|
+
*/
|
|
811
|
+
id: ContentDefinitionId;
|
|
812
|
+
revision: number;
|
|
813
|
+
fragment?: string | null;
|
|
814
|
+
field: string;
|
|
815
|
+
/**
|
|
816
|
+
* Where the previous call stopped, its `next`
|
|
817
|
+
*/
|
|
818
|
+
after?: number;
|
|
819
|
+
};
|
|
820
|
+
|
|
821
|
+
/**
|
|
822
|
+
* This type represent the response of a discard set aside API request. A call works for about five
|
|
823
|
+
* seconds: call again with `after: next` until `next` is null
|
|
824
|
+
*/
|
|
825
|
+
export type DiscardSetAsideResponse = {
|
|
826
|
+
discarded: number;
|
|
827
|
+
next: number | null;
|
|
828
|
+
};
|
package/lib/api/Content.ts
CHANGED
|
@@ -1165,7 +1165,8 @@ export type RestoreViolations = {
|
|
|
1165
1165
|
*/
|
|
1166
1166
|
translations: { locale: string; violations: ContentConstraintViolation[] }[];
|
|
1167
1167
|
/**
|
|
1168
|
-
*
|
|
1168
|
+
* @deprecated Always empty: what the migrations since set aside no longer keeps a version from being
|
|
1169
|
+
* restored, see [[GetContentHistoryEntryResponse.setAside]]
|
|
1169
1170
|
*/
|
|
1170
1171
|
setAside: { path: string; reason: "removed" | "changed" }[];
|
|
1171
1172
|
};
|
|
@@ -1181,11 +1182,17 @@ export type GetContentHistoryEntryResponse = ContentHistoryEntry & {
|
|
|
1181
1182
|
restorable: boolean;
|
|
1182
1183
|
violations: RestoreViolations;
|
|
1183
1184
|
/**
|
|
1184
|
-
* Values of fields removed from the definition by hand
|
|
1185
|
-
* entries. They are left out of `payload` and `translations`, as a save leaves them
|
|
1186
|
-
* keep the version from being restored
|
|
1185
|
+
* Values of fields removed from the definition by hand, before saves migrated contents, `path` in the key
|
|
1186
|
+
* format of translation entries. They are left out of `payload` and `translations`, as a save leaves them
|
|
1187
|
+
* out, so they do not keep the version from being restored
|
|
1187
1188
|
*/
|
|
1188
1189
|
dropped: { path: string }[];
|
|
1190
|
+
/**
|
|
1191
|
+
* Values the migrations since set aside, removed or retyped fields of a component or of the definition.
|
|
1192
|
+
* They are left out of `payload` and `translations`, and a restore writes them beside the content, once,
|
|
1193
|
+
* for a person to move or discard
|
|
1194
|
+
*/
|
|
1195
|
+
setAside: SetAsideValue[];
|
|
1189
1196
|
};
|
|
1190
1197
|
|
|
1191
1198
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AuthorResponse } from './Author';
|
|
2
2
|
import { PagedListResponse } from './common';
|
|
3
|
-
import { DefinitionMigrationState, FieldChanges } from './Component';
|
|
3
|
+
import { ComponentRename, DefinitionMigrationState, DefinitionRename, FieldChanges } from './Component';
|
|
4
4
|
import { ComponentMarker, ContentDefinitionSchema, ContentDefinitionSchemaInput, Field, I18NDictionary } from './ContentDefinitionSchema';
|
|
5
5
|
import { Extension } from './Extension';
|
|
6
6
|
|
|
@@ -142,6 +142,18 @@ export type UpdateContentDefinitionRequest = {
|
|
|
142
142
|
* will bypass content definition mnemonicId validation for every linked-content field
|
|
143
143
|
*/
|
|
144
144
|
bypassLinkedContentValidation?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* The fields the save gives another name, at the root or in one of the definition's own fragments named
|
|
147
|
+
* as before the save, for their values to follow. Undeclared, a rename is a removal and an addition, and
|
|
148
|
+
* the values are set aside
|
|
149
|
+
*/
|
|
150
|
+
renames?: DefinitionRename[];
|
|
151
|
+
/**
|
|
152
|
+
* The definition's own fragments the save gives another name: the fields using them move nothing, and
|
|
153
|
+
* the stored `oneFragmentOf` values take the new name. Undeclared, a fragment rename is a removal and an
|
|
154
|
+
* addition, and the values that no longer fit are set aside whole
|
|
155
|
+
*/
|
|
156
|
+
fragmentRenames?: ComponentRename[];
|
|
145
157
|
};
|
|
146
158
|
|
|
147
159
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentchef/contentchef-types",
|
|
3
|
-
"version": "11.2.0-alpha.
|
|
3
|
+
"version": "11.2.0-alpha.6",
|
|
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": "
|
|
37
|
+
"gitHead": "e8292eac50e55b57a28d69b9128d46eb41d225a9"
|
|
38
38
|
}
|