@platecms/delta-vue 1.10.0 → 1.12.0

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/.env.example CHANGED
@@ -1,7 +1,7 @@
1
1
  VITE_ORY_ENDPOINT=http://localhost:4000
2
2
  VITE_OATHKEEPER_ENDPOINT=http://localhost:4455/graphql
3
3
 
4
- #Used only for codegen when generating types from the GraphqQL API, instructions for getting the cookie can be found in the root readme
5
- CODEGEN_COOKIE=
4
+ # Codegen URL (this should point to the GraphQL gateway directly)
5
+ CODEGEN_URL=http://localhost:8282/graphql
6
6
 
7
7
  NODE_ENV=development
@@ -144,6 +144,8 @@ export type BuildingBlock = {
144
144
  createdAt: Scalars['DateTime']['output'];
145
145
  experienceComponents: Array<ExperienceComponent>;
146
146
  gridDefinition?: Maybe<GridDefinition>;
147
+ /** Whether the Building Block is a root Building Block. */
148
+ isRoot: Scalars['Boolean']['output'];
147
149
  /** The successor in manual sort order for Building Blocks of the same Theme and Organization. Null if this is the last. */
148
150
  next?: Maybe<BuildingBlock>;
149
151
  organization?: Maybe<Organization>;
@@ -156,6 +158,8 @@ export type BuildingBlock = {
156
158
  prn: Scalars['PRN']['output'];
157
159
  slug: Scalars['String']['output'];
158
160
  theme: Theme;
161
+ /** The PRN of the Theme this Building Block belongs to. */
162
+ themePrn: Scalars['PRN']['output'];
159
163
  title: Scalars['String']['output'];
160
164
  updatedAt: Scalars['DateTime']['output'];
161
165
  };
@@ -170,6 +174,12 @@ export type BuildingBlockExperienceComponentsArgs = {
170
174
  where?: InputMaybe<Array<ExperienceComponentsFilterInput>>;
171
175
  };
172
176
 
177
+ export type BuildingBlockEdge = {
178
+ __typename?: 'BuildingBlockEdge';
179
+ cursor: Scalars['String']['output'];
180
+ node: BuildingBlock;
181
+ };
182
+
173
183
  export type BuildingBlockField = {
174
184
  __typename?: 'BuildingBlockField';
175
185
  buildingBlock: BuildingBlock;
@@ -270,12 +280,21 @@ export type BuildingBlockFieldsFilterInput = {
270
280
  updatedAt?: InputMaybe<Array<DateFilter>>;
271
281
  };
272
282
 
283
+ export type BuildingBlocksConnection = {
284
+ __typename?: 'BuildingBlocksConnection';
285
+ edges: Array<BuildingBlockEdge>;
286
+ pageInfo: PageInfo;
287
+ totalCount: Scalars['Int']['output'];
288
+ };
289
+
273
290
  /** The filter input type for 'BuildingBlocks'. Objects/maps are treated as AND, while arrays are treated as OR. */
274
291
  export type BuildingBlocksFilterInput = {
275
292
  _not?: InputMaybe<Array<BuildingBlocksFilterInput>>;
276
293
  createdAt?: InputMaybe<Array<DateFilter>>;
294
+ isRoot?: InputMaybe<Array<BooleanFilter>>;
277
295
  prn?: InputMaybe<Array<PrnFilter>>;
278
296
  slug?: InputMaybe<Array<StringFilter>>;
297
+ themePrn?: InputMaybe<Array<PrnFilter>>;
279
298
  title?: InputMaybe<Array<StringFilter>>;
280
299
  updatedAt?: InputMaybe<Array<DateFilter>>;
281
300
  };
@@ -287,6 +306,15 @@ export type CasImageContentValueMatch = {
287
306
  stage: Scalars['String']['output'];
288
307
  };
289
308
 
309
+ export type CasPdfContentValueMatch = {
310
+ __typename?: 'CasPdfContentValueMatch';
311
+ matchedOnText: Scalars['Boolean']['output'];
312
+ matchedOnVisual: Scalars['Boolean']['output'];
313
+ similarContentValue: ContentValue;
314
+ textSimilarity: Scalars['Float']['output'];
315
+ visualSimilarity: Scalars['Float']['output'];
316
+ };
317
+
290
318
  export type CasRegexSuggestion = {
291
319
  __typename?: 'CasRegexSuggestion';
292
320
  confidence: Scalars['Float']['output'];
@@ -376,8 +404,12 @@ export type ContentExperience = {
376
404
  channelPrn?: Maybe<Scalars['PRN']['output']>;
377
405
  createdAt: Scalars['DateTime']['output'];
378
406
  experienceComponent: ExperienceComponent;
407
+ /** Whether this Content Experience is published. */
408
+ isPublished: Scalars['Boolean']['output'];
379
409
  /** The issues that this Content Experience is a subject of */
380
410
  issues: Array<Issue>;
411
+ /** When this Content Experience was last published. Null if never published. */
412
+ lastPublished?: Maybe<Scalars['DateTime']['output']>;
381
413
  organization?: Maybe<Organization>;
382
414
  pathPart: PathPart;
383
415
  /** An array of path part PRNs from the root PathPart to the current PathPart. */
@@ -424,6 +456,8 @@ export type ContentExperiencesFilterInput = {
424
456
  _not?: InputMaybe<Array<ContentExperiencesFilterInput>>;
425
457
  channelPrn?: InputMaybe<Array<PrnFilter>>;
426
458
  createdAt?: InputMaybe<Array<DateFilter>>;
459
+ isPublished?: InputMaybe<Array<BooleanFilter>>;
460
+ lastPublished?: InputMaybe<Array<DateFilter>>;
427
461
  prn?: InputMaybe<Array<PrnFilter>>;
428
462
  seoDescription?: InputMaybe<Array<StringFilter>>;
429
463
  seoTitle?: InputMaybe<Array<StringFilter>>;
@@ -500,8 +534,12 @@ export type ContentItem = {
500
534
  /** The display name of the Content Item. This is computed from the Content Type's displayNameTemplate and cached for filtering purposes. It is updated in the background and is not guaranteed to be up to date. A Content Field with multiple Content Values are concatenated with spaces. Missing Content Values will show as '***' and the displayName will be prefixed with DRAFT: */
501
535
  displayName: Scalars['String']['output'];
502
536
  isDraft: Scalars['Boolean']['output'];
537
+ /** Whether this Content Item is published. */
538
+ isPublished: Scalars['Boolean']['output'];
503
539
  /** The issues that this Content Item is a subject of */
504
540
  issues: Array<Issue>;
541
+ /** When this Content Item was last published. Null if never published. */
542
+ lastPublished?: Maybe<Scalars['DateTime']['output']>;
505
543
  organization?: Maybe<Organization>;
506
544
  primaryContentExperience?: Maybe<ContentExperience>;
507
545
  prn: Scalars['PRN']['output'];
@@ -548,6 +586,8 @@ export type ContentItemsFilterInput = {
548
586
  createdAt?: InputMaybe<Array<DateFilter>>;
549
587
  displayName?: InputMaybe<Array<StringFilter>>;
550
588
  isDraft?: InputMaybe<Array<BooleanFilter>>;
589
+ isPublished?: InputMaybe<Array<BooleanFilter>>;
590
+ lastPublished?: InputMaybe<Array<DateFilter>>;
551
591
  prn?: InputMaybe<Array<PrnFilter>>;
552
592
  tagPrns?: InputMaybe<Array<PrnArrayFilter>>;
553
593
  updatedAt?: InputMaybe<Array<DateFilter>>;
@@ -803,6 +843,8 @@ export type CreateBlueprintInput = {
803
843
  isFixed: Scalars['Boolean']['input'];
804
844
  name: Scalars['String']['input'];
805
845
  preview?: InputMaybe<Scalars['PRN']['input']>;
846
+ /** The PRN of the root Building Block to use for the new Blueprint. Uses the Theme's default when not provided. */
847
+ rootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
806
848
  };
807
849
 
808
850
  export type CreateBuildingBlockFieldForBuildingBlockInput = {
@@ -844,7 +886,10 @@ export type CreateBuildingBlockFieldInput = {
844
886
 
845
887
  export type CreateBuildingBlockForThemeInput = {
846
888
  buildingBlockFields: Array<CreateBuildingBlockFieldForBuildingBlockInput>;
847
- gridDefinition?: InputMaybe<CreateGridDefinitionInput>;
889
+ /** Required when isRoot is true. */
890
+ gridDefinition?: InputMaybe<CreateGridDefinitionForBuildingBlockInput>;
891
+ /** Whether the Building Block is to be used as a root Building Block. */
892
+ isRoot?: InputMaybe<Scalars['Boolean']['input']>;
848
893
  /** The PRN of the Building Block that should come immediately after this one in manual sort order within the same Theme and Organization. Null appends to the end. */
849
894
  next?: InputMaybe<Scalars['PRN']['input']>;
850
895
  preview?: InputMaybe<Scalars['PRN']['input']>;
@@ -854,7 +899,10 @@ export type CreateBuildingBlockForThemeInput = {
854
899
 
855
900
  export type CreateBuildingBlockInput = {
856
901
  buildingBlockFields: Array<CreateBuildingBlockFieldForBuildingBlockInput>;
857
- gridDefinition?: InputMaybe<CreateGridDefinitionInput>;
902
+ /** Required when isRoot is true. */
903
+ gridDefinition?: InputMaybe<CreateGridDefinitionForBuildingBlockInput>;
904
+ /** Whether the Building Block is to be used as a root Building Block. */
905
+ isRoot?: InputMaybe<Scalars['Boolean']['input']>;
858
906
  /** The PRN of the Building Block that should come immediately after this one in manual sort order within the same Theme and Organization. Null appends to the end. */
859
907
  next?: InputMaybe<Scalars['PRN']['input']>;
860
908
  preview?: InputMaybe<Scalars['PRN']['input']>;
@@ -871,11 +919,13 @@ export type CreateChannelInput = {
871
919
  };
872
920
 
873
921
  export type CreateContentExperienceWithExistingPathPartInput = {
874
- /** The PRN of the Blueprint to create a Content Experience from. If not provided, an empty Content Experience will be created. */
922
+ /** The PRN of the Blueprint to create a Content Experience from. If not provided, a new Content Experience will be created from the given root Building Block. */
875
923
  fromBlueprint?: InputMaybe<Scalars['PRN']['input']>;
876
924
  pathPart: Scalars['PRN']['input'];
877
925
  preview?: InputMaybe<Scalars['PRN']['input']>;
878
926
  primaryContentItem?: InputMaybe<Scalars['PRN']['input']>;
927
+ /** The PRN of the root Building Block to use for the new Content Experience. Uses the Theme's default when not provided. */
928
+ rootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
879
929
  /** The SEO description for the Content Experience. */
880
930
  seoDescription?: InputMaybe<Scalars['String']['input']>;
881
931
  /** The SEO title for the Content Experience. */
@@ -888,10 +938,12 @@ export type CreateContentExperienceWithExistingPathPartInput = {
888
938
  export type CreateContentExperienceWithNewPathPartInput = {
889
939
  createPathPartFromParent?: InputMaybe<CreatePathPartFromParentInput>;
890
940
  createPathPartFromPath?: InputMaybe<CreatePathPartFromPathInput>;
891
- /** The PRN of the Blueprint to create a Content Experience from. If not provided, an empty Content Experience will be created. */
941
+ /** The PRN of the Blueprint to create a Content Experience from. If not provided, a new Content Experience will be created from the given root Building Block. */
892
942
  fromBlueprint?: InputMaybe<Scalars['PRN']['input']>;
893
943
  preview?: InputMaybe<Scalars['PRN']['input']>;
894
944
  primaryContentItem?: InputMaybe<Scalars['PRN']['input']>;
945
+ /** The PRN of the root Building Block to use for the new Content Experience. Uses the Theme's default when not provided. */
946
+ rootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
895
947
  /** The SEO description for the Content Experience. */
896
948
  seoDescription?: InputMaybe<Scalars['String']['input']>;
897
949
  /** The SEO title for the Content Experience. */
@@ -991,6 +1043,7 @@ export type CreateExperienceComponentInput = {
991
1043
  buildingBlockFieldFulfillments: Array<CreateBuildingBlockFieldFulfillmentForExperienceComponentInput>;
992
1044
  /** Must be set if the Building Block has a Grid Definition. */
993
1045
  grid?: InputMaybe<CreateGridInput>;
1046
+ /** The Grid Placement for this Experience Component to be placed in. This is a shortcut for creating a Grid Placement with the Experience Component's PRN and the Grid's PRN. */
994
1047
  gridPlacement?: InputMaybe<CreateGridPlacementForExperienceComponentInput>;
995
1048
  /** Whether the Experience Component is a draft. */
996
1049
  isDraft: Scalars['Boolean']['input'];
@@ -1002,6 +1055,7 @@ export type CreateGlobalExperienceComponentInput = {
1002
1055
  buildingBlockFieldFulfillments: Array<CreateBuildingBlockFieldFulfillmentForExperienceComponentInput>;
1003
1056
  /** Must be set if the Building Block has a Grid Definition. */
1004
1057
  grid?: InputMaybe<CreateGridInput>;
1058
+ /** The Grid Placement for this Experience Component to be placed in. This is a shortcut for creating a Grid Placement with the Experience Component's PRN and the Grid's PRN. */
1005
1059
  gridPlacement?: InputMaybe<CreateGridPlacementForExperienceComponentInput>;
1006
1060
  /** Whether the Experience Component is a draft. */
1007
1061
  isDraft: Scalars['Boolean']['input'];
@@ -1009,8 +1063,12 @@ export type CreateGlobalExperienceComponentInput = {
1009
1063
  preview?: InputMaybe<Scalars['PRN']['input']>;
1010
1064
  };
1011
1065
 
1066
+ export type CreateGridDefinitionForBuildingBlockInput = {
1067
+ maxRows: Scalars['Int']['input'];
1068
+ };
1069
+
1012
1070
  export type CreateGridDefinitionInput = {
1013
- /** The PRN of the Building Block to add the Grid Definition to. Leave empty if creating a Grid Definition while creating a Building Block */
1071
+ /** The PRN of the Building Block to add the Grid Definition to. */
1014
1072
  buildingBlock?: InputMaybe<Scalars['PRN']['input']>;
1015
1073
  maxRows: Scalars['Int']['input'];
1016
1074
  };
@@ -1052,6 +1110,8 @@ export type CreateOrganizationInput = {
1052
1110
  };
1053
1111
 
1054
1112
  export type CreatePathPartFromParentInput = {
1113
+ /** The PRN of the default root Building Block to use for new Content Experiences under this Path Part. */
1114
+ defaultRootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
1055
1115
  /** The PRN of the parent Path Part. */
1056
1116
  parent: Scalars['String']['input'];
1057
1117
  /** The slug of the Path Part. This is unique among siblings. */
@@ -1061,6 +1121,8 @@ export type CreatePathPartFromParentInput = {
1061
1121
  export type CreatePathPartFromPathInput = {
1062
1122
  /** The Channel of the new Path Part. */
1063
1123
  channel: Scalars['PRN']['input'];
1124
+ /** The PRN of the default root Building Block to use for new Content Experiences under this Path Part. */
1125
+ defaultRootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
1064
1126
  /** The path of the Path Part. This is unique per Channel. Must contain a leading '/'. If the path contains slugs that do not exist, it will recursively create them. */
1065
1127
  path: Scalars['String']['input'];
1066
1128
  };
@@ -1094,6 +1156,11 @@ export type CreateThemeInput = {
1094
1156
  repositoryUrl: Scalars['String']['input'];
1095
1157
  };
1096
1158
 
1159
+ export type CreateUserMetadataInput = {
1160
+ key: UserMetadataKey;
1161
+ value: Scalars['JSON']['input'];
1162
+ };
1163
+
1097
1164
  export type CreateValueTypeContentValidationRuleInput = {
1098
1165
  settings: ValueTypeContentValidationRuleSettingsInput;
1099
1166
  targetField: Scalars['String']['input'];
@@ -1485,7 +1552,7 @@ export type Mutation = {
1485
1552
  archiveIssues: Array<Issue>;
1486
1553
  /** Bootstrap the first PlateMaintainer on a fresh deployment using a shared secret. */
1487
1554
  bootstrapPlateMaintainer: Scalars['Boolean']['output'];
1488
- /** Set the image hash for an asset in the Platform Service database. */
1555
+ /** Analyze asset and store the results in the database. */
1489
1556
  casAnalyzeAsset: SuccessResponse;
1490
1557
  /** Confirm an Asset upload. Unconfirmed Assets are deleted. */
1491
1558
  confirmAssetUpload: Array<Asset>;
@@ -1566,6 +1633,8 @@ export type Mutation = {
1566
1633
  createTag: Array<Tag>;
1567
1634
  /** Creates one or many new Themes. */
1568
1635
  createTheme: Array<Theme>;
1636
+ /** Creates UserMetadata for the current User. */
1637
+ createUserMetadata: Array<UserMetadata>;
1569
1638
  createValueTypeContentValidationRule: ContentValidationRule;
1570
1639
  /** Declines an Invitation for the current User (e.g. the logged in user) */
1571
1640
  declineInvitation: Invitation;
@@ -1586,6 +1655,8 @@ export type Mutation = {
1586
1655
  * See the wiki for an example: https://plate.atlassian.net/wiki/spaces/DW/pages/1488945153/Asset+Manager#Uploading-Assets
1587
1656
  */
1588
1657
  generateAssetUploadUrl: Array<GeneratedUploadUrl>;
1658
+ /** Publishes an entity. Throws NotFoundException when no entity could be found. */
1659
+ publish: Array<Scalars['Boolean']['output']>;
1589
1660
  /** Regenerate one or many new ApiTokens. */
1590
1661
  regenerateApiToken: Array<CreateApiTokenResponse>;
1591
1662
  removeAccessibleContentItem: Array<Scalars['JSON']['output']>;
@@ -1706,12 +1777,16 @@ export type Mutation = {
1706
1777
  * Throws NotFoundException when no Theme could be found.
1707
1778
  */
1708
1779
  removeTheme: Array<Theme>;
1780
+ /** Removes UserMetadata for the current User. */
1781
+ removeUserMetadata: Array<UserMetadata>;
1709
1782
  /** Starts the creation of the a given seed for the current organization. This removes existing content and creates new content */
1710
1783
  runSeeder: Scalars['Boolean']['output'];
1711
1784
  /** Synchronizes the current state of the given Blueprint to all of its instances. */
1712
1785
  syncBlueprint: Scalars['Boolean']['output'];
1713
1786
  /** Syncs the visibility of a Tag to its descendants. */
1714
1787
  syncTagVisibilityToDescendants: Array<Scalars['Boolean']['output']>;
1788
+ /** Unpublishes an entity. Throws NotFoundException when no entity could be found. */
1789
+ unpublish: Array<Scalars['Boolean']['output']>;
1715
1790
  updateAccessibleContentItem: Array<Scalars['JSON']['output']>;
1716
1791
  updateAllowedValuesContentValidationRule: ContentValidationRule;
1717
1792
  /**
@@ -1812,11 +1887,15 @@ export type Mutation = {
1812
1887
  * Throws NotFoundException when no Tag could be found.
1813
1888
  */
1814
1889
  updateTag: Array<Tag>;
1890
+ /** Update the tag co-occurrence counts based on the previous and current tag set of a Content Item or Content Experience. Added and removed tags will be identified and the corresponding co-occurrence counts are updated. */
1891
+ updateTagCoOccurrenceCounts: SuccessResponse;
1815
1892
  /**
1816
1893
  * Updates one or many Themes with new values.
1817
1894
  * Throws NotFoundException when no Theme could be found.
1818
1895
  */
1819
1896
  updateTheme: Array<Theme>;
1897
+ /** Updates UserMetadata for the current User. */
1898
+ updateUserMetadata: Array<UserMetadata>;
1820
1899
  updateValueTypeContentValidationRule: ContentValidationRule;
1821
1900
  };
1822
1901
 
@@ -2016,6 +2095,11 @@ export type MutationCreateThemeArgs = {
2016
2095
  };
2017
2096
 
2018
2097
 
2098
+ export type MutationCreateUserMetadataArgs = {
2099
+ input: Array<CreateUserMetadataInput>;
2100
+ };
2101
+
2102
+
2019
2103
  export type MutationCreateValueTypeContentValidationRuleArgs = {
2020
2104
  input: CreateValueTypeContentValidationRuleInput;
2021
2105
  };
@@ -2046,6 +2130,11 @@ export type MutationGenerateAssetUploadUrlArgs = {
2046
2130
  };
2047
2131
 
2048
2132
 
2133
+ export type MutationPublishArgs = {
2134
+ prns: Array<Scalars['PRN']['input']>;
2135
+ };
2136
+
2137
+
2049
2138
  export type MutationRegenerateApiTokenArgs = {
2050
2139
  prn: Array<Scalars['PRN']['input']>;
2051
2140
  };
@@ -2171,6 +2260,11 @@ export type MutationRemoveThemeArgs = {
2171
2260
  };
2172
2261
 
2173
2262
 
2263
+ export type MutationRemoveUserMetadataArgs = {
2264
+ key: Array<UserMetadataKey>;
2265
+ };
2266
+
2267
+
2174
2268
  export type MutationRunSeederArgs = {
2175
2269
  seedType: SeedType;
2176
2270
  withContent: Scalars['Boolean']['input'];
@@ -2187,6 +2281,11 @@ export type MutationSyncTagVisibilityToDescendantsArgs = {
2187
2281
  };
2188
2282
 
2189
2283
 
2284
+ export type MutationUnpublishArgs = {
2285
+ prn: Array<Scalars['PRN']['input']>;
2286
+ };
2287
+
2288
+
2190
2289
  export type MutationUpdateAccessibleContentItemArgs = {
2191
2290
  input: Array<UpdateAccessibleContentItemInput>;
2192
2291
  };
@@ -2322,11 +2421,22 @@ export type MutationUpdateTagArgs = {
2322
2421
  };
2323
2422
 
2324
2423
 
2424
+ export type MutationUpdateTagCoOccurrenceCountsArgs = {
2425
+ currentTags?: InputMaybe<Array<Scalars['PRN']['input']>>;
2426
+ previousTags?: InputMaybe<Array<Scalars['PRN']['input']>>;
2427
+ };
2428
+
2429
+
2325
2430
  export type MutationUpdateThemeArgs = {
2326
2431
  input: Array<UpdateThemeInput>;
2327
2432
  };
2328
2433
 
2329
2434
 
2435
+ export type MutationUpdateUserMetadataArgs = {
2436
+ input: Array<UpdateUserMetadataInput>;
2437
+ };
2438
+
2439
+
2330
2440
  export type MutationUpdateValueTypeContentValidationRuleArgs = {
2331
2441
  input: UpdateValueTypeContentValidationRuleInput;
2332
2442
  };
@@ -2411,6 +2521,8 @@ export type PathPart = {
2411
2521
  contentExperience?: Maybe<ContentExperience>;
2412
2522
  contentExperiencePrn?: Maybe<Scalars['PRN']['output']>;
2413
2523
  createdAt: Scalars['DateTime']['output'];
2524
+ /** The default root Building Block to use for new Content Experiences under this Path Part. */
2525
+ defaultRootBuildingBlock?: Maybe<BuildingBlock>;
2414
2526
  /** Whether this Path Part has a Content Experience. */
2415
2527
  hasContentExperience: Scalars['Boolean']['output'];
2416
2528
  organization?: Maybe<Organization>;
@@ -2466,6 +2578,11 @@ export type PatternFlag = {
2466
2578
  name: Scalars['String']['input'];
2467
2579
  };
2468
2580
 
2581
+ export type PdfSimilarityDetectionConfig = {
2582
+ textSimilarityThreshold?: InputMaybe<Scalars['Float']['input']>;
2583
+ visualSimilarityThreshold?: InputMaybe<Scalars['Float']['input']>;
2584
+ };
2585
+
2469
2586
  export type PrnArrayFilter = {
2470
2587
  /** Contains */
2471
2588
  _contains?: InputMaybe<Array<Scalars['PRN']['input']>>;
@@ -2529,6 +2646,8 @@ export type Query = {
2529
2646
  buildingBlockFieldFulfillments: BuildingBlockFieldFulfillmentsConnection;
2530
2647
  /** Orders and paginates all BuildingBlockFields. */
2531
2648
  buildingBlockFields: BuildingBlockFieldsConnection;
2649
+ /** Orders and paginates all BuildingBlocks. */
2650
+ buildingBlocks: BuildingBlocksConnection;
2532
2651
  /** True when no Plate maintainers exist yet and bootstrap is allowed. */
2533
2652
  canBootstrapMaintainer: Scalars['Boolean']['output'];
2534
2653
  /** Detect CAST matches with database reusable entries and return an array with the suggestions, Ordered by occurrence in the text. Matches are based on plaintext. */
@@ -2570,6 +2689,10 @@ export type Query = {
2570
2689
  findSimilarImageContentValues: Array<CasImageContentValueMatch>;
2571
2690
  /** Get similar image Content Values within the database from an asset PRN input. Use similarity score based on image hashes to find potential duplicates. */
2572
2691
  findSimilarImageContentValuesFromAsset: Array<CasImageContentValueMatch>;
2692
+ /** Get similar PDF Content Values. Thresholds configurable via config parameter. */
2693
+ findSimilarPdfContentValues: Array<CasPdfContentValueMatch>;
2694
+ /** Get similar PDF Content Values from an asset PRN input. Thresholds configurable via config parameter. */
2695
+ findSimilarPdfContentValuesFromAsset: Array<CasPdfContentValueMatch>;
2573
2696
  /** Finds one or many Grids by PRN. Throws NotFoundException when no Grid could be found. */
2574
2697
  grid: Array<Grid>;
2575
2698
  /** Finds one or many GridDefinitions by PRN. Throws NotFoundException when no GridDefinition could be found. */
@@ -2615,6 +2738,10 @@ export type Query = {
2615
2738
  theme: Array<Theme>;
2616
2739
  /** Orders and paginates all Themes. */
2617
2740
  themes: ThemesConnection;
2741
+ /** Finds a single UserMetadata entry for the current User by key. */
2742
+ userMetadataForCurrentUser: UserMetadata;
2743
+ /** Finds all UserMetadata for the current User. */
2744
+ userMetadatasForCurrentUser: Array<UserMetadata>;
2618
2745
  };
2619
2746
 
2620
2747
 
@@ -2681,6 +2808,13 @@ export type QueryBuildingBlockFieldsArgs = {
2681
2808
  };
2682
2809
 
2683
2810
 
2811
+ export type QueryBuildingBlocksArgs = {
2812
+ orderBy?: InputMaybe<OrderOptionsInput>;
2813
+ paginate: PaginationOptionsInput;
2814
+ where?: InputMaybe<Array<BuildingBlocksFilterInput>>;
2815
+ };
2816
+
2817
+
2684
2818
  export type QueryCastSuggestionsArgs = {
2685
2819
  config?: InputMaybe<DatabaseTextMatchConfig>;
2686
2820
  inputCast: Scalars['CAST']['input'];
@@ -2799,6 +2933,20 @@ export type QueryFindSimilarImageContentValuesFromAssetArgs = {
2799
2933
  };
2800
2934
 
2801
2935
 
2936
+ export type QueryFindSimilarPdfContentValuesArgs = {
2937
+ config?: InputMaybe<PdfSimilarityDetectionConfig>;
2938
+ contentValuePrnString: Scalars['String']['input'];
2939
+ limit?: InputMaybe<Scalars['Int']['input']>;
2940
+ };
2941
+
2942
+
2943
+ export type QueryFindSimilarPdfContentValuesFromAssetArgs = {
2944
+ assetPrnString: Scalars['String']['input'];
2945
+ config?: InputMaybe<PdfSimilarityDetectionConfig>;
2946
+ limit?: InputMaybe<Scalars['Int']['input']>;
2947
+ };
2948
+
2949
+
2802
2950
  export type QueryGridArgs = {
2803
2951
  prn: Array<Scalars['PRN']['input']>;
2804
2952
  };
@@ -2907,6 +3055,16 @@ export type QueryThemesArgs = {
2907
3055
  where?: InputMaybe<Array<ThemesFilterInput>>;
2908
3056
  };
2909
3057
 
3058
+
3059
+ export type QueryUserMetadataForCurrentUserArgs = {
3060
+ key: UserMetadataKey;
3061
+ };
3062
+
3063
+
3064
+ export type QueryUserMetadatasForCurrentUserArgs = {
3065
+ where?: InputMaybe<Array<UserMetadataFilterInput>>;
3066
+ };
3067
+
2910
3068
  export type RegexExtractionConfig = {
2911
3069
  patterns?: InputMaybe<Array<PatternFlag>>;
2912
3070
  threshold?: InputMaybe<Scalars['Float']['input']>;
@@ -2954,6 +3112,8 @@ export type RemoveBuildingBlockResponse = {
2954
3112
  createdAt: Scalars['DateTime']['output'];
2955
3113
  experienceComponents: Array<ExperienceComponent>;
2956
3114
  gridDefinition?: Maybe<GridDefinition>;
3115
+ /** Whether the Building Block is a root Building Block. */
3116
+ isRoot: Scalars['Boolean']['output'];
2957
3117
  /** The successor in manual sort order for Building Blocks of the same Theme and Organization. Null if this is the last. */
2958
3118
  next?: Maybe<BuildingBlock>;
2959
3119
  organization?: Maybe<Organization>;
@@ -2964,6 +3124,8 @@ export type RemoveBuildingBlockResponse = {
2964
3124
  prn: Scalars['PRN']['output'];
2965
3125
  slug: Scalars['String']['output'];
2966
3126
  theme: Theme;
3127
+ /** The PRN of the Theme this Building Block belongs to. */
3128
+ themePrn: Scalars['PRN']['output'];
2967
3129
  title: Scalars['String']['output'];
2968
3130
  updatedAt: Scalars['DateTime']['output'];
2969
3131
  };
@@ -2980,8 +3142,12 @@ export type RemoveContentExperienceResponse = {
2980
3142
  channelPrn?: Maybe<Scalars['PRN']['output']>;
2981
3143
  createdAt: Scalars['DateTime']['output'];
2982
3144
  experienceComponent: ExperienceComponent;
3145
+ /** Whether this Content Experience is published. */
3146
+ isPublished: Scalars['Boolean']['output'];
2983
3147
  /** The issues that this Content Experience is a subject of */
2984
3148
  issues: Array<Issue>;
3149
+ /** When this Content Experience was last published. Null if never published. */
3150
+ lastPublished?: Maybe<Scalars['DateTime']['output']>;
2985
3151
  organization?: Maybe<Organization>;
2986
3152
  pathPart: PathPart;
2987
3153
  primaryContentItem?: Maybe<ContentItem>;
@@ -3190,10 +3356,6 @@ export type SuccessResponse = {
3190
3356
  status: Scalars['String']['output'];
3191
3357
  };
3192
3358
 
3193
- export enum SuggestionMethod {
3194
- Count = 'COUNT'
3195
- }
3196
-
3197
3359
  export type Tag = {
3198
3360
  __typename?: 'Tag';
3199
3361
  /** The amount of direct children. */
@@ -3245,7 +3407,6 @@ export type TagEdge = {
3245
3407
 
3246
3408
  export type TagSuggestionsConfig = {
3247
3409
  exclude?: InputMaybe<Array<Scalars['String']['input']>>;
3248
- suggestionMethod?: InputMaybe<SuggestionMethod>;
3249
3410
  threshold?: InputMaybe<Scalars['Float']['input']>;
3250
3411
  };
3251
3412
 
@@ -3285,6 +3446,7 @@ export type Theme = {
3285
3446
  buildingBlocks: Array<BuildingBlock>;
3286
3447
  channels: Array<Channel>;
3287
3448
  createdAt: Scalars['DateTime']['output'];
3449
+ defaultRootBuildingBlock?: Maybe<BuildingBlock>;
3288
3450
  name: Scalars['String']['output'];
3289
3451
  organization?: Maybe<Organization>;
3290
3452
  prn: Scalars['PRN']['output'];
@@ -3406,6 +3568,8 @@ export type UpdateContentExperienceInput = {
3406
3568
  preview?: InputMaybe<Scalars['PRN']['input']>;
3407
3569
  primaryContentItem?: InputMaybe<Scalars['PRN']['input']>;
3408
3570
  prn: Scalars['PRN']['input'];
3571
+ /** The PRN of the root Building Block to use for the Content Experience. */
3572
+ rootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
3409
3573
  /** The SEO description for the Content Experience. */
3410
3574
  seoDescription?: InputMaybe<Scalars['String']['input']>;
3411
3575
  /** The SEO title for the Content Experience. */
@@ -3524,6 +3688,8 @@ export type UpdatePathPartByPathInput = {
3524
3688
 
3525
3689
  /** Input to update a Path Part. Cannot update the root Path Part (slug ""). */
3526
3690
  export type UpdatePathPartInput = {
3691
+ /** The PRN of the default root Building Block to use for new Content Experiences under this Path Part. */
3692
+ defaultRootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
3527
3693
  parent?: InputMaybe<Scalars['String']['input']>;
3528
3694
  prn: Scalars['PRN']['input'];
3529
3695
  /** The slug of the Path Part. This is unique among siblings. */
@@ -3554,11 +3720,18 @@ export type UpdateTagInput = {
3554
3720
  };
3555
3721
 
3556
3722
  export type UpdateThemeInput = {
3723
+ /** The PRN of the default root Building Block to use for new Content Experiences. */
3724
+ defaultRootBuildingBlock?: InputMaybe<Scalars['PRN']['input']>;
3557
3725
  name?: InputMaybe<Scalars['String']['input']>;
3558
3726
  prn: Scalars['PRN']['input'];
3559
3727
  repositoryUrl?: InputMaybe<Scalars['String']['input']>;
3560
3728
  };
3561
3729
 
3730
+ export type UpdateUserMetadataInput = {
3731
+ key: UserMetadataKey;
3732
+ value: Scalars['JSON']['input'];
3733
+ };
3734
+
3562
3735
  export type UpdateValueTypeContentValidationRuleInput = {
3563
3736
  prn: Scalars['PRN']['input'];
3564
3737
  settings: ValueTypeContentValidationRuleSettingsInput;
@@ -3571,10 +3744,33 @@ export type User = Subject & {
3571
3744
  isPlateMaintainer: Scalars['Boolean']['output'];
3572
3745
  /** Can have values 'en' or 'nl'. */
3573
3746
  language: Scalars['String']['output'];
3747
+ metadata: Array<UserMetadata>;
3574
3748
  name: Name;
3575
3749
  roleAssignments: Array<RoleAssignment>;
3576
3750
  };
3577
3751
 
3752
+ export type UserMetadata = {
3753
+ __typename?: 'UserMetadata';
3754
+ createdAt: Scalars['DateTime']['output'];
3755
+ key: UserMetadataKey;
3756
+ updatedAt: Scalars['DateTime']['output'];
3757
+ user: User;
3758
+ userId: Scalars['String']['output'];
3759
+ value: Scalars['JSON']['output'];
3760
+ };
3761
+
3762
+ /** The filter input type for 'UserMetadata'. Objects/maps are treated as AND, while arrays are treated as OR. */
3763
+ export type UserMetadataFilterInput = {
3764
+ _not?: InputMaybe<Array<UserMetadataFilterInput>>;
3765
+ createdAt?: InputMaybe<Array<DateFilter>>;
3766
+ key?: InputMaybe<Array<StringFilter>>;
3767
+ updatedAt?: InputMaybe<Array<DateFilter>>;
3768
+ };
3769
+
3770
+ export enum UserMetadataKey {
3771
+ Onboarding = 'ONBOARDING'
3772
+ }
3773
+
3578
3774
  export type ValueTypeContentValidationRuleSettings = {
3579
3775
  __typename?: 'ValueTypeContentValidationRuleSettings';
3580
3776
  allowedTypes: Array<ContentValueTypeNames>;
package/codegen.config.ts CHANGED
@@ -1,17 +1,13 @@
1
1
  import { CodegenConfig } from "@graphql-codegen/cli";
2
2
 
3
- if (import.meta.env.VITE_OATHKEEPER_ENDPOINT === undefined || import.meta.env.CODEGEN_COOKIE === undefined) {
4
- throw new Error("Missing 'VITE_OATHKEEPER_ENDPOINT' and/or 'CODEGEN_COOKIE' environment variables");
3
+ if (import.meta.env.CODEGEN_URL === undefined) {
4
+ throw new Error("Missing 'CODEGEN_URL' environment variable");
5
5
  }
6
6
 
7
7
  const CONFIG: CodegenConfig = {
8
8
  overwrite: true,
9
9
  schema: {
10
- [import.meta.env.VITE_OATHKEEPER_ENDPOINT]: {
11
- headers: {
12
- Cookie: import.meta.env.CODEGEN_COOKIE,
13
- },
14
- },
10
+ [import.meta.env.CODEGEN_URL]: {},
15
11
  },
16
12
  generates: {
17
13
  "./packages/delta-vue/__generated__/": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platecms/delta-vue",
3
- "version": "1.10.0",
3
+ "version": "1.12.0",
4
4
  "description": "Plugin to connect to the Plate Delta CMS in a Vue application.",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -23,10 +23,10 @@
23
23
  "./styles.css": "./src/styles.css"
24
24
  },
25
25
  "dependencies": {
26
- "@platecms/delta-cast": "1.10.0",
27
- "@platecms/delta-castscript": "1.10.0",
28
- "@platecms/delta-client": "1.10.0",
29
- "@platecms/delta-plate-resource-notation": "1.10.0",
26
+ "@platecms/delta-cast": "1.12.0",
27
+ "@platecms/delta-castscript": "1.12.0",
28
+ "@platecms/delta-client": "1.12.0",
29
+ "@platecms/delta-plate-resource-notation": "1.12.0",
30
30
  "@graphql-codegen/cli": "5.0.7",
31
31
  "@graphql-typed-document-node/core": "3.2.0",
32
32
  "axios": "1.11.0",