From 5780e9078cb75d49d366da020c5100ebc221dcfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 13:44:36 +0200 Subject: [PATCH 001/260] Copy components related to SitePage from headless-delivery-impl --- .../headless-site-impl/rest-openapi.yaml | 2682 +++++++++++++++++ 1 file changed, 2682 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index efe10e8fb119ae..d7287f6e8b944a 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -1,5 +1,2687 @@ components: schemas: + ActionExecutionResult: + # @review + description: + Represents a definition of an action execution result. + properties: + type: + # @review + description: + The type of result. + enum: [DisplayPage, None, Notification, Page, URL] + type: + string + value: + oneOf: + - $ref: "#/components/schemas/DisplayPageActionExecutionResult" + - $ref: "#/components/schemas/NoneActionExecutionResult" + - $ref: "#/components/schemas/NotificationActionExecutionResult" + - $ref: "#/components/schemas/SitePageActionExecutionResult" + - $ref: "#/components/schemas/URLActionExecutionResult" + type: object + AggregateRating: + description: + Represents the average rating. See [AggregateRating](https://www.schema.org/AggregateRating) for more + information. + properties: + bestRating: + description: + The highest possible rating (by default normalized to 1.0). + format: double + readOnly: true + type: number + ratingAverage: + description: + The average rating. + format: double + readOnly: true + type: number + ratingCount: + description: + The number of ratings. + readOnly: true + type: integer + ratingValue: + # @review + description: + The rating value. + format: double + readOnly: true + type: number + worstRating: + description: + The lowest possible rating (by default normalized to 0.0). + format: double + readOnly: true + type: number + type: object + ClassFieldReference: + properties: + className: + type: string + fieldName: + type: string + fieldValue: + type: string + required: + - className + - fieldName + - fieldValue + type: object + ClassFieldsReference: + properties: + className: + type: string + fields: + description: + The list of fields for the reference. + items: + properties: + fieldName: + description: + The name of the field. + type: string + fieldValue: + description: + The internal value of the field. + type: string + type: object + type: array + required: + - className + - fields + type: object + ClassNameReference: + properties: + className: + type: string + required: + - className + ClassPKReference: + properties: + className: + type: string + classPK: + format: int64 + type: integer + required: + - className + - classPK + type: object + ClassTypeReference: + properties: + className: + type: string + classType: + format: int64 + type: integer + required: + - className + type: object + ClientExtension: + # @review + description: + Represents a client extension + properties: + clientExtensionConfig: + additionalProperties: + type: string + type: object + externalReferenceCode: + # @review + description: + The client extension's external reference code. + type: string + name: + description: + The client extension's name. + readOnly: true + type: string + type: object + CollectionViewport: + # @review + description: + Represents a collection viewport. + properties: + collectionViewportDefinition: + # @review + description: + The definition of the collection viewport. + properties: + numberOfColumns: + # @review + description: + The number of columns of the collection viewport. + type: integer + type: object + id: + # @review + description: + The collection viewport's ID. + type: string + required: + - id + - collectionViewportDefinition + type: object + ColumnViewport: + properties: + columnViewportDefinition: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + id: + type: string + required: + - columnViewportDefinition + - id + type: object + ContentDocument: + description: + Represents a document (binary data and metadata) associated with structured content. Properties follow + the [Media Object](https://schema.org/MediaObject) specification. + properties: + actions: + additionalProperties: + additionalProperties: + type: string + type: object + # @review + description: + Block of actions allowed by the user making the request. + readOnly: true + type: object + contentType: + description: + The type of content. + readOnly: true + type: string + contentUrl: + description: + The document's relative URL. + format: uri + readOnly: true + type: string + contentValue: + # @review + description: + optional field with the content of the document in Base64, can be embedded with nestedFields + readOnly: true + type: string + description: + description: + The document's description. + type: string + encodingFormat: + description: + The document's content type (e.g., `application/pdf`, etc.). + readOnly: true + type: string + fileExtension: + description: + The document's file extension. + readOnly: true + type: string + id: + description: + The document's ID. + format: int64 + type: integer + sizeInBytes: + description: + The document's file size in bytes. + format: int64 + readOnly: true + type: integer + title: + description: + The document's title. + type: string + type: object + ContextReference: + properties: + contextSource: + enum: [CollectionItem, DisplayPageItem] + type: string + required: + - contextSource + type: object + CustomCSSViewport: + # @review + description: + Represents a custom CSS viewport. + properties: + customCSS: + # @review + description: + The definition of the custom CSS viewport. + type: string + id: + # @review + description: + The custom CSS viewport's ID. + type: string + required: + - id + - customCSS + type: object + CustomField: + # @review + description: + Represents the value of each custom field. Fields can contain different information types (e.g., + geolocation, strings, etc.). + properties: + customValue: + $ref: "#/components/schemas/CustomValue" + description: + The field's value. + dataType: + description: + The field type (e.g., image, text, etc.). + readOnly: true + type: string + name: + description: + The field's internal name. This is valid for comparisons and unique in the structured content. + type: string + CustomMetaTag: + # @review + description: + Represents a custom meta tag. + properties: + key: + # @review + description: + The custom metatag's key. + type: string + value: + # @review + description: + The custom metatag's value + type: string + value_i18n: + additionalProperties: + type: string + # @review + description: + The localized custom metatag's values. + type: object + type: object + CustomValue: + # @review + description: + Represents a custom value. + properties: + data: + # @review + description: + The field's content value for simple types. + type: object + data_i18n: + additionalProperties: + type: string + # @review + description: + The localized field's content values for simple types. + type: object + geo: + $ref: "#/components/schemas/Geo" + description: + A point determined by latitude and longitude. + type: object + DisplayPageActionExecutionResult: + # @review + description: + Represents a definition of an action execution of type display page. + properties: + mapping: + # @review + description: + The mapping of the display page action result. + properties: + fieldKey: + # @review + description: + The mapping's field key. + type: string + type: object + type: object + Experience: + description: + # @review + Represents a customized experience for a given page. + properties: + key: + # @review + description: + the experience's key. + type: string + name: + # @review + description: + the experience's name. + type: string + name_i18n: + additionalProperties: + type: string + # @review + description: + the localized experience's names. + type: object + segments: + # @review + description: + A list of segments the experience is used for. + items: + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Segment" + type: array + type: object + Fragment: + # @review + description: + Represents a template made up of CSS, HTML, and JavaScript used to build Content Pages. + properties: + collectionName: + # @review + description: + The collection name this fragment belongs to. + type: string + key: + # @review + description: + The fragment's key. + type: string + name: + # @review + description: + The fragment's name. + type: string + siteKey: + # @review + description: + The key of the site to which this fragment is scoped. + readOnly: true + type: string + type: object + FragmentField: + # @review + description: + Represents a fragment field. + properties: + id: + # @review + description: + The fragment field's ID. + type: string + value: + anyOf: + - $ref: "#/components/schemas/FragmentFieldAction" + - $ref: "#/components/schemas/FragmentFieldBackgroundImage" + - $ref: "#/components/schemas/FragmentFieldHTML" + - $ref: "#/components/schemas/FragmentFieldImage" + - $ref: "#/components/schemas/FragmentFieldText" + # @review + description: + The fragment field's value. + type: object + FragmentFieldAction: + # @review + description: + Represents a fragment field with an action. + properties: + action: + # @review + description: + The fragment field's action. Must be mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentMappedValue" + onError: + $ref: "#/components/schemas/ActionExecutionResult" + # @review + description: + The action execution result in case the action fails. + onSuccess: + $ref: "#/components/schemas/ActionExecutionResult" + # @review + description: + The action execution result in case the action succeeds. + text: + # @review + description: + The fragment field's text. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentFieldBackgroundImage: + # @review + description: + Represents a fragment field with a background image. + properties: + backgroundFragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The fragment field's background image. + backgroundImage: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" + properties: + description: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + title: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + url: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + type: object + FragmentFieldHTML: + # @review + description: + Represents a fragment field with HTML. + properties: + html: + # @review + description: + The fragment field's HTML. Can be inline or mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentFieldImage: + # @review + description: + Represents a fragment field with an image. + properties: + fragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The fragment field's image. + fragmentLink: + $ref: "#/components/schemas/FragmentLink" + # @review + description: + A link to a fragment. + type: object + FragmentFieldText: + # @review + description: + Represents a fragment field with text. + properties: + fragmentLink: + $ref: "#/components/schemas/FragmentLink" + # @review + description: + A link to a fragment. + text: + # @review + description: + The fragment field's text. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentImage: + # @review + description: + Represents a fragment image. + properties: + description: + # @review + description: + The fragment image's description. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + fragmentImageClassPKReference: + $ref: "#/components/schemas/FragmentImageClassPKReference" + # @review + description: + A reference to a fragment image class primary key. + title: + # @review + description: + The fragment image's title. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + url: + # @review + description: + The fragment image's url. Can be inline or mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentImageClassPKReference: + # @review + description: + Represents a reference to a fragment image class primary key. + properties: + classPKReferences: + additionalProperties: + $ref: "#/components/schemas/ClassPKReference" + # @review + description: + A map of class primary key references. + type: object + fragmentImageConfiguration: + $ref: "#/components/schemas/FragmentImageConfiguration" + # @review + description: + The fragment image's configuration. + type: object + FragmentImageConfiguration: + # @review + description: + Represents the Adaptive Media fragment image configuration for different viewports. + properties: + landscapeMobile: + # @review + description: + The landscape mobile configuration of the fragment image. + type: string + portraitMobile: + # @review + description: + The portrait mobile configuration of the fragment image. + type: string + tablet: + # @review + description: + The tablet configuration of the fragment image. + type: string + type: object + FragmentInlineValue: + # @review + description: + Represents a fragment inline value. + properties: + value: + # @review + description: + The fragment's inline value. + type: string + value_i18n: + additionalProperties: + type: string + # @review + description: + The localized fragment's inline values. + type: object + type: object + FragmentLink: + # @review + description: + Represents a fragment link. + properties: + href: + deprecated: true + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + target: + deprecated: true + enum: [Blank, Parent, Self, Top] + type: string + value: + $ref: "#/components/schemas/FragmentLinkValue" + # @review + description: + The fragment link's value. + value_i18n: + additionalProperties: + $ref: "#/components/schemas/FragmentLinkValue" + # @review + description: + The localized fragment link's values. + type: object + FragmentLinkValue: + # @review + description: + Represents a fragment link value. + properties: + href: + # @review + description: + The fragment link value's hypertext reference. Can be inline or mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + target: + # @review + description: + The fragment link value's target (blank, parent, self, top). + enum: [Blank, Parent, Self, Top] + type: string + FragmentMappedValue: + # @review + description: + Represents a fragment mapped value. + properties: + defaultFragmentInlineValue: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The default value of the fragment mapped value. + defaultValue: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by defaultFragmentInlineValue" + properties: + value: + type: string + value_i18n: + additionalProperties: + type: string + type: object + type: object + mapping: + # @review + description: + The mapping of the fragment mapped value. + properties: + fieldKey: + # @review + description: + The mapping's field key. + type: string + itemReference: + # @review + description: + The mapping's item reference. + oneOf: + - $ref: "#/components/schemas/ClassFieldReference" + - $ref: "#/components/schemas/ClassFieldsReference" + - $ref: "#/components/schemas/ClassPKReference" + - $ref: "#/components/schemas/ContextReference" + type: object + type: object + FragmentSettingsAllowed: + # @review + description: + Represents the settings of allowed fragments in a page dropzone. + properties: + allowedFragments: + # @review + description: + A list of allowed fragments. + items: + $ref: "#/components/schemas/Fragment" + type: array + type: object + FragmentSettingsUnallowed: + # @review + description: + Represents the settings of unallowed fragments in a page dropzone. + properties: + unallowedFragments: + items: + $ref: "#/components/schemas/Fragment" + type: array + type: object + FragmentStyle: + # @review + description: + Represents a fragment style. + properties: + backgroundColor: + # @review + description: + The fragment's background color. + type: string + backgroundFragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The fragment's background image. + borderColor: + # @review + description: + The fragment's border color. + type: string + borderRadius: + # @review + description: + The fragment's background radius. + type: string + borderWidth: + # @review + description: + The fragment's border width. + type: string + fontFamily: + # @review + description: + The fragment's font family. + type: string + fontSize: + # @review + description: + The fragment's font size. + type: string + fontWeight: + # @review + description: + The fragment's font weight. + type: string + height: + # @review + description: + The fragment's height. + type: string + hidden: + # @review + description: + Specifies if the fragment is hidden to the user. + type: boolean + marginBottom: + # @review + description: + The fragment's margin bottom. + type: string + marginLeft: + # @review + description: + The fragment's margin left. + type: string + marginRight: + # @review + description: + The fragment's margin right. + type: string + marginTop: + # @review + description: + The fragment's margin top. + type: string + maxHeight: + # @review + description: + The fragment's max height. + type: string + maxWidth: + # @review + description: + The fragment's max width. + type: string + minHeight: + # @review + description: + The fragment's min height. + type: string + minWidth: + # @review + description: + The fragment's min width. + type: string + opacity: + # @review + description: + The fragment's opacity. + type: string + overflow: + # @review + description: + The fragment's overflow behavior. + type: string + paddingBottom: + # @review + description: + The fragment's padding bottom. + type: string + paddingLeft: + # @review + description: + The fragment's padding left. + type: string + paddingRight: + # @review + description: + The fragment's padding right. + type: string + paddingTop: + # @review + description: + The fragment's padding top. + type: string + shadow: + # @review + description: + The fragment's shadow effect. + type: string + textAlign: + # @review + description: + The fragment's text align. + type: string + textColor: + # @review + description: + The fragment's text color. + type: string + width: + # @review + description: + The fragment's width. + type: string + type: object + FragmentViewport: + # @review + description: + Represents a fragment viewport. + properties: + fragmentViewportStyle: + # @review + description: + The fragment's viewport style. + properties: + backgroundColor: + # @review + description: + The fragment viewport's background color. + type: string + borderColor: + # @review + description: + The fragment viewport's border color. + type: string + borderRadius: + # @review + description: + The fragment viewport's background radius. + type: string + borderWidth: + # @review + description: + The fragment viewport's border width. + type: string + fontFamily: + # @review + description: + The fragment viewport's font family. + type: string + fontSize: + # @review + description: + The fragment viewport's font size. + type: string + fontWeight: + # @review + description: + The fragment viewport's font weight. + type: string + height: + # @review + description: + The fragment viewport's height. + type: string + hidden: + # @review + description: + Specifies if the fragment's viewport is hidden to the user. + type: boolean + marginBottom: + # @review + description: + The fragment viewport's margin bottom. + type: string + marginLeft: + # @review + description: + The fragment viewport's margin left. + type: string + marginRight: + # @review + description: + The fragment viewport's margin right. + type: string + marginTop: + # @review + description: + The fragment viewport's margin top. + type: string + maxHeight: + # @review + description: + The fragment viewport's max height. + type: string + maxWidth: + # @review + description: + The fragment viewport's max width. + type: string + minHeight: + # @review + description: + The fragment viewport's min height. + type: string + minWidth: + # @review + description: + The fragment viewport's min width. + type: string + opacity: + # @review + description: + The fragment viewport's opacity. + type: string + overflow: + # @review + description: + The fragment viewport's overflow behavior. + type: string + paddingBottom: + # @review + description: + The fragment viewport's padding bottom. + type: string + paddingLeft: + # @review + description: + The fragment viewport's padding left. + type: string + paddingRight: + # @review + description: + The fragment viewport's padding right. + type: string + paddingTop: + # @review + description: + The fragment viewport's padding top. + type: string + shadow: + # @review + description: + The fragment viewport's shadow effect. + type: string + textAlign: + # @review + description: + The fragment viewport's text align. + type: string + textColor: + # @review + description: + The fragment viewport's text color. + type: string + width: + # @review + description: + The fragment viewport's width. + type: string + type: object + id: + # @review + description: + The fragment viewport's ID. + type: string + required: + - fragmentViewportStyle + - id + type: object + Geo: + description: + A point determined by latitude and longitude. + properties: + latitude: + description: + The latitude of a point in space. + format: double + type: number + longitude: + description: + The longitude of a point in space. + format: double + type: number + type: object + MasterPage: + # @review + description: + Represents a page with common elements (header, footer, ...) used for all or several pages of a site. + properties: + key: + # @review + description: + The master page's key. + type: string + name: + # @review + description: + The master page's name. + type: string + type: object + MessageFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type message. + properties: + message: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized submission of message type. + messageType: + # @review + description: + The message form submission type (embedded, none). + enum: [Embedded, None] + type: string + showNotification: + type: boolean + type: object + NoneActionExecutionResult: + # @review + description: + Represents a definition of an action execution result of type none. + properties: + reload: + # @review + description: + Whether to reload the page after the action is executed. + type: boolean + type: object + NotificationActionExecutionResult: + # @review + description: + Represents a definition of an action execution result of type notification. + properties: + reload: + # @review + description: + Whether to reload the page after the action is executed. + type: boolean + text: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized text to display when an action is executed. + type: object + OpenGraphSettings: + # @review + description: + Represents settings related with Open Graph protocol. + properties: + description: + # @review + description: + The Open Graph's description. + type: string + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized Open Graph's descriptions. + type: object + image: + $ref: "#/components/schemas/ContentDocument" + # @review + description: + The Open Graph's image. + imageAlt: + # @review + description: + The Open Graph's image alt. + type: string + imageAlt_i18n: + additionalProperties: + type: string + # @review + description: + The localized Open Graph's image alts. + type: object + title: + # @review + description: + The Open Graph's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized Open Graph's titles. + type: object + type: object + PageCollectionDefinition: + # @review + description: + Represents a definition of a Page Collection. + properties: + collectionConfig: + properties: + collectionReference: + # @review + description: + The page collection's reference. + oneOf: + - $ref: "#/components/schemas/ClassNameReference" + - $ref: "#/components/schemas/ClassPKReference" + collectionType: + # @review + description: + The page collection's type (Collection, CollectionProvider). + enum: [Collection, CollectionProvider] + type: string + required: + - collectionReference + - collectionType + type: object + collectionViewports: + # @review + description: + A list of viewports of the page collection. + items: + $ref: "#/components/schemas/CollectionViewport" + type: array + displayAllItems: + # @review + description: + Whether to show all items when pagination is disabled. + type: boolean + displayAllPages: + # @review + description: + Whether to show all pages when pagination is enabled. + type: boolean + emptyCollectionConfig: + properties: + displayMessage: + # @review + description: + Whether to display a message when the collection is empty or no results match the + applied filters (true by default). + type: boolean + message_i18n: + additionalProperties: + type: string + # @review + description: + The localized message to display when the collection is empty or no results match the + applied filters ('No Results Found' by default). + type: object + type: object + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page collection. + fragmentViewports: + # @review + description: + The fragment viewports of the page collection. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + layout: + # @review + description: + the page section's layout. + properties: + align: + enum: [Baseline, Center, End, None, Start, Stretch] + type: string + flexWrap: + enum: [NoWrap, Wrap, WrapReverse] + type: string + justify: + enum: [Center, End, None, SpaceAround, SpaceBetween, Start] + type: string + type: object + listItemStyle: + # @review + description: + The style of a list of items in the page collection. + type: string + listStyle: + # @review + description: + The style of a list in the page collection. + type: string + name: + # @review + description: + The custom name of a Page Collection. + type: string + numberOfColumns: + # @review + description: + The number of columns in the page collection. + type: integer + numberOfItems: + # @review + description: + The maximum number of items to display in the page collection when pagination is disabled. + type: integer + numberOfItemsPerPage: + # @review + description: + The number of items per page in the page collection. + type: integer + numberOfPages: + # @review + description: + The maximum number of pages to show when pagination is enabled. + type: integer + paginationType: + # @review + description: + The type of pagination. + enum: [ + None, + Numeric, + # "Deprecated as of Cavanaugh (7.4.x), replaced by Numeric" + Regular, + Simple] + type: string + showAllItems: + deprecated: true + # @review + description: + Whether to show all items when pagination is enabled. Deprecated as of Cavanaugh (7.4.x), + replaced by displayAllPages + type: boolean + templateKey: + # @review + description: + The page collection's template key. + type: string + type: object + PageCollectionItemDefinition: + # @review + description: + Represents a definition of a Page Collection Item. + properties: + collectionItemConfig: + # @review + description: + The page collection item's configuration. + type: object + type: object + PageColumnDefinition: + # @review + description: + Represents a definition of a Page Column. + properties: + columnViewportConfig: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by columnViewports" + properties: + landscapeMobile: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + portraitMobile: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + tablet: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + type: object + columnViewports: + # @review + description: + A list of column viewports of the page column definition. + items: + $ref: "#/components/schemas/ColumnViewport" + type: array + size: + # @review + description: + The page column's size. + maximum: 12 + minimum: 1 + type: integer + type: object + PageDefinition: + # @review + description: + Represent a definition of a Page. + properties: + pageElement: + $ref: "#/components/schemas/PageElement" + # @review + description: + The page's page element. + pageRules: + # @review + description: + A list of the page rules this page has. + items: + $ref: "#/components/schemas/PageRule" + type: array + settings: + $ref: "#/components/schemas/Settings" + # @review + description: + The page's settings. + version: + # @review + description: + The version of the JSON generated by page definition. + format: double + type: number + type: object + PageDropZoneDefinition: + # @review + description: + Represent a definition of a Page drop zone. + properties: + fragmentSettings: + # @review + description: + The page drop zone's allowed or unallowed fragments. + oneOf: + - $ref: "#/components/schemas/FragmentSettingsAllowed" + - $ref: "#/components/schemas/FragmentSettingsUnallowed" + type: object + PageElement: + # @review + description: + Represents a Page element. + properties: + definition: + # @review + description: + The page element's definition. + oneOf: + - $ref: "#/components/schemas/PageCollectionDefinition" + - $ref: "#/components/schemas/PageCollectionItemDefinition" + - $ref: "#/components/schemas/PageColumnDefinition" + - $ref: "#/components/schemas/PageDropZoneDefinition" + - $ref: "#/components/schemas/PageFormDefinition" + - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" + - $ref: "#/components/schemas/PageFragmentInstanceDefinition" + - $ref: "#/components/schemas/PageRootDefinition" + - $ref: "#/components/schemas/PageRowDefinition" + - $ref: "#/components/schemas/PageSectionDefinition" + - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + id: + description: + The page element's ID. + type: string + pageElements: + # @review + description: + A list of the page elements this page element has. + items: + $ref: "#/components/schemas/PageElement" + type: array + type: + # @review + description: + The page element's type (collection, collection item, column, drop zone, form, fragment, + fragment drop zone, root, row, section or widget). + enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentDropZone, Root, Row, Section, + Widget] + type: string + PageFormDefinition: + # @review + description: + Represent a definition of a Page form. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + formConfig: + # @review + description: + The page form's configuration. + properties: + formReference: + # @review + description: + The form reference. + oneOf: + - $ref: "#/components/schemas/ClassTypeReference" + - $ref: "#/components/schemas/ContextReference" + formSuccessSubmissionResult: + # @review + description: + The definition for the success message of the form. + oneOf: + - $ref: "#/components/schemas/MessageFormSubmissionResult" + - $ref: "#/components/schemas/SitePageFormSubmissionResult" + - $ref: "#/components/schemas/URLFormSubmissionResult" + type: object + type: object + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of a Page form. + fragmentViewports: + # @review + description: + A list of fragment viewports of a Page form. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + indexed: + # @review + description: + A flag that indicates whether the page fragment instance is indexed or not. + type: boolean + layout: + # @review + description: + the page section's layout. + properties: + align: + enum: [Baseline, Center, End, None, Start, Stretch] + type: string + contentDisplay: + enum: [Block, FlexColumn, FlexRow] + type: string + flexWrap: + enum: [NoWrap, Wrap, WrapReverse] + type: string + justify: + enum: [Center, End, None, SpaceAround, SpaceBetween, Start] + type: string + widthType: + # @review + description: + The width's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + type: object + name: + # @review + description: + The custom name of of a Page form. + type: string + type: object + PageFragmentDropZoneDefinition: + # @review + description: + Represents a definition of a Page Fragment DropZone. + properties: + fragmentDropZoneId: + # @review + description: + The id of the fragment dropzone + type: string + type: object + PageFragmentInstanceDefinition: + # @review + description: + Represents a definition of a Page Fragment Instance. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragment: + $ref: "#/components/schemas/Fragment" + # @review + description: + The fragment of the page fragment instance. + fragmentConfig: + additionalProperties: + type: object + # @review + description: + The page fragment instance's configuration. + type: object + fragmentFields: + # @review + description: + The fragment fields of the page fragment instance. + items: + $ref: "#/components/schemas/FragmentField" + type: array + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page fragment instance. + fragmentViewports: + # @review + description: + A list of fragment viewports of the page fragment instance. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + indexed: + # @review + description: + A flag that indicates whether the page fragment instance is indexed or not. + type: boolean + name: + # @review + description: + The custom name of a Page Fragment Instance. + type: string + widgetInstances: + # @review + description: + A list of widget instances of the page fragment instance. + items: + $ref: "#/components/schemas/WidgetInstance" + type: array + type: object + PageRootDefinition: + # @review + description: + Represents a definition of a Root Page. + type: object + PageRowDefinition: + # @review + description: + Represents a definition of a Page row. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of a Page row. + fragmentViewports: + # @review + description: + A list of fragment viewports of a Page row. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + gutters: + # @review + description: + A flag that indicates whether the page row has gutters. + type: boolean + indexed: + # @review + description: + A flag that indicates whether the page row is indexed or not. + type: boolean + modulesPerRow: + # @review + description: + The page row's modules per row. + type: integer + name: + # @review + description: + The custom name of a Page row. + type: string + numberOfColumns: + # @review + description: + The page row's number of columns. + type: integer + reverseOrder: + # @review + description: + A flag that indicates whether the page row has reverse order. + type: boolean + rowViewportConfig: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by rowViewports" + properties: + landscapeMobile: + properties: + modulesPerRow: + type: integer + reverseOrder: + type: boolean + verticalAlignment: + type: string + type: object + portraitMobile: + properties: + modulesPerRow: + type: integer + reverseOrder: + type: boolean + verticalAlignment: + type: string + type: object + tablet: + properties: + modulesPerRow: + type: integer + reverseOrder: + type: boolean + verticalAlignment: + type: string + type: object + type: object + rowViewports: + # @review + description: + A list of viewports of the page row. + items: + $ref: "#/components/schemas/RowViewport" + type: array + verticalAlignment: + # @review + description: + The vertical aligment property of the page row. + type: string + type: object + PageRule: + # @review + description: + Represents a definition of a Page Rule. + properties: + conditionType: + # @review + description: + The custom name of a Page rule. + enum: [All, Any] + type: string + id: + # @review + description: + The page rule ID. + type: string + name: + # @review + description: + The custom name of a Page rule. + type: string + pageRuleActions: + # @review + description: + A list of actions of a Page rule. + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + pageRuleConditions: + # @review + description: + A list of conditions of a Page rule. + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + type: object + PageRuleAction: + # @review + description: + Represents a definition of a Page Rule Action. + properties: + action: + # @review + description: + The page rule action's action. + type: string + id: + # @review + description: + The page rule action's ID. + type: string + itemId: + # @review + description: + The page rule condition's item ID. + type: string + type: + # @review + description: + The page rule action's type. + type: string + type: object + PageRuleCondition: + # @review + description: + Represents a definition of a Page Rule Condition. + properties: + condition: + # @review + description: + The page rule condition's description. + type: string + id: + # @review + description: + The page rule condition's ID. + type: string + type: + # @review + description: + The page rule condition's type. + type: string + value: + # @review + description: + The page rule condition's value. + type: string + type: object + PageSectionDefinition: + # @review + description: + Represents a definition of a Page section. + properties: + backgroundColor: + deprecated: true + type: string + backgroundFragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The background fragment image of the page section. + backgroundImage: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" + properties: + description: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + title: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + url: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + contentVisibility: + # @review + description: + Defines the content visibility of the container. + type: string + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragmentLink: + $ref: "#/components/schemas/FragmentLink" + # @review + description: + The fragment link of the page section. + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page section. + fragmentViewports: + # @review + description: + A list of fragment viewports of the page section. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + htmlProperties: + # @review + description: + The page section's html properties + properties: + htmlTag: + enum: [Article, Aside, Div, Footer, Header, Main, Nav, Section] + type: string + type: object + indexed: + # @review + description: + A flag that indicates whether the page section is indexed or not. + type: boolean + layout: + # @review + description: + the page section's layout. + properties: + align: + deprecated: true + enum: [Baseline, Center, End, None, Start, Stretch] + type: string + borderColor: + deprecated: true + type: string + borderRadius: + deprecated: true + enum: [Circle, Large, None, Pill, Regular] + type: string + borderWidth: + deprecated: true + type: integer + containerType: + # @review + description: + The container's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + contentDisplay: + deprecated: true + enum: [Block, FlexColumn, FlexRow] + type: string + flexWrap: + enum: [NoWrap, Wrap, WrapReverse] + type: string + justify: + deprecated: true + enum: [Center, End, None, SpaceAround, SpaceBetween, Start] + type: string + marginBottom: + deprecated: true + type: integer + marginLeft: + deprecated: true + type: integer + marginRight: + deprecated: true + type: integer + marginTop: + deprecated: true + type: integer + opacity: + deprecated: true + type: integer + paddingBottom: + deprecated: true + type: integer + paddingHorizontal: + deprecated: true + type: integer + paddingLeft: + deprecated: true + type: integer + paddingRight: + deprecated: true + type: integer + paddingTop: + deprecated: true + type: integer + shadow: + deprecated: true + enum: [Default, Large, None, Regular, Small] + type: string + widthType: + # @review + description: + The width's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + type: object + name: + # @review + description: + The custom name of a Page section. + type: string + type: object + PageSettings: + # @review + description: + Represents the settings of a Page. + properties: + customMetaTags: + # @review + description: + A list of custom metatags this page has. + items: + $ref: "#/components/schemas/CustomMetaTag" + type: array + hiddenFromNavigation: + # @review + description: + A flag that indicates whether the page is hidden from navigation. + type: boolean + openGraphSettings: + $ref: "#/components/schemas/OpenGraphSettings" + # @review + description: + The page's Open Graph settings. + seoSettings: + $ref: "#/components/schemas/SEOSettings" + # @review + description: + The page's SEO settings. + sitePageNavigationMenuSettings: + $ref: "#/components/schemas/SitePageNavigationMenuSettings" + # @review + description: + The page's site navigation menu settings. + type: object + PageWidgetInstanceDefinition: + # @review + description: + Represents a definition of a Page Widget instance. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page widget instance. + fragmentViewports: + # @review + description: + A list of fragment viewports of the page widget instance. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + name: + # @review + description: + The custom name of a Page Widget instance. + type: string + widgetInstance: + $ref: "#/components/schemas/WidgetInstance" + # @review + description: + The widget instance of the page widget instance. + type: object + RenderedPage: + # @review + description: + A list of rendered pages, which results from using a page template and the appropriate viewport to + process the page and return HTML. + properties: + masterPageId: + # @review + description: + The ID of the master page used to render the content. + readOnly: true + type: string + masterPageName: + # @review + description: + The name of the master page used to render the content. + type: string + pageTemplateId: + # @review + description: + The ID of the template used to render the content. + readOnly: true + type: string + pageTemplateName: + # @review + description: + The name of the template used to render the content. + type: string + renderedPageURL: + # @review + description: + An absolute URL to the rendered page. + type: string + type: object + RowViewport: + # @review + description: + Represents a row viewport. + properties: + id: + # @review + description: + The row viewport's ID. + type: string + rowViewportDefinition: + # @review + description: + The definition of the row viewport. + properties: + modulesPerRow: + # @review + description: + The number of modules per row. + type: integer + reverseOrder: + # @review + description: + A flag that indicates whether the row viewport has reverse order. + type: boolean + verticalAlignment: + # @review + description: + The vertical aligment property of the row viewport. + type: string + type: object + required: + - id + - rowViewportDefinition + type: object + SEOSettings: + # @review + description: + Represents settings related with SEO. + properties: + customCanonicalURL: + # @review + description: + The canonical URL of the page, if it exists. + type: string + customCanonicalURL_i18n: + additionalProperties: + type: string + # @review + description: + The localized canonical URL of the page, if it exists. + type: object + description: + type: string + # @review + description: + The page's description to be used as summary for search engines. + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized descriptions of the page to be used as summary for search engines. + type: object + htmlTitle: + # @review + description: + The page's main title to be used by search engines. + type: string + htmlTitle_i18n: + additionalProperties: + type: string + # @review + description: + The localized main titles of the page to be used by search engines. + type: object + robots: + # @review + description: + A tag telling search engines if and how they should crawl the page. + type: string + robots_i18n: + additionalProperties: + type: string + # @review + description: + A localized tag telling search engines if and how they should crawl the page. + type: object + seoKeywords: + # @review + description: + A list of target keywords of the page to be used by search engines. + type: string + seoKeywords_i18n: + additionalProperties: + type: string + # @review + description: + A list of localized target keywords of the page to be used by search engines. + type: object + siteMapSettings: + # @review + description: + Represents settings related with the site map. + properties: + changeFrequency: + description: + Indicates how often a page is updated. + enum: + - Always + - Hourly + - Daily + - Weekly + - Monthly + - Yearly + - Never + type: string + include: + description: + Whether search engines should crawl and index the page. + type: boolean + includeChildSitePages: + # @review + description: + Whether search engines should crawl and index the child pages. + type: boolean + pagePriority: + description: + How the page should be prioritized relative to other pages. + format: double + maximum: 1 + minimum: 0 + type: number + type: object + type: object + Settings: + # @review + description: + Represents the settings of a page. + properties: + colorSchemeName: + # @review + description: + The page's color scheme name. + type: string + css: + # @review + description: + The page's CSS. + type: string + favIcon: + # @review + description: + The FavIcon of the page + oneOf: + - $ref: "#/components/schemas/ClientExtension" + - $ref: "#/components/schemas/ContentDocument" + globalCSSClientExtensions: + description: + The client extensions for global css associated to the page. + items: + $ref: "#/components/schemas/ClientExtension" + type: array + globalJSClientExtensions: + description: + The client extensions for global js associated to the page. + items: + $ref: "#/components/schemas/ClientExtension" + type: array + javascript: + # @review + description: + The page's JavaScript. + type: string + masterPage: + $ref: "#/components/schemas/MasterPage" + # @review + description: + The page's master page. + styleBook: + # @review + description: + The StyleBook that is applied to the page. + properties: + key: + # @review + description: + The stylebook's key. + type: string + name: + # @review + description: + The stylebook's name. + type: string + type: object + themeCSSClientExtension: + $ref: "#/components/schemas/ClientExtension" + # @review + description: + The Client Extension for the theme css of a page + themeName: + # @review + description: + The page's theme name. + type: string + themeSettings: + # @review + description: + The page's theme settings. + type: object + themeSpritemapClientExtension: + $ref: "#/components/schemas/ClientExtension" + # @review + description: + The Client Extension for the theme spritemap of a page + type: object + SitePage: + # @review + description: + Represents a site page. This is modeled internally as a `Layout`. + properties: + actions: + additionalProperties: + additionalProperties: + type: string + type: object + # @review + description: + Block of actions allowed by the user making the request. + readOnly: true + type: object + aggregateRating: + $ref: "#/components/schemas/AggregateRating" + # @review + description: + The page's average rating. + readOnly: true + availableLanguages: + # @review + description: + The list of languages the page has a translation for. + items: + type: string + readOnly: true + type: array + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page's creator. + readOnly: true + customFields: + # @review + description: + Custom fields associated with the page. + items: + $ref: "#/components/schemas/CustomField" + type: array + dateCreated: + # @review + description: + The page's creation date. + format: date-time + readOnly: true + type: string + dateModified: + # @review + description: + The last time any field of the page was changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The page's most recent publication date. + format: date-time + type: string + experience: + $ref: "#/components/schemas/Experience" + # @review + description: + Experience of the page that it's being retrieved. + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + id: + description: + The page ID. + format: int64 + readOnly: true + type: integer + keywords: + # @review + description: + A list of keywords describing the page. + items: + type: string + type: array + pageDefinition: + $ref: "#/components/schemas/PageDefinition" + # @review + description: + Optional field with the structure of all the elements of the page. Can be embedded with + nestedFields when retrieving the collection of site pages. When retrieving a single site page, + it will automatically be included. + pagePermissions: + # @review + description: + The page's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + pageSettings: + $ref: "#/components/schemas/PageSettings" + # @review + description: + Settings of the page, such as SEO or OpenGraph. + pageType: + # @review + description: + The type of the page. + type: string + parentSitePage: + # @review + description: + The parent page or null if it is a top level page. + properties: + friendlyUrlPath: + # @review + description: + The relative URL of the parent page. + type: string + type: object + renderedPage: + $ref: "#/components/schemas/RenderedPage" + # @review + description: + Metadata of the page such as it's master page and template. + siteId: + # @review + description: + The ID of the site to which this page is scoped. + format: int64 + readOnly: true + type: integer + taxonomyCategoryBriefs: + # @review + description: + The categories associated with this page. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + taxonomyCategoryIds: + deprecated: true + # @review + description: + A write-only field that adds `TaxonomyCategory` instances to the page. Deprecated as of + Cavanaugh (7.4.x), replaced by `taxonomyCategoryBriefs.taxonomyCategoryReference` + items: + format: int64 + type: integer + type: array + writeOnly: true + title: + # @review + description: + The page's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized page's titles. + type: object + uuid: + # @review + description: + A valid external identifier to reference this page. + readOnly: true + type: string + viewableBy: + enum: + - Anyone + - Members + - Owner + type: string + writeOnly: true + required: + - title + type: object + SitePageActionExecutionResult: + # @review + description: + Represents a definition of an action execution of type page. + properties: + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" + # @review + description: + The reference to a page. + type: object + SitePageFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type page. + properties: + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" + # @review + description: + The localized submission of page type. + type: object + SitePageNavigationMenuSettings: + # @review + description: + Represents settings related with the site navigation menu of a page. + properties: + queryString: + # @review + description: + The default parameter for a page. + type: string + target: + # @review + description: + The page's description to be used as summary for search engines. + type: string + targetType: + # @review + description: + The target's type (specific frame or new tab). + enum: [SpecificFrame, NewTab] + type: string + type: object + TaxonomyCategoryBrief: + properties: + embeddedTaxonomyCategory: + # @review + description: + Optional field with the embedded taxonomy category, can be embedded with nestedFields + readOnly: true + type: object + taxonomyCategoryId: + description: + The category's ID. This can be used to retrieve more information in the `TaxonomyCategory` API. + format: int64 + readOnly: true + type: integer + taxonomyCategoryName: + description: + The category's name. + readOnly: true + type: string + taxonomyCategoryName_i18n: + additionalProperties: + type: string + # @review + description: + The localized category's names. + readOnly: true + type: object + taxonomyCategoryReference: + # @review + description: + A unique reference to a taxonomy category. + properties: + externalReferenceCode: + # @review + description: + The taxonomy category's external reference code. + type: string + siteKey: + # @review + description: + The key of the site or asset library where the taxonomy category is located. It can be + left out if the taxonomy category is in the same site as the page. + type: string + required: + - externalReferenceCode + type: object + type: object + URLActionExecutionResult: + # @review + description: + Represents a definition of an action execution result of type URL. + properties: + url: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized action execution result of type URL. + type: object + URLFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type URL. + properties: + url: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized submission of URL type. + type: object + UserGroupBrief: + description: + The author's user groups information. + properties: + id: + description: + The ID of the user group. + format: int64 + readOnly: true + type: integer + name: + description: + The name of the user group. + readOnly: true + type: string + type: object + WidgetInstance: + # @review + description: + Represents a Widget Instance. + properties: + widgetConfig: + additionalProperties: + type: object + type: object + widgetInstanceId: + # @review + description: + The widget instance's ID. + type: string + widgetName: + # @review + description: + The widget instance's name. + type: string + widgetPermissions: + # @review + description: + The widget instance's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + type: object Site: # @review description: From 85cf7cfeb52821251756a9b51ca11e0f47188cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 14:44:21 +0200 Subject: [PATCH 002/260] Copy site-pages endpoints from headless-delivery-impl --- .../headless-site-impl/rest-openapi.yaml | 98 ++++++++++++++++++- 1 file changed, 97 insertions(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index d7287f6e8b944a..81350ee8783dc8 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2877,4 +2877,100 @@ paths: schema: format: binary type: string - tags: ["Site"] \ No newline at end of file + tags: ["Site"] + "/sites/{siteId}/site-pages": + get: + description: + Retrieves the public pages of the site + operationId: getSiteSitePagesPage + parameters: + - in: path + name: siteId + required: true + schema: + format: int64 + type: integer + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + tags: ["SitePage"] + post: + description: + Adds a new site page + operationId: postSiteSitePage + parameters: + - in: path + name: siteId + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + # @review + tags: ["SitePage"] \ No newline at end of file From 03578e50cf8e26d93aade6a37a89d86f8b149dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 14:51:48 +0200 Subject: [PATCH 003/260] LPD-23361 Define PageStructure as a property of Experience, with properties (root) PageElement and PageRules. --- .../headless-site-impl/rest-openapi.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 81350ee8783dc8..4f8d1d4f9538bb 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -371,6 +371,8 @@ components: description: the localized experience's names. type: object + pageStructure: + $ref: "#/components/schemas/PageStructure" segments: # @review description: @@ -2018,6 +2020,15 @@ components: description: The page's site navigation menu settings. type: object + PageStructure: + properties: + pageElement: + $ref: "#/components/schemas/PageElement" + pageRules: + items: + $ref: "#/components/schemas/PageRule" + type: array + type: object PageWidgetInstanceDefinition: # @review description: From f32ddd7704dd9c45cc14bc7699a5051bc6d9e94e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 14:55:01 +0200 Subject: [PATCH 004/260] Automatic SF - Order --- .../headless-site-impl/rest-openapi.yaml | 284 +++++++++--------- 1 file changed, 142 insertions(+), 142 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 4f8d1d4f9538bb..deeaee9a9785d6 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2326,6 +2326,51 @@ components: description: The Client Extension for the theme spritemap of a page type: object + Site: + # @review + description: + Represents the site being created. + properties: + externalReferenceCode: + description: + The site's external reference code. + type: string + friendlyUrlPath: + readOnly: true + type: string + id: + format: int64 + readOnly: true + type: integer + key: + readOnly: true + type: string + membershipType: + description: + The default value is open. + enum: + - open + - private + - restricted + type: string + writeOnly: true + name: + type: string + parentSiteKey: + type: string + writeOnly: true + templateKey: + type: string + writeOnly: true + templateType: + enum: + - site-initializer + - site-template + type: string + writeOnly: true + required: + - name + type: object SitePage: # @review description: @@ -2693,51 +2738,6 @@ components: type: object type: array type: object - Site: - # @review - description: - Represents the site being created. - properties: - externalReferenceCode: - description: - The site's external reference code. - type: string - friendlyUrlPath: - readOnly: true - type: string - id: - format: int64 - readOnly: true - type: integer - key: - readOnly: true - type: string - membershipType: - description: - The default value is open. - enum: - - open - - private - - restricted - type: string - writeOnly: true - name: - type: string - parentSiteKey: - type: string - writeOnly: true - templateKey: - type: string - writeOnly: true - templateType: - enum: - - site-initializer - - site-template - type: string - writeOnly: true - required: - - name - type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID @@ -2768,6 +2768,102 @@ paths: application/json: {} application/xml: {} tags: ["Site"] + "/sites/{siteId}/site-pages": + get: + description: + Retrieves the public pages of the site + operationId: getSiteSitePagesPage + parameters: + - in: path + name: siteId + required: true + schema: + format: int64 + type: integer + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + tags: ["SitePage"] + post: + description: + Adds a new site page + operationId: postSiteSitePage + parameters: + - in: path + name: siteId + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + # @review + tags: ["SitePage"] /sites: post: description: @@ -2888,100 +2984,4 @@ paths: schema: format: binary type: string - tags: ["Site"] - "/sites/{siteId}/site-pages": - get: - description: - Retrieves the public pages of the site - operationId: getSiteSitePagesPage - parameters: - - in: path - name: siteId - required: true - schema: - format: int64 - type: integer - - in: query - name: aggregationTerms - schema: - items: - type: string - type: array - - in: query - name: fields - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: page - schema: - type: integer - - in: query - name: pageSize - schema: - type: integer - - in: query - name: restrictFields - schema: - type: string - - in: query - name: search - schema: - type: string - - in: query - name: sort - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/SitePage" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/SitePage" - type: array - tags: ["SitePage"] - post: - description: - Adds a new site page - operationId: postSiteSitePage - parameters: - - in: path - name: siteId - required: true - schema: - format: int64 - type: integer - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - description: - default response - # @review - tags: ["SitePage"] \ No newline at end of file + tags: ["Site"] \ No newline at end of file From 25343a429a34a66d7ec5db46c8ed579581c826aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 15:19:35 +0200 Subject: [PATCH 005/260] LPD-23361 Define PageVersion component with properties experiences and settings. --- .../headless-site/headless-site-impl/rest-openapi.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index deeaee9a9785d6..57c3179d5736e9 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2029,6 +2029,15 @@ components: $ref: "#/components/schemas/PageRule" type: array type: object + PageVersion: + properties: + experiences: + items: + $ref: "#/components/schemas/Experience" + type: array + settings: + $ref: "#/components/schemas/Settings" + type: object PageWidgetInstanceDefinition: # @review description: From 11ebbbb58ce2fc32c574c1963b11b918b400eb92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 15:20:49 +0200 Subject: [PATCH 006/260] LPD-23361 Add pageVersions property to SitePage, with properties "approved" and "draft" of type PageVersion --- .../headless-site/headless-site-impl/rest-openapi.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 57c3179d5736e9..2bd249a4e77ac4 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2509,6 +2509,13 @@ components: description: The type of the page. type: string + pageVersions: + properties: + approved: + $ref: "#/components/schemas/PageVersion" + draft: + $ref: "#/components/schemas/PageVersion" + type: object parentSitePage: # @review description: From 7f4fe39f49ea5918da807ccd72fc30546adf356b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 15:21:58 +0200 Subject: [PATCH 007/260] LPD-23361 Deprecate SitePage.pageDefinition in favour of Experience.pageStructure.pageElement, Experience.pageStructure.pageRules and PageVersion.settings. The reason for deprecating it is that while pageElement and pageRules are associated to a specific Experience, settings is actually not set at the experience level, but at the page version level (with page version referring to the draft or published version of a page). --- .../headless-site/headless-site-impl/rest-openapi.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 2bd249a4e77ac4..2e0bb699b852e4 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2475,10 +2475,13 @@ components: pageDefinition: $ref: "#/components/schemas/PageDefinition" # @review + deprecated: true description: Optional field with the structure of all the elements of the page. Can be embedded with nestedFields when retrieving the collection of site pages. When retrieving a single site page, - it will automatically be included. + it will automatically be included. Deprecated as of Cavanaugh (7.4.x), replaced by + Experience.pageStructure.pageElement, Experience.pageStructure.pageRules and + PageVersion.settings. pagePermissions: # @review description: From 2df9a6b9fd67f6fc71f046e01f5abe49ddabdfe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 15:22:51 +0200 Subject: [PATCH 008/260] LPD-23361 Add external reference code to SitePage --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 2e0bb699b852e4..1976ce0b34407c 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2447,6 +2447,10 @@ components: # @review description: Experience of the page that it's being retrieved. + externalReferenceCode: + description: + The page's external reference code. + type: string friendlyUrlPath: # @review description: From 9e6de8c8ef92bbcd83916e917aba25274605956e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:01:30 +0200 Subject: [PATCH 009/260] LPD-23361 Add external reference code to parent site page --- .../headless-site/headless-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 1976ce0b34407c..7a7cd44c4ba280 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2528,6 +2528,11 @@ components: description: The parent page or null if it is a top level page. properties: + externalReferenceCode: + # @review + description: + The external reference code of the parent page. + type: string friendlyUrlPath: # @review description: From 717269a41382c9ffb64465ad4db624cb9df3c099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 15:43:09 +0200 Subject: [PATCH 010/260] LPD-23361 Allow getting a complete page via Headless API specifying its externalReferenceCode --- .../headless-site-impl/rest-openapi.yaml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 7a7cd44c4ba280..bf5bc96c269db1 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2892,6 +2892,46 @@ paths: default response # @review tags: ["SitePage"] + "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}": + get: + description: + Retrieves a specific public page of a site by external reference code. + operationId: getSiteSitePageByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + tags: ["SitePage"] /sites: post: description: From 91373846c887aad40f2ab92eedf50c3dceb5d061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 15:47:29 +0200 Subject: [PATCH 011/260] LPD-22931 Allow replacing a complete page or creating it if it doesn't exist via Headless API specifying its externalReferenceCode --- .../headless-site-impl/rest-openapi.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index bf5bc96c269db1..31f271664b8071 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2932,6 +2932,53 @@ paths: description: default response tags: ["SitePage"] + put: + description: + Updates the site page with the given external reference code, or creates it if it does not exist. + operationId: putSiteSitePageByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + tags: ["SitePage"] /sites: post: description: From e444e76dea7414286ace5751bd557ea5da2aaaaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 15:49:42 +0200 Subject: [PATCH 012/260] LPD-22928 Allow deleting an existing page via Headless API specifying its externalReferenceCode --- .../headless-site-impl/rest-openapi.yaml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 31f271664b8071..39bc4abb397a61 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2893,6 +2893,27 @@ paths: # @review tags: ["SitePage"] "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}": + delete: + description: + Deletes a specific public page of a site by external reference code. + operationId: deleteSiteSitePageByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["SitePage"] get: description: Retrieves a specific public page of a site by external reference code. From 9a277272938d368a20833f5b13d8c74152a4095a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 16:02:13 +0200 Subject: [PATCH 013/260] LPD-22932 Allow performing a partial update of a page via Headless API specifying its externalReferenceCode --- .../headless-site-impl/rest-openapi.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 39bc4abb397a61..50e9a16686c9ee 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2953,6 +2953,53 @@ paths: description: default response tags: ["SitePage"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteSitePageByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + tags: ["SitePage"] put: description: Updates the site page with the given external reference code, or creates it if it does not exist. From 0e447c7c16c55f9442d800570a7e3062ade36d0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 16:55:08 +0200 Subject: [PATCH 014/260] LPD-22925 Copy the definition of status already defined in headless-admin-content-impl --- .../headless-site-impl/rest-openapi.yaml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 50e9a16686c9ee..62662077127f14 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2641,6 +2641,29 @@ components: enum: [SpecificFrame, NewTab] type: string type: object + Status: + # @review + description: + Represents the status of a resource + properties: + code: + # @review + description: + A number which identifies a specific status + format: int32 + readOnly: true + type: integer + label: + # @review + description: + Label associated to the status + readOnly: true + type: string + label_i18n: + additionalProperties: + type: string + readOnly: true + type: object TaxonomyCategoryBrief: properties: embeddedTaxonomyCategory: From 986e28a10346dc12bdd000579cc78829b7e34384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 16:56:17 +0200 Subject: [PATCH 015/260] LPD-22925 Add readOnly status property to PageVersion --- .../headless-site/headless-site-impl/rest-openapi.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 62662077127f14..e59187dc9f64d0 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2037,6 +2037,12 @@ components: type: array settings: $ref: "#/components/schemas/Settings" + status: + $ref: "#/components/schemas/Status" + # @review + description: + Represents the status of a page version (e.g: draft, published) + readOnly: true type: object PageWidgetInstanceDefinition: # @review From 60be026227829fedf5e5362e4e045a33bd7782d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 17:10:50 +0200 Subject: [PATCH 016/260] LPD-22925 Allow getting the page versions of an existing page via Headless API. --- .../headless-site-impl/rest-openapi.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index e59187dc9f64d0..913addbf49900e 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3076,6 +3076,48 @@ paths: description: default response tags: ["SitePage"] + "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-versions": + get: + description: + Retrieves the page versions of a specific public page of a site by external reference code. + operationId: getSiteSitePagePageVersionsByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageVersion" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageVersion" + type: array + tags: ["SitePage"] /sites: post: description: From b11e6c785e9ca8ddc58ebc2524b0b3ba0962a70c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 17:24:04 +0200 Subject: [PATCH 017/260] LPD-23359 Add external reference code to PageVersion --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 913addbf49900e..7c1ac60242b656 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2035,6 +2035,10 @@ components: items: $ref: "#/components/schemas/Experience" type: array + externalReferenceCode: + description: + The page version's external reference code, unique per site. + type: string settings: $ref: "#/components/schemas/Settings" status: From df621e039e59a4730d1670640ae3b47c5bcbc9bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:16:34 +0200 Subject: [PATCH 018/260] LPD-23359 Add site page external reference code to page version --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 7c1ac60242b656..32be6cbb61d0e7 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2041,6 +2041,10 @@ components: type: string settings: $ref: "#/components/schemas/Settings" + sitePageExternalReferenceCode: + description: + The site page's external reference code this page version belongs to. + type: string status: $ref: "#/components/schemas/Status" # @review From 14dbe8ea5322849af0cdf7884527c8e948297a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 17:26:25 +0200 Subject: [PATCH 019/260] LPD-23359 Allow creating a new draft for an existing page via Headless API specifying the page externalReferenceCode --- .../headless-site-impl/rest-openapi.yaml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 32be6cbb61d0e7..12f185747f450a 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3126,6 +3126,54 @@ paths: $ref: "#/components/schemas/PageVersion" type: array tags: ["SitePage"] + post: + description: + Adds a new page version in draft status to a site page. + operationId: postSiteSitePagePageVersionByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + description: + default response + # @review + tags: ["SitePage"] /sites: post: description: From a0034d0e80e016067a438fd888b87a9d57c6b1d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 17:48:49 +0200 Subject: [PATCH 020/260] LPD-22925 Allow getting a page version of a site page via Headless API specifying the page version's external reference code --- .../headless-site-impl/rest-openapi.yaml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 12f185747f450a..45792d9468b3d3 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2833,6 +2833,46 @@ paths: application/json: {} application/xml: {} tags: ["Site"] + "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": + get: + description: + Retrieves a specific page version of a site page by external reference code. + operationId: getSitePageVersionByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + description: + default response + tags: ["PageVersion"] "/sites/{siteId}/site-pages": get: description: From dc7c481fe1406ab5ce64b6b6b0d03670b4179c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 18:05:39 +0200 Subject: [PATCH 021/260] LPD-23398 Allow replacing the draft of a site page via Headless API specifying the page version's external reference code --- .../headless-site-impl/rest-openapi.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 45792d9468b3d3..fa140709f820e9 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2873,6 +2873,53 @@ paths: description: default response tags: ["PageVersion"] + put: + description: + Updates the draft of a site page with the given external reference code. + operationId: putSitePageVersionByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + description: + default response + tags: ["PageVersion"] "/sites/{siteId}/site-pages": get: description: From dad01ef74042388508ff7069d8e6a4e04ecb3a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 18:06:55 +0200 Subject: [PATCH 022/260] LPD-23400 Allow partially updating the draft of a site page via Headless API specifying the page version's external reference code --- .../headless-site-impl/rest-openapi.yaml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index fa140709f820e9..16dc80e0014e28 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2873,6 +2873,54 @@ paths: description: default response tags: ["PageVersion"] + patch: + description: + Updates a page version of a site page based only on the fields received in the request body, leaving any + other fields untouched. + operationId: patchSitePageVersionByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + description: + default response + tags: ["PageVersion"] put: description: Updates the draft of a site page with the given external reference code. From 4f938e8fdbcea64f7045152638d291eae8eaffa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 18:08:11 +0200 Subject: [PATCH 023/260] LPD-23393 Allow discarding the draft of a site page via Headless API specifying the page version's external reference code --- .../headless-site-impl/rest-openapi.yaml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 16dc80e0014e28..661880cceaa6de 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2834,6 +2834,28 @@ paths: application/xml: {} tags: ["Site"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": + delete: + description: + Deletes a specific page version of a site page by external reference code. The page version needs to be + in draft status. + operationId: deleteSitePageVersionByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["SitePage"] get: description: Retrieves a specific page version of a site page by external reference code. From 251526f9fcf413bb0a7c7f47959a47b82bf0b643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 21:09:41 +0200 Subject: [PATCH 024/260] LPD-23399 Allow publishing the draft of an existing page via Headless API specifying the page version's external reference code --- .../headless-site-impl/rest-openapi.yaml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 661880cceaa6de..3d86143d165e7c 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2990,6 +2990,47 @@ paths: description: default response tags: ["PageVersion"] + "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/publish": + post: + description: + Publishes a page version (in draft status) of a site page. + operationId: postSitePageVersionPublishByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + description: + default response + # @review + tags: ["PageVersion"] "/sites/{siteId}/site-pages": get: description: From 3ad855274e04379ea6e885ef84b67ec5a896976e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 21:44:08 +0200 Subject: [PATCH 025/260] LPD-23401 Allow getting the experiences of a draft or approved version of a page via Headless API by specifying its page version's external reference code --- .../headless-site-impl/rest-openapi.yaml | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 3d86143d165e7c..0cc99609f47c0b 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3282,6 +3282,49 @@ paths: description: default response tags: ["SitePage"] + "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/experiences": + get: + description: + Retrieves the experiences of a specific page version of a site page within a site by specifying the page version's external reference code. + operationId: getSitePageVersionExperiencesByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + tags: ["PageVersion"] + "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-versions": get: description: From 76ded7adc34a7e7a1850cb6cda18a0a988dbd701 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 10 May 2024 21:50:44 +0200 Subject: [PATCH 026/260] LPD-23402 Allow adding an experience to the draft of a page via Headless API by specifying its page version's external reference code --- .../headless-site-impl/rest-openapi.yaml | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 0cc99609f47c0b..59ba22718a0b8b 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3324,7 +3324,54 @@ paths: $ref: "#/components/schemas/Experience" type: array tags: ["PageVersion"] - + post: + description: + Adds a new experience to a page version in draft status of a site page by specifying the page version's external reference code. + operationId: postSitePageVersionExperienceByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + description: + default response + # @review + tags: ["PageVersion"] "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-versions": get: description: From a0f27a5f9e8531f931a3a6a3ae13714acfdcebfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Sun, 12 May 2024 10:13:06 +0200 Subject: [PATCH 027/260] LPD-23402 Add priority as property of an Experience, so the experience can be created in a specific position --- .../headless-site-impl/rest-openapi.yaml | 189 +++++++++--------- 1 file changed, 99 insertions(+), 90 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 59ba22718a0b8b..49b5fd46585b83 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -373,6 +373,13 @@ components: type: object pageStructure: $ref: "#/components/schemas/PageStructure" + priority: + # @review + description: + the experience's priority. It must be a unique value within the page version. The default + experience will always be assigned priority 0. A priority higher than 0 will result in an + experience being active and a priority lower than 0 will result in an experience being inactive. + type: integer segments: # @review description: @@ -2990,6 +2997,98 @@ paths: description: default response tags: ["PageVersion"] + "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/experiences": + get: + description: + Retrieves the experiences of a specific page version of a site page within a site by specifying the page + version's external reference code. + operationId: getSitePageVersionExperiencesByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + tags: ["PageVersion"] + post: + description: + Adds a new experience to a page version in draft status of a site page by specifying the page version's + external reference code. + operationId: postSitePageVersionExperienceByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + description: + default response + # @review + tags: ["PageVersion"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/publish": post: description: @@ -3282,96 +3381,6 @@ paths: description: default response tags: ["SitePage"] - "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/experiences": - get: - description: - Retrieves the experiences of a specific page version of a site page within a site by specifying the page version's external reference code. - operationId: getSitePageVersionExperiencesByExternalReferenceCode - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - tags: ["PageVersion"] - post: - description: - Adds a new experience to a page version in draft status of a site page by specifying the page version's external reference code. - operationId: postSitePageVersionExperienceByExternalReferenceCode - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - description: - default response - # @review - tags: ["PageVersion"] "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-versions": get: description: From e8434d8346b2c4bf605bf189c1da2649ba8209de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Sun, 12 May 2024 16:32:13 +0200 Subject: [PATCH 028/260] LPD-23401 Allow getting an experience of a draft or approved version of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 49b5fd46585b83..8d71de7c9b5e32 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2840,6 +2840,48 @@ paths: application/json: {} application/xml: {} tags: ["Site"] + "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": + get: + description: + Retrieves an experience of a specific page version of a site page within a site by specifying the + experience's external reference code. + operationId: getSiteExperienceByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + tags: ["Experience"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From b92a6f715f120716e3990d0a5f86128622cf0323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Sun, 12 May 2024 17:00:50 +0200 Subject: [PATCH 029/260] LPD-23403 Allow replacing an experience in the draft of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 8d71de7c9b5e32..97c9aec55fa283 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2882,6 +2882,47 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["Experience"] + put: + description: + Updates an experience of a specific draft page version of a site page within a site by specifying the + experience's external reference code. + operationId: putSiteExperienceByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + tags: ["Experience"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From 824100e4f3f156b5ad8988fdd7e2094959b0565a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Sun, 12 May 2024 17:03:46 +0200 Subject: [PATCH 030/260] LPD-23404 Allow partially updating an experience in the draft of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 97c9aec55fa283..52c6cb991e748b 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2882,6 +2882,48 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["Experience"] + patch: + description: + Updates an experience of a specific draft page version of a site page within a site by specifying the + experience's external reference code. Updates only the fields received in the request body, leaving any + other fields untouched. + operationId: patchSiteExperienceByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + tags: ["Experience"] put: description: Updates an experience of a specific draft page version of a site page within a site by specifying the From 94b4315c111910dce57c3db3d1a95d7564301195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Sun, 12 May 2024 17:07:44 +0200 Subject: [PATCH 031/260] LPD-23405 Allow deleting a non-default experience in the draft of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 52c6cb991e748b..ae00365fe0609d 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2841,6 +2841,40 @@ paths: application/xml: {} tags: ["Site"] "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": + delete: + description: + Deletes an experience of a specific draft page version of a site page within a site by specifying the + experience's external reference code. The default experience cannot be deleted. + operationId: deleteSiteExperienceByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["Experience"] get: description: Retrieves an experience of a specific page version of a site page within a site by specifying the From f42dd096e1f2f13d92e0fbf7a6c7fa4b32bc78fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 00:41:13 +0200 Subject: [PATCH 032/260] LPD-23495 Allow getting page elements in an experience of a draft or approved version of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index ae00365fe0609d..20d286334c7414 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2840,6 +2840,53 @@ paths: application/json: {} application/xml: {} tags: ["Site"] + "/sites/{siteId}/experience/by-external-reference-code/{externalReferenceCode}/page-elements": + get: + description: + Retrieves the page elements of a experiences of a specific page version of a site page within a site by + specifying the experience's external reference code. + operationId: getSiteExperiencePageElementsByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + tags: ["Experience"] "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: From 4259b43feb7c5a2d0c1bac05ba72e3028186cd01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 00:52:04 +0200 Subject: [PATCH 033/260] LPD-23496 Allow adding a page element in an experience of a draft of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 20d286334c7414..40d0561e1a8a64 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2887,6 +2887,55 @@ paths: $ref: "#/components/schemas/PageElement" type: array tags: ["Experience"] + post: + description: + Adds a new page element to an experience in a page version in draft status of a site page by specifying + the experience's external reference code. + operationId: postSiteExperiencePageElementByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + $ref: "#/components/schemas/PageElement" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + $ref: "#/components/schemas/PageElement" + description: + default response + # @review + tags: ["Experience"] "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: From 97ac1203dd4247770b8fe05993223c5b0907d77a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 00:53:20 +0200 Subject: [PATCH 034/260] LPD-23496 Add externalReferenceCode to PageElement --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 40d0561e1a8a64..1e43fb9faa22b4 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -1426,6 +1426,10 @@ components: - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + externalReferenceCode: + description: + The page element's external reference code. Unique within the site. + type: string id: description: The page element's ID. From a28a569abf0dde86ddf45192ba8f2333057dac3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 00:54:33 +0200 Subject: [PATCH 035/260] LPD-23496 Add parentExternalReferenceCode and previousSiblingExternalReferenceCode to PageElement so the position on where to place a PageElement within the PageElement Tree can be specified --- .../headless-site/headless-site-impl/rest-openapi.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 1e43fb9faa22b4..943de8dbdb5ee2 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -1441,6 +1441,13 @@ components: items: $ref: "#/components/schemas/PageElement" type: array + parentExternalReferenceCode: + description: + The parent's page element's external reference code. Unique within the site. + type: string + previousSiblingExternalReferenceCode: + description: + The previous sibling page element's external reference code. Unique within the site. type: # @review description: From 4f04ab190258ce633362a3ff299b2d88096bf437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 01:31:57 +0200 Subject: [PATCH 036/260] LPD-23503 Allow getting descendant page elements of a page element in an experience of a draft or approved version of a page via Headless API --- .../headless-site-impl/rest-openapi.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 943de8dbdb5ee2..cd2606af625ae0 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3106,6 +3106,53 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["Experience"] + "/sites/{siteId}/page-element/by-external-reference-code/{externalReferenceCode}/page-elements": + get: + description: + Retrieves the child page elements of a parent page element within a experience of a specific page + version of a site page within a site by specifying the parent page element's external reference code. + operationId: getSitePageElementPageElementsByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + tags: ["PageElement"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From d3131f0df6fb0eda0e6bf7fa31a9a47c2d265161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 01:35:20 +0200 Subject: [PATCH 037/260] LPD-23500 Allow deleting a page element in an experience of a draft version of a page via Headless API --- .../headless-site-impl/rest-openapi.yaml | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index cd2606af625ae0..bab5edbd768be4 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3153,6 +3153,41 @@ paths: $ref: "#/components/schemas/PageElement" type: array tags: ["PageElement"] + "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": + delete: + description: + Deletes a page element within an experience of a specific draft page version of a site page within a + site by specifying the page element's external reference code. + operationId: deleteSitePageElementByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageElement"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From 2ec871152d8a00fbfb313872d9e6614a83b6bcec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 01:36:12 +0200 Subject: [PATCH 038/260] LPD-23494 Allow getting a page element in an experience of a draft or published version of a page via Headless API --- .../headless-site-impl/rest-openapi.yaml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index bab5edbd768be4..5be65ef0bff800 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3188,6 +3188,47 @@ paths: application/json: {} application/xml: {} tags: ["PageElement"] + get: + description: + Retrieves page element within an experience of a specific page version of a site page within a site by + specifying the page element's external reference code. + operationId: getSitePageElementByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From 69e0b398662cb70bd8ab863821e0ab2fcf434ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 01:37:42 +0200 Subject: [PATCH 039/260] LPD-23499 Allow partially updating a page element in an experience of a draft version of a page via Headless API specifying the page element's external reference code --- .../headless-site-impl/rest-openapi.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 5be65ef0bff800..de878a1e4ee269 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3229,6 +3229,48 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] + patch: + description: + Updates a page element within an experience of a specific draft page version of a site page within a + site by specifying the page element's external reference code. Updates only the fields received in the + request body, leaving any other fields untouched. + operationId: patchSitePageElementByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From 78341071f813787408fb20dcb278f5916bba78ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 01:38:18 +0200 Subject: [PATCH 040/260] LPD-23498 Allow replacing a page element in an experience of a draft version of a page via Headless API specifying the page element's external reference code --- .../headless-site-impl/rest-openapi.yaml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index de878a1e4ee269..e52eda2c615e43 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3271,6 +3271,47 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] + put: + description: + Updates a page element within an experience of a specific draft page version of a site page within a + site by specifying the page elment's external reference code. + operationId: putSitePageElementByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From 8d79bd2ecb40d27770ce5e2952c61d793e0c5d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:31:21 +0200 Subject: [PATCH 041/260] LPD-23359 When creating a page version it is not necessary to specify the site page external reference code within the path, since it is already defined within PageVersion.sitePageExternalReferenceCode. The page-versions get method will retrieve the page versions for all pages in the site (useful for export/import). The page versions of a specific page can already be retrieved using the endpoint /site-pages/by-external-reference-code/{externalReferenceCode} endpoint --- .../headless-site-impl/rest-openapi.yaml | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index e52eda2c615e43..4818703b43e7f1 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3853,22 +3853,17 @@ paths: description: default response tags: ["SitePage"] - "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-versions": + "/sites/{siteId}/page-versions": get: description: - Retrieves the page versions of a specific public page of a site by external reference code. - operationId: getSiteSitePagePageVersionsByExternalReferenceCode + Retrieves the page versions of site. + operationId: getSitePageVersions parameters: - in: path name: siteId required: true schema: type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - in: query name: fields schema: @@ -3894,22 +3889,17 @@ paths: items: $ref: "#/components/schemas/PageVersion" type: array - tags: ["SitePage"] + tags: ["PageVersion"] post: description: Adds a new page version in draft status to a site page. - operationId: postSiteSitePagePageVersionByExternalReferenceCode + operationId: postSitePageVersion parameters: - in: path name: siteId required: true schema: type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - in: query name: fields schema: @@ -3942,7 +3932,7 @@ paths: description: default response # @review - tags: ["SitePage"] + tags: ["PageVersion"] /sites: post: description: From ad6a13cb44ccd3edab65fda56e08a8d946c8f897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:42:37 +0200 Subject: [PATCH 042/260] LPD-23496 Add experienceExternalReferenceCode to PageElement --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 4818703b43e7f1..27a5d80b9b6ed2 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -1426,6 +1426,10 @@ components: - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + experienceExternalReferenceCode: + description: + The experience's external reference code. Unique within the site. + type: string externalReferenceCode: description: The page element's external reference code. Unique within the site. From 0d1c4ac6f0ba73f0ac077046d5d9fa51960b6d38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:49:28 +0200 Subject: [PATCH 043/260] LPD-23496 When creating a page element it is not necessary to specify the experience external reference code within the path, since it is already defined within PageElement.experienceExternalReferenceCode. The page-elements get method will retrieve the page elements for all experiences in all page versions in all site pages in the site (useful for export/import). The page elements of a specific experience can already be retrieved using the endpoint /experiences/by-external-reference-code/{externalReferenceCode} endpoint --- .../headless-site-impl/rest-openapi.yaml | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 27a5d80b9b6ed2..0de984abc90218 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2855,23 +2855,17 @@ paths: application/json: {} application/xml: {} tags: ["Site"] - "/sites/{siteId}/experience/by-external-reference-code/{externalReferenceCode}/page-elements": + "/sites/{siteId}/page-elements": get: description: - Retrieves the page elements of a experiences of a specific page version of a site page within a site by - specifying the experience's external reference code. - operationId: getSiteExperiencePageElementsByExternalReferenceCode + Retrieves all the page elements within a site. + operationId: getSitePageElements parameters: - in: path name: siteId required: true schema: type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - in: query name: fields schema: @@ -2901,23 +2895,17 @@ paths: items: $ref: "#/components/schemas/PageElement" type: array - tags: ["Experience"] + tags: ["PageElement"] post: description: - Adds a new page element to an experience in a page version in draft status of a site page by specifying - the experience's external reference code. - operationId: postSiteExperiencePageElementByExternalReferenceCode + Adds a new page element to an experience in a page version in draft status of a site page. + operationId: postSitePageElement parameters: - in: path name: siteId required: true schema: type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - in: query name: fields schema: @@ -2950,7 +2938,7 @@ paths: description: default response # @review - tags: ["Experience"] + tags: ["PageElement"] "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: From 8139df4232f6884820832415d523d674aa1c5940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:51:35 +0200 Subject: [PATCH 044/260] LPD-23496 Automatic SF --- .../headless-site-impl/rest-openapi.yaml | 328 +++++++++--------- 1 file changed, 164 insertions(+), 164 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 0de984abc90218..48da6265ff7781 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2855,90 +2855,6 @@ paths: application/json: {} application/xml: {} tags: ["Site"] - "/sites/{siteId}/page-elements": - get: - description: - Retrieves all the page elements within a site. - operationId: getSitePageElements - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - tags: ["PageElement"] - post: - description: - Adds a new page element to an experience in a page version in draft status of a site page. - operationId: postSitePageElement - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - $ref: "#/components/schemas/PageElement" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - $ref: "#/components/schemas/PageElement" - description: - default response - # @review - tags: ["PageElement"] "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -3145,6 +3061,90 @@ paths: $ref: "#/components/schemas/PageElement" type: array tags: ["PageElement"] + "/sites/{siteId}/page-elements": + get: + description: + Retrieves all the page elements within a site. + operationId: getSitePageElements + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + tags: ["PageElement"] + post: + description: + Adds a new page element to an experience in a page version in draft status of a site page. + operationId: postSitePageElement + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + $ref: "#/components/schemas/PageElement" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + $ref: "#/components/schemas/PageElement" + description: + default response + # @review + tags: ["PageElement"] "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -3304,6 +3304,86 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] + "/sites/{siteId}/page-versions": + get: + description: + Retrieves the page versions of site. + operationId: getSitePageVersions + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageVersion" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageVersion" + type: array + tags: ["PageVersion"] + post: + description: + Adds a new page version in draft status to a site page. + operationId: postSitePageVersion + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + description: + default response + # @review + tags: ["PageVersion"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -3845,86 +3925,6 @@ paths: description: default response tags: ["SitePage"] - "/sites/{siteId}/page-versions": - get: - description: - Retrieves the page versions of site. - operationId: getSitePageVersions - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageVersion" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageVersion" - type: array - tags: ["PageVersion"] - post: - description: - Adds a new page version in draft status to a site page. - operationId: postSitePageVersion - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageVersion" - application/xml: - schema: - $ref: "#/components/schemas/PageVersion" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageVersion" - application/xml: - schema: - $ref: "#/components/schemas/PageVersion" - description: - default response - # @review - tags: ["PageVersion"] /sites: post: description: From 86e289132d2d40484b42b563cd7a83e1842c360e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:54:41 +0200 Subject: [PATCH 045/260] LPD-23503 Remove since this endpoint is redundant. Descendant page elements of a page element can already be obtained with the endpoint /page-elements/by-external-reference-code/{externalReferenceCode} --- .../headless-site-impl/rest-openapi.yaml | 47 ------------------- 1 file changed, 47 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 48da6265ff7781..93df62493003e6 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3014,53 +3014,6 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["Experience"] - "/sites/{siteId}/page-element/by-external-reference-code/{externalReferenceCode}/page-elements": - get: - description: - Retrieves the child page elements of a parent page element within a experience of a specific page - version of a site page within a site by specifying the parent page element's external reference code. - operationId: getSitePageElementPageElementsByExternalReferenceCode - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - tags: ["PageElement"] "/sites/{siteId}/page-elements": get: description: From 5a17d7cf9911a2e80dc872063bfab3095cb4cb11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:58:54 +0200 Subject: [PATCH 046/260] LPD-23401 Add externalReferenceCode to Experience --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 93df62493003e6..715706b859b79f 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -354,6 +354,10 @@ components: # @review Represents a customized experience for a given page. properties: + externalReferenceCode: + description: + The experience's external reference code, unique per site. + type: string key: # @review description: From 5ec04b467152d4bde42a24faa2178108c84039b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 02:59:06 +0200 Subject: [PATCH 047/260] LPD-23401 Add pageVersionExternalReferenceCode to Experience --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 715706b859b79f..c1348cab48d585 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -377,6 +377,10 @@ components: type: object pageStructure: $ref: "#/components/schemas/PageStructure" + pageVersionExternalReferenceCode: + description: + The page version's external reference code, unique per site. + type: string priority: # @review description: From 1d2626c5f09fb51278e1cef989e284d24b7c3821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 03:03:13 +0200 Subject: [PATCH 048/260] LPD-23496 When creating an experience it is not necessary to specify the page version external reference code within the path, since it is already defined within Experience.pageVersionExternalReferenceCode. The experiences get method will retrieve the experiences for all page versions in all site pages in the site (useful for export/import). The experiences of a specific page version can already be retrieved using the endpoint /page-versions/by-external-reference-code/{externalReferenceCode} --- .../headless-site-impl/rest-openapi.yaml | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index c1348cab48d585..e0b4df5408c72d 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3502,23 +3502,17 @@ paths: description: default response tags: ["PageVersion"] - "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/experiences": + "/sites/{siteId}/experiences": get: description: - Retrieves the experiences of a specific page version of a site page within a site by specifying the page - version's external reference code. - operationId: getSitePageVersionExperiencesByExternalReferenceCode + Retrieves all the experiences of all page versions of all pages within. + operationId: getSiteExperiences parameters: - in: path name: siteId required: true schema: type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - in: query name: fields schema: @@ -3544,23 +3538,17 @@ paths: items: $ref: "#/components/schemas/Experience" type: array - tags: ["PageVersion"] + tags: ["Experience"] post: description: - Adds a new experience to a page version in draft status of a site page by specifying the page version's - external reference code. - operationId: postSitePageVersionExperienceByExternalReferenceCode + Adds a new experience to a page version in draft status of a site page. + operationId: postSiteExperience parameters: - in: path name: siteId required: true schema: type: string - - in: path - name: externalReferenceCode - required: true - schema: - type: string - in: query name: fields schema: @@ -3593,7 +3581,7 @@ paths: description: default response # @review - tags: ["PageVersion"] + tags: ["Experience"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/publish": post: description: From bf3360d344b31a3d4fb9c1f3c5f1c7c68969718f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 03:03:55 +0200 Subject: [PATCH 049/260] LPD-23496 Automatic SF --- .../headless-site-impl/rest-openapi.yaml | 160 +++++++++--------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index e0b4df5408c72d..bbec8d8ed16fde 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2863,6 +2863,86 @@ paths: application/json: {} application/xml: {} tags: ["Site"] + "/sites/{siteId}/experiences": + get: + description: + Retrieves all the experiences of all page versions of all pages within. + operationId: getSiteExperiences + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + tags: ["Experience"] + post: + description: + Adds a new experience to a page version in draft status of a site page. + operationId: postSiteExperience + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + description: + default response + # @review + tags: ["Experience"] "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -3502,86 +3582,6 @@ paths: description: default response tags: ["PageVersion"] - "/sites/{siteId}/experiences": - get: - description: - Retrieves all the experiences of all page versions of all pages within. - operationId: getSiteExperiences - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - tags: ["Experience"] - post: - description: - Adds a new experience to a page version in draft status of a site page. - operationId: postSiteExperience - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - description: - default response - # @review - tags: ["Experience"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/publish": post: description: From 9ef6e5da12857e08c3c8f79ac702281b7a0c9fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 13 May 2024 03:17:28 +0200 Subject: [PATCH 050/260] LPD-23393 Fix tag --- .../headless/headless-site/headless-site-impl/rest-openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index bbec8d8ed16fde..7668cb68b8674b 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3447,7 +3447,7 @@ paths: content: application/json: {} application/xml: {} - tags: ["SitePage"] + tags: ["PageVersion"] get: description: Retrieves a specific page version of a site page by external reference code. From 81eaf3f70745f89196ac2c379b3a18ead7cc9cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 11:49:12 +0200 Subject: [PATCH 051/260] LPD-22925 Move the page-version endpoints under the site-page, instead of right under the site, since we don't need to get the page-versions of all pages, but only of a specific one. --- .../headless-site-impl/rest-openapi.yaml | 169 +++++++++--------- 1 file changed, 89 insertions(+), 80 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 7668cb68b8674b..c2e2127d9b4179 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3345,86 +3345,6 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] - "/sites/{siteId}/page-versions": - get: - description: - Retrieves the page versions of site. - operationId: getSitePageVersions - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageVersion" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageVersion" - type: array - tags: ["PageVersion"] - post: - description: - Adds a new page version in draft status to a site page. - operationId: postSitePageVersion - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageVersion" - application/xml: - schema: - $ref: "#/components/schemas/PageVersion" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageVersion" - application/xml: - schema: - $ref: "#/components/schemas/PageVersion" - description: - default response - # @review - tags: ["PageVersion"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -3874,6 +3794,95 @@ paths: description: default response tags: ["SitePage"] + "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-versions": + get: + description: + Retrieves the page versions of a site page. + operationId: getSiteSitePagePageVersionsByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: externalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageVersion" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageVersion" + type: array + # @review + tags: ["SitePage"] + post: + description: + Adds a new page version in draft status to a site page. + operationId: postSiteSitePagePageVersionByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: externalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageVersion" + application/xml: + schema: + $ref: "#/components/schemas/PageVersion" + description: + default response + # @review + tags: ["SitePage"] /sites: post: description: From a8796ac401ec27060830769517c1dc9de0c2d151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 14:13:02 +0200 Subject: [PATCH 052/260] LPD-23401 Move the experiences endpoints under the page-version, instead of right under the site, since we don't need to get the experiences of all page-versions, but only of a specific one. --- .../headless-site-impl/rest-openapi.yaml | 171 ++++++++++-------- 1 file changed, 91 insertions(+), 80 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index c2e2127d9b4179..a882b1ecd50f1c 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2863,86 +2863,6 @@ paths: application/json: {} application/xml: {} tags: ["Site"] - "/sites/{siteId}/experiences": - get: - description: - Retrieves all the experiences of all page versions of all pages within. - operationId: getSiteExperiences - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - tags: ["Experience"] - post: - description: - Adds a new experience to a page version in draft status of a site page. - operationId: postSiteExperience - parameters: - - in: path - name: siteId - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - description: - default response - # @review - tags: ["Experience"] "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -3502,6 +3422,97 @@ paths: description: default response tags: ["PageVersion"] + "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/experiences": + get: + description: + Retrieves all the experiences of a page version. + operationId: getSitePageVersionExperiencesByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + # @review + tags: ["PageVersion"] + post: + description: + Adds a new experience to a page version in draft status of a site page. + operationId: postSitePageVersionExperienceByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + description: + default response + # @review + tags: ["PageVersion"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/publish": post: description: From 65e3bb4fb6c8989202d20fd4e5d3f01f99b6b35b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 14:24:21 +0200 Subject: [PATCH 053/260] LPD-23401 Move the page-elements endpoints under the experience, instead of right under the site, since we don't need to get the page-elements of all experiences, but only of a specific one. --- .../headless-site-impl/rest-openapi.yaml | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index a882b1ecd50f1c..5f739d25aa5a25 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3022,17 +3022,21 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["Experience"] - "/sites/{siteId}/page-elements": + "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: - Retrieves all the page elements within a site. - operationId: getSitePageElements + Retrieves all the page elements within an experience in a page version of a site page. + operationId: getSiteExperiencePageElements parameters: - in: path name: siteId required: true schema: type: string + - in: query + name: externalReferenceCode + schema: + type: string - in: query name: fields schema: @@ -3062,17 +3066,22 @@ paths: items: $ref: "#/components/schemas/PageElement" type: array - tags: ["PageElement"] + # @review + tags: ["Experience"] post: description: Adds a new page element to an experience in a page version in draft status of a site page. - operationId: postSitePageElement + operationId: postSiteExperiencePageElementByExternalReferenceCode parameters: - in: path name: siteId required: true schema: type: string + - in: query + name: externalReferenceCode + schema: + type: string - in: query name: fields schema: @@ -3105,7 +3114,7 @@ paths: description: default response # @review - tags: ["PageElement"] + tags: ["Experience"] "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: From 1553134a6959baa2d829deda5b37639d8fc1a73b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 20 May 2024 12:27:54 +0200 Subject: [PATCH 054/260] LPD-23401 Revert adding sitePageExternalReferenceCode to PageVersion --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 5f739d25aa5a25..e4da24cbaa69e4 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2071,10 +2071,6 @@ components: type: string settings: $ref: "#/components/schemas/Settings" - sitePageExternalReferenceCode: - description: - The site page's external reference code this page version belongs to. - type: string status: $ref: "#/components/schemas/Status" # @review From 83e0ffffa7ae4de8407894b2abb5e6e0d2cc5207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 20 May 2024 12:56:49 +0200 Subject: [PATCH 055/260] Revert "LPD-22925 Add readOnly status property to PageVersion" This reverts commit 986e28a10346dc12bdd000579cc78829b7e34384. --- .../headless-site/headless-site-impl/rest-openapi.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index e4da24cbaa69e4..0e13699af7e4ea 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2071,12 +2071,6 @@ components: type: string settings: $ref: "#/components/schemas/Settings" - status: - $ref: "#/components/schemas/Status" - # @review - description: - Represents the status of a page version (e.g: draft, published) - readOnly: true type: object PageWidgetInstanceDefinition: # @review From ef772ec6acda6a0e2f2be7c3c1f63a99a331c768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 20 May 2024 12:01:12 +0200 Subject: [PATCH 056/260] Revert "LPD-23401 Add pageVersionExternalReferenceCode to Experience" This reverts commit 5ec04b467152d4bde42a24faa2178108c84039b7. --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 0e13699af7e4ea..1ee019d6672056 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -377,10 +377,6 @@ components: type: object pageStructure: $ref: "#/components/schemas/PageStructure" - pageVersionExternalReferenceCode: - description: - The page version's external reference code, unique per site. - type: string priority: # @review description: From a7f5548d86cf5df5b50d076cb37138edd66d1da1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 20 May 2024 12:02:20 +0200 Subject: [PATCH 057/260] Revert "LPD-23496 Add experienceExternalReferenceCode to PageElement" This reverts commit ad6a13cb44ccd3edab65fda56e08a8d946c8f897. --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 1ee019d6672056..8b4d5f95338538 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -1430,10 +1430,6 @@ components: - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - experienceExternalReferenceCode: - description: - The experience's external reference code. Unique within the site. - type: string externalReferenceCode: description: The page element's external reference code. Unique within the site. From 5bbf615ad666b9975b48bf8074aca7e27f4e592c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 15:52:45 +0200 Subject: [PATCH 058/260] LPD-23496 Replace previousSiblingExternalReferenceCode with position, since it is considered to be more intuitive for the consumer of the API. --- .../headless-site/headless-site-impl/rest-openapi.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 8b4d5f95338538..5253fc61207bbb 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -1449,9 +1449,13 @@ components: description: The parent's page element's external reference code. Unique within the site. type: string - previousSiblingExternalReferenceCode: + position: description: - The previous sibling page element's external reference code. Unique within the site. + The 0-based position this page element occupies with respect to its siblings (0 for first child, + 1 for second child, ...). If not specified when creating a page element the page element will be + added at the last valid position. + minimum: 0 + type: integer type: # @review description: From 047f673cc4e8c3f20641b4c5285ae9252364accc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 16:08:49 +0200 Subject: [PATCH 059/260] LPD-23495 Fix operation id --- .../headless/headless-site/headless-site-impl/rest-openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 5253fc61207bbb..b72cbb8aee9e00 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3012,7 +3012,7 @@ paths: get: description: Retrieves all the page elements within an experience in a page version of a site page. - operationId: getSiteExperiencePageElements + operationId: getSiteExperiencePageElementsByExternalReferenceCode parameters: - in: path name: siteId From b2661ea7e89c0df747422606c6c51e6330ad343e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 16:12:46 +0200 Subject: [PATCH 060/260] LPD-23503 Recover the endpoint to obtain the descendant page elements of a page element. It is not redundant. Having as a separated endpoint allows to potentially perform operations like filtering that otherwise would not be possible. --- .../headless-site-impl/rest-openapi.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index b72cbb8aee9e00..11c1f84457b108 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3260,6 +3260,53 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] + "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": + get: + description: + Retrieves all the descendant page elements of a page element within an experience in a page version of a + site page. + operationId: getSitePageElementPageElementsByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: externalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + # @review + tags: ["PageElement"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From cb1f28b847905ed518acc817b4fc8c40550b81f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 16:19:02 +0200 Subject: [PATCH 061/260] LPD-23512 Allow getting page rules in an experience of a draft or approved version of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 11c1f84457b108..7efb4c3d9d1364 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3101,6 +3101,52 @@ paths: default response # @review tags: ["Experience"] + "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}/page-rules": + get: + description: + Retrieves all the page rules within an experience in a page version of a site page. + operationId: getSiteExperiencePageRulesByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: externalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + # @review + tags: ["Experience"] "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: From 2e9f9a22c04ecabdff4c9f9631ab403c2838b5ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 14 May 2024 16:21:40 +0200 Subject: [PATCH 062/260] LPD-23514 Allow adding a page rule in an experience of a draft of a page via Headless API specifying the experience's external reference code --- .../headless-site-impl/rest-openapi.yaml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 7efb4c3d9d1364..92037685ba6d5d 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3147,6 +3147,53 @@ paths: type: array # @review tags: ["Experience"] + post: + description: + Adds a new page rule to an experience in a page version in draft status of a site page. + operationId: postSiteExperiencePageRuleByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: query + name: externalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRule" + application/xml: + schema: + $ref: "#/components/schemas/PageRule" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRule" + application/xml: + schema: + $ref: "#/components/schemas/PageRule" + description: + default response + # @review + tags: ["Experience"] "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: From 56238660af2fb970ecc314623f7ba7196c1a4b55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 15 May 2024 00:10:05 +0200 Subject: [PATCH 063/260] LPD-23513 Allow getting a page rule in an experience of a draft or published version of a page via Headless API specifying the page rule's external reference code --- .../headless-site-impl/rest-openapi.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 92037685ba6d5d..3a7042288361e3 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3400,6 +3400,48 @@ paths: type: array # @review tags: ["PageElement"] + "/sites/{siteId}/page-rules/by-external-reference-code/{externalReferenceCode}": + get: + description: + Retrieves page rule within an experience of a specific page version of a site page within a site by + specifying the page rule's external reference code. + operationId: getSitePageRuleByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From e3ce84e0f4289136305288b4efc875553c4bbef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 15 May 2024 00:11:36 +0200 Subject: [PATCH 064/260] LPD-23516 Allow partially updating a page rule in an experience of a draft version of a page via Headless API specifying the page rule's external reference code --- .../headless-site-impl/rest-openapi.yaml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 3a7042288361e3..d46c74a119d04d 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3442,6 +3442,48 @@ paths: items: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] + patch: + description: + Updates a page rule within an experience of a specific draft page version of a site page within a site + by specifying the page rule's external reference code. Updates only the fields received in the request + body, leaving any other fields untouched. + operationId: patchSitePageRuleByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From f1f89473c08f3333cffbccf90de50dc820f2f6f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 15 May 2024 00:12:15 +0200 Subject: [PATCH 065/260] LPD-23515 Allow replacing a page rule in an experience of a draft version of a page via Headless API specifying the page rule's external reference code --- .../headless-site-impl/rest-openapi.yaml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index d46c74a119d04d..71264dd8131431 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3484,6 +3484,47 @@ paths: items: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] + put: + description: + Updates a page rule within an experience of a specific draft page version of a site page within a site + by specifying the page element's external reference code. + operationId: putSitePageRuleByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": delete: description: From e4075423c9e7995094a09c75c2fb629472f2fecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 15 May 2024 00:12:59 +0200 Subject: [PATCH 066/260] LPD-23517 Allow deleting a page rule in an experience of a draft version of a page via Headless API specifying the page rule's external reference code --- .../headless-site-impl/rest-openapi.yaml | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 71264dd8131431..2473add832bd02 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3401,6 +3401,40 @@ paths: # @review tags: ["PageElement"] "/sites/{siteId}/page-rules/by-external-reference-code/{externalReferenceCode}": + delete: + description: + Deletes a page rule within an experience of a specific draft page version of a site page within a site + by specifying the page rule's external reference code. + operationId: deleteSitePageRuleByExternalReferenceCode + parameters: + - in: path + name: siteId + required: true + schema: + type: string + - in: path + name: externalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageRule"] get: description: Retrieves page rule within an experience of a specific page version of a site page within a site by From 17eec5efbfbd1623d0f7c0de248b8709aaa96702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 20 May 2024 23:51:16 +0200 Subject: [PATCH 067/260] LPD-23361 Rename PageVersion to PageSpecification. Rationale: We don't fully support versioning for Pages yet (for example the name of the page cannot be modified only within the draft of a page). Therefore to avoid misunderstandings, and in case we need the term PageVersion in the future if page versioning is implemented, we are going to use PageSpecification instead. A SitePage can have a draft PageSpecification, a published PageSpecification or both at the same time. --- .../headless-site-impl/rest-openapi.yaml | 140 +++++++++--------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 2473add832bd02..5aaf034415f85c 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -380,7 +380,7 @@ components: priority: # @review description: - the experience's priority. It must be a unique value within the page version. The default + the experience's priority. It must be a unique value within the page specification. The default experience will always be assigned priority 0. A priority higher than 0 will result in an experience being active and a priority lower than 0 will result in an experience being inactive. type: integer @@ -2055,7 +2055,7 @@ components: $ref: "#/components/schemas/PageRule" type: array type: object - PageVersion: + PageSpecification: properties: experiences: items: @@ -2063,7 +2063,7 @@ components: type: array externalReferenceCode: description: - The page version's external reference code, unique per site. + The page specification's external reference code, unique per site. type: string settings: $ref: "#/components/schemas/Settings" @@ -2515,7 +2515,7 @@ components: nestedFields when retrieving the collection of site pages. When retrieving a single site page, it will automatically be included. Deprecated as of Cavanaugh (7.4.x), replaced by Experience.pageStructure.pageElement, Experience.pageStructure.pageRules and - PageVersion.settings. + PageSpecification.settings. pagePermissions: # @review description: @@ -2546,12 +2546,12 @@ components: description: The type of the page. type: string - pageVersions: + pageSpecifications: properties: approved: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" draft: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" type: object parentSitePage: # @review @@ -2852,7 +2852,7 @@ paths: "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes an experience of a specific draft page version of a site page within a site by specifying the + Deletes an experience of a specific draft page specification of a site page within a site by specifying the experience's external reference code. The default experience cannot be deleted. operationId: deleteSiteExperienceByExternalReferenceCode parameters: @@ -2886,7 +2886,7 @@ paths: tags: ["Experience"] get: description: - Retrieves an experience of a specific page version of a site page within a site by specifying the + Retrieves an experience of a specific page specification of a site page within a site by specifying the experience's external reference code. operationId: getSiteExperienceByExternalReferenceCode parameters: @@ -2927,7 +2927,7 @@ paths: tags: ["Experience"] patch: description: - Updates an experience of a specific draft page version of a site page within a site by specifying the + Updates an experience of a specific draft page specification of a site page within a site by specifying the experience's external reference code. Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSiteExperienceByExternalReferenceCode @@ -2969,7 +2969,7 @@ paths: tags: ["Experience"] put: description: - Updates an experience of a specific draft page version of a site page within a site by specifying the + Updates an experience of a specific draft page specification of a site page within a site by specifying the experience's external reference code. operationId: putSiteExperienceByExternalReferenceCode parameters: @@ -3011,7 +3011,7 @@ paths: "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: - Retrieves all the page elements within an experience in a page version of a site page. + Retrieves all the page elements within an experience in a page specification of a site page. operationId: getSiteExperiencePageElementsByExternalReferenceCode parameters: - in: path @@ -3056,7 +3056,7 @@ paths: tags: ["Experience"] post: description: - Adds a new page element to an experience in a page version in draft status of a site page. + Adds a new page element to an experience in a page specification in draft status of a site page. operationId: postSiteExperiencePageElementByExternalReferenceCode parameters: - in: path @@ -3104,7 +3104,7 @@ paths: "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}/page-rules": get: description: - Retrieves all the page rules within an experience in a page version of a site page. + Retrieves all the page rules within an experience in a page specification of a site page. operationId: getSiteExperiencePageRulesByExternalReferenceCode parameters: - in: path @@ -3149,7 +3149,7 @@ paths: tags: ["Experience"] post: description: - Adds a new page rule to an experience in a page version in draft status of a site page. + Adds a new page rule to an experience in a page specification in draft status of a site page. operationId: postSiteExperiencePageRuleByExternalReferenceCode parameters: - in: path @@ -3197,7 +3197,7 @@ paths: "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes a page element within an experience of a specific draft page version of a site page within a + Deletes a page element within an experience of a specific draft page specification of a site page within a site by specifying the page element's external reference code. operationId: deleteSitePageElementByExternalReferenceCode parameters: @@ -3231,7 +3231,7 @@ paths: tags: ["PageElement"] get: description: - Retrieves page element within an experience of a specific page version of a site page within a site by + Retrieves page element within an experience of a specific page specification of a site page within a site by specifying the page element's external reference code. operationId: getSitePageElementByExternalReferenceCode parameters: @@ -3272,7 +3272,7 @@ paths: tags: ["PageElement"] patch: description: - Updates a page element within an experience of a specific draft page version of a site page within a + Updates a page element within an experience of a specific draft page specification of a site page within a site by specifying the page element's external reference code. Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSitePageElementByExternalReferenceCode @@ -3314,7 +3314,7 @@ paths: tags: ["PageElement"] put: description: - Updates a page element within an experience of a specific draft page version of a site page within a + Updates a page element within an experience of a specific draft page specification of a site page within a site by specifying the page elment's external reference code. operationId: putSitePageElementByExternalReferenceCode parameters: @@ -3356,7 +3356,7 @@ paths: "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: - Retrieves all the descendant page elements of a page element within an experience in a page version of a + Retrieves all the descendant page elements of a page element within an experience in a page specification of a site page. operationId: getSitePageElementPageElementsByExternalReferenceCode parameters: @@ -3403,7 +3403,7 @@ paths: "/sites/{siteId}/page-rules/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes a page rule within an experience of a specific draft page version of a site page within a site + Deletes a page rule within an experience of a specific draft page specification of a site page within a site by specifying the page rule's external reference code. operationId: deleteSitePageRuleByExternalReferenceCode parameters: @@ -3437,7 +3437,7 @@ paths: tags: ["PageRule"] get: description: - Retrieves page rule within an experience of a specific page version of a site page within a site by + Retrieves page rule within an experience of a specific page specification of a site page within a site by specifying the page rule's external reference code. operationId: getSitePageRuleByExternalReferenceCode parameters: @@ -3478,7 +3478,7 @@ paths: tags: ["PageRule"] patch: description: - Updates a page rule within an experience of a specific draft page version of a site page within a site + Updates a page rule within an experience of a specific draft page specification of a site page within a site by specifying the page rule's external reference code. Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSitePageRuleByExternalReferenceCode @@ -3520,7 +3520,7 @@ paths: tags: ["PageRule"] put: description: - Updates a page rule within an experience of a specific draft page version of a site page within a site + Updates a page rule within an experience of a specific draft page specification of a site page within a site by specifying the page element's external reference code. operationId: putSitePageRuleByExternalReferenceCode parameters: @@ -3559,12 +3559,12 @@ paths: items: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] - "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes a specific page version of a site page by external reference code. The page version needs to be + Deletes a specific page specification of a site page by external reference code. The page specification needs to be in draft status. - operationId: deleteSitePageVersionByExternalReferenceCode + operationId: deleteSitePageSpecificationByExternalReferenceCode parameters: - in: path name: siteId @@ -3581,11 +3581,11 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageVersion"] + tags: ["PageSpecification"] get: description: - Retrieves a specific page version of a site page by external reference code. - operationId: getSitePageVersionByExternalReferenceCode + Retrieves a specific page specification of a site page by external reference code. + operationId: getSitePageSpecificationByExternalReferenceCode parameters: - in: path name: siteId @@ -3614,18 +3614,18 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["PageVersion"] + tags: ["PageSpecification"] patch: description: - Updates a page version of a site page based only on the fields received in the request body, leaving any + Updates a page specification of a site page based only on the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageVersionByExternalReferenceCode + operationId: patchSitePageSpecificationByExternalReferenceCode parameters: - in: path name: siteId @@ -3653,26 +3653,26 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["PageVersion"] + tags: ["PageSpecification"] put: description: Updates the draft of a site page with the given external reference code. - operationId: putSitePageVersionByExternalReferenceCode + operationId: putSitePageSpecificationByExternalReferenceCode parameters: - in: path name: siteId @@ -3700,27 +3700,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["PageVersion"] - "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/experiences": + tags: ["PageSpecification"] + "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}/experiences": get: description: - Retrieves all the experiences of a page version. - operationId: getSitePageVersionExperiencesByExternalReferenceCode + Retrieves all the experiences of a page specification. + operationId: getSitePageSpecificationExperiencesByExternalReferenceCode parameters: - in: path name: siteId @@ -3758,11 +3758,11 @@ paths: $ref: "#/components/schemas/Experience" type: array # @review - tags: ["PageVersion"] + tags: ["PageSpecification"] post: description: - Adds a new experience to a page version in draft status of a site page. - operationId: postSitePageVersionExperienceByExternalReferenceCode + Adds a new experience to a page specification in draft status of a site page. + operationId: postSitePageSpecificationExperienceByExternalReferenceCode parameters: - in: path name: siteId @@ -3806,12 +3806,12 @@ paths: description: default response # @review - tags: ["PageVersion"] - "/sites/{siteId}/page-versions/by-external-reference-code/{externalReferenceCode}/publish": + tags: ["PageSpecification"] + "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}/publish": post: description: - Publishes a page version (in draft status) of a site page. - operationId: postSitePageVersionPublishByExternalReferenceCode + Publishes a page specification (in draft status) of a site page. + operationId: postSitePageSpecificationPublishByExternalReferenceCode parameters: - in: path name: siteId @@ -3840,14 +3840,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" description: default response # @review - tags: ["PageVersion"] + tags: ["PageSpecification"] "/sites/{siteId}/site-pages": get: description: @@ -4099,11 +4099,11 @@ paths: description: default response tags: ["SitePage"] - "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-versions": + "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-specifications": get: description: - Retrieves the page versions of a site page. - operationId: getSiteSitePagePageVersionsByExternalReferenceCode + Retrieves the page specifications of a site page. + operationId: getSiteSitePagePageSpecificationsByExternalReferenceCode parameters: - in: path name: siteId @@ -4132,19 +4132,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" type: array # @review tags: ["SitePage"] post: description: - Adds a new page version in draft status to a site page. - operationId: postSiteSitePagePageVersionByExternalReferenceCode + Adds a new page specification in draft status to a site page. + operationId: postSiteSitePagePageSpecificationByExternalReferenceCode parameters: - in: path name: siteId @@ -4171,19 +4171,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageVersion" + $ref: "#/components/schemas/PageSpecification" description: default response # @review From 8f777bb6d6916af7def91c42ff78322c2f7be4e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 20 May 2024 23:55:10 +0200 Subject: [PATCH 068/260] LPD-23361 Automatic SF --- .../headless-site-impl/rest-openapi.yaml | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 5aaf034415f85c..57ff6f26359401 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2046,15 +2046,6 @@ components: description: The page's site navigation menu settings. type: object - PageStructure: - properties: - pageElement: - $ref: "#/components/schemas/PageElement" - pageRules: - items: - $ref: "#/components/schemas/PageRule" - type: array - type: object PageSpecification: properties: experiences: @@ -2068,6 +2059,15 @@ components: settings: $ref: "#/components/schemas/Settings" type: object + PageStructure: + properties: + pageElement: + $ref: "#/components/schemas/PageElement" + pageRules: + items: + $ref: "#/components/schemas/PageRule" + type: array + type: object PageWidgetInstanceDefinition: # @review description: @@ -2541,11 +2541,6 @@ components: # @review description: Settings of the page, such as SEO or OpenGraph. - pageType: - # @review - description: - The type of the page. - type: string pageSpecifications: properties: approved: @@ -2553,6 +2548,11 @@ components: draft: $ref: "#/components/schemas/PageSpecification" type: object + pageType: + # @review + description: + The type of the page. + type: string parentSitePage: # @review description: @@ -2852,8 +2852,8 @@ paths: "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes an experience of a specific draft page specification of a site page within a site by specifying the - experience's external reference code. The default experience cannot be deleted. + Deletes an experience of a specific draft page specification of a site page within a site by specifying + the experience's external reference code. The default experience cannot be deleted. operationId: deleteSiteExperienceByExternalReferenceCode parameters: - in: path @@ -2927,9 +2927,9 @@ paths: tags: ["Experience"] patch: description: - Updates an experience of a specific draft page specification of a site page within a site by specifying the - experience's external reference code. Updates only the fields received in the request body, leaving any - other fields untouched. + Updates an experience of a specific draft page specification of a site page within a site by specifying + the experience's external reference code. Updates only the fields received in the request body, leaving + any other fields untouched. operationId: patchSiteExperienceByExternalReferenceCode parameters: - in: path @@ -2969,8 +2969,8 @@ paths: tags: ["Experience"] put: description: - Updates an experience of a specific draft page specification of a site page within a site by specifying the - experience's external reference code. + Updates an experience of a specific draft page specification of a site page within a site by specifying + the experience's external reference code. operationId: putSiteExperienceByExternalReferenceCode parameters: - in: path @@ -3197,8 +3197,8 @@ paths: "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes a page element within an experience of a specific draft page specification of a site page within a - site by specifying the page element's external reference code. + Deletes a page element within an experience of a specific draft page specification of a site page within + a site by specifying the page element's external reference code. operationId: deleteSitePageElementByExternalReferenceCode parameters: - in: path @@ -3231,8 +3231,8 @@ paths: tags: ["PageElement"] get: description: - Retrieves page element within an experience of a specific page specification of a site page within a site by - specifying the page element's external reference code. + Retrieves page element within an experience of a specific page specification of a site page within a + site by specifying the page element's external reference code. operationId: getSitePageElementByExternalReferenceCode parameters: - in: path @@ -3272,8 +3272,8 @@ paths: tags: ["PageElement"] patch: description: - Updates a page element within an experience of a specific draft page specification of a site page within a - site by specifying the page element's external reference code. Updates only the fields received in the + Updates a page element within an experience of a specific draft page specification of a site page within + a site by specifying the page element's external reference code. Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSitePageElementByExternalReferenceCode parameters: @@ -3314,8 +3314,8 @@ paths: tags: ["PageElement"] put: description: - Updates a page element within an experience of a specific draft page specification of a site page within a - site by specifying the page elment's external reference code. + Updates a page element within an experience of a specific draft page specification of a site page within + a site by specifying the page elment's external reference code. operationId: putSitePageElementByExternalReferenceCode parameters: - in: path @@ -3356,8 +3356,8 @@ paths: "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: - Retrieves all the descendant page elements of a page element within an experience in a page specification of a - site page. + Retrieves all the descendant page elements of a page element within an experience in a page + specification of a site page. operationId: getSitePageElementPageElementsByExternalReferenceCode parameters: - in: path @@ -3403,8 +3403,8 @@ paths: "/sites/{siteId}/page-rules/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes a page rule within an experience of a specific draft page specification of a site page within a site - by specifying the page rule's external reference code. + Deletes a page rule within an experience of a specific draft page specification of a site page within a + site by specifying the page rule's external reference code. operationId: deleteSitePageRuleByExternalReferenceCode parameters: - in: path @@ -3437,8 +3437,8 @@ paths: tags: ["PageRule"] get: description: - Retrieves page rule within an experience of a specific page specification of a site page within a site by - specifying the page rule's external reference code. + Retrieves page rule within an experience of a specific page specification of a site page within a site + by specifying the page rule's external reference code. operationId: getSitePageRuleByExternalReferenceCode parameters: - in: path @@ -3478,9 +3478,9 @@ paths: tags: ["PageRule"] patch: description: - Updates a page rule within an experience of a specific draft page specification of a site page within a site - by specifying the page rule's external reference code. Updates only the fields received in the request - body, leaving any other fields untouched. + Updates a page rule within an experience of a specific draft page specification of a site page within a + site by specifying the page rule's external reference code. Updates only the fields received in the + request body, leaving any other fields untouched. operationId: patchSitePageRuleByExternalReferenceCode parameters: - in: path @@ -3520,8 +3520,8 @@ paths: tags: ["PageRule"] put: description: - Updates a page rule within an experience of a specific draft page specification of a site page within a site - by specifying the page element's external reference code. + Updates a page rule within an experience of a specific draft page specification of a site page within a + site by specifying the page element's external reference code. operationId: putSitePageRuleByExternalReferenceCode parameters: - in: path @@ -3562,8 +3562,8 @@ paths: "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes a specific page specification of a site page by external reference code. The page specification needs to be - in draft status. + Deletes a specific page specification of a site page by external reference code. The page specification + needs to be in draft status. operationId: deleteSitePageSpecificationByExternalReferenceCode parameters: - in: path @@ -3623,8 +3623,8 @@ paths: tags: ["PageSpecification"] patch: description: - Updates a page specification of a site page based only on the fields received in the request body, leaving any - other fields untouched. + Updates a page specification of a site page based only on the fields received in the request body, + leaving any other fields untouched. operationId: patchSitePageSpecificationByExternalReferenceCode parameters: - in: path From 1197121916e4daaacea76cb4f33a5395060484c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 20 May 2024 23:56:00 +0200 Subject: [PATCH 069/260] LPD-23361 Rename "approved" to "published" --- .../headless-site/headless-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 57ff6f26359401..725961e81b4a9d 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2543,10 +2543,10 @@ components: Settings of the page, such as SEO or OpenGraph. pageSpecifications: properties: - approved: - $ref: "#/components/schemas/PageSpecification" draft: $ref: "#/components/schemas/PageSpecification" + published: + $ref: "#/components/schemas/PageSpecification" type: object pageType: # @review From 90c07923b81289f4f9726f930bff04b6613edaa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 00:05:56 +0200 Subject: [PATCH 070/260] LPD-23401 Rename experiences to pageExperiences / page-experiences --- .../headless-site/headless-site-impl/rest-openapi.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 725961e81b4a9d..b9978218a1cb21 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2048,7 +2048,7 @@ components: type: object PageSpecification: properties: - experiences: + pageExperiences: items: $ref: "#/components/schemas/Experience" type: array @@ -2849,7 +2849,7 @@ paths: application/json: {} application/xml: {} tags: ["Site"] - "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}": delete: description: Deletes an experience of a specific draft page specification of a site page within a site by specifying @@ -3008,7 +3008,7 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["Experience"] - "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}/page-elements": + "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: Retrieves all the page elements within an experience in a page specification of a site page. @@ -3101,7 +3101,7 @@ paths: default response # @review tags: ["Experience"] - "/sites/{siteId}/experiences/by-external-reference-code/{externalReferenceCode}/page-rules": + "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-rules": get: description: Retrieves all the page rules within an experience in a page specification of a site page. @@ -3716,7 +3716,7 @@ paths: description: default response tags: ["PageSpecification"] - "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}/experiences": + "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}/page-experiences": get: description: Retrieves all the experiences of a page specification. From 3f4cd46e81a76ccd6da1a6a2be62e5de10988756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 00:06:52 +0200 Subject: [PATCH 071/260] LPD-23401 Automatic SF --- .../headless-site-impl/rest-openapi.yaml | 272 +++++++++--------- 1 file changed, 136 insertions(+), 136 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index b9978218a1cb21..6a626874adeebc 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2048,14 +2048,14 @@ components: type: object PageSpecification: properties: - pageExperiences: - items: - $ref: "#/components/schemas/Experience" - type: array externalReferenceCode: description: The page specification's external reference code, unique per site. type: string + pageExperiences: + items: + $ref: "#/components/schemas/Experience" + type: array settings: $ref: "#/components/schemas/Settings" type: object @@ -2849,12 +2849,12 @@ paths: application/json: {} application/xml: {} tags: ["Site"] - "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: - Deletes an experience of a specific draft page specification of a site page within a site by specifying - the experience's external reference code. The default experience cannot be deleted. - operationId: deleteSiteExperienceByExternalReferenceCode + Deletes a page element within an experience of a specific draft page specification of a site page within + a site by specifying the page element's external reference code. + operationId: deleteSitePageElementByExternalReferenceCode parameters: - in: path name: siteId @@ -2883,12 +2883,12 @@ paths: content: application/json: {} application/xml: {} - tags: ["Experience"] + tags: ["PageElement"] get: description: - Retrieves an experience of a specific page specification of a site page within a site by specifying the - experience's external reference code. - operationId: getSiteExperienceByExternalReferenceCode + Retrieves page element within an experience of a specific page specification of a site page within a + site by specifying the page element's external reference code. + operationId: getSitePageElementByExternalReferenceCode parameters: - in: path name: siteId @@ -2918,19 +2918,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageElement" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" - tags: ["Experience"] + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] patch: description: - Updates an experience of a specific draft page specification of a site page within a site by specifying - the experience's external reference code. Updates only the fields received in the request body, leaving - any other fields untouched. - operationId: patchSiteExperienceByExternalReferenceCode + Updates a page element within an experience of a specific draft page specification of a site page within + a site by specifying the page element's external reference code. Updates only the fields received in the + request body, leaving any other fields untouched. + operationId: patchSitePageElementByExternalReferenceCode parameters: - in: path name: siteId @@ -2960,18 +2960,18 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageElement" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" - tags: ["Experience"] + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] put: description: - Updates an experience of a specific draft page specification of a site page within a site by specifying - the experience's external reference code. - operationId: putSiteExperienceByExternalReferenceCode + Updates a page element within an experience of a specific draft page specification of a site page within + a site by specifying the page elment's external reference code. + operationId: putSitePageElementByExternalReferenceCode parameters: - in: path name: siteId @@ -3001,18 +3001,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageElement" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" - tags: ["Experience"] - "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-elements": + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] + "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: - Retrieves all the page elements within an experience in a page specification of a site page. - operationId: getSiteExperiencePageElementsByExternalReferenceCode + Retrieves all the descendant page elements of a page element within an experience in a page + specification of a site page. + operationId: getSitePageElementPageElementsByExternalReferenceCode parameters: - in: path name: siteId @@ -3053,19 +3054,22 @@ paths: $ref: "#/components/schemas/PageElement" type: array # @review - tags: ["Experience"] - post: + tags: ["PageElement"] + "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}": + delete: description: - Adds a new page element to an experience in a page specification in draft status of a site page. - operationId: postSiteExperiencePageElementByExternalReferenceCode + Deletes an experience of a specific draft page specification of a site page within a site by specifying + the experience's external reference code. The default experience cannot be deleted. + operationId: deleteSiteExperienceByExternalReferenceCode parameters: - in: path name: siteId required: true schema: type: string - - in: query + - in: path name: externalReferenceCode + required: true schema: type: string - in: query @@ -3080,50 +3084,32 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - $ref: "#/components/schemas/PageElement" responses: - 200: + 204: content: - application/json: - schema: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - $ref: "#/components/schemas/PageElement" - description: - default response - # @review + application/json: {} + application/xml: {} tags: ["Experience"] - "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-rules": get: description: - Retrieves all the page rules within an experience in a page specification of a site page. - operationId: getSiteExperiencePageRulesByExternalReferenceCode + Retrieves an experience of a specific page specification of a site page within a site by specifying the + experience's external reference code. + operationId: getSiteExperienceByExternalReferenceCode parameters: - in: path name: siteId required: true schema: type: string - - in: query + - in: path name: externalReferenceCode + required: true schema: type: string - in: query name: fields schema: type: string - - in: query - name: flatten - schema: - type: boolean - in: query name: nestedFields schema: @@ -3138,27 +3124,28 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageRule" + $ref: "#/components/schemas/Experience" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageRule" - type: array - # @review + $ref: "#/components/schemas/Experience" tags: ["Experience"] - post: + patch: description: - Adds a new page rule to an experience in a page specification in draft status of a site page. - operationId: postSiteExperiencePageRuleByExternalReferenceCode + Updates an experience of a specific draft page specification of a site page within a site by specifying + the experience's external reference code. Updates only the fields received in the request body, leaving + any other fields untouched. + operationId: patchSiteExperienceByExternalReferenceCode parameters: - in: path name: siteId required: true schema: type: string - - in: query + - in: path name: externalReferenceCode + required: true schema: type: string - in: query @@ -3173,33 +3160,24 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRule" - application/xml: - schema: - $ref: "#/components/schemas/PageRule" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageRule" + items: + $ref: "#/components/schemas/Experience" + type: array application/xml: schema: - $ref: "#/components/schemas/PageRule" - description: - default response - # @review + items: + $ref: "#/components/schemas/Experience" tags: ["Experience"] - "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": - delete: + put: description: - Deletes a page element within an experience of a specific draft page specification of a site page within - a site by specifying the page element's external reference code. - operationId: deleteSitePageElementByExternalReferenceCode + Updates an experience of a specific draft page specification of a site page within a site by specifying + the experience's external reference code. + operationId: putSiteExperienceByExternalReferenceCode parameters: - in: path name: siteId @@ -3224,31 +3202,41 @@ paths: schema: type: string responses: - 204: + 200: content: - application/json: {} - application/xml: {} - tags: ["PageElement"] + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + tags: ["Experience"] + "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: - Retrieves page element within an experience of a specific page specification of a site page within a - site by specifying the page element's external reference code. - operationId: getSitePageElementByExternalReferenceCode + Retrieves all the page elements within an experience in a page specification of a site page. + operationId: getSiteExperiencePageElementsByExternalReferenceCode parameters: - in: path name: siteId required: true schema: type: string - - in: path + - in: query name: externalReferenceCode - required: true schema: type: string - in: query name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -3269,22 +3257,21 @@ paths: schema: items: $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - patch: + type: array + # @review + tags: ["Experience"] + post: description: - Updates a page element within an experience of a specific draft page specification of a site page within - a site by specifying the page element's external reference code. Updates only the fields received in the - request body, leaving any other fields untouched. - operationId: patchSitePageElementByExternalReferenceCode + Adds a new page element to an experience in a page specification in draft status of a site page. + operationId: postSiteExperiencePageElementByExternalReferenceCode parameters: - in: path name: siteId required: true schema: type: string - - in: path + - in: query name: externalReferenceCode - required: true schema: type: string - in: query @@ -3299,39 +3286,50 @@ paths: name: restrictFields schema: type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + $ref: "#/components/schemas/PageElement" responses: 200: content: application/json: schema: - items: - $ref: "#/components/schemas/PageElement" - type: array + $ref: "#/components/schemas/PageElement" application/xml: schema: - items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - put: + $ref: "#/components/schemas/PageElement" + description: + default response + # @review + tags: ["Experience"] + "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-rules": + get: description: - Updates a page element within an experience of a specific draft page specification of a site page within - a site by specifying the page elment's external reference code. - operationId: putSitePageElementByExternalReferenceCode + Retrieves all the page rules within an experience in a page specification of a site page. + operationId: getSiteExperiencePageRulesByExternalReferenceCode parameters: - in: path name: siteId required: true schema: type: string - - in: path + - in: query name: externalReferenceCode - required: true schema: type: string - in: query name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -3346,19 +3344,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageElement" + $ref: "#/components/schemas/PageRule" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": - get: + $ref: "#/components/schemas/PageRule" + type: array + # @review + tags: ["Experience"] + post: description: - Retrieves all the descendant page elements of a page element within an experience in a page - specification of a site page. - operationId: getSitePageElementPageElementsByExternalReferenceCode + Adds a new page rule to an experience in a page specification in draft status of a site page. + operationId: postSiteExperiencePageRuleByExternalReferenceCode parameters: - in: path name: siteId @@ -3373,10 +3371,6 @@ paths: name: fields schema: type: string - - in: query - name: flatten - schema: - type: boolean - in: query name: nestedFields schema: @@ -3385,21 +3379,27 @@ paths: name: restrictFields schema: type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRule" + application/xml: + schema: + $ref: "#/components/schemas/PageRule" responses: 200: content: application/json: schema: - items: - $ref: "#/components/schemas/PageElement" - type: array + $ref: "#/components/schemas/PageRule" application/xml: schema: - items: - $ref: "#/components/schemas/PageElement" - type: array + $ref: "#/components/schemas/PageRule" + description: + default response # @review - tags: ["PageElement"] + tags: ["Experience"] "/sites/{siteId}/page-rules/by-external-reference-code/{externalReferenceCode}": delete: description: From 95c2393b7f6e5fb1a668a240a506c56994b2fe13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 00:20:26 +0200 Subject: [PATCH 072/260] LPD-23496 Use the term "page-experience" rather than "experience". Motivation: It is consistent with "page-element" and avoids confusion with "search experience" --- .../headless-site-impl/rest-openapi.yaml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 6a626874adeebc..40fb0b38285e24 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3060,7 +3060,7 @@ paths: description: Deletes an experience of a specific draft page specification of a site page within a site by specifying the experience's external reference code. The default experience cannot be deleted. - operationId: deleteSiteExperienceByExternalReferenceCode + operationId: deleteSitePageExperienceByExternalReferenceCode parameters: - in: path name: siteId @@ -3089,12 +3089,12 @@ paths: content: application/json: {} application/xml: {} - tags: ["Experience"] + tags: ["PageExperience"] get: description: Retrieves an experience of a specific page specification of a site page within a site by specifying the experience's external reference code. - operationId: getSiteExperienceByExternalReferenceCode + operationId: getSitePageExperienceByExternalReferenceCode parameters: - in: path name: siteId @@ -3130,13 +3130,13 @@ paths: schema: items: $ref: "#/components/schemas/Experience" - tags: ["Experience"] + tags: ["PageExperience"] patch: description: Updates an experience of a specific draft page specification of a site page within a site by specifying the experience's external reference code. Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSiteExperienceByExternalReferenceCode + operationId: patchSitePageExperienceByExternalReferenceCode parameters: - in: path name: siteId @@ -3172,12 +3172,12 @@ paths: schema: items: $ref: "#/components/schemas/Experience" - tags: ["Experience"] + tags: ["PageExperience"] put: description: Updates an experience of a specific draft page specification of a site page within a site by specifying the experience's external reference code. - operationId: putSiteExperienceByExternalReferenceCode + operationId: putSitePageExperienceByExternalReferenceCode parameters: - in: path name: siteId @@ -3213,12 +3213,12 @@ paths: schema: items: $ref: "#/components/schemas/Experience" - tags: ["Experience"] + tags: ["PageExperience"] "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: Retrieves all the page elements within an experience in a page specification of a site page. - operationId: getSiteExperiencePageElementsByExternalReferenceCode + operationId: getSitePageExperiencePageElementsByExternalReferenceCode parameters: - in: path name: siteId @@ -3259,11 +3259,11 @@ paths: $ref: "#/components/schemas/PageElement" type: array # @review - tags: ["Experience"] + tags: ["PageExperience"] post: description: Adds a new page element to an experience in a page specification in draft status of a site page. - operationId: postSiteExperiencePageElementByExternalReferenceCode + operationId: postSitePageExperiencePageElementByExternalReferenceCode parameters: - in: path name: siteId @@ -3306,12 +3306,12 @@ paths: description: default response # @review - tags: ["Experience"] + tags: ["PageExperience"] "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-rules": get: description: Retrieves all the page rules within an experience in a page specification of a site page. - operationId: getSiteExperiencePageRulesByExternalReferenceCode + operationId: getSitePageExperiencePageRulesByExternalReferenceCode parameters: - in: path name: siteId @@ -3352,11 +3352,11 @@ paths: $ref: "#/components/schemas/PageRule" type: array # @review - tags: ["Experience"] + tags: ["PageExperience"] post: description: Adds a new page rule to an experience in a page specification in draft status of a site page. - operationId: postSiteExperiencePageRuleByExternalReferenceCode + operationId: postSitePageExperiencePageRuleByExternalReferenceCode parameters: - in: path name: siteId @@ -3399,7 +3399,7 @@ paths: description: default response # @review - tags: ["Experience"] + tags: ["PageExperience"] "/sites/{siteId}/page-rules/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -3720,7 +3720,7 @@ paths: get: description: Retrieves all the experiences of a page specification. - operationId: getSitePageSpecificationExperiencesByExternalReferenceCode + operationId: getSitePageSpecificationPageExperiencesByExternalReferenceCode parameters: - in: path name: siteId @@ -3762,7 +3762,7 @@ paths: post: description: Adds a new experience to a page specification in draft status of a site page. - operationId: postSitePageSpecificationExperienceByExternalReferenceCode + operationId: postSitePageSpecificationPageExperienceByExternalReferenceCode parameters: - in: path name: siteId From 5adb38937b7619170218c510a42b5b65515bb3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 00:37:50 +0200 Subject: [PATCH 073/260] LPD-23496 Use siteExternalReferenceCode instead of siteId in the new endpoints --- .../headless-site-impl/rest-openapi.yaml | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 40fb0b38285e24..1c34a74c518464 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2849,7 +2849,7 @@ paths: application/json: {} application/xml: {} tags: ["Site"] - "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: Deletes a page element within an experience of a specific draft page specification of a site page within @@ -2857,7 +2857,7 @@ paths: operationId: deleteSitePageElementByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -2891,7 +2891,7 @@ paths: operationId: getSitePageElementByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -2933,7 +2933,7 @@ paths: operationId: patchSitePageElementByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -2974,7 +2974,7 @@ paths: operationId: putSitePageElementByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3008,7 +3008,7 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] - "/sites/{siteId}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": + "/sites/{siteExternalReferenceCode}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: Retrieves all the descendant page elements of a page element within an experience in a page @@ -3016,7 +3016,7 @@ paths: operationId: getSitePageElementPageElementsByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3055,7 +3055,7 @@ paths: type: array # @review tags: ["PageElement"] - "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/page-experiences/by-external-reference-code/{externalReferenceCode}": delete: description: Deletes an experience of a specific draft page specification of a site page within a site by specifying @@ -3063,7 +3063,7 @@ paths: operationId: deleteSitePageExperienceByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3097,7 +3097,7 @@ paths: operationId: getSitePageExperienceByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3139,7 +3139,7 @@ paths: operationId: patchSitePageExperienceByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3180,7 +3180,7 @@ paths: operationId: putSitePageExperienceByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3214,14 +3214,14 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["PageExperience"] - "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-elements": + "/sites/{siteExternalReferenceCode}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-elements": get: description: Retrieves all the page elements within an experience in a page specification of a site page. operationId: getSitePageExperiencePageElementsByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3266,7 +3266,7 @@ paths: operationId: postSitePageExperiencePageElementByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3307,14 +3307,14 @@ paths: default response # @review tags: ["PageExperience"] - "/sites/{siteId}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-rules": + "/sites/{siteExternalReferenceCode}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-rules": get: description: Retrieves all the page rules within an experience in a page specification of a site page. operationId: getSitePageExperiencePageRulesByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3359,7 +3359,7 @@ paths: operationId: postSitePageExperiencePageRuleByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3400,7 +3400,7 @@ paths: default response # @review tags: ["PageExperience"] - "/sites/{siteId}/page-rules/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/page-rules/by-external-reference-code/{externalReferenceCode}": delete: description: Deletes a page rule within an experience of a specific draft page specification of a site page within a @@ -3408,7 +3408,7 @@ paths: operationId: deleteSitePageRuleByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3442,7 +3442,7 @@ paths: operationId: getSitePageRuleByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3484,7 +3484,7 @@ paths: operationId: patchSitePageRuleByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3525,7 +3525,7 @@ paths: operationId: putSitePageRuleByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3559,7 +3559,7 @@ paths: items: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] - "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/page-specifications/by-external-reference-code/{externalReferenceCode}": delete: description: Deletes a specific page specification of a site page by external reference code. The page specification @@ -3567,7 +3567,7 @@ paths: operationId: deleteSitePageSpecificationByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3588,7 +3588,7 @@ paths: operationId: getSitePageSpecificationByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3628,7 +3628,7 @@ paths: operationId: patchSitePageSpecificationByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3675,7 +3675,7 @@ paths: operationId: putSitePageSpecificationByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3716,14 +3716,14 @@ paths: description: default response tags: ["PageSpecification"] - "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}/page-experiences": + "/sites/{siteExternalReferenceCode}/page-specifications/by-external-reference-code/{externalReferenceCode}/page-experiences": get: description: Retrieves all the experiences of a page specification. operationId: getSitePageSpecificationPageExperiencesByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3765,7 +3765,7 @@ paths: operationId: postSitePageSpecificationPageExperienceByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3807,14 +3807,14 @@ paths: default response # @review tags: ["PageSpecification"] - "/sites/{siteId}/page-specifications/by-external-reference-code/{externalReferenceCode}/publish": + "/sites/{siteExternalReferenceCode}/page-specifications/by-external-reference-code/{externalReferenceCode}/publish": post: description: Publishes a page specification (in draft status) of a site page. operationId: postSitePageSpecificationPublishByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3848,14 +3848,14 @@ paths: default response # @review tags: ["PageSpecification"] - "/sites/{siteId}/site-pages": + "/sites/{siteExternalReferenceCode}/site-pages": get: description: Retrieves the public pages of the site operationId: getSiteSitePagesPage parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: format: int64 @@ -3918,7 +3918,7 @@ paths: operationId: postSiteSitePage parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: format: int64 @@ -3944,14 +3944,14 @@ paths: default response # @review tags: ["SitePage"] - "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/site-pages/by-external-reference-code/{externalReferenceCode}": delete: description: Deletes a specific public page of a site by external reference code. operationId: deleteSiteSitePageByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -3972,7 +3972,7 @@ paths: operationId: getSiteSitePageByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -4011,7 +4011,7 @@ paths: operationId: patchSiteSitePageByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -4058,7 +4058,7 @@ paths: operationId: putSiteSitePageByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -4099,14 +4099,14 @@ paths: description: default response tags: ["SitePage"] - "/sites/{siteId}/site-pages/by-external-reference-code/{externalReferenceCode}/page-specifications": + "/sites/{siteExternalReferenceCode}/site-pages/by-external-reference-code/{externalReferenceCode}/page-specifications": get: description: Retrieves the page specifications of a site page. operationId: getSiteSitePagePageSpecificationsByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string @@ -4147,7 +4147,7 @@ paths: operationId: postSiteSitePagePageSpecificationByExternalReferenceCode parameters: - in: path - name: siteId + name: siteExternalReferenceCode required: true schema: type: string From 7bd6cd8b2dd4f13c8bfa0fad8e98903c68d2cb05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 00:38:37 +0200 Subject: [PATCH 074/260] LPD-23496 Automatic SF --- .../headless-site-impl/rest-openapi.yaml | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 1c34a74c518464..0a2650313f9c9f 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2830,25 +2830,6 @@ info: version: v1.0 openapi: 3.0.1 paths: - "/sites/{siteId}": - delete: - description: - # @review - Deletes a site and all of its associated content. - operationId: deleteSite - parameters: - - in: path - name: siteId - required: true - schema: - format: int64 - type: integer - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["Site"] "/sites/{siteExternalReferenceCode}/page-elements/by-external-reference-code/{externalReferenceCode}": delete: description: @@ -4188,6 +4169,25 @@ paths: default response # @review tags: ["SitePage"] + "/sites/{siteId}": + delete: + description: + # @review + Deletes a site and all of its associated content. + operationId: deleteSite + parameters: + - in: path + name: siteId + required: true + schema: + format: int64 + type: integer + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["Site"] /sites: post: description: From 91c689fa1054743cf397aebc21583a9aa1d37793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 01:03:42 +0200 Subject: [PATCH 075/260] LPD-23496 Remove site endpoints, since the new endpoints will be copied to headless-admin-site --- .../headless-site-impl/rest-openapi.yaml | 142 +----------------- 1 file changed, 1 insertion(+), 141 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 0a2650313f9c9f..eb3a6f05be169a 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -4168,144 +4168,4 @@ paths: description: default response # @review - tags: ["SitePage"] - "/sites/{siteId}": - delete: - description: - # @review - Deletes a site and all of its associated content. - operationId: deleteSite - parameters: - - in: path - name: siteId - required: true - schema: - format: int64 - type: integer - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["Site"] - /sites: - post: - description: - Adds a new site - operationId: postSite - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Site" - application/xml: - schema: - $ref: "#/components/schemas/Site" - multipart/form-data: - schema: - properties: - file: - format: binary - type: string - site: - $ref: "#/components/schemas/Site" - type: object - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Site" - application/xml: - schema: - $ref: "#/components/schemas/Site" - description: - default response - # @review - tags: ["Site"] - /sites/by-external-reference-code/{externalReferenceCode}: - delete: - # @review - description: - Deletes a site and all of its associated content. - operationId: deleteSiteByExternalReferenceCode - parameters: - - in: path - name: externalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["Site"] - get: - operationId: getSiteByExternalReferenceCode - parameters: - - in: path - name: externalReferenceCode - required: true - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Site" - application/xml: - schema: - $ref: "#/components/schemas/Site" - description: - default response - tags: ["Site"] - put: - description: - Adds or update a new site - operationId: putSiteByExternalReferenceCode - parameters: - - in: path - name: externalReferenceCode - required: true - schema: - type: string - requestBody: - content: - multipart/form-data: - schema: - properties: - file: - format: binary - type: string - type: object - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Site" - application/xml: - schema: - $ref: "#/components/schemas/Site" - description: - default response - tags: ["Site"] - /sites/by-external-reference-code/{externalReferenceCode}/site-initializer: - get: - operationId: getSiteByExternalReferenceCodeSiteInitializer - parameters: - - in: path - name: externalReferenceCode - required: true - schema: - type: string - responses: - 200: - content: - application/zip: - schema: - format: binary - type: string - tags: ["Site"] \ No newline at end of file + tags: ["SitePage"] \ No newline at end of file From 04914b336dab9f1ea52c316a4a4a85f3c4f938fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 11:50:02 +0200 Subject: [PATCH 076/260] LPD-23496 Cleanup --- .../headless-site-impl/rest-openapi.yaml | 630 +++++++++++------- 1 file changed, 396 insertions(+), 234 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index eb3a6f05be169a..3da1bd5e6371cb 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -2048,10 +2048,6 @@ components: type: object PageSpecification: properties: - externalReferenceCode: - description: - The page specification's external reference code, unique per site. - type: string pageExperiences: items: $ref: "#/components/schemas/Experience" @@ -2830,12 +2826,12 @@ info: version: v1.0 openapi: 3.0.1 paths: - "/sites/{siteExternalReferenceCode}/page-elements/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: description: - Deletes a page element within an experience of a specific draft page specification of a site page within - a site by specifying the page element's external reference code. - operationId: deleteSitePageElementByExternalReferenceCode + Deletes a page element within an experience of a specific page specification of a site page within a + site. + operationId: deleteSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -2843,22 +2839,10 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string responses: 204: content: @@ -2868,8 +2852,8 @@ paths: get: description: Retrieves page element within an experience of a specific page specification of a site page within a - site by specifying the page element's external reference code. - operationId: getSitePageElementByExternalReferenceCode + site. + operationId: getSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -2877,7 +2861,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -2908,10 +2892,9 @@ paths: tags: ["PageElement"] patch: description: - Updates a page element within an experience of a specific draft page specification of a site page within - a site by specifying the page element's external reference code. Updates only the fields received in the - request body, leaving any other fields untouched. - operationId: patchSitePageElementByExternalReferenceCode + Updates a page element within an experience of a specific page specification of a site page within a + site. Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -2919,7 +2902,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -2950,9 +2933,9 @@ paths: tags: ["PageElement"] put: description: - Updates a page element within an experience of a specific draft page specification of a site page within - a site by specifying the page elment's external reference code. - operationId: putSitePageElementByExternalReferenceCode + Updates a page element within an experience of a specific page specification of a site page within a + site. + operationId: putSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -2960,7 +2943,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -2989,20 +2972,21 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/page-elements/by-external-reference-code/{externalReferenceCode}/page-elements": + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": get: description: Retrieves all the descendant page elements of a page element within an experience in a page specification of a site page. - operationId: getSitePageElementPageElementsByExternalReferenceCode + operationId: getSitePageElementPageElements parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: query - name: externalReferenceCode + - in: path + name: pageElementExternalReferenceCode + required: true schema: type: string - in: query @@ -3036,12 +3020,12 @@ paths: type: array # @review tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/page-experiences/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}": delete: description: - Deletes an experience of a specific draft page specification of a site page within a site by specifying - the experience's external reference code. The default experience cannot be deleted. - operationId: deleteSitePageExperienceByExternalReferenceCode + Deletes an experience of a specific page specification of a site page within a site. The default + experience cannot be deleted. + operationId: deleteSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -3049,7 +3033,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -3073,9 +3057,8 @@ paths: tags: ["PageExperience"] get: description: - Retrieves an experience of a specific page specification of a site page within a site by specifying the - experience's external reference code. - operationId: getSitePageExperienceByExternalReferenceCode + Retrieves an experience of a specific page specification of a site page within a site. + operationId: getSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -3083,7 +3066,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -3114,10 +3097,9 @@ paths: tags: ["PageExperience"] patch: description: - Updates an experience of a specific draft page specification of a site page within a site by specifying - the experience's external reference code. Updates only the fields received in the request body, leaving - any other fields untouched. - operationId: patchSitePageExperienceByExternalReferenceCode + Updates an experience of a specific page specification of a site page within a site. Updates only the + fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -3125,7 +3107,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -3156,9 +3138,8 @@ paths: tags: ["PageExperience"] put: description: - Updates an experience of a specific draft page specification of a site page within a site by specifying - the experience's external reference code. - operationId: putSitePageExperienceByExternalReferenceCode + Updates an experience of a specific page specification of a site page within a site. + operationId: putSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -3166,7 +3147,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -3195,19 +3176,19 @@ paths: items: $ref: "#/components/schemas/Experience" tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-elements": + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-elements": get: description: Retrieves all the page elements within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageElementsByExternalReferenceCode + operationId: getSitePageExperiencePageElements parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: query - name: externalReferenceCode + - in: path + name: pageExperienceExternalReferenceCode schema: type: string - in: query @@ -3244,7 +3225,7 @@ paths: post: description: Adds a new page element to an experience in a page specification in draft status of a site page. - operationId: postSitePageExperiencePageElementByExternalReferenceCode + operationId: postSitePageExperiencePageElement parameters: - in: path name: siteExternalReferenceCode @@ -3252,15 +3233,15 @@ paths: schema: type: string - in: query - name: externalReferenceCode + name: fields schema: type: string - in: query - name: fields + name: nestedFields schema: type: string - in: query - name: nestedFields + name: pageExperienceExternalReferenceCode schema: type: string - in: query @@ -3288,21 +3269,17 @@ paths: default response # @review tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-experiences/by-external-reference-code/{externalReferenceCode}/page-rules": + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-rules": get: description: Retrieves all the page rules within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageRulesByExternalReferenceCode + operationId: getSitePageExperiencePageRules parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: query - name: externalReferenceCode - schema: - type: string - in: query name: fields schema: @@ -3315,6 +3292,10 @@ paths: name: nestedFields schema: type: string + - in: query + name: pageExperienceExternalReferenceCode + schema: + type: string - in: query name: restrictFields schema: @@ -3337,7 +3318,7 @@ paths: post: description: Adds a new page rule to an experience in a page specification in draft status of a site page. - operationId: postSitePageExperiencePageRuleByExternalReferenceCode + operationId: postSitePageExperiencePageRule parameters: - in: path name: siteExternalReferenceCode @@ -3345,15 +3326,15 @@ paths: schema: type: string - in: query - name: externalReferenceCode + name: fields schema: type: string - in: query - name: fields + name: nestedFields schema: type: string - in: query - name: nestedFields + name: pageExperienceExternalReferenceCode schema: type: string - in: query @@ -3381,12 +3362,11 @@ paths: default response # @review tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-rules/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": delete: description: - Deletes a page rule within an experience of a specific draft page specification of a site page within a - site by specifying the page rule's external reference code. - operationId: deleteSitePageRuleByExternalReferenceCode + Deletes a page rule within an experience of a specific page specification of a site page within a site. + operationId: deleteSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -3394,7 +3374,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageRuleExternalReferenceCode required: true schema: type: string @@ -3418,9 +3398,8 @@ paths: tags: ["PageRule"] get: description: - Retrieves page rule within an experience of a specific page specification of a site page within a site - by specifying the page rule's external reference code. - operationId: getSitePageRuleByExternalReferenceCode + Retrieves page rule within an experience of a specific page specification of a site page within a site. + operationId: getSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -3428,7 +3407,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageRuleExternalReferenceCode required: true schema: type: string @@ -3459,10 +3438,9 @@ paths: tags: ["PageRule"] patch: description: - Updates a page rule within an experience of a specific draft page specification of a site page within a - site by specifying the page rule's external reference code. Updates only the fields received in the - request body, leaving any other fields untouched. - operationId: patchSitePageRuleByExternalReferenceCode + Updates a page rule within an experience of a specific page specification of a site page within a site. + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -3470,7 +3448,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageRuleExternalReferenceCode required: true schema: type: string @@ -3501,9 +3479,8 @@ paths: tags: ["PageRule"] put: description: - Updates a page rule within an experience of a specific draft page specification of a site page within a - site by specifying the page element's external reference code. - operationId: putSitePageRuleByExternalReferenceCode + Updates a page rule within an experience of a specific page specification of a site page within a site. + operationId: putSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -3511,7 +3488,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: pageRuleExternalReferenceCode required: true schema: type: string @@ -3540,12 +3517,107 @@ paths: items: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] - "/sites/{siteExternalReferenceCode}/page-specifications/by-external-reference-code/{externalReferenceCode}": + "/sites/{siteExternalReferenceCode}/site-pages": + get: + description: + Retrieves the public pages of the site + operationId: getSiteSitePagesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + format: int64 + type: integer + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + tags: ["SitePage"] + post: + description: + Adds a new site page + operationId: postSiteSitePage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + # @review + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}": delete: description: - Deletes a specific page specification of a site page by external reference code. The page specification - needs to be in draft status. - operationId: deleteSitePageSpecificationByExternalReferenceCode + Deletes a specific public page of a site. + operationId: deleteSiteSitePage parameters: - in: path name: siteExternalReferenceCode @@ -3553,7 +3625,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3562,11 +3634,11 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageSpecification"] + tags: ["SitePage"] get: description: - Retrieves a specific page specification of a site page by external reference code. - operationId: getSitePageSpecificationByExternalReferenceCode + Retrieves a specific public page of a site. + operationId: getSiteSitePage parameters: - in: path name: siteExternalReferenceCode @@ -3574,7 +3646,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3595,18 +3667,17 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" description: default response - tags: ["PageSpecification"] + tags: ["SitePage"] patch: description: - Updates a page specification of a site page based only on the fields received in the request body, - leaving any other fields untouched. - operationId: patchSitePageSpecificationByExternalReferenceCode + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteSitePage parameters: - in: path name: siteExternalReferenceCode @@ -3614,7 +3685,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3634,26 +3705,74 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" description: default response - tags: ["PageSpecification"] + tags: ["SitePage"] put: description: - Updates the draft of a site page with the given external reference code. - operationId: putSitePageSpecificationByExternalReferenceCode + Updates the site page with the given external reference code, or creates it if it does not exist. + operationId: putSiteSitePage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": + post: + description: + Adds a new page specification in draft status to a site page. + operationId: postSiteSitePagePageSpecification parameters: - in: path name: siteExternalReferenceCode @@ -3661,7 +3780,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3686,7 +3805,7 @@ paths: schema: $ref: "#/components/schemas/PageSpecification" responses: - default: + 200: content: application/json: schema: @@ -3696,12 +3815,34 @@ paths: $ref: "#/components/schemas/PageSpecification" description: default response + # @review + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft": + delete: + description: + Deletes the draft page specification of a site page. + operationId: deleteSiteSitePagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-specifications/by-external-reference-code/{externalReferenceCode}/page-experiences": get: description: - Retrieves all the experiences of a page specification. - operationId: getSitePageSpecificationPageExperiencesByExternalReferenceCode + Retrieves the draft page specification of a site page. + operationId: getSiteSitePagePageSpecificationDraft parameters: - in: path name: siteExternalReferenceCode @@ -3709,7 +3850,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3730,20 +3871,18 @@ paths: content: application/json: schema: - items: - $ref: "#/components/schemas/Experience" - type: array + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review + $ref: "#/components/schemas/PageSpecification" + description: + default response tags: ["PageSpecification"] - post: + patch: description: - Adds a new experience to a page specification in draft status of a site page. - operationId: postSitePageSpecificationPageExperienceByExternalReferenceCode + Updates the draft page specification of a site page based only on the fields received in the request + body, leaving any other fields untouched. + operationId: patchSiteSitePagePageSpecificationDraft parameters: - in: path name: siteExternalReferenceCode @@ -3751,7 +3890,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3771,28 +3910,26 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" responses: - 200: + default: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" description: default response - # @review tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-specifications/by-external-reference-code/{externalReferenceCode}/publish": - post: + put: description: - Publishes a page specification (in draft status) of a site page. - operationId: postSitePageSpecificationPublishByExternalReferenceCode + Updates the draft page specification of a site page. + operationId: putSiteSitePagePageSpecificationDraft parameters: - in: path name: siteExternalReferenceCode @@ -3800,7 +3937,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3816,8 +3953,16 @@ paths: name: restrictFields schema: type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" responses: - 200: + default: content: application/json: schema: @@ -3827,109 +3972,103 @@ paths: $ref: "#/components/schemas/PageSpecification" description: default response - # @review tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages": + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/page-experiences": get: description: - Retrieves the public pages of the site - operationId: getSiteSitePagesPage + Retrieves all the experiences of a draft page specification. + operationId: getSiteSitePagePageSpecificationDraftPageExperiences parameters: - in: path name: siteExternalReferenceCode required: true schema: - format: int64 - type: integer - - in: query - name: aggregationTerms - schema: - items: - type: string - type: array - - in: query - name: fields + type: string + - in: path + name: sitePageExternalReferenceCode + required: true schema: type: string - in: query - name: filter + name: fields schema: type: string - in: query name: nestedFields schema: type: string - - in: query - name: page - schema: - type: integer - - in: query - name: pageSize - schema: - type: integer - in: query name: restrictFields schema: type: string - - in: query - name: search - schema: - type: string - - in: query - name: sort - schema: - type: string responses: 200: content: application/json: schema: items: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/Experience" type: array application/xml: schema: items: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/Experience" type: array - tags: ["SitePage"] + # @review + tags: ["PageSpecification"] post: description: - Adds a new site page - operationId: postSiteSitePage + Adds a new experience to a draft page specification of a site page. + operationId: postSiteSitePagePageSpecificationDraftPageExperience parameters: - in: path name: siteExternalReferenceCode required: true schema: - format: int64 - type: integer + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string requestBody: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/Experience" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/Experience" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/Experience" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/Experience" description: default response # @review - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/by-external-reference-code/{externalReferenceCode}": - delete: + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": + post: description: - Deletes a specific public page of a site by external reference code. - operationId: deleteSiteSitePageByExternalReferenceCode + Publishes a page specification in draft status of a site page. + operationId: postSiteSitePagePageSpecificationDraftPublish parameters: - in: path name: siteExternalReferenceCode @@ -3937,20 +4076,40 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string responses: - 204: + 200: content: - application/json: {} - application/xml: {} - tags: ["SitePage"] + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published": get: description: - Retrieves a specific public page of a site by external reference code. - operationId: getSiteSitePageByExternalReferenceCode + Retrieves the published page specification of a site page. + operationId: getSiteSitePagePageSpecificationPublished parameters: - in: path name: siteExternalReferenceCode @@ -3958,7 +4117,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -3979,17 +4138,18 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["SitePage"] + tags: ["PageSpecification"] patch: description: - Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSiteSitePageByExternalReferenceCode + Updates the published page specification of a site page based only on the fields received in the request + body, leaving any other fields untouched. + operationId: patchSiteSitePagePageSpecificationPublished parameters: - in: path name: siteExternalReferenceCode @@ -3997,7 +4157,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -4017,26 +4177,26 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" responses: default: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["SitePage"] + tags: ["PageSpecification"] put: description: - Updates the site page with the given external reference code, or creates it if it does not exist. - operationId: putSiteSitePageByExternalReferenceCode + Updates the published page specification of a site page. + operationId: putSiteSitePagePageSpecificationPublished parameters: - in: path name: siteExternalReferenceCode @@ -4044,7 +4204,7 @@ paths: schema: type: string - in: path - name: externalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string @@ -4064,35 +4224,36 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" responses: default: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/by-external-reference-code/{externalReferenceCode}/page-specifications": + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published/page-experiences": get: description: - Retrieves the page specifications of a site page. - operationId: getSiteSitePagePageSpecificationsByExternalReferenceCode + Retrieves all the experiences of a published page specification. + operationId: getSiteSitePagePageSpecificationPublishedPageExperiences parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: query - name: externalReferenceCode + - in: path + name: sitePageExternalReferenceCode + required: true schema: type: string - in: query @@ -4113,27 +4274,28 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" type: array # @review - tags: ["SitePage"] + tags: ["PageSpecification"] post: description: - Adds a new page specification in draft status to a site page. - operationId: postSiteSitePagePageSpecificationByExternalReferenceCode + Adds a new experience to a published page specification of a site page. + operationId: postSiteSitePagePageSpecificationPublishedPageExperience parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: query - name: externalReferenceCode + - in: path + name: sitePageExternalReferenceCode + required: true schema: type: string - in: query @@ -4152,20 +4314,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" description: default response # @review - tags: ["SitePage"] \ No newline at end of file + tags: ["PageSpecification"] \ No newline at end of file From 23214846ac04e6416c8fcc253425430553a10137 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 11:54:05 +0200 Subject: [PATCH 077/260] LPD-23526 Add endpoints for putting, patching, getting and deleting an action of a page rule --- .../headless-site-impl/rest-openapi.yaml | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 3da1bd5e6371cb..ab34f35fe79926 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3362,6 +3362,165 @@ paths: default response # @review tags: ["PageExperience"] + "/sites/{siteExternalReferenceCode}/page-rule-actions/{pageRuleActionExternalReferenceCode}": + delete: + description: + Deletes a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: deleteSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageRuleAction"] + get: + description: + Retrieves a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: getSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + patch: + description: + Updates a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. Updates only the fields received in the request body, leaving any other fields + untouched. + operationId: patchSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + put: + description: + Updates a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: putSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": delete: description: From 80fff48b2cc9a20785eaef5c01cc791efe623d4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 12:16:57 +0200 Subject: [PATCH 078/260] LPD-23525 Add endpoints for getting actions and creating an action of a page rule --- .../headless-site-impl/rest-openapi.yaml | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index ab34f35fe79926..d0b0605b8c398a 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3676,6 +3676,101 @@ paths: items: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-actions": + get: + description: + Retrieves all the page rule action actions within an experience in a page specification of a site page. + operationId: getSitePageRulePageRuleActions + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + # @review + tags: ["PageRule"] + post: + description: + Adds a new page rule action to a page rule in an experience in a page specification in draft status of a + site page. + operationId: postSitePageRulePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: pageRuleExternalReferenceCode + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleAction" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleAction" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleAction" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleAction" + description: + default response + # @review + tags: ["PageRule"] "/sites/{siteExternalReferenceCode}/site-pages": get: description: From 54a961302aaeec6f69b5a41b841a8f20237d1fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 12:21:41 +0200 Subject: [PATCH 079/260] LPD-23519 Add endpoints for putting, patching, getting and deleting a condition of a page rule --- .../headless-site-impl/rest-openapi.yaml | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index d0b0605b8c398a..01bf633ded68db 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3521,6 +3521,165 @@ paths: items: $ref: "#/components/schemas/PageRuleAction" tags: ["PageRuleAction"] + "/sites/{siteExternalReferenceCode}/page-rule-conditions/{pageRuleConditionExternalReferenceCode}": + delete: + description: + Deletes a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: deleteSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageRuleCondition"] + get: + description: + Retrieves a page rule condition within a page rule of an experience of a specific page specification of + a site page within a site. + operationId: getSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] + patch: + description: + Updates a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. Updates only the fields received in the request body, leaving any other fields + untouched. + operationId: patchSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] + put: + description: + Updates a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: putSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": delete: description: From 520668bca21c78fb63d49dcef039a6b8a7ca0ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 12:24:07 +0200 Subject: [PATCH 080/260] LPD-23521 Add endpoints for getting conditions and creating a condition of a page rule --- .../headless-site-impl/rest-openapi.yaml | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 01bf633ded68db..079d92d36ecfea 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -3930,6 +3930,102 @@ paths: default response # @review tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-conditions": + get: + description: + Retrieves all the page rule condition conditions within an experience in a page specification of a site + page. + operationId: getSitePageRulePageRuleConditions + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + # @review + tags: ["PageRule"] + post: + description: + Adds a new page rule condition to a page rule in an experience in a page specification in draft status + of a site page. + operationId: postSitePageRulePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: pageRuleExternalReferenceCode + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleCondition" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleCondition" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleCondition" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleCondition" + description: + default response + # @review + tags: ["PageRule"] "/sites/{siteExternalReferenceCode}/site-pages": get: description: From 7f4edc690fb197eca22748dd0affcbaf341ea7af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 15:45:42 +0200 Subject: [PATCH 081/260] LPD-23361 Move from headless-site to headless-admin-site --- .../headless-admin-site-api/.lfrbuild-portal | 0 .../headless-admin-site-api/bnd.bnd | 6 + .../headless-admin-site-api/build.gradle | 15 + .../.lfrbuild-portal | 0 .../headless-admin-site-client/bnd.bnd | 3 + .../headless-admin-site-client/build.gradle | 3 + .../headless-admin-site-impl/.lfrbuild-portal | 0 .../headless-admin-site-impl/bnd.bnd | 3 + .../headless-admin-site-impl/build.gradle | 20 + .../headless-admin-site-impl/rest-config.yaml | 13 + .../rest-openapi.yaml | 4842 +++++++++++++++++ .../headless-admin-site-test/bnd.bnd | 4 + .../headless-admin-site-test/build.gradle | 10 + 13 files changed, 4919 insertions(+) create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-api/.lfrbuild-portal create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-api/bnd.bnd create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-api/build.gradle create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/.lfrbuild-portal create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/bnd.bnd create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/build.gradle create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-impl/.lfrbuild-portal create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-impl/bnd.bnd create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-impl/build.gradle create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-config.yaml create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-test/bnd.bnd create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-test/build.gradle diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-api/.lfrbuild-portal b/modules/apps/headless/headless-admin-site/headless-admin-site-api/.lfrbuild-portal new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-api/bnd.bnd b/modules/apps/headless/headless-admin-site/headless-admin-site-api/bnd.bnd new file mode 100644 index 00000000000000..6a7e5b5bc3ed0f --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-api/bnd.bnd @@ -0,0 +1,6 @@ +Bundle-Name: Liferay Headless Admin Site API +Bundle-SymbolicName: com.liferay.headless.admin.site.api +Bundle-Version: 1.0.0 +Export-Package:\ + com.liferay.headless.admin.site.dto.v1_0,\ + com.liferay.headless.admin.site.resource.v1_0 \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-api/build.gradle b/modules/apps/headless/headless-admin-site/headless-admin-site-api/build.gradle new file mode 100644 index 00000000000000..057228be30d503 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-api/build.gradle @@ -0,0 +1,15 @@ +dependencies { + compileOnly group: "com.fasterxml.jackson.core", name: "jackson-annotations", version: "2.16.1" + compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "default" + compileOnly group: "io.swagger.core.v3", name: "swagger-annotations", version: "2.0.5" + compileOnly group: "javax.annotation", name: "javax.annotation-api", version: "1.3.2" + compileOnly group: "javax.validation", name: "validation-api", version: "2.0.1.Final" + compileOnly group: "javax.ws.rs", name: "javax.ws.rs-api", version: "2.1" + compileOnly group: "javax.xml.bind", name: "jaxb-api", version: "2.3.0" + compileOnly group: "org.apache.felix", name: "org.apache.felix.http.servlet-api", version: "1.1.2" + compileOnly group: "org.osgi", name: "org.osgi.annotation.versioning", version: "1.1.0" + compileOnly project(":apps:portal-odata:portal-odata-api") + compileOnly project(":apps:portal-vulcan:portal-vulcan-api") + compileOnly project(":core:petra:petra-function") + compileOnly project(":core:petra:petra-string") +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/.lfrbuild-portal b/modules/apps/headless/headless-admin-site/headless-admin-site-client/.lfrbuild-portal new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/bnd.bnd b/modules/apps/headless/headless-admin-site/headless-admin-site-client/bnd.bnd new file mode 100644 index 00000000000000..70f4e4c04e6647 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/bnd.bnd @@ -0,0 +1,3 @@ +Bundle-Name: Liferay Headless Admin Site Client +Bundle-SymbolicName: com.liferay.headless.admin.site.client +Bundle-Version: 1.0.0 \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/build.gradle b/modules/apps/headless/headless-admin-site/headless-admin-site-client/build.gradle new file mode 100644 index 00000000000000..b802e77531117e --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compileOnly group: "javax.annotation", name: "javax.annotation-api", version: "1.3.2" +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/.lfrbuild-portal b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/.lfrbuild-portal new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/bnd.bnd b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/bnd.bnd new file mode 100644 index 00000000000000..c13ab3055503c7 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/bnd.bnd @@ -0,0 +1,3 @@ +Bundle-Name: Liferay Headless Admin Site Implementation +Bundle-SymbolicName: com.liferay.headless.admin.site.impl +Bundle-Version: 1.0.0 \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/build.gradle b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/build.gradle new file mode 100644 index 00000000000000..8cec50070146a2 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/build.gradle @@ -0,0 +1,20 @@ +dependencies { + compileOnly group: "com.fasterxml.jackson.core", name: "jackson-annotations", version: "2.16.1" + compileOnly group: "com.liferay.portal", name: "com.liferay.portal.impl", version: "default" + compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "default" + compileOnly group: "io.swagger.core.v3", name: "swagger-annotations", version: "2.0.5" + compileOnly group: "javax.annotation", name: "javax.annotation-api", version: "1.3.2" + compileOnly group: "javax.portlet", name: "portlet-api", version: "3.0.1" + compileOnly group: "javax.validation", name: "validation-api", version: "2.0.1.Final" + compileOnly group: "javax.ws.rs", name: "javax.ws.rs-api", version: "2.1" + compileOnly group: "org.apache.felix", name: "org.apache.felix.http.servlet-api", version: "1.1.2" + compileOnly group: "org.osgi", name: "org.osgi.service.component", version: "1.4.0" + compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.4.0" + compileOnly group: "org.osgi", name: "osgi.core", version: "6.0.0" + compileOnly project(":apps:headless:headless-admin-site:headless-admin-site-api") + compileOnly project(":apps:portal-odata:portal-odata-api") + compileOnly project(":apps:portal-vulcan:portal-vulcan-api") + compileOnly project(":apps:site:site-api") + compileOnly project(":core:petra:petra-function") + compileOnly project(":core:petra:petra-string") +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-config.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-config.yaml new file mode 100644 index 00000000000000..122ccaf682be3a --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-config.yaml @@ -0,0 +1,13 @@ +apiDir: "../headless-admin-site-api/src/main/java" +apiPackagePath: "com.liferay.headless.admin.site" +application: + baseURI: "/headless-admin-site" + className: "HeadlessAdminSiteApplication" + name: "Liferay.Headless.Admin.Site" +author: "Rubén Pulido" +clientDir: "../headless-admin-site-client/src/main/java" +compatibilityVersion: 6 +forcePredictableOperationId: true +generateBatch: false +generateGraphQL: false +testDir: "../headless-admin-site-test/src/testIntegration/java" \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml new file mode 100644 index 00000000000000..a24013a8bcc9e4 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -0,0 +1,4842 @@ +components: + schemas: + ActionExecutionResult: + # @review + description: + Represents a definition of an action execution result. + properties: + type: + # @review + description: + The type of result. + enum: [DisplayPage, None, Notification, Page, URL] + type: + string + value: + oneOf: + - $ref: "#/components/schemas/DisplayPageActionExecutionResult" + - $ref: "#/components/schemas/NoneActionExecutionResult" + - $ref: "#/components/schemas/NotificationActionExecutionResult" + - $ref: "#/components/schemas/SitePageActionExecutionResult" + - $ref: "#/components/schemas/URLActionExecutionResult" + type: object + AggregateRating: + description: + Represents the average rating. See [AggregateRating](https://www.schema.org/AggregateRating) for more + information. + properties: + bestRating: + description: + The highest possible rating (by default normalized to 1.0). + format: double + readOnly: true + type: number + ratingAverage: + description: + The average rating. + format: double + readOnly: true + type: number + ratingCount: + description: + The number of ratings. + readOnly: true + type: integer + ratingValue: + # @review + description: + The rating value. + format: double + readOnly: true + type: number + worstRating: + description: + The lowest possible rating (by default normalized to 0.0). + format: double + readOnly: true + type: number + type: object + ClassFieldReference: + properties: + className: + type: string + fieldName: + type: string + fieldValue: + type: string + required: + - className + - fieldName + - fieldValue + type: object + ClassFieldsReference: + properties: + className: + type: string + fields: + description: + The list of fields for the reference. + items: + properties: + fieldName: + description: + The name of the field. + type: string + fieldValue: + description: + The internal value of the field. + type: string + type: object + type: array + required: + - className + - fields + type: object + ClassNameReference: + properties: + className: + type: string + required: + - className + ClassPKReference: + properties: + className: + type: string + classPK: + format: int64 + type: integer + required: + - className + - classPK + type: object + ClassTypeReference: + properties: + className: + type: string + classType: + format: int64 + type: integer + required: + - className + type: object + ClientExtension: + # @review + description: + Represents a client extension + properties: + clientExtensionConfig: + additionalProperties: + type: string + type: object + externalReferenceCode: + # @review + description: + The client extension's external reference code. + type: string + name: + description: + The client extension's name. + readOnly: true + type: string + type: object + CollectionViewport: + # @review + description: + Represents a collection viewport. + properties: + collectionViewportDefinition: + # @review + description: + The definition of the collection viewport. + properties: + numberOfColumns: + # @review + description: + The number of columns of the collection viewport. + type: integer + type: object + id: + # @review + description: + The collection viewport's ID. + type: string + required: + - id + - collectionViewportDefinition + type: object + ColumnViewport: + properties: + columnViewportDefinition: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + id: + type: string + required: + - columnViewportDefinition + - id + type: object + ContentDocument: + description: + Represents a document (binary data and metadata) associated with structured content. Properties follow + the [Media Object](https://schema.org/MediaObject) specification. + properties: + actions: + additionalProperties: + additionalProperties: + type: string + type: object + # @review + description: + Block of actions allowed by the user making the request. + readOnly: true + type: object + contentType: + description: + The type of content. + readOnly: true + type: string + contentUrl: + description: + The document's relative URL. + format: uri + readOnly: true + type: string + contentValue: + # @review + description: + optional field with the content of the document in Base64, can be embedded with nestedFields + readOnly: true + type: string + description: + description: + The document's description. + type: string + encodingFormat: + description: + The document's content type (e.g., `application/pdf`, etc.). + readOnly: true + type: string + fileExtension: + description: + The document's file extension. + readOnly: true + type: string + id: + description: + The document's ID. + format: int64 + type: integer + sizeInBytes: + description: + The document's file size in bytes. + format: int64 + readOnly: true + type: integer + title: + description: + The document's title. + type: string + type: object + ContextReference: + properties: + contextSource: + enum: [CollectionItem, DisplayPageItem] + type: string + required: + - contextSource + type: object + CustomCSSViewport: + # @review + description: + Represents a custom CSS viewport. + properties: + customCSS: + # @review + description: + The definition of the custom CSS viewport. + type: string + id: + # @review + description: + The custom CSS viewport's ID. + type: string + required: + - id + - customCSS + type: object + CustomField: + # @review + description: + Represents the value of each custom field. Fields can contain different information types (e.g., + geolocation, strings, etc.). + properties: + customValue: + $ref: "#/components/schemas/CustomValue" + description: + The field's value. + dataType: + description: + The field type (e.g., image, text, etc.). + readOnly: true + type: string + name: + description: + The field's internal name. This is valid for comparisons and unique in the structured content. + type: string + CustomMetaTag: + # @review + description: + Represents a custom meta tag. + properties: + key: + # @review + description: + The custom metatag's key. + type: string + value: + # @review + description: + The custom metatag's value + type: string + value_i18n: + additionalProperties: + type: string + # @review + description: + The localized custom metatag's values. + type: object + type: object + CustomValue: + # @review + description: + Represents a custom value. + properties: + data: + # @review + description: + The field's content value for simple types. + type: object + data_i18n: + additionalProperties: + type: string + # @review + description: + The localized field's content values for simple types. + type: object + geo: + $ref: "#/components/schemas/Geo" + description: + A point determined by latitude and longitude. + type: object + DisplayPageActionExecutionResult: + # @review + description: + Represents a definition of an action execution of type display page. + properties: + mapping: + # @review + description: + The mapping of the display page action result. + properties: + fieldKey: + # @review + description: + The mapping's field key. + type: string + type: object + type: object + Experience: + description: + # @review + Represents a customized experience for a given page. + properties: + externalReferenceCode: + description: + The experience's external reference code, unique per site. + type: string + key: + # @review + description: + the experience's key. + type: string + name: + # @review + description: + the experience's name. + type: string + name_i18n: + additionalProperties: + type: string + # @review + description: + the localized experience's names. + type: object + pageStructure: + $ref: "#/components/schemas/PageStructure" + priority: + # @review + description: + the experience's priority. It must be a unique value within the page specification. The default + experience will always be assigned priority 0. A priority higher than 0 will result in an + experience being active and a priority lower than 0 will result in an experience being inactive. + type: integer + segments: + # @review + description: + A list of segments the experience is used for. + items: + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Segment" + type: array + type: object + Fragment: + # @review + description: + Represents a template made up of CSS, HTML, and JavaScript used to build Content Pages. + properties: + collectionName: + # @review + description: + The collection name this fragment belongs to. + type: string + key: + # @review + description: + The fragment's key. + type: string + name: + # @review + description: + The fragment's name. + type: string + siteKey: + # @review + description: + The key of the site to which this fragment is scoped. + readOnly: true + type: string + type: object + FragmentField: + # @review + description: + Represents a fragment field. + properties: + id: + # @review + description: + The fragment field's ID. + type: string + value: + anyOf: + - $ref: "#/components/schemas/FragmentFieldAction" + - $ref: "#/components/schemas/FragmentFieldBackgroundImage" + - $ref: "#/components/schemas/FragmentFieldHTML" + - $ref: "#/components/schemas/FragmentFieldImage" + - $ref: "#/components/schemas/FragmentFieldText" + # @review + description: + The fragment field's value. + type: object + FragmentFieldAction: + # @review + description: + Represents a fragment field with an action. + properties: + action: + # @review + description: + The fragment field's action. Must be mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentMappedValue" + onError: + $ref: "#/components/schemas/ActionExecutionResult" + # @review + description: + The action execution result in case the action fails. + onSuccess: + $ref: "#/components/schemas/ActionExecutionResult" + # @review + description: + The action execution result in case the action succeeds. + text: + # @review + description: + The fragment field's text. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentFieldBackgroundImage: + # @review + description: + Represents a fragment field with a background image. + properties: + backgroundFragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The fragment field's background image. + backgroundImage: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" + properties: + description: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + title: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + url: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + type: object + FragmentFieldHTML: + # @review + description: + Represents a fragment field with HTML. + properties: + html: + # @review + description: + The fragment field's HTML. Can be inline or mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentFieldImage: + # @review + description: + Represents a fragment field with an image. + properties: + fragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The fragment field's image. + fragmentLink: + $ref: "#/components/schemas/FragmentLink" + # @review + description: + A link to a fragment. + type: object + FragmentFieldText: + # @review + description: + Represents a fragment field with text. + properties: + fragmentLink: + $ref: "#/components/schemas/FragmentLink" + # @review + description: + A link to a fragment. + text: + # @review + description: + The fragment field's text. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentImage: + # @review + description: + Represents a fragment image. + properties: + description: + # @review + description: + The fragment image's description. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + fragmentImageClassPKReference: + $ref: "#/components/schemas/FragmentImageClassPKReference" + # @review + description: + A reference to a fragment image class primary key. + title: + # @review + description: + The fragment image's title. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + url: + # @review + description: + The fragment image's url. Can be inline or mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + FragmentImageClassPKReference: + # @review + description: + Represents a reference to a fragment image class primary key. + properties: + classPKReferences: + additionalProperties: + $ref: "#/components/schemas/ClassPKReference" + # @review + description: + A map of class primary key references. + type: object + fragmentImageConfiguration: + $ref: "#/components/schemas/FragmentImageConfiguration" + # @review + description: + The fragment image's configuration. + type: object + FragmentImageConfiguration: + # @review + description: + Represents the Adaptive Media fragment image configuration for different viewports. + properties: + landscapeMobile: + # @review + description: + The landscape mobile configuration of the fragment image. + type: string + portraitMobile: + # @review + description: + The portrait mobile configuration of the fragment image. + type: string + tablet: + # @review + description: + The tablet configuration of the fragment image. + type: string + type: object + FragmentInlineValue: + # @review + description: + Represents a fragment inline value. + properties: + value: + # @review + description: + The fragment's inline value. + type: string + value_i18n: + additionalProperties: + type: string + # @review + description: + The localized fragment's inline values. + type: object + type: object + FragmentLink: + # @review + description: + Represents a fragment link. + properties: + href: + deprecated: true + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + target: + deprecated: true + enum: [Blank, Parent, Self, Top] + type: string + value: + $ref: "#/components/schemas/FragmentLinkValue" + # @review + description: + The fragment link's value. + value_i18n: + additionalProperties: + $ref: "#/components/schemas/FragmentLinkValue" + # @review + description: + The localized fragment link's values. + type: object + FragmentLinkValue: + # @review + description: + Represents a fragment link value. + properties: + href: + # @review + description: + The fragment link value's hypertext reference. Can be inline or mapped to an external value. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + target: + # @review + description: + The fragment link value's target (blank, parent, self, top). + enum: [Blank, Parent, Self, Top] + type: string + FragmentMappedValue: + # @review + description: + Represents a fragment mapped value. + properties: + defaultFragmentInlineValue: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The default value of the fragment mapped value. + defaultValue: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by defaultFragmentInlineValue" + properties: + value: + type: string + value_i18n: + additionalProperties: + type: string + type: object + type: object + mapping: + # @review + description: + The mapping of the fragment mapped value. + properties: + fieldKey: + # @review + description: + The mapping's field key. + type: string + itemReference: + # @review + description: + The mapping's item reference. + oneOf: + - $ref: "#/components/schemas/ClassFieldReference" + - $ref: "#/components/schemas/ClassFieldsReference" + - $ref: "#/components/schemas/ClassPKReference" + - $ref: "#/components/schemas/ContextReference" + type: object + type: object + FragmentSettingsAllowed: + # @review + description: + Represents the settings of allowed fragments in a page dropzone. + properties: + allowedFragments: + # @review + description: + A list of allowed fragments. + items: + $ref: "#/components/schemas/Fragment" + type: array + type: object + FragmentSettingsUnallowed: + # @review + description: + Represents the settings of unallowed fragments in a page dropzone. + properties: + unallowedFragments: + items: + $ref: "#/components/schemas/Fragment" + type: array + type: object + FragmentStyle: + # @review + description: + Represents a fragment style. + properties: + backgroundColor: + # @review + description: + The fragment's background color. + type: string + backgroundFragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The fragment's background image. + borderColor: + # @review + description: + The fragment's border color. + type: string + borderRadius: + # @review + description: + The fragment's background radius. + type: string + borderWidth: + # @review + description: + The fragment's border width. + type: string + fontFamily: + # @review + description: + The fragment's font family. + type: string + fontSize: + # @review + description: + The fragment's font size. + type: string + fontWeight: + # @review + description: + The fragment's font weight. + type: string + height: + # @review + description: + The fragment's height. + type: string + hidden: + # @review + description: + Specifies if the fragment is hidden to the user. + type: boolean + marginBottom: + # @review + description: + The fragment's margin bottom. + type: string + marginLeft: + # @review + description: + The fragment's margin left. + type: string + marginRight: + # @review + description: + The fragment's margin right. + type: string + marginTop: + # @review + description: + The fragment's margin top. + type: string + maxHeight: + # @review + description: + The fragment's max height. + type: string + maxWidth: + # @review + description: + The fragment's max width. + type: string + minHeight: + # @review + description: + The fragment's min height. + type: string + minWidth: + # @review + description: + The fragment's min width. + type: string + opacity: + # @review + description: + The fragment's opacity. + type: string + overflow: + # @review + description: + The fragment's overflow behavior. + type: string + paddingBottom: + # @review + description: + The fragment's padding bottom. + type: string + paddingLeft: + # @review + description: + The fragment's padding left. + type: string + paddingRight: + # @review + description: + The fragment's padding right. + type: string + paddingTop: + # @review + description: + The fragment's padding top. + type: string + shadow: + # @review + description: + The fragment's shadow effect. + type: string + textAlign: + # @review + description: + The fragment's text align. + type: string + textColor: + # @review + description: + The fragment's text color. + type: string + width: + # @review + description: + The fragment's width. + type: string + type: object + FragmentViewport: + # @review + description: + Represents a fragment viewport. + properties: + fragmentViewportStyle: + # @review + description: + The fragment's viewport style. + properties: + backgroundColor: + # @review + description: + The fragment viewport's background color. + type: string + borderColor: + # @review + description: + The fragment viewport's border color. + type: string + borderRadius: + # @review + description: + The fragment viewport's background radius. + type: string + borderWidth: + # @review + description: + The fragment viewport's border width. + type: string + fontFamily: + # @review + description: + The fragment viewport's font family. + type: string + fontSize: + # @review + description: + The fragment viewport's font size. + type: string + fontWeight: + # @review + description: + The fragment viewport's font weight. + type: string + height: + # @review + description: + The fragment viewport's height. + type: string + hidden: + # @review + description: + Specifies if the fragment's viewport is hidden to the user. + type: boolean + marginBottom: + # @review + description: + The fragment viewport's margin bottom. + type: string + marginLeft: + # @review + description: + The fragment viewport's margin left. + type: string + marginRight: + # @review + description: + The fragment viewport's margin right. + type: string + marginTop: + # @review + description: + The fragment viewport's margin top. + type: string + maxHeight: + # @review + description: + The fragment viewport's max height. + type: string + maxWidth: + # @review + description: + The fragment viewport's max width. + type: string + minHeight: + # @review + description: + The fragment viewport's min height. + type: string + minWidth: + # @review + description: + The fragment viewport's min width. + type: string + opacity: + # @review + description: + The fragment viewport's opacity. + type: string + overflow: + # @review + description: + The fragment viewport's overflow behavior. + type: string + paddingBottom: + # @review + description: + The fragment viewport's padding bottom. + type: string + paddingLeft: + # @review + description: + The fragment viewport's padding left. + type: string + paddingRight: + # @review + description: + The fragment viewport's padding right. + type: string + paddingTop: + # @review + description: + The fragment viewport's padding top. + type: string + shadow: + # @review + description: + The fragment viewport's shadow effect. + type: string + textAlign: + # @review + description: + The fragment viewport's text align. + type: string + textColor: + # @review + description: + The fragment viewport's text color. + type: string + width: + # @review + description: + The fragment viewport's width. + type: string + type: object + id: + # @review + description: + The fragment viewport's ID. + type: string + required: + - fragmentViewportStyle + - id + type: object + Geo: + description: + A point determined by latitude and longitude. + properties: + latitude: + description: + The latitude of a point in space. + format: double + type: number + longitude: + description: + The longitude of a point in space. + format: double + type: number + type: object + MasterPage: + # @review + description: + Represents a page with common elements (header, footer, ...) used for all or several pages of a site. + properties: + key: + # @review + description: + The master page's key. + type: string + name: + # @review + description: + The master page's name. + type: string + type: object + MessageFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type message. + properties: + message: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized submission of message type. + messageType: + # @review + description: + The message form submission type (embedded, none). + enum: [Embedded, None] + type: string + showNotification: + type: boolean + type: object + NoneActionExecutionResult: + # @review + description: + Represents a definition of an action execution result of type none. + properties: + reload: + # @review + description: + Whether to reload the page after the action is executed. + type: boolean + type: object + NotificationActionExecutionResult: + # @review + description: + Represents a definition of an action execution result of type notification. + properties: + reload: + # @review + description: + Whether to reload the page after the action is executed. + type: boolean + text: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized text to display when an action is executed. + type: object + OpenGraphSettings: + # @review + description: + Represents settings related with Open Graph protocol. + properties: + description: + # @review + description: + The Open Graph's description. + type: string + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized Open Graph's descriptions. + type: object + image: + $ref: "#/components/schemas/ContentDocument" + # @review + description: + The Open Graph's image. + imageAlt: + # @review + description: + The Open Graph's image alt. + type: string + imageAlt_i18n: + additionalProperties: + type: string + # @review + description: + The localized Open Graph's image alts. + type: object + title: + # @review + description: + The Open Graph's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized Open Graph's titles. + type: object + type: object + PageCollectionDefinition: + # @review + description: + Represents a definition of a Page Collection. + properties: + collectionConfig: + properties: + collectionReference: + # @review + description: + The page collection's reference. + oneOf: + - $ref: "#/components/schemas/ClassNameReference" + - $ref: "#/components/schemas/ClassPKReference" + collectionType: + # @review + description: + The page collection's type (Collection, CollectionProvider). + enum: [Collection, CollectionProvider] + type: string + required: + - collectionReference + - collectionType + type: object + collectionViewports: + # @review + description: + A list of viewports of the page collection. + items: + $ref: "#/components/schemas/CollectionViewport" + type: array + displayAllItems: + # @review + description: + Whether to show all items when pagination is disabled. + type: boolean + displayAllPages: + # @review + description: + Whether to show all pages when pagination is enabled. + type: boolean + emptyCollectionConfig: + properties: + displayMessage: + # @review + description: + Whether to display a message when the collection is empty or no results match the + applied filters (true by default). + type: boolean + message_i18n: + additionalProperties: + type: string + # @review + description: + The localized message to display when the collection is empty or no results match the + applied filters ('No Results Found' by default). + type: object + type: object + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page collection. + fragmentViewports: + # @review + description: + The fragment viewports of the page collection. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + layout: + # @review + description: + the page section's layout. + properties: + align: + enum: [Baseline, Center, End, None, Start, Stretch] + type: string + flexWrap: + enum: [NoWrap, Wrap, WrapReverse] + type: string + justify: + enum: [Center, End, None, SpaceAround, SpaceBetween, Start] + type: string + type: object + listItemStyle: + # @review + description: + The style of a list of items in the page collection. + type: string + listStyle: + # @review + description: + The style of a list in the page collection. + type: string + name: + # @review + description: + The custom name of a Page Collection. + type: string + numberOfColumns: + # @review + description: + The number of columns in the page collection. + type: integer + numberOfItems: + # @review + description: + The maximum number of items to display in the page collection when pagination is disabled. + type: integer + numberOfItemsPerPage: + # @review + description: + The number of items per page in the page collection. + type: integer + numberOfPages: + # @review + description: + The maximum number of pages to show when pagination is enabled. + type: integer + paginationType: + # @review + description: + The type of pagination. + enum: [ + None, + Numeric, + # "Deprecated as of Cavanaugh (7.4.x), replaced by Numeric" + Regular, + Simple] + type: string + showAllItems: + deprecated: true + # @review + description: + Whether to show all items when pagination is enabled. Deprecated as of Cavanaugh (7.4.x), + replaced by displayAllPages + type: boolean + templateKey: + # @review + description: + The page collection's template key. + type: string + type: object + PageCollectionItemDefinition: + # @review + description: + Represents a definition of a Page Collection Item. + properties: + collectionItemConfig: + # @review + description: + The page collection item's configuration. + type: object + type: object + PageColumnDefinition: + # @review + description: + Represents a definition of a Page Column. + properties: + columnViewportConfig: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by columnViewports" + properties: + landscapeMobile: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + portraitMobile: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + tablet: + properties: + size: + maximum: 12 + minimum: 1 + type: integer + type: object + type: object + columnViewports: + # @review + description: + A list of column viewports of the page column definition. + items: + $ref: "#/components/schemas/ColumnViewport" + type: array + size: + # @review + description: + The page column's size. + maximum: 12 + minimum: 1 + type: integer + type: object + PageDefinition: + # @review + description: + Represent a definition of a Page. + properties: + pageElement: + $ref: "#/components/schemas/PageElement" + # @review + description: + The page's page element. + pageRules: + # @review + description: + A list of the page rules this page has. + items: + $ref: "#/components/schemas/PageRule" + type: array + settings: + $ref: "#/components/schemas/Settings" + # @review + description: + The page's settings. + version: + # @review + description: + The version of the JSON generated by page definition. + format: double + type: number + type: object + PageDropZoneDefinition: + # @review + description: + Represent a definition of a Page drop zone. + properties: + fragmentSettings: + # @review + description: + The page drop zone's allowed or unallowed fragments. + oneOf: + - $ref: "#/components/schemas/FragmentSettingsAllowed" + - $ref: "#/components/schemas/FragmentSettingsUnallowed" + type: object + PageElement: + # @review + description: + Represents a Page element. + properties: + definition: + # @review + description: + The page element's definition. + oneOf: + - $ref: "#/components/schemas/PageCollectionDefinition" + - $ref: "#/components/schemas/PageCollectionItemDefinition" + - $ref: "#/components/schemas/PageColumnDefinition" + - $ref: "#/components/schemas/PageDropZoneDefinition" + - $ref: "#/components/schemas/PageFormDefinition" + - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" + - $ref: "#/components/schemas/PageFragmentInstanceDefinition" + - $ref: "#/components/schemas/PageRootDefinition" + - $ref: "#/components/schemas/PageRowDefinition" + - $ref: "#/components/schemas/PageSectionDefinition" + - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + externalReferenceCode: + description: + The page element's external reference code. Unique within the site. + type: string + id: + description: + The page element's ID. + type: string + pageElements: + # @review + description: + A list of the page elements this page element has. + items: + $ref: "#/components/schemas/PageElement" + type: array + parentExternalReferenceCode: + description: + The parent's page element's external reference code. Unique within the site. + type: string + position: + description: + The 0-based position this page element occupies with respect to its siblings (0 for first child, + 1 for second child, ...). If not specified when creating a page element the page element will be + added at the last valid position. + minimum: 0 + type: integer + type: + # @review + description: + The page element's type (collection, collection item, column, drop zone, form, fragment, + fragment drop zone, root, row, section or widget). + enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentDropZone, Root, Row, Section, + Widget] + type: string + PageFormDefinition: + # @review + description: + Represent a definition of a Page form. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + formConfig: + # @review + description: + The page form's configuration. + properties: + formReference: + # @review + description: + The form reference. + oneOf: + - $ref: "#/components/schemas/ClassTypeReference" + - $ref: "#/components/schemas/ContextReference" + formSuccessSubmissionResult: + # @review + description: + The definition for the success message of the form. + oneOf: + - $ref: "#/components/schemas/MessageFormSubmissionResult" + - $ref: "#/components/schemas/SitePageFormSubmissionResult" + - $ref: "#/components/schemas/URLFormSubmissionResult" + type: object + type: object + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of a Page form. + fragmentViewports: + # @review + description: + A list of fragment viewports of a Page form. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + indexed: + # @review + description: + A flag that indicates whether the page fragment instance is indexed or not. + type: boolean + layout: + # @review + description: + the page section's layout. + properties: + align: + enum: [Baseline, Center, End, None, Start, Stretch] + type: string + contentDisplay: + enum: [Block, FlexColumn, FlexRow] + type: string + flexWrap: + enum: [NoWrap, Wrap, WrapReverse] + type: string + justify: + enum: [Center, End, None, SpaceAround, SpaceBetween, Start] + type: string + widthType: + # @review + description: + The width's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + type: object + name: + # @review + description: + The custom name of of a Page form. + type: string + type: object + PageFragmentDropZoneDefinition: + # @review + description: + Represents a definition of a Page Fragment DropZone. + properties: + fragmentDropZoneId: + # @review + description: + The id of the fragment dropzone + type: string + type: object + PageFragmentInstanceDefinition: + # @review + description: + Represents a definition of a Page Fragment Instance. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragment: + $ref: "#/components/schemas/Fragment" + # @review + description: + The fragment of the page fragment instance. + fragmentConfig: + additionalProperties: + type: object + # @review + description: + The page fragment instance's configuration. + type: object + fragmentFields: + # @review + description: + The fragment fields of the page fragment instance. + items: + $ref: "#/components/schemas/FragmentField" + type: array + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page fragment instance. + fragmentViewports: + # @review + description: + A list of fragment viewports of the page fragment instance. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + indexed: + # @review + description: + A flag that indicates whether the page fragment instance is indexed or not. + type: boolean + name: + # @review + description: + The custom name of a Page Fragment Instance. + type: string + widgetInstances: + # @review + description: + A list of widget instances of the page fragment instance. + items: + $ref: "#/components/schemas/WidgetInstance" + type: array + type: object + PageRootDefinition: + # @review + description: + Represents a definition of a Root Page. + type: object + PageRowDefinition: + # @review + description: + Represents a definition of a Page row. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of a Page row. + fragmentViewports: + # @review + description: + A list of fragment viewports of a Page row. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + gutters: + # @review + description: + A flag that indicates whether the page row has gutters. + type: boolean + indexed: + # @review + description: + A flag that indicates whether the page row is indexed or not. + type: boolean + modulesPerRow: + # @review + description: + The page row's modules per row. + type: integer + name: + # @review + description: + The custom name of a Page row. + type: string + numberOfColumns: + # @review + description: + The page row's number of columns. + type: integer + reverseOrder: + # @review + description: + A flag that indicates whether the page row has reverse order. + type: boolean + rowViewportConfig: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by rowViewports" + properties: + landscapeMobile: + properties: + modulesPerRow: + type: integer + reverseOrder: + type: boolean + verticalAlignment: + type: string + type: object + portraitMobile: + properties: + modulesPerRow: + type: integer + reverseOrder: + type: boolean + verticalAlignment: + type: string + type: object + tablet: + properties: + modulesPerRow: + type: integer + reverseOrder: + type: boolean + verticalAlignment: + type: string + type: object + type: object + rowViewports: + # @review + description: + A list of viewports of the page row. + items: + $ref: "#/components/schemas/RowViewport" + type: array + verticalAlignment: + # @review + description: + The vertical aligment property of the page row. + type: string + type: object + PageRule: + # @review + description: + Represents a definition of a Page Rule. + properties: + conditionType: + # @review + description: + The custom name of a Page rule. + enum: [All, Any] + type: string + id: + # @review + description: + The page rule ID. + type: string + name: + # @review + description: + The custom name of a Page rule. + type: string + pageRuleActions: + # @review + description: + A list of actions of a Page rule. + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + pageRuleConditions: + # @review + description: + A list of conditions of a Page rule. + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + type: object + PageRuleAction: + # @review + description: + Represents a definition of a Page Rule Action. + properties: + action: + # @review + description: + The page rule action's action. + type: string + id: + # @review + description: + The page rule action's ID. + type: string + itemId: + # @review + description: + The page rule condition's item ID. + type: string + type: + # @review + description: + The page rule action's type. + type: string + type: object + PageRuleCondition: + # @review + description: + Represents a definition of a Page Rule Condition. + properties: + condition: + # @review + description: + The page rule condition's description. + type: string + id: + # @review + description: + The page rule condition's ID. + type: string + type: + # @review + description: + The page rule condition's type. + type: string + value: + # @review + description: + The page rule condition's value. + type: string + type: object + PageSectionDefinition: + # @review + description: + Represents a definition of a Page section. + properties: + backgroundColor: + deprecated: true + type: string + backgroundFragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The background fragment image of the page section. + backgroundImage: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" + properties: + description: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + title: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + url: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + contentVisibility: + # @review + description: + Defines the content visibility of the container. + type: string + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragmentLink: + $ref: "#/components/schemas/FragmentLink" + # @review + description: + The fragment link of the page section. + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page section. + fragmentViewports: + # @review + description: + A list of fragment viewports of the page section. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + htmlProperties: + # @review + description: + The page section's html properties + properties: + htmlTag: + enum: [Article, Aside, Div, Footer, Header, Main, Nav, Section] + type: string + type: object + indexed: + # @review + description: + A flag that indicates whether the page section is indexed or not. + type: boolean + layout: + # @review + description: + the page section's layout. + properties: + align: + deprecated: true + enum: [Baseline, Center, End, None, Start, Stretch] + type: string + borderColor: + deprecated: true + type: string + borderRadius: + deprecated: true + enum: [Circle, Large, None, Pill, Regular] + type: string + borderWidth: + deprecated: true + type: integer + containerType: + # @review + description: + The container's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + contentDisplay: + deprecated: true + enum: [Block, FlexColumn, FlexRow] + type: string + flexWrap: + enum: [NoWrap, Wrap, WrapReverse] + type: string + justify: + deprecated: true + enum: [Center, End, None, SpaceAround, SpaceBetween, Start] + type: string + marginBottom: + deprecated: true + type: integer + marginLeft: + deprecated: true + type: integer + marginRight: + deprecated: true + type: integer + marginTop: + deprecated: true + type: integer + opacity: + deprecated: true + type: integer + paddingBottom: + deprecated: true + type: integer + paddingHorizontal: + deprecated: true + type: integer + paddingLeft: + deprecated: true + type: integer + paddingRight: + deprecated: true + type: integer + paddingTop: + deprecated: true + type: integer + shadow: + deprecated: true + enum: [Default, Large, None, Regular, Small] + type: string + widthType: + # @review + description: + The width's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + type: object + name: + # @review + description: + The custom name of a Page section. + type: string + type: object + PageSettings: + # @review + description: + Represents the settings of a Page. + properties: + customMetaTags: + # @review + description: + A list of custom metatags this page has. + items: + $ref: "#/components/schemas/CustomMetaTag" + type: array + hiddenFromNavigation: + # @review + description: + A flag that indicates whether the page is hidden from navigation. + type: boolean + openGraphSettings: + $ref: "#/components/schemas/OpenGraphSettings" + # @review + description: + The page's Open Graph settings. + seoSettings: + $ref: "#/components/schemas/SEOSettings" + # @review + description: + The page's SEO settings. + sitePageNavigationMenuSettings: + $ref: "#/components/schemas/SitePageNavigationMenuSettings" + # @review + description: + The page's site navigation menu settings. + type: object + PageSpecification: + properties: + pageExperiences: + items: + $ref: "#/components/schemas/Experience" + type: array + settings: + $ref: "#/components/schemas/Settings" + type: object + PageStructure: + properties: + pageElement: + $ref: "#/components/schemas/PageElement" + pageRules: + items: + $ref: "#/components/schemas/PageRule" + type: array + type: object + PageWidgetInstanceDefinition: + # @review + description: + Represents a definition of a Page Widget instance. + properties: + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page widget instance. + fragmentViewports: + # @review + description: + A list of fragment viewports of the page widget instance. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + name: + # @review + description: + The custom name of a Page Widget instance. + type: string + widgetInstance: + $ref: "#/components/schemas/WidgetInstance" + # @review + description: + The widget instance of the page widget instance. + type: object + RenderedPage: + # @review + description: + A list of rendered pages, which results from using a page template and the appropriate viewport to + process the page and return HTML. + properties: + masterPageId: + # @review + description: + The ID of the master page used to render the content. + readOnly: true + type: string + masterPageName: + # @review + description: + The name of the master page used to render the content. + type: string + pageTemplateId: + # @review + description: + The ID of the template used to render the content. + readOnly: true + type: string + pageTemplateName: + # @review + description: + The name of the template used to render the content. + type: string + renderedPageURL: + # @review + description: + An absolute URL to the rendered page. + type: string + type: object + RowViewport: + # @review + description: + Represents a row viewport. + properties: + id: + # @review + description: + The row viewport's ID. + type: string + rowViewportDefinition: + # @review + description: + The definition of the row viewport. + properties: + modulesPerRow: + # @review + description: + The number of modules per row. + type: integer + reverseOrder: + # @review + description: + A flag that indicates whether the row viewport has reverse order. + type: boolean + verticalAlignment: + # @review + description: + The vertical aligment property of the row viewport. + type: string + type: object + required: + - id + - rowViewportDefinition + type: object + SEOSettings: + # @review + description: + Represents settings related with SEO. + properties: + customCanonicalURL: + # @review + description: + The canonical URL of the page, if it exists. + type: string + customCanonicalURL_i18n: + additionalProperties: + type: string + # @review + description: + The localized canonical URL of the page, if it exists. + type: object + description: + type: string + # @review + description: + The page's description to be used as summary for search engines. + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized descriptions of the page to be used as summary for search engines. + type: object + htmlTitle: + # @review + description: + The page's main title to be used by search engines. + type: string + htmlTitle_i18n: + additionalProperties: + type: string + # @review + description: + The localized main titles of the page to be used by search engines. + type: object + robots: + # @review + description: + A tag telling search engines if and how they should crawl the page. + type: string + robots_i18n: + additionalProperties: + type: string + # @review + description: + A localized tag telling search engines if and how they should crawl the page. + type: object + seoKeywords: + # @review + description: + A list of target keywords of the page to be used by search engines. + type: string + seoKeywords_i18n: + additionalProperties: + type: string + # @review + description: + A list of localized target keywords of the page to be used by search engines. + type: object + siteMapSettings: + # @review + description: + Represents settings related with the site map. + properties: + changeFrequency: + description: + Indicates how often a page is updated. + enum: + - Always + - Hourly + - Daily + - Weekly + - Monthly + - Yearly + - Never + type: string + include: + description: + Whether search engines should crawl and index the page. + type: boolean + includeChildSitePages: + # @review + description: + Whether search engines should crawl and index the child pages. + type: boolean + pagePriority: + description: + How the page should be prioritized relative to other pages. + format: double + maximum: 1 + minimum: 0 + type: number + type: object + type: object + Settings: + # @review + description: + Represents the settings of a page. + properties: + colorSchemeName: + # @review + description: + The page's color scheme name. + type: string + css: + # @review + description: + The page's CSS. + type: string + favIcon: + # @review + description: + The FavIcon of the page + oneOf: + - $ref: "#/components/schemas/ClientExtension" + - $ref: "#/components/schemas/ContentDocument" + globalCSSClientExtensions: + description: + The client extensions for global css associated to the page. + items: + $ref: "#/components/schemas/ClientExtension" + type: array + globalJSClientExtensions: + description: + The client extensions for global js associated to the page. + items: + $ref: "#/components/schemas/ClientExtension" + type: array + javascript: + # @review + description: + The page's JavaScript. + type: string + masterPage: + $ref: "#/components/schemas/MasterPage" + # @review + description: + The page's master page. + styleBook: + # @review + description: + The StyleBook that is applied to the page. + properties: + key: + # @review + description: + The stylebook's key. + type: string + name: + # @review + description: + The stylebook's name. + type: string + type: object + themeCSSClientExtension: + $ref: "#/components/schemas/ClientExtension" + # @review + description: + The Client Extension for the theme css of a page + themeName: + # @review + description: + The page's theme name. + type: string + themeSettings: + # @review + description: + The page's theme settings. + type: object + themeSpritemapClientExtension: + $ref: "#/components/schemas/ClientExtension" + # @review + description: + The Client Extension for the theme spritemap of a page + type: object + Site: + # @review + description: + Represents the site being created. + properties: + externalReferenceCode: + description: + The site's external reference code. + type: string + friendlyUrlPath: + readOnly: true + type: string + id: + format: int64 + readOnly: true + type: integer + key: + readOnly: true + type: string + membershipType: + description: + The default value is open. + enum: + - open + - private + - restricted + type: string + writeOnly: true + name: + type: string + parentSiteKey: + type: string + writeOnly: true + templateKey: + type: string + writeOnly: true + templateType: + enum: + - site-initializer + - site-template + type: string + writeOnly: true + required: + - name + type: object + SitePage: + # @review + description: + Represents a site page. This is modeled internally as a `Layout`. + properties: + actions: + additionalProperties: + additionalProperties: + type: string + type: object + # @review + description: + Block of actions allowed by the user making the request. + readOnly: true + type: object + aggregateRating: + $ref: "#/components/schemas/AggregateRating" + # @review + description: + The page's average rating. + readOnly: true + availableLanguages: + # @review + description: + The list of languages the page has a translation for. + items: + type: string + readOnly: true + type: array + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page's creator. + readOnly: true + customFields: + # @review + description: + Custom fields associated with the page. + items: + $ref: "#/components/schemas/CustomField" + type: array + dateCreated: + # @review + description: + The page's creation date. + format: date-time + readOnly: true + type: string + dateModified: + # @review + description: + The last time any field of the page was changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The page's most recent publication date. + format: date-time + type: string + experience: + $ref: "#/components/schemas/Experience" + # @review + description: + Experience of the page that it's being retrieved. + externalReferenceCode: + description: + The page's external reference code. + type: string + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + id: + description: + The page ID. + format: int64 + readOnly: true + type: integer + keywords: + # @review + description: + A list of keywords describing the page. + items: + type: string + type: array + pageDefinition: + $ref: "#/components/schemas/PageDefinition" + # @review + deprecated: true + description: + Optional field with the structure of all the elements of the page. Can be embedded with + nestedFields when retrieving the collection of site pages. When retrieving a single site page, + it will automatically be included. Deprecated as of Cavanaugh (7.4.x), replaced by + Experience.pageStructure.pageElement, Experience.pageStructure.pageRules and + PageSpecification.settings. + pagePermissions: + # @review + description: + The page's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + pageSettings: + $ref: "#/components/schemas/PageSettings" + # @review + description: + Settings of the page, such as SEO or OpenGraph. + pageSpecifications: + properties: + draft: + $ref: "#/components/schemas/PageSpecification" + published: + $ref: "#/components/schemas/PageSpecification" + type: object + pageType: + # @review + description: + The type of the page. + type: string + parentSitePage: + # @review + description: + The parent page or null if it is a top level page. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the parent page. + type: string + friendlyUrlPath: + # @review + description: + The relative URL of the parent page. + type: string + type: object + renderedPage: + $ref: "#/components/schemas/RenderedPage" + # @review + description: + Metadata of the page such as it's master page and template. + siteId: + # @review + description: + The ID of the site to which this page is scoped. + format: int64 + readOnly: true + type: integer + taxonomyCategoryBriefs: + # @review + description: + The categories associated with this page. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + taxonomyCategoryIds: + deprecated: true + # @review + description: + A write-only field that adds `TaxonomyCategory` instances to the page. Deprecated as of + Cavanaugh (7.4.x), replaced by `taxonomyCategoryBriefs.taxonomyCategoryReference` + items: + format: int64 + type: integer + type: array + writeOnly: true + title: + # @review + description: + The page's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized page's titles. + type: object + uuid: + # @review + description: + A valid external identifier to reference this page. + readOnly: true + type: string + viewableBy: + enum: + - Anyone + - Members + - Owner + type: string + writeOnly: true + required: + - title + type: object + SitePageActionExecutionResult: + # @review + description: + Represents a definition of an action execution of type page. + properties: + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" + # @review + description: + The reference to a page. + type: object + SitePageFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type page. + properties: + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" + # @review + description: + The localized submission of page type. + type: object + SitePageNavigationMenuSettings: + # @review + description: + Represents settings related with the site navigation menu of a page. + properties: + queryString: + # @review + description: + The default parameter for a page. + type: string + target: + # @review + description: + The page's description to be used as summary for search engines. + type: string + targetType: + # @review + description: + The target's type (specific frame or new tab). + enum: [SpecificFrame, NewTab] + type: string + type: object + Status: + # @review + description: + Represents the status of a resource + properties: + code: + # @review + description: + A number which identifies a specific status + format: int32 + readOnly: true + type: integer + label: + # @review + description: + Label associated to the status + readOnly: true + type: string + label_i18n: + additionalProperties: + type: string + readOnly: true + type: object + TaxonomyCategoryBrief: + properties: + embeddedTaxonomyCategory: + # @review + description: + Optional field with the embedded taxonomy category, can be embedded with nestedFields + readOnly: true + type: object + taxonomyCategoryId: + description: + The category's ID. This can be used to retrieve more information in the `TaxonomyCategory` API. + format: int64 + readOnly: true + type: integer + taxonomyCategoryName: + description: + The category's name. + readOnly: true + type: string + taxonomyCategoryName_i18n: + additionalProperties: + type: string + # @review + description: + The localized category's names. + readOnly: true + type: object + taxonomyCategoryReference: + # @review + description: + A unique reference to a taxonomy category. + properties: + externalReferenceCode: + # @review + description: + The taxonomy category's external reference code. + type: string + siteKey: + # @review + description: + The key of the site or asset library where the taxonomy category is located. It can be + left out if the taxonomy category is in the same site as the page. + type: string + required: + - externalReferenceCode + type: object + type: object + URLActionExecutionResult: + # @review + description: + Represents a definition of an action execution result of type URL. + properties: + url: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized action execution result of type URL. + type: object + URLFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type URL. + properties: + url: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized submission of URL type. + type: object + UserGroupBrief: + description: + The author's user groups information. + properties: + id: + description: + The ID of the user group. + format: int64 + readOnly: true + type: integer + name: + description: + The name of the user group. + readOnly: true + type: string + type: object + WidgetInstance: + # @review + description: + Represents a Widget Instance. + properties: + widgetConfig: + additionalProperties: + type: object + type: object + widgetInstanceId: + # @review + description: + The widget instance's ID. + type: string + widgetName: + # @review + description: + The widget instance's name. + type: string + widgetPermissions: + # @review + description: + The widget instance's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + type: object +info: + description: + "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID + 'com.liferay.headless.admin.site.client', and version '1.0.0'." + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + title: Liferay Admin Sites Headless API + version: v1.0 +openapi: 3.0.1 +paths: + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": + delete: + description: + Deletes a page element within an experience of a specific page specification of a site page within a + site. + operationId: deleteSitePageElement + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageElementExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageElement"] + get: + description: + Retrieves page element within an experience of a specific page specification of a site page within a + site. + operationId: getSitePageElement + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageElementExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] + patch: + description: + Updates a page element within an experience of a specific page specification of a site page within a + site. Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageElement + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageElementExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] + put: + description: + Updates a page element within an experience of a specific page specification of a site page within a + site. + operationId: putSitePageElement + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageElementExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": + get: + description: + Retrieves all the descendant page elements of a page element within an experience in a page + specification of a site page. + operationId: getSitePageElementPageElements + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageElementExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + # @review + tags: ["PageElement"] + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}": + delete: + description: + Deletes an experience of a specific page specification of a site page within a site. The default + experience cannot be deleted. + operationId: deleteSitePageExperience + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageExperienceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageExperience"] + get: + description: + Retrieves an experience of a specific page specification of a site page within a site. + operationId: getSitePageExperience + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageExperienceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + tags: ["PageExperience"] + patch: + description: + Updates an experience of a specific page specification of a site page within a site. Updates only the + fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageExperience + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageExperienceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + tags: ["PageExperience"] + put: + description: + Updates an experience of a specific page specification of a site page within a site. + operationId: putSitePageExperience + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageExperienceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + tags: ["PageExperience"] + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-elements": + get: + description: + Retrieves all the page elements within an experience in a page specification of a site page. + operationId: getSitePageExperiencePageElements + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageExperienceExternalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + type: array + # @review + tags: ["PageExperience"] + post: + description: + Adds a new page element to an experience in a page specification in draft status of a site page. + operationId: postSitePageExperiencePageElement + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: pageExperienceExternalReferenceCode + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + $ref: "#/components/schemas/PageElement" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + $ref: "#/components/schemas/PageElement" + description: + default response + # @review + tags: ["PageExperience"] + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-rules": + get: + description: + Retrieves all the page rules within an experience in a page specification of a site page. + operationId: getSitePageExperiencePageRules + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: pageExperienceExternalReferenceCode + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + # @review + tags: ["PageExperience"] + post: + description: + Adds a new page rule to an experience in a page specification in draft status of a site page. + operationId: postSitePageExperiencePageRule + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: pageExperienceExternalReferenceCode + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRule" + application/xml: + schema: + $ref: "#/components/schemas/PageRule" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRule" + application/xml: + schema: + $ref: "#/components/schemas/PageRule" + description: + default response + # @review + tags: ["PageExperience"] + "/sites/{siteExternalReferenceCode}/page-rule-actions/{pageRuleActionExternalReferenceCode}": + delete: + description: + Deletes a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: deleteSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageRuleAction"] + get: + description: + Retrieves a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: getSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + patch: + description: + Updates a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. Updates only the fields received in the request body, leaving any other fields + untouched. + operationId: patchSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + put: + description: + Updates a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: putSitePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleActionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + "/sites/{siteExternalReferenceCode}/page-rule-conditions/{pageRuleConditionExternalReferenceCode}": + delete: + description: + Deletes a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: deleteSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageRuleCondition"] + get: + description: + Retrieves a page rule condition within a page rule of an experience of a specific page specification of + a site page within a site. + operationId: getSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] + patch: + description: + Updates a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. Updates only the fields received in the request body, leaving any other fields + untouched. + operationId: patchSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] + put: + description: + Updates a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: putSitePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleConditionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": + delete: + description: + Deletes a page rule within an experience of a specific page specification of a site page within a site. + operationId: deleteSitePageRule + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageRule"] + get: + description: + Retrieves page rule within an experience of a specific page specification of a site page within a site. + operationId: getSitePageRule + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] + patch: + description: + Updates a page rule within an experience of a specific page specification of a site page within a site. + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageRule + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] + put: + description: + Updates a page rule within an experience of a specific page specification of a site page within a site. + operationId: putSitePageRule + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRule" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-actions": + get: + description: + Retrieves all the page rule action actions within an experience in a page specification of a site page. + operationId: getSitePageRulePageRuleActions + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + # @review + tags: ["PageRule"] + post: + description: + Adds a new page rule action to a page rule in an experience in a page specification in draft status of a + site page. + operationId: postSitePageRulePageRuleAction + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: pageRuleExternalReferenceCode + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleAction" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleAction" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleAction" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleAction" + description: + default response + # @review + tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-conditions": + get: + description: + Retrieves all the page rule condition conditions within an experience in a page specification of a site + page. + operationId: getSitePageRulePageRuleConditions + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageRuleExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleCondition" + type: array + # @review + tags: ["PageRule"] + post: + description: + Adds a new page rule condition to a page rule in an experience in a page specification in draft status + of a site page. + operationId: postSitePageRulePageRuleCondition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: pageRuleExternalReferenceCode + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleCondition" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleCondition" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleCondition" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleCondition" + description: + default response + # @review + tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/site-pages": + get: + description: + Retrieves the public pages of the site + operationId: getSiteSitePagesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + format: int64 + type: integer + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/SitePage" + type: array + tags: ["SitePage"] + post: + description: + Adds a new site page + operationId: postSiteSitePage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + # @review + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}": + delete: + description: + Deletes a specific public page of a site. + operationId: deleteSiteSitePage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["SitePage"] + get: + description: + Retrieves a specific public page of a site. + operationId: getSiteSitePage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + tags: ["SitePage"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteSitePage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + tags: ["SitePage"] + put: + description: + Updates the site page with the given external reference code, or creates it if it does not exist. + operationId: putSiteSitePage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/SitePage" + application/xml: + schema: + $ref: "#/components/schemas/SitePage" + description: + default response + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": + post: + description: + Adds a new page specification in draft status to a site page. + operationId: postSiteSitePagePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft": + delete: + description: + Deletes the draft page specification of a site page. + operationId: deleteSiteSitePagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageSpecification"] + get: + description: + Retrieves the draft page specification of a site page. + operationId: getSiteSitePagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the draft page specification of a site page based only on the fields received in the request + body, leaving any other fields untouched. + operationId: patchSiteSitePagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the draft page specification of a site page. + operationId: putSiteSitePagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/page-experiences": + get: + description: + Retrieves all the experiences of a draft page specification. + operationId: getSiteSitePagePageSpecificationDraftPageExperiences + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + # @review + tags: ["PageSpecification"] + post: + description: + Adds a new experience to a draft page specification of a site page. + operationId: postSiteSitePagePageSpecificationDraftPageExperience + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + description: + default response + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": + post: + description: + Publishes a page specification in draft status of a site page. + operationId: postSiteSitePagePageSpecificationDraftPublish + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published": + get: + description: + Retrieves the published page specification of a site page. + operationId: getSiteSitePagePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the published page specification of a site page based only on the fields received in the request + body, leaving any other fields untouched. + operationId: patchSiteSitePagePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the published page specification of a site page. + operationId: putSiteSitePagePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published/page-experiences": + get: + description: + Retrieves all the experiences of a published page specification. + operationId: getSiteSitePagePageSpecificationPublishedPageExperiences + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + # @review + tags: ["PageSpecification"] + post: + description: + Adds a new experience to a published page specification of a site page. + operationId: postSiteSitePagePageSpecificationPublishedPageExperience + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + description: + default response + # @review + tags: ["PageSpecification"] \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-test/bnd.bnd b/modules/apps/headless/headless-admin-site/headless-admin-site-test/bnd.bnd new file mode 100644 index 00000000000000..ac76db60c11928 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-test/bnd.bnd @@ -0,0 +1,4 @@ +Bundle-Name: Liferay Headless Admin Site Test +Bundle-SymbolicName: com.liferay.headless.admin.site.test +Bundle-Version: 1.0.0 +-includeresource: com.liferay.headless.admin.site.client.jar=com.liferay.headless.admin.site.client-*.jar;lib:=true \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-test/build.gradle b/modules/apps/headless/headless-admin-site/headless-admin-site-test/build.gradle new file mode 100644 index 00000000000000..1476a82c09d716 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-test/build.gradle @@ -0,0 +1,10 @@ +dependencies { + testIntegrationImplementation group: "com.fasterxml.jackson.core", name: "jackson-databind", version: "2.16.1" + testIntegrationImplementation group: "javax.annotation", name: "javax.annotation-api", version: "1.3.2" + testIntegrationImplementation group: "javax.ws.rs", name: "javax.ws.rs-api", version: "2.1" + testIntegrationImplementation project(":apps:headless:headless-admin-site:headless-admin-site-api") + testIntegrationImplementation project(":apps:headless:headless-admin-site:headless-admin-site-client") + testIntegrationImplementation project(":apps:portal-odata:portal-odata-api") + testIntegrationImplementation project(":apps:portal-vulcan:portal-vulcan-api") + testIntegrationImplementation project(":test:arquillian-extension-junit-bridge") +} \ No newline at end of file From 93d7c503da643c8e0a61ab6a25ea479173d6fcd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 21 May 2024 15:48:15 +0200 Subject: [PATCH 082/260] LPD-23361 Revert changes in headless-site --- .../headless-site-impl/rest-openapi.yaml | 4880 +---------------- 1 file changed, 118 insertions(+), 4762 deletions(-) diff --git a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml index 079d92d36ecfea..efe10e8fb119ae 100644 --- a/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-site/headless-site-impl/rest-openapi.yaml @@ -1,4842 +1,198 @@ components: schemas: - ActionExecutionResult: - # @review - description: - Represents a definition of an action execution result. - properties: - type: - # @review - description: - The type of result. - enum: [DisplayPage, None, Notification, Page, URL] - type: - string - value: - oneOf: - - $ref: "#/components/schemas/DisplayPageActionExecutionResult" - - $ref: "#/components/schemas/NoneActionExecutionResult" - - $ref: "#/components/schemas/NotificationActionExecutionResult" - - $ref: "#/components/schemas/SitePageActionExecutionResult" - - $ref: "#/components/schemas/URLActionExecutionResult" - type: object - AggregateRating: - description: - Represents the average rating. See [AggregateRating](https://www.schema.org/AggregateRating) for more - information. - properties: - bestRating: - description: - The highest possible rating (by default normalized to 1.0). - format: double - readOnly: true - type: number - ratingAverage: - description: - The average rating. - format: double - readOnly: true - type: number - ratingCount: - description: - The number of ratings. - readOnly: true - type: integer - ratingValue: - # @review - description: - The rating value. - format: double - readOnly: true - type: number - worstRating: - description: - The lowest possible rating (by default normalized to 0.0). - format: double - readOnly: true - type: number - type: object - ClassFieldReference: - properties: - className: - type: string - fieldName: - type: string - fieldValue: - type: string - required: - - className - - fieldName - - fieldValue - type: object - ClassFieldsReference: - properties: - className: - type: string - fields: - description: - The list of fields for the reference. - items: - properties: - fieldName: - description: - The name of the field. - type: string - fieldValue: - description: - The internal value of the field. - type: string - type: object - type: array - required: - - className - - fields - type: object - ClassNameReference: - properties: - className: - type: string - required: - - className - ClassPKReference: - properties: - className: - type: string - classPK: - format: int64 - type: integer - required: - - className - - classPK - type: object - ClassTypeReference: - properties: - className: - type: string - classType: - format: int64 - type: integer - required: - - className - type: object - ClientExtension: - # @review - description: - Represents a client extension - properties: - clientExtensionConfig: - additionalProperties: - type: string - type: object - externalReferenceCode: - # @review - description: - The client extension's external reference code. - type: string - name: - description: - The client extension's name. - readOnly: true - type: string - type: object - CollectionViewport: - # @review - description: - Represents a collection viewport. - properties: - collectionViewportDefinition: - # @review - description: - The definition of the collection viewport. - properties: - numberOfColumns: - # @review - description: - The number of columns of the collection viewport. - type: integer - type: object - id: - # @review - description: - The collection viewport's ID. - type: string - required: - - id - - collectionViewportDefinition - type: object - ColumnViewport: - properties: - columnViewportDefinition: - properties: - size: - maximum: 12 - minimum: 1 - type: integer - type: object - id: - type: string - required: - - columnViewportDefinition - - id - type: object - ContentDocument: - description: - Represents a document (binary data and metadata) associated with structured content. Properties follow - the [Media Object](https://schema.org/MediaObject) specification. - properties: - actions: - additionalProperties: - additionalProperties: - type: string - type: object - # @review - description: - Block of actions allowed by the user making the request. - readOnly: true - type: object - contentType: - description: - The type of content. - readOnly: true - type: string - contentUrl: - description: - The document's relative URL. - format: uri - readOnly: true - type: string - contentValue: - # @review - description: - optional field with the content of the document in Base64, can be embedded with nestedFields - readOnly: true - type: string - description: - description: - The document's description. - type: string - encodingFormat: - description: - The document's content type (e.g., `application/pdf`, etc.). - readOnly: true - type: string - fileExtension: - description: - The document's file extension. - readOnly: true - type: string - id: - description: - The document's ID. - format: int64 - type: integer - sizeInBytes: - description: - The document's file size in bytes. - format: int64 - readOnly: true - type: integer - title: - description: - The document's title. - type: string - type: object - ContextReference: - properties: - contextSource: - enum: [CollectionItem, DisplayPageItem] - type: string - required: - - contextSource - type: object - CustomCSSViewport: - # @review - description: - Represents a custom CSS viewport. - properties: - customCSS: - # @review - description: - The definition of the custom CSS viewport. - type: string - id: - # @review - description: - The custom CSS viewport's ID. - type: string - required: - - id - - customCSS - type: object - CustomField: - # @review - description: - Represents the value of each custom field. Fields can contain different information types (e.g., - geolocation, strings, etc.). - properties: - customValue: - $ref: "#/components/schemas/CustomValue" - description: - The field's value. - dataType: - description: - The field type (e.g., image, text, etc.). - readOnly: true - type: string - name: - description: - The field's internal name. This is valid for comparisons and unique in the structured content. - type: string - CustomMetaTag: - # @review - description: - Represents a custom meta tag. - properties: - key: - # @review - description: - The custom metatag's key. - type: string - value: - # @review - description: - The custom metatag's value - type: string - value_i18n: - additionalProperties: - type: string - # @review - description: - The localized custom metatag's values. - type: object - type: object - CustomValue: - # @review - description: - Represents a custom value. - properties: - data: - # @review - description: - The field's content value for simple types. - type: object - data_i18n: - additionalProperties: - type: string - # @review - description: - The localized field's content values for simple types. - type: object - geo: - $ref: "#/components/schemas/Geo" - description: - A point determined by latitude and longitude. - type: object - DisplayPageActionExecutionResult: - # @review - description: - Represents a definition of an action execution of type display page. - properties: - mapping: - # @review - description: - The mapping of the display page action result. - properties: - fieldKey: - # @review - description: - The mapping's field key. - type: string - type: object - type: object - Experience: - description: - # @review - Represents a customized experience for a given page. - properties: - externalReferenceCode: - description: - The experience's external reference code, unique per site. - type: string - key: - # @review - description: - the experience's key. - type: string - name: - # @review - description: - the experience's name. - type: string - name_i18n: - additionalProperties: - type: string - # @review - description: - the localized experience's names. - type: object - pageStructure: - $ref: "#/components/schemas/PageStructure" - priority: - # @review - description: - the experience's priority. It must be a unique value within the page specification. The default - experience will always be assigned priority 0. A priority higher than 0 will result in an - experience being active and a priority lower than 0 will result in an experience being inactive. - type: integer - segments: - # @review - description: - A list of segments the experience is used for. - items: - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Segment" - type: array - type: object - Fragment: - # @review - description: - Represents a template made up of CSS, HTML, and JavaScript used to build Content Pages. - properties: - collectionName: - # @review - description: - The collection name this fragment belongs to. - type: string - key: - # @review - description: - The fragment's key. - type: string - name: - # @review - description: - The fragment's name. - type: string - siteKey: - # @review - description: - The key of the site to which this fragment is scoped. - readOnly: true - type: string - type: object - FragmentField: - # @review - description: - Represents a fragment field. - properties: - id: - # @review - description: - The fragment field's ID. - type: string - value: - anyOf: - - $ref: "#/components/schemas/FragmentFieldAction" - - $ref: "#/components/schemas/FragmentFieldBackgroundImage" - - $ref: "#/components/schemas/FragmentFieldHTML" - - $ref: "#/components/schemas/FragmentFieldImage" - - $ref: "#/components/schemas/FragmentFieldText" - # @review - description: - The fragment field's value. - type: object - FragmentFieldAction: - # @review - description: - Represents a fragment field with an action. - properties: - action: - # @review - description: - The fragment field's action. Must be mapped to an external value. - oneOf: - - $ref: "#/components/schemas/FragmentMappedValue" - onError: - $ref: "#/components/schemas/ActionExecutionResult" - # @review - description: - The action execution result in case the action fails. - onSuccess: - $ref: "#/components/schemas/ActionExecutionResult" - # @review - description: - The action execution result in case the action succeeds. - text: - # @review - description: - The fragment field's text. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object - FragmentFieldBackgroundImage: - # @review - description: - Represents a fragment field with a background image. - properties: - backgroundFragmentImage: - $ref: "#/components/schemas/FragmentImage" - # @review - description: - The fragment field's background image. - backgroundImage: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" - properties: - description: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - title: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - url: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object - type: object - FragmentFieldHTML: - # @review - description: - Represents a fragment field with HTML. - properties: - html: - # @review - description: - The fragment field's HTML. Can be inline or mapped to an external value. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object - FragmentFieldImage: - # @review - description: - Represents a fragment field with an image. - properties: - fragmentImage: - $ref: "#/components/schemas/FragmentImage" - # @review - description: - The fragment field's image. - fragmentLink: - $ref: "#/components/schemas/FragmentLink" - # @review - description: - A link to a fragment. - type: object - FragmentFieldText: - # @review - description: - Represents a fragment field with text. - properties: - fragmentLink: - $ref: "#/components/schemas/FragmentLink" - # @review - description: - A link to a fragment. - text: - # @review - description: - The fragment field's text. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object - FragmentImage: - # @review - description: - Represents a fragment image. - properties: - description: - # @review - description: - The fragment image's description. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - fragmentImageClassPKReference: - $ref: "#/components/schemas/FragmentImageClassPKReference" - # @review - description: - A reference to a fragment image class primary key. - title: - # @review - description: - The fragment image's title. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - url: - # @review - description: - The fragment image's url. Can be inline or mapped to an external value. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object - FragmentImageClassPKReference: - # @review - description: - Represents a reference to a fragment image class primary key. - properties: - classPKReferences: - additionalProperties: - $ref: "#/components/schemas/ClassPKReference" - # @review - description: - A map of class primary key references. - type: object - fragmentImageConfiguration: - $ref: "#/components/schemas/FragmentImageConfiguration" - # @review - description: - The fragment image's configuration. - type: object - FragmentImageConfiguration: - # @review - description: - Represents the Adaptive Media fragment image configuration for different viewports. - properties: - landscapeMobile: - # @review - description: - The landscape mobile configuration of the fragment image. - type: string - portraitMobile: - # @review - description: - The portrait mobile configuration of the fragment image. - type: string - tablet: - # @review - description: - The tablet configuration of the fragment image. - type: string - type: object - FragmentInlineValue: - # @review - description: - Represents a fragment inline value. - properties: - value: - # @review - description: - The fragment's inline value. - type: string - value_i18n: - additionalProperties: - type: string - # @review - description: - The localized fragment's inline values. - type: object - type: object - FragmentLink: - # @review - description: - Represents a fragment link. - properties: - href: - deprecated: true - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - target: - deprecated: true - enum: [Blank, Parent, Self, Top] - type: string - value: - $ref: "#/components/schemas/FragmentLinkValue" - # @review - description: - The fragment link's value. - value_i18n: - additionalProperties: - $ref: "#/components/schemas/FragmentLinkValue" - # @review - description: - The localized fragment link's values. - type: object - FragmentLinkValue: - # @review - description: - Represents a fragment link value. - properties: - href: - # @review - description: - The fragment link value's hypertext reference. Can be inline or mapped to an external value. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - target: - # @review - description: - The fragment link value's target (blank, parent, self, top). - enum: [Blank, Parent, Self, Top] - type: string - FragmentMappedValue: - # @review - description: - Represents a fragment mapped value. - properties: - defaultFragmentInlineValue: - $ref: "#/components/schemas/FragmentInlineValue" - # @review - description: - The default value of the fragment mapped value. - defaultValue: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by defaultFragmentInlineValue" - properties: - value: - type: string - value_i18n: - additionalProperties: - type: string - type: object - type: object - mapping: - # @review - description: - The mapping of the fragment mapped value. - properties: - fieldKey: - # @review - description: - The mapping's field key. - type: string - itemReference: - # @review - description: - The mapping's item reference. - oneOf: - - $ref: "#/components/schemas/ClassFieldReference" - - $ref: "#/components/schemas/ClassFieldsReference" - - $ref: "#/components/schemas/ClassPKReference" - - $ref: "#/components/schemas/ContextReference" - type: object - type: object - FragmentSettingsAllowed: - # @review - description: - Represents the settings of allowed fragments in a page dropzone. - properties: - allowedFragments: - # @review - description: - A list of allowed fragments. - items: - $ref: "#/components/schemas/Fragment" - type: array - type: object - FragmentSettingsUnallowed: - # @review - description: - Represents the settings of unallowed fragments in a page dropzone. - properties: - unallowedFragments: - items: - $ref: "#/components/schemas/Fragment" - type: array - type: object - FragmentStyle: - # @review - description: - Represents a fragment style. - properties: - backgroundColor: - # @review - description: - The fragment's background color. - type: string - backgroundFragmentImage: - $ref: "#/components/schemas/FragmentImage" - # @review - description: - The fragment's background image. - borderColor: - # @review - description: - The fragment's border color. - type: string - borderRadius: - # @review - description: - The fragment's background radius. - type: string - borderWidth: - # @review - description: - The fragment's border width. - type: string - fontFamily: - # @review - description: - The fragment's font family. - type: string - fontSize: - # @review - description: - The fragment's font size. - type: string - fontWeight: - # @review - description: - The fragment's font weight. - type: string - height: - # @review - description: - The fragment's height. - type: string - hidden: - # @review - description: - Specifies if the fragment is hidden to the user. - type: boolean - marginBottom: - # @review - description: - The fragment's margin bottom. - type: string - marginLeft: - # @review - description: - The fragment's margin left. - type: string - marginRight: - # @review - description: - The fragment's margin right. - type: string - marginTop: - # @review - description: - The fragment's margin top. - type: string - maxHeight: - # @review - description: - The fragment's max height. - type: string - maxWidth: - # @review - description: - The fragment's max width. - type: string - minHeight: - # @review - description: - The fragment's min height. - type: string - minWidth: - # @review - description: - The fragment's min width. - type: string - opacity: - # @review - description: - The fragment's opacity. - type: string - overflow: - # @review - description: - The fragment's overflow behavior. - type: string - paddingBottom: - # @review - description: - The fragment's padding bottom. - type: string - paddingLeft: - # @review - description: - The fragment's padding left. - type: string - paddingRight: - # @review - description: - The fragment's padding right. - type: string - paddingTop: - # @review - description: - The fragment's padding top. - type: string - shadow: - # @review - description: - The fragment's shadow effect. - type: string - textAlign: - # @review - description: - The fragment's text align. - type: string - textColor: - # @review - description: - The fragment's text color. - type: string - width: - # @review - description: - The fragment's width. - type: string - type: object - FragmentViewport: - # @review - description: - Represents a fragment viewport. - properties: - fragmentViewportStyle: - # @review - description: - The fragment's viewport style. - properties: - backgroundColor: - # @review - description: - The fragment viewport's background color. - type: string - borderColor: - # @review - description: - The fragment viewport's border color. - type: string - borderRadius: - # @review - description: - The fragment viewport's background radius. - type: string - borderWidth: - # @review - description: - The fragment viewport's border width. - type: string - fontFamily: - # @review - description: - The fragment viewport's font family. - type: string - fontSize: - # @review - description: - The fragment viewport's font size. - type: string - fontWeight: - # @review - description: - The fragment viewport's font weight. - type: string - height: - # @review - description: - The fragment viewport's height. - type: string - hidden: - # @review - description: - Specifies if the fragment's viewport is hidden to the user. - type: boolean - marginBottom: - # @review - description: - The fragment viewport's margin bottom. - type: string - marginLeft: - # @review - description: - The fragment viewport's margin left. - type: string - marginRight: - # @review - description: - The fragment viewport's margin right. - type: string - marginTop: - # @review - description: - The fragment viewport's margin top. - type: string - maxHeight: - # @review - description: - The fragment viewport's max height. - type: string - maxWidth: - # @review - description: - The fragment viewport's max width. - type: string - minHeight: - # @review - description: - The fragment viewport's min height. - type: string - minWidth: - # @review - description: - The fragment viewport's min width. - type: string - opacity: - # @review - description: - The fragment viewport's opacity. - type: string - overflow: - # @review - description: - The fragment viewport's overflow behavior. - type: string - paddingBottom: - # @review - description: - The fragment viewport's padding bottom. - type: string - paddingLeft: - # @review - description: - The fragment viewport's padding left. - type: string - paddingRight: - # @review - description: - The fragment viewport's padding right. - type: string - paddingTop: - # @review - description: - The fragment viewport's padding top. - type: string - shadow: - # @review - description: - The fragment viewport's shadow effect. - type: string - textAlign: - # @review - description: - The fragment viewport's text align. - type: string - textColor: - # @review - description: - The fragment viewport's text color. - type: string - width: - # @review - description: - The fragment viewport's width. - type: string - type: object - id: - # @review - description: - The fragment viewport's ID. - type: string - required: - - fragmentViewportStyle - - id - type: object - Geo: - description: - A point determined by latitude and longitude. - properties: - latitude: - description: - The latitude of a point in space. - format: double - type: number - longitude: - description: - The longitude of a point in space. - format: double - type: number - type: object - MasterPage: - # @review - description: - Represents a page with common elements (header, footer, ...) used for all or several pages of a site. - properties: - key: - # @review - description: - The master page's key. - type: string - name: - # @review - description: - The master page's name. - type: string - type: object - MessageFormSubmissionResult: - # @review - description: - Represents a definition of a submission result of type message. - properties: - message: - $ref: "#/components/schemas/FragmentInlineValue" - # @review - description: - The localized submission of message type. - messageType: - # @review - description: - The message form submission type (embedded, none). - enum: [Embedded, None] - type: string - showNotification: - type: boolean - type: object - NoneActionExecutionResult: - # @review - description: - Represents a definition of an action execution result of type none. - properties: - reload: - # @review - description: - Whether to reload the page after the action is executed. - type: boolean - type: object - NotificationActionExecutionResult: - # @review - description: - Represents a definition of an action execution result of type notification. - properties: - reload: - # @review - description: - Whether to reload the page after the action is executed. - type: boolean - text: - $ref: "#/components/schemas/FragmentInlineValue" - # @review - description: - The localized text to display when an action is executed. - type: object - OpenGraphSettings: - # @review - description: - Represents settings related with Open Graph protocol. - properties: - description: - # @review - description: - The Open Graph's description. - type: string - description_i18n: - additionalProperties: - type: string - # @review - description: - The localized Open Graph's descriptions. - type: object - image: - $ref: "#/components/schemas/ContentDocument" - # @review - description: - The Open Graph's image. - imageAlt: - # @review - description: - The Open Graph's image alt. - type: string - imageAlt_i18n: - additionalProperties: - type: string - # @review - description: - The localized Open Graph's image alts. - type: object - title: - # @review - description: - The Open Graph's title. - type: string - title_i18n: - additionalProperties: - type: string - # @review - description: - The localized Open Graph's titles. - type: object - type: object - PageCollectionDefinition: - # @review - description: - Represents a definition of a Page Collection. - properties: - collectionConfig: - properties: - collectionReference: - # @review - description: - The page collection's reference. - oneOf: - - $ref: "#/components/schemas/ClassNameReference" - - $ref: "#/components/schemas/ClassPKReference" - collectionType: - # @review - description: - The page collection's type (Collection, CollectionProvider). - enum: [Collection, CollectionProvider] - type: string - required: - - collectionReference - - collectionType - type: object - collectionViewports: - # @review - description: - A list of viewports of the page collection. - items: - $ref: "#/components/schemas/CollectionViewport" - type: array - displayAllItems: - # @review - description: - Whether to show all items when pagination is disabled. - type: boolean - displayAllPages: - # @review - description: - Whether to show all pages when pagination is enabled. - type: boolean - emptyCollectionConfig: - properties: - displayMessage: - # @review - description: - Whether to display a message when the collection is empty or no results match the - applied filters (true by default). - type: boolean - message_i18n: - additionalProperties: - type: string - # @review - description: - The localized message to display when the collection is empty or no results match the - applied filters ('No Results Found' by default). - type: object - type: object - fragmentStyle: - $ref: "#/components/schemas/FragmentStyle" - # @review - description: - The fragment style of the page collection. - fragmentViewports: - # @review - description: - The fragment viewports of the page collection. - items: - $ref: "#/components/schemas/FragmentViewport" - type: array - layout: - # @review - description: - the page section's layout. - properties: - align: - enum: [Baseline, Center, End, None, Start, Stretch] - type: string - flexWrap: - enum: [NoWrap, Wrap, WrapReverse] - type: string - justify: - enum: [Center, End, None, SpaceAround, SpaceBetween, Start] - type: string - type: object - listItemStyle: - # @review - description: - The style of a list of items in the page collection. - type: string - listStyle: - # @review - description: - The style of a list in the page collection. - type: string - name: - # @review - description: - The custom name of a Page Collection. - type: string - numberOfColumns: - # @review - description: - The number of columns in the page collection. - type: integer - numberOfItems: - # @review - description: - The maximum number of items to display in the page collection when pagination is disabled. - type: integer - numberOfItemsPerPage: - # @review - description: - The number of items per page in the page collection. - type: integer - numberOfPages: - # @review - description: - The maximum number of pages to show when pagination is enabled. - type: integer - paginationType: - # @review - description: - The type of pagination. - enum: [ - None, - Numeric, - # "Deprecated as of Cavanaugh (7.4.x), replaced by Numeric" - Regular, - Simple] - type: string - showAllItems: - deprecated: true - # @review - description: - Whether to show all items when pagination is enabled. Deprecated as of Cavanaugh (7.4.x), - replaced by displayAllPages - type: boolean - templateKey: - # @review - description: - The page collection's template key. - type: string - type: object - PageCollectionItemDefinition: - # @review - description: - Represents a definition of a Page Collection Item. - properties: - collectionItemConfig: - # @review - description: - The page collection item's configuration. - type: object - type: object - PageColumnDefinition: - # @review - description: - Represents a definition of a Page Column. - properties: - columnViewportConfig: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by columnViewports" - properties: - landscapeMobile: - properties: - size: - maximum: 12 - minimum: 1 - type: integer - type: object - portraitMobile: - properties: - size: - maximum: 12 - minimum: 1 - type: integer - type: object - tablet: - properties: - size: - maximum: 12 - minimum: 1 - type: integer - type: object - type: object - columnViewports: - # @review - description: - A list of column viewports of the page column definition. - items: - $ref: "#/components/schemas/ColumnViewport" - type: array - size: - # @review - description: - The page column's size. - maximum: 12 - minimum: 1 - type: integer - type: object - PageDefinition: - # @review - description: - Represent a definition of a Page. - properties: - pageElement: - $ref: "#/components/schemas/PageElement" - # @review - description: - The page's page element. - pageRules: - # @review - description: - A list of the page rules this page has. - items: - $ref: "#/components/schemas/PageRule" - type: array - settings: - $ref: "#/components/schemas/Settings" - # @review - description: - The page's settings. - version: - # @review - description: - The version of the JSON generated by page definition. - format: double - type: number - type: object - PageDropZoneDefinition: - # @review - description: - Represent a definition of a Page drop zone. - properties: - fragmentSettings: - # @review - description: - The page drop zone's allowed or unallowed fragments. - oneOf: - - $ref: "#/components/schemas/FragmentSettingsAllowed" - - $ref: "#/components/schemas/FragmentSettingsUnallowed" - type: object - PageElement: - # @review - description: - Represents a Page element. - properties: - definition: - # @review - description: - The page element's definition. - oneOf: - - $ref: "#/components/schemas/PageCollectionDefinition" - - $ref: "#/components/schemas/PageCollectionItemDefinition" - - $ref: "#/components/schemas/PageColumnDefinition" - - $ref: "#/components/schemas/PageDropZoneDefinition" - - $ref: "#/components/schemas/PageFormDefinition" - - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" - - $ref: "#/components/schemas/PageFragmentInstanceDefinition" - - $ref: "#/components/schemas/PageRootDefinition" - - $ref: "#/components/schemas/PageRowDefinition" - - $ref: "#/components/schemas/PageSectionDefinition" - - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - externalReferenceCode: - description: - The page element's external reference code. Unique within the site. - type: string - id: - description: - The page element's ID. - type: string - pageElements: - # @review - description: - A list of the page elements this page element has. - items: - $ref: "#/components/schemas/PageElement" - type: array - parentExternalReferenceCode: - description: - The parent's page element's external reference code. Unique within the site. - type: string - position: - description: - The 0-based position this page element occupies with respect to its siblings (0 for first child, - 1 for second child, ...). If not specified when creating a page element the page element will be - added at the last valid position. - minimum: 0 - type: integer - type: - # @review - description: - The page element's type (collection, collection item, column, drop zone, form, fragment, - fragment drop zone, root, row, section or widget). - enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentDropZone, Root, Row, Section, - Widget] - type: string - PageFormDefinition: - # @review - description: - Represent a definition of a Page form. - properties: - cssClasses: - # @review - description: - A list of CSS Classes that are applied to the element. - items: - type: string - type: array - customCSS: - # @review - description: - Custom CSS that is applied on the fragment. - type: string - customCSSViewports: - # @review - description: - The custom CSS viewports of the page collection. - items: - $ref: "#/components/schemas/CustomCSSViewport" - type: array - formConfig: - # @review - description: - The page form's configuration. - properties: - formReference: - # @review - description: - The form reference. - oneOf: - - $ref: "#/components/schemas/ClassTypeReference" - - $ref: "#/components/schemas/ContextReference" - formSuccessSubmissionResult: - # @review - description: - The definition for the success message of the form. - oneOf: - - $ref: "#/components/schemas/MessageFormSubmissionResult" - - $ref: "#/components/schemas/SitePageFormSubmissionResult" - - $ref: "#/components/schemas/URLFormSubmissionResult" - type: object - type: object - fragmentStyle: - $ref: "#/components/schemas/FragmentStyle" - # @review - description: - The fragment style of a Page form. - fragmentViewports: - # @review - description: - A list of fragment viewports of a Page form. - items: - $ref: "#/components/schemas/FragmentViewport" - type: array - indexed: - # @review - description: - A flag that indicates whether the page fragment instance is indexed or not. - type: boolean - layout: - # @review - description: - the page section's layout. - properties: - align: - enum: [Baseline, Center, End, None, Start, Stretch] - type: string - contentDisplay: - enum: [Block, FlexColumn, FlexRow] - type: string - flexWrap: - enum: [NoWrap, Wrap, WrapReverse] - type: string - justify: - enum: [Center, End, None, SpaceAround, SpaceBetween, Start] - type: string - widthType: - # @review - description: - The width's type (fixed or fluid). - enum: [Fixed, Fluid] - type: string - type: object - name: - # @review - description: - The custom name of of a Page form. - type: string - type: object - PageFragmentDropZoneDefinition: - # @review - description: - Represents a definition of a Page Fragment DropZone. - properties: - fragmentDropZoneId: - # @review - description: - The id of the fragment dropzone - type: string - type: object - PageFragmentInstanceDefinition: - # @review - description: - Represents a definition of a Page Fragment Instance. - properties: - cssClasses: - # @review - description: - A list of CSS Classes that are applied to the element. - items: - type: string - type: array - customCSS: - # @review - description: - Custom CSS that is applied on the fragment. - type: string - customCSSViewports: - # @review - description: - The custom CSS viewports of the page collection. - items: - $ref: "#/components/schemas/CustomCSSViewport" - type: array - fragment: - $ref: "#/components/schemas/Fragment" - # @review - description: - The fragment of the page fragment instance. - fragmentConfig: - additionalProperties: - type: object - # @review - description: - The page fragment instance's configuration. - type: object - fragmentFields: - # @review - description: - The fragment fields of the page fragment instance. - items: - $ref: "#/components/schemas/FragmentField" - type: array - fragmentStyle: - $ref: "#/components/schemas/FragmentStyle" - # @review - description: - The fragment style of the page fragment instance. - fragmentViewports: - # @review - description: - A list of fragment viewports of the page fragment instance. - items: - $ref: "#/components/schemas/FragmentViewport" - type: array - indexed: - # @review - description: - A flag that indicates whether the page fragment instance is indexed or not. - type: boolean - name: - # @review - description: - The custom name of a Page Fragment Instance. - type: string - widgetInstances: - # @review - description: - A list of widget instances of the page fragment instance. - items: - $ref: "#/components/schemas/WidgetInstance" - type: array - type: object - PageRootDefinition: - # @review - description: - Represents a definition of a Root Page. - type: object - PageRowDefinition: - # @review - description: - Represents a definition of a Page row. - properties: - cssClasses: - # @review - description: - A list of CSS Classes that are applied to the element. - items: - type: string - type: array - customCSS: - # @review - description: - Custom CSS that is applied on the fragment. - type: string - customCSSViewports: - # @review - description: - The custom CSS viewports of the page collection. - items: - $ref: "#/components/schemas/CustomCSSViewport" - type: array - fragmentStyle: - $ref: "#/components/schemas/FragmentStyle" - # @review - description: - The fragment style of a Page row. - fragmentViewports: - # @review - description: - A list of fragment viewports of a Page row. - items: - $ref: "#/components/schemas/FragmentViewport" - type: array - gutters: - # @review - description: - A flag that indicates whether the page row has gutters. - type: boolean - indexed: - # @review - description: - A flag that indicates whether the page row is indexed or not. - type: boolean - modulesPerRow: - # @review - description: - The page row's modules per row. - type: integer - name: - # @review - description: - The custom name of a Page row. - type: string - numberOfColumns: - # @review - description: - The page row's number of columns. - type: integer - reverseOrder: - # @review - description: - A flag that indicates whether the page row has reverse order. - type: boolean - rowViewportConfig: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by rowViewports" - properties: - landscapeMobile: - properties: - modulesPerRow: - type: integer - reverseOrder: - type: boolean - verticalAlignment: - type: string - type: object - portraitMobile: - properties: - modulesPerRow: - type: integer - reverseOrder: - type: boolean - verticalAlignment: - type: string - type: object - tablet: - properties: - modulesPerRow: - type: integer - reverseOrder: - type: boolean - verticalAlignment: - type: string - type: object - type: object - rowViewports: - # @review - description: - A list of viewports of the page row. - items: - $ref: "#/components/schemas/RowViewport" - type: array - verticalAlignment: - # @review - description: - The vertical aligment property of the page row. - type: string - type: object - PageRule: - # @review - description: - Represents a definition of a Page Rule. - properties: - conditionType: - # @review - description: - The custom name of a Page rule. - enum: [All, Any] - type: string - id: - # @review - description: - The page rule ID. - type: string - name: - # @review - description: - The custom name of a Page rule. - type: string - pageRuleActions: - # @review - description: - A list of actions of a Page rule. - items: - $ref: "#/components/schemas/PageRuleAction" - type: array - pageRuleConditions: - # @review - description: - A list of conditions of a Page rule. - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - type: object - PageRuleAction: - # @review - description: - Represents a definition of a Page Rule Action. - properties: - action: - # @review - description: - The page rule action's action. - type: string - id: - # @review - description: - The page rule action's ID. - type: string - itemId: - # @review - description: - The page rule condition's item ID. - type: string - type: - # @review - description: - The page rule action's type. - type: string - type: object - PageRuleCondition: - # @review - description: - Represents a definition of a Page Rule Condition. - properties: - condition: - # @review - description: - The page rule condition's description. - type: string - id: - # @review - description: - The page rule condition's ID. - type: string - type: - # @review - description: - The page rule condition's type. - type: string - value: - # @review - description: - The page rule condition's value. - type: string - type: object - PageSectionDefinition: - # @review - description: - Represents a definition of a Page section. - properties: - backgroundColor: - deprecated: true - type: string - backgroundFragmentImage: - $ref: "#/components/schemas/FragmentImage" - # @review - description: - The background fragment image of the page section. - backgroundImage: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" - properties: - description: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - title: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - url: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object - contentVisibility: - # @review - description: - Defines the content visibility of the container. - type: string - cssClasses: - # @review - description: - A list of CSS Classes that are applied to the element. - items: - type: string - type: array - customCSS: - # @review - description: - Custom CSS that is applied on the fragment. - type: string - customCSSViewports: - # @review - description: - The custom CSS viewports of the page collection. - items: - $ref: "#/components/schemas/CustomCSSViewport" - type: array - fragmentLink: - $ref: "#/components/schemas/FragmentLink" - # @review - description: - The fragment link of the page section. - fragmentStyle: - $ref: "#/components/schemas/FragmentStyle" - # @review - description: - The fragment style of the page section. - fragmentViewports: - # @review - description: - A list of fragment viewports of the page section. - items: - $ref: "#/components/schemas/FragmentViewport" - type: array - htmlProperties: - # @review - description: - The page section's html properties - properties: - htmlTag: - enum: [Article, Aside, Div, Footer, Header, Main, Nav, Section] - type: string - type: object - indexed: - # @review - description: - A flag that indicates whether the page section is indexed or not. - type: boolean - layout: - # @review - description: - the page section's layout. - properties: - align: - deprecated: true - enum: [Baseline, Center, End, None, Start, Stretch] - type: string - borderColor: - deprecated: true - type: string - borderRadius: - deprecated: true - enum: [Circle, Large, None, Pill, Regular] - type: string - borderWidth: - deprecated: true - type: integer - containerType: - # @review - description: - The container's type (fixed or fluid). - enum: [Fixed, Fluid] - type: string - contentDisplay: - deprecated: true - enum: [Block, FlexColumn, FlexRow] - type: string - flexWrap: - enum: [NoWrap, Wrap, WrapReverse] - type: string - justify: - deprecated: true - enum: [Center, End, None, SpaceAround, SpaceBetween, Start] - type: string - marginBottom: - deprecated: true - type: integer - marginLeft: - deprecated: true - type: integer - marginRight: - deprecated: true - type: integer - marginTop: - deprecated: true - type: integer - opacity: - deprecated: true - type: integer - paddingBottom: - deprecated: true - type: integer - paddingHorizontal: - deprecated: true - type: integer - paddingLeft: - deprecated: true - type: integer - paddingRight: - deprecated: true - type: integer - paddingTop: - deprecated: true - type: integer - shadow: - deprecated: true - enum: [Default, Large, None, Regular, Small] - type: string - widthType: - # @review - description: - The width's type (fixed or fluid). - enum: [Fixed, Fluid] - type: string - type: object - name: - # @review - description: - The custom name of a Page section. - type: string - type: object - PageSettings: - # @review - description: - Represents the settings of a Page. - properties: - customMetaTags: - # @review - description: - A list of custom metatags this page has. - items: - $ref: "#/components/schemas/CustomMetaTag" - type: array - hiddenFromNavigation: - # @review - description: - A flag that indicates whether the page is hidden from navigation. - type: boolean - openGraphSettings: - $ref: "#/components/schemas/OpenGraphSettings" - # @review - description: - The page's Open Graph settings. - seoSettings: - $ref: "#/components/schemas/SEOSettings" - # @review - description: - The page's SEO settings. - sitePageNavigationMenuSettings: - $ref: "#/components/schemas/SitePageNavigationMenuSettings" - # @review - description: - The page's site navigation menu settings. - type: object - PageSpecification: - properties: - pageExperiences: - items: - $ref: "#/components/schemas/Experience" - type: array - settings: - $ref: "#/components/schemas/Settings" - type: object - PageStructure: - properties: - pageElement: - $ref: "#/components/schemas/PageElement" - pageRules: - items: - $ref: "#/components/schemas/PageRule" - type: array - type: object - PageWidgetInstanceDefinition: - # @review - description: - Represents a definition of a Page Widget instance. - properties: - cssClasses: - # @review - description: - A list of CSS Classes that are applied to the element. - items: - type: string - type: array - customCSS: - # @review - description: - Custom CSS that is applied on the fragment. - type: string - customCSSViewports: - # @review - description: - The custom CSS viewports of the page collection. - items: - $ref: "#/components/schemas/CustomCSSViewport" - type: array - fragmentStyle: - $ref: "#/components/schemas/FragmentStyle" - # @review - description: - The fragment style of the page widget instance. - fragmentViewports: - # @review - description: - A list of fragment viewports of the page widget instance. - items: - $ref: "#/components/schemas/FragmentViewport" - type: array - name: - # @review - description: - The custom name of a Page Widget instance. - type: string - widgetInstance: - $ref: "#/components/schemas/WidgetInstance" - # @review - description: - The widget instance of the page widget instance. - type: object - RenderedPage: - # @review - description: - A list of rendered pages, which results from using a page template and the appropriate viewport to - process the page and return HTML. - properties: - masterPageId: - # @review - description: - The ID of the master page used to render the content. - readOnly: true - type: string - masterPageName: - # @review - description: - The name of the master page used to render the content. - type: string - pageTemplateId: - # @review - description: - The ID of the template used to render the content. - readOnly: true - type: string - pageTemplateName: - # @review - description: - The name of the template used to render the content. - type: string - renderedPageURL: - # @review - description: - An absolute URL to the rendered page. - type: string - type: object - RowViewport: - # @review - description: - Represents a row viewport. - properties: - id: - # @review - description: - The row viewport's ID. - type: string - rowViewportDefinition: - # @review - description: - The definition of the row viewport. - properties: - modulesPerRow: - # @review - description: - The number of modules per row. - type: integer - reverseOrder: - # @review - description: - A flag that indicates whether the row viewport has reverse order. - type: boolean - verticalAlignment: - # @review - description: - The vertical aligment property of the row viewport. - type: string - type: object - required: - - id - - rowViewportDefinition - type: object - SEOSettings: - # @review - description: - Represents settings related with SEO. - properties: - customCanonicalURL: - # @review - description: - The canonical URL of the page, if it exists. - type: string - customCanonicalURL_i18n: - additionalProperties: - type: string - # @review - description: - The localized canonical URL of the page, if it exists. - type: object - description: - type: string - # @review - description: - The page's description to be used as summary for search engines. - description_i18n: - additionalProperties: - type: string - # @review - description: - The localized descriptions of the page to be used as summary for search engines. - type: object - htmlTitle: - # @review - description: - The page's main title to be used by search engines. - type: string - htmlTitle_i18n: - additionalProperties: - type: string - # @review - description: - The localized main titles of the page to be used by search engines. - type: object - robots: - # @review - description: - A tag telling search engines if and how they should crawl the page. - type: string - robots_i18n: - additionalProperties: - type: string - # @review - description: - A localized tag telling search engines if and how they should crawl the page. - type: object - seoKeywords: - # @review - description: - A list of target keywords of the page to be used by search engines. - type: string - seoKeywords_i18n: - additionalProperties: - type: string - # @review - description: - A list of localized target keywords of the page to be used by search engines. - type: object - siteMapSettings: - # @review - description: - Represents settings related with the site map. - properties: - changeFrequency: - description: - Indicates how often a page is updated. - enum: - - Always - - Hourly - - Daily - - Weekly - - Monthly - - Yearly - - Never - type: string - include: - description: - Whether search engines should crawl and index the page. - type: boolean - includeChildSitePages: - # @review - description: - Whether search engines should crawl and index the child pages. - type: boolean - pagePriority: - description: - How the page should be prioritized relative to other pages. - format: double - maximum: 1 - minimum: 0 - type: number - type: object - type: object - Settings: - # @review - description: - Represents the settings of a page. - properties: - colorSchemeName: - # @review - description: - The page's color scheme name. - type: string - css: - # @review - description: - The page's CSS. - type: string - favIcon: - # @review - description: - The FavIcon of the page - oneOf: - - $ref: "#/components/schemas/ClientExtension" - - $ref: "#/components/schemas/ContentDocument" - globalCSSClientExtensions: - description: - The client extensions for global css associated to the page. - items: - $ref: "#/components/schemas/ClientExtension" - type: array - globalJSClientExtensions: - description: - The client extensions for global js associated to the page. - items: - $ref: "#/components/schemas/ClientExtension" - type: array - javascript: - # @review - description: - The page's JavaScript. - type: string - masterPage: - $ref: "#/components/schemas/MasterPage" - # @review - description: - The page's master page. - styleBook: - # @review - description: - The StyleBook that is applied to the page. - properties: - key: - # @review - description: - The stylebook's key. - type: string - name: - # @review - description: - The stylebook's name. - type: string - type: object - themeCSSClientExtension: - $ref: "#/components/schemas/ClientExtension" - # @review - description: - The Client Extension for the theme css of a page - themeName: - # @review - description: - The page's theme name. - type: string - themeSettings: - # @review - description: - The page's theme settings. - type: object - themeSpritemapClientExtension: - $ref: "#/components/schemas/ClientExtension" - # @review - description: - The Client Extension for the theme spritemap of a page - type: object - Site: - # @review - description: - Represents the site being created. - properties: - externalReferenceCode: - description: - The site's external reference code. - type: string - friendlyUrlPath: - readOnly: true - type: string - id: - format: int64 - readOnly: true - type: integer - key: - readOnly: true - type: string - membershipType: - description: - The default value is open. - enum: - - open - - private - - restricted - type: string - writeOnly: true - name: - type: string - parentSiteKey: - type: string - writeOnly: true - templateKey: - type: string - writeOnly: true - templateType: - enum: - - site-initializer - - site-template - type: string - writeOnly: true - required: - - name - type: object - SitePage: - # @review - description: - Represents a site page. This is modeled internally as a `Layout`. - properties: - actions: - additionalProperties: - additionalProperties: - type: string - type: object - # @review - description: - Block of actions allowed by the user making the request. - readOnly: true - type: object - aggregateRating: - $ref: "#/components/schemas/AggregateRating" - # @review - description: - The page's average rating. - readOnly: true - availableLanguages: - # @review - description: - The list of languages the page has a translation for. - items: - type: string - readOnly: true - type: array - creator: - $ref: "#/components/schemas/Creator" - # @review - description: - The page's creator. - readOnly: true - customFields: - # @review - description: - Custom fields associated with the page. - items: - $ref: "#/components/schemas/CustomField" - type: array - dateCreated: - # @review - description: - The page's creation date. - format: date-time - readOnly: true - type: string - dateModified: - # @review - description: - The last time any field of the page was changed. - format: date-time - readOnly: true - type: string - datePublished: - # @review - description: - The page's most recent publication date. - format: date-time - type: string - experience: - $ref: "#/components/schemas/Experience" - # @review - description: - Experience of the page that it's being retrieved. - externalReferenceCode: - description: - The page's external reference code. - type: string - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string - friendlyUrlPath_i18n: - additionalProperties: - type: string - # @review - description: - The localized relative URLs to the page's rendered content. - type: object - id: - description: - The page ID. - format: int64 - readOnly: true - type: integer - keywords: - # @review - description: - A list of keywords describing the page. - items: - type: string - type: array - pageDefinition: - $ref: "#/components/schemas/PageDefinition" - # @review - deprecated: true - description: - Optional field with the structure of all the elements of the page. Can be embedded with - nestedFields when retrieving the collection of site pages. When retrieving a single site page, - it will automatically be included. Deprecated as of Cavanaugh (7.4.x), replaced by - Experience.pageStructure.pageElement, Experience.pageStructure.pageRules and - PageSpecification.settings. - pagePermissions: - # @review - description: - The page's permissions. - items: - properties: - actionKeys: - # @review - description: - The keys of the actions the role has permission for. - items: - type: string - type: array - roleKey: - # @review - description: - The role's key. - type: string - type: object - type: array - pageSettings: - $ref: "#/components/schemas/PageSettings" - # @review - description: - Settings of the page, such as SEO or OpenGraph. - pageSpecifications: - properties: - draft: - $ref: "#/components/schemas/PageSpecification" - published: - $ref: "#/components/schemas/PageSpecification" - type: object - pageType: - # @review - description: - The type of the page. - type: string - parentSitePage: - # @review - description: - The parent page or null if it is a top level page. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the parent page. - type: string - friendlyUrlPath: - # @review - description: - The relative URL of the parent page. - type: string - type: object - renderedPage: - $ref: "#/components/schemas/RenderedPage" - # @review - description: - Metadata of the page such as it's master page and template. - siteId: - # @review - description: - The ID of the site to which this page is scoped. - format: int64 - readOnly: true - type: integer - taxonomyCategoryBriefs: - # @review - description: - The categories associated with this page. - items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" - type: array - taxonomyCategoryIds: - deprecated: true - # @review - description: - A write-only field that adds `TaxonomyCategory` instances to the page. Deprecated as of - Cavanaugh (7.4.x), replaced by `taxonomyCategoryBriefs.taxonomyCategoryReference` - items: - format: int64 - type: integer - type: array - writeOnly: true - title: - # @review - description: - The page's title. - type: string - title_i18n: - additionalProperties: - type: string - # @review - description: - The localized page's titles. - type: object - uuid: - # @review - description: - A valid external identifier to reference this page. - readOnly: true - type: string - viewableBy: - enum: - - Anyone - - Members - - Owner - type: string - writeOnly: true - required: - - title - type: object - SitePageActionExecutionResult: - # @review - description: - Represents a definition of an action execution of type page. - properties: - itemReference: - $ref: "#/components/schemas/ClassFieldsReference" - # @review - description: - The reference to a page. - type: object - SitePageFormSubmissionResult: - # @review - description: - Represents a definition of a submission result of type page. - properties: - itemReference: - $ref: "#/components/schemas/ClassFieldsReference" - # @review - description: - The localized submission of page type. - type: object - SitePageNavigationMenuSettings: - # @review - description: - Represents settings related with the site navigation menu of a page. - properties: - queryString: - # @review - description: - The default parameter for a page. - type: string - target: - # @review - description: - The page's description to be used as summary for search engines. - type: string - targetType: - # @review - description: - The target's type (specific frame or new tab). - enum: [SpecificFrame, NewTab] - type: string - type: object - Status: - # @review - description: - Represents the status of a resource - properties: - code: - # @review - description: - A number which identifies a specific status - format: int32 - readOnly: true - type: integer - label: - # @review - description: - Label associated to the status - readOnly: true - type: string - label_i18n: - additionalProperties: - type: string - readOnly: true - type: object - TaxonomyCategoryBrief: - properties: - embeddedTaxonomyCategory: - # @review - description: - Optional field with the embedded taxonomy category, can be embedded with nestedFields - readOnly: true - type: object - taxonomyCategoryId: - description: - The category's ID. This can be used to retrieve more information in the `TaxonomyCategory` API. - format: int64 - readOnly: true - type: integer - taxonomyCategoryName: - description: - The category's name. - readOnly: true - type: string - taxonomyCategoryName_i18n: - additionalProperties: - type: string - # @review - description: - The localized category's names. - readOnly: true - type: object - taxonomyCategoryReference: - # @review - description: - A unique reference to a taxonomy category. - properties: - externalReferenceCode: - # @review - description: - The taxonomy category's external reference code. - type: string - siteKey: - # @review - description: - The key of the site or asset library where the taxonomy category is located. It can be - left out if the taxonomy category is in the same site as the page. - type: string - required: - - externalReferenceCode - type: object - type: object - URLActionExecutionResult: - # @review - description: - Represents a definition of an action execution result of type URL. - properties: - url: - $ref: "#/components/schemas/FragmentInlineValue" - # @review - description: - The localized action execution result of type URL. - type: object - URLFormSubmissionResult: - # @review - description: - Represents a definition of a submission result of type URL. - properties: - url: - $ref: "#/components/schemas/FragmentInlineValue" - # @review - description: - The localized submission of URL type. - type: object - UserGroupBrief: - description: - The author's user groups information. - properties: - id: - description: - The ID of the user group. - format: int64 - readOnly: true - type: integer - name: - description: - The name of the user group. - readOnly: true - type: string - type: object - WidgetInstance: - # @review - description: - Represents a Widget Instance. - properties: - widgetConfig: - additionalProperties: - type: object - type: object - widgetInstanceId: - # @review - description: - The widget instance's ID. - type: string - widgetName: - # @review - description: - The widget instance's name. - type: string - widgetPermissions: - # @review - description: - The widget instance's permissions. - items: - properties: - actionKeys: - # @review - description: - The keys of the actions the role has permission for. - items: - type: string - type: array - roleKey: - # @review - description: - The role's key. - type: string - type: object - type: array - type: object -info: - description: - "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID - 'com.liferay.headless.site.client', and version '1.0.15'." - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - title: Liferay Sites Headless API - version: v1.0 -openapi: 3.0.1 -paths: - "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": - delete: - description: - Deletes a page element within an experience of a specific page specification of a site page within a - site. - operationId: deleteSitePageElement - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageElementExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageElement"] - get: - description: - Retrieves page element within an experience of a specific page specification of a site page within a - site. - operationId: getSitePageElement - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageElementExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - patch: - description: - Updates a page element within an experience of a specific page specification of a site page within a - site. Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageElement - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageElementExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - put: - description: - Updates a page element within an experience of a specific page specification of a site page within a - site. - operationId: putSitePageElement - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageElementExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": - get: - description: - Retrieves all the descendant page elements of a page element within an experience in a page - specification of a site page. - operationId: getSitePageElementPageElements - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageElementExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - # @review - tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}": - delete: - description: - Deletes an experience of a specific page specification of a site page within a site. The default - experience cannot be deleted. - operationId: deleteSitePageExperience - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageExperienceExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageExperience"] - get: - description: - Retrieves an experience of a specific page specification of a site page within a site. - operationId: getSitePageExperience - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageExperienceExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - tags: ["PageExperience"] - patch: - description: - Updates an experience of a specific page specification of a site page within a site. Updates only the - fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageExperience - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageExperienceExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - tags: ["PageExperience"] - put: - description: - Updates an experience of a specific page specification of a site page within a site. - operationId: putSitePageExperience - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageExperienceExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-elements": - get: - description: - Retrieves all the page elements within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageElements - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageExperienceExternalReferenceCode - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - # @review - tags: ["PageExperience"] - post: - description: - Adds a new page element to an experience in a page specification in draft status of a site page. - operationId: postSitePageExperiencePageElement - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: pageExperienceExternalReferenceCode - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - $ref: "#/components/schemas/PageElement" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - $ref: "#/components/schemas/PageElement" - description: - default response - # @review - tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-rules": - get: - description: - Retrieves all the page rules within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageRules - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: pageExperienceExternalReferenceCode - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - # @review - tags: ["PageExperience"] - post: - description: - Adds a new page rule to an experience in a page specification in draft status of a site page. - operationId: postSitePageExperiencePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: pageExperienceExternalReferenceCode - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRule" - application/xml: - schema: - $ref: "#/components/schemas/PageRule" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRule" - application/xml: - schema: - $ref: "#/components/schemas/PageRule" - description: - default response - # @review - tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-rule-actions/{pageRuleActionExternalReferenceCode}": - delete: - description: - Deletes a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: deleteSitePageRuleAction - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleActionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageRuleAction"] - get: - description: - Retrieves a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: getSitePageRuleAction - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleActionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - tags: ["PageRuleAction"] - patch: - description: - Updates a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. Updates only the fields received in the request body, leaving any other fields - untouched. - operationId: patchSitePageRuleAction - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleActionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - tags: ["PageRuleAction"] - put: - description: - Updates a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: putSitePageRuleAction - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleActionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - tags: ["PageRuleAction"] - "/sites/{siteExternalReferenceCode}/page-rule-conditions/{pageRuleConditionExternalReferenceCode}": - delete: - description: - Deletes a page rule condition within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: deleteSitePageRuleCondition - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleConditionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageRuleCondition"] - get: - description: - Retrieves a page rule condition within a page rule of an experience of a specific page specification of - a site page within a site. - operationId: getSitePageRuleCondition - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleConditionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - tags: ["PageRuleCondition"] - patch: - description: - Updates a page rule condition within a page rule of an experience of a specific page specification of a - site page within a site. Updates only the fields received in the request body, leaving any other fields - untouched. - operationId: patchSitePageRuleCondition - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleConditionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - tags: ["PageRuleCondition"] - put: - description: - Updates a page rule condition within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: putSitePageRuleCondition - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleConditionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - tags: ["PageRuleCondition"] - "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": - delete: - description: - Deletes a page rule within an experience of a specific page specification of a site page within a site. - operationId: deleteSitePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageRule"] - get: - description: - Retrieves page rule within an experience of a specific page specification of a site page within a site. - operationId: getSitePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRule" - tags: ["PageRule"] - patch: - description: - Updates a page rule within an experience of a specific page specification of a site page within a site. - Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRule" - tags: ["PageRule"] - put: - description: - Updates a page rule within an experience of a specific page specification of a site page within a site. - operationId: putSitePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRule" - tags: ["PageRule"] - "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-actions": - get: - description: - Retrieves all the page rule action actions within an experience in a page specification of a site page. - operationId: getSitePageRulePageRuleActions - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleAction" - type: array - # @review - tags: ["PageRule"] - post: - description: - Adds a new page rule action to a page rule in an experience in a page specification in draft status of a - site page. - operationId: postSitePageRulePageRuleAction - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: pageRuleExternalReferenceCode - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRuleAction" - application/xml: - schema: - $ref: "#/components/schemas/PageRuleAction" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRuleAction" - application/xml: - schema: - $ref: "#/components/schemas/PageRuleAction" - description: - default response - # @review - tags: ["PageRule"] - "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-conditions": - get: - description: - Retrieves all the page rule condition conditions within an experience in a page specification of a site - page. - operationId: getSitePageRulePageRuleConditions - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - # @review - tags: ["PageRule"] - post: - description: - Adds a new page rule condition to a page rule in an experience in a page specification in draft status - of a site page. - operationId: postSitePageRulePageRuleCondition - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: pageRuleExternalReferenceCode - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRuleCondition" - application/xml: - schema: - $ref: "#/components/schemas/PageRuleCondition" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRuleCondition" - application/xml: - schema: - $ref: "#/components/schemas/PageRuleCondition" - description: - default response - # @review - tags: ["PageRule"] - "/sites/{siteExternalReferenceCode}/site-pages": - get: - description: - Retrieves the public pages of the site - operationId: getSiteSitePagesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - format: int64 - type: integer - - in: query - name: aggregationTerms - schema: - items: - type: string - type: array - - in: query - name: fields - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: page - schema: - type: integer - - in: query - name: pageSize - schema: - type: integer - - in: query - name: restrictFields - schema: - type: string - - in: query - name: search - schema: - type: string - - in: query - name: sort - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/SitePage" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/SitePage" - type: array - tags: ["SitePage"] - post: - description: - Adds a new site page - operationId: postSiteSitePage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - format: int64 - type: integer - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - description: - default response - # @review - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}": - delete: - description: - Deletes a specific public page of a site. - operationId: deleteSiteSitePage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["SitePage"] - get: - description: - Retrieves a specific public page of a site. - operationId: getSiteSitePage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - description: - default response - tags: ["SitePage"] - patch: - description: - Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSiteSitePage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - description: - default response - tags: ["SitePage"] - put: - description: - Updates the site page with the given external reference code, or creates it if it does not exist. - operationId: putSiteSitePage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" - description: - default response - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": - post: - description: - Adds a new page specification in draft status to a site page. - operationId: postSiteSitePagePageSpecification - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft": - delete: - description: - Deletes the draft page specification of a site page. - operationId: deleteSiteSitePagePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageSpecification"] - get: - description: - Retrieves the draft page specification of a site page. - operationId: getSiteSitePagePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - patch: - description: - Updates the draft page specification of a site page based only on the fields received in the request - body, leaving any other fields untouched. - operationId: patchSiteSitePagePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - put: + Site: + # @review description: - Updates the draft page specification of a site page. - operationId: putSiteSitePagePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" + Represents the site being created. + properties: + externalReferenceCode: description: - default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/page-experiences": - get: + The site's external reference code. + type: string + friendlyUrlPath: + readOnly: true + type: string + id: + format: int64 + readOnly: true + type: integer + key: + readOnly: true + type: string + membershipType: + description: + The default value is open. + enum: + - open + - private + - restricted + type: string + writeOnly: true + name: + type: string + parentSiteKey: + type: string + writeOnly: true + templateKey: + type: string + writeOnly: true + templateType: + enum: + - site-initializer + - site-template + type: string + writeOnly: true + required: + - name + type: object +info: + description: + "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID + 'com.liferay.headless.site.client', and version '1.0.15'." + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + title: Liferay Sites Headless API + version: v1.0 +openapi: 3.0.1 +paths: + "/sites/{siteId}": + delete: description: - Retrieves all the experiences of a draft page specification. - operationId: getSiteSitePagePageSpecificationDraftPageExperiences + # @review + Deletes a site and all of its associated content. + operationId: deleteSite parameters: - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode + name: siteId required: true schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string + format: int64 + type: integer responses: - 200: + 204: content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] + application/json: {} + application/xml: {} + tags: ["Site"] + /sites: post: description: - Adds a new experience to a draft page specification of a site page. - operationId: postSiteSitePagePageSpecificationDraftPageExperience - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string + Adds a new site + operationId: postSite requestBody: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/Site" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/Site" + multipart/form-data: + schema: + properties: + file: + format: binary + type: string + site: + $ref: "#/components/schemas/Site" + type: object responses: 200: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/Site" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/Site" description: default response # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": - post: + tags: ["Site"] + /sites/by-external-reference-code/{externalReferenceCode}: + delete: + # @review description: - Publishes a page specification in draft status of a site page. - operationId: postSiteSitePagePageSpecificationDraftPublish + Deletes a site and all of its associated content. + operationId: deleteSiteByExternalReferenceCode parameters: - in: path - name: siteExternalReferenceCode + name: externalReferenceCode required: true schema: type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string responses: - 200: + 204: content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published": + application/json: {} + application/xml: {} + tags: ["Site"] get: - description: - Retrieves the published page specification of a site page. - operationId: getSiteSitePagePageSpecificationPublished + operationId: getSiteByExternalReferenceCode parameters: - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode + name: externalReferenceCode required: true schema: type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Site" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Site" description: default response - tags: ["PageSpecification"] - patch: - description: - Updates the published page specification of a site page based only on the fields received in the request - body, leaving any other fields untouched. - operationId: patchSiteSitePagePageSpecificationPublished - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] + tags: ["Site"] put: description: - Updates the published page specification of a site page. - operationId: putSiteSitePagePageSpecificationPublished + Adds or update a new site + operationId: putSiteByExternalReferenceCode parameters: - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode + name: externalReferenceCode required: true schema: type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string requestBody: content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: + multipart/form-data: schema: - $ref: "#/components/schemas/PageSpecification" + properties: + file: + format: binary + type: string + type: object responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Site" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Site" description: default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published/page-experiences": + tags: ["Site"] + /sites/by-external-reference-code/{externalReferenceCode}/site-initializer: get: - description: - Retrieves all the experiences of a published page specification. - operationId: getSiteSitePagePageSpecificationPublishedPageExperiences - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] - post: - description: - Adds a new experience to a published page specification of a site page. - operationId: postSiteSitePagePageSpecificationPublishedPageExperience + operationId: getSiteByExternalReferenceCodeSiteInitializer parameters: - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode + name: externalReferenceCode required: true schema: type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" responses: 200: content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: + application/zip: schema: - $ref: "#/components/schemas/Experience" - description: - default response - # @review - tags: ["PageSpecification"] \ No newline at end of file + format: binary + type: string + tags: ["Site"] \ No newline at end of file From 186b77ebb88a3b5e2c7a0e893f7920c44a4b4e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 22 May 2024 10:53:35 +0200 Subject: [PATCH 083/260] LPD-23361 Fix operation ids and parameters --- .../rest-openapi.yaml | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index a24013a8bcc9e4..9f63a73ce42fb9 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2977,7 +2977,7 @@ paths: description: Retrieves all the descendant page elements of a page element within an experience in a page specification of a site page. - operationId: getSitePageElementPageElements + operationId: getSitePageElementPageElementsPage parameters: - in: path name: siteExternalReferenceCode @@ -3180,7 +3180,7 @@ paths: get: description: Retrieves all the page elements within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageElements + operationId: getSitePageExperiencePageElementsPage parameters: - in: path name: siteExternalReferenceCode @@ -3232,16 +3232,17 @@ paths: required: true schema: type: string - - in: query - name: fields + - in: path + name: pageExperienceExternalReferenceCode + required: true schema: type: string - in: query - name: nestedFields + name: fields schema: type: string - in: query - name: pageExperienceExternalReferenceCode + name: nestedFields schema: type: string - in: query @@ -3273,7 +3274,7 @@ paths: get: description: Retrieves all the page rules within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageRules + operationId: getSitePageExperiencePageRulesPage parameters: - in: path name: siteExternalReferenceCode @@ -3839,7 +3840,7 @@ paths: get: description: Retrieves all the page rule action actions within an experience in a page specification of a site page. - operationId: getSitePageRulePageRuleActions + operationId: getSitePageRulePageRuleActionsPage parameters: - in: path name: siteExternalReferenceCode @@ -3935,7 +3936,7 @@ paths: description: Retrieves all the page rule condition conditions within an experience in a page specification of a site page. - operationId: getSitePageRulePageRuleConditions + operationId: getSitePageRulePageRuleConditionsPage parameters: - in: path name: siteExternalReferenceCode @@ -4036,8 +4037,7 @@ paths: name: siteExternalReferenceCode required: true schema: - format: int64 - type: integer + type: string - in: query name: aggregationTerms schema: @@ -4099,8 +4099,7 @@ paths: name: siteExternalReferenceCode required: true schema: - format: int64 - type: integer + type: string requestBody: content: application/json: @@ -4486,7 +4485,7 @@ paths: get: description: Retrieves all the experiences of a draft page specification. - operationId: getSiteSitePagePageSpecificationDraftPageExperiences + operationId: getSiteSitePagePageSpecificationDraftPageExperiencesPage parameters: - in: path name: siteExternalReferenceCode @@ -4753,7 +4752,7 @@ paths: get: description: Retrieves all the experiences of a published page specification. - operationId: getSiteSitePagePageSpecificationPublishedPageExperiences + operationId: getSiteSitePagePageSpecificationPublishedPageExperiencesPage parameters: - in: path name: siteExternalReferenceCode From b9cbd62548fbab6e3b2893f2112ebd2284396a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 22 May 2024 10:54:19 +0200 Subject: [PATCH 084/260] LPD-23361 Include creator --- .../rest-openapi.yaml | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9f63a73ce42fb9..3064f36902ca23 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -249,6 +249,56 @@ components: required: - contextSource type: object + Creator: + description: + Represents the user who created the content. Properties follow the [creator](https://schema.org/creator) + specification. + properties: + additionalName: + description: + An additional name for the user. This can be used for a middle name. + readOnly: true + type: string + contentType: + # @review + description: + The type of the content. + readOnly: true + type: string + familyName: + description: + The user's surname (last name). + readOnly: true + type: string + givenName: + description: + The user's first name. + readOnly: true + type: string + id: + description: + The user's ID. + format: int64 + readOnly: true + type: integer + image: + description: + A relative URL to the user's profile image. + format: uri + readOnly: true + type: string + name: + description: + The user's full name. + readOnly: true + type: string + profileURL: + description: + A relative URL to the user's profile. + format: uri + readOnly: true + type: string + type: object CustomCSSViewport: # @review description: From d711a9cfe9f7c132c63cb33d6907aaa97fb18079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 23 May 2024 11:55:01 +0200 Subject: [PATCH 085/260] LPD-X Add FragmentComposition schema --- .../rest-openapi.yaml | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3064f36902ca23..59baac65d633a3 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -469,6 +469,64 @@ components: readOnly: true type: string type: object + FragmentComposition: + # @review + description: + Represents a composition of fragments that can be added to a site page. + properties: + collectionExternalReferenceCode: + # @review + description: + The external reference code of the collection this fragment composition belongs to. + type: string + creator: + $ref: "#/components/schemas/Creator" + description: + The structured content's creator. + readOnly: true + dateCreated: + description: + The structured content's creation date. + format: date-time + readOnly: true + type: string + dateModified: + description: + The last time any field of the structured content was changed. + format: date-time + readOnly: true + type: string + datePublished: + description: + The structured content's most recent publication date. + format: date-time + type: string + description: + # @review + description: + The description of this fragment composition. + type: string + externalReferenceCode: + # @review + description: + The external reference code of this fragment composition. + type: string + key: + # @review + description: + The fragment composition's key. + type: string + name: + # @review + description: + The fragment composition's name. + type: string + pageElement: + $ref: "#/components/schemas/PageElement" + # @review + description: + The fragment composition's page element, whose definition must be of type PageSectionDefinition. + type: object FragmentField: # @review description: From 58aa6ead64dc54385064fd7946528d30a13e5ba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 23 May 2024 11:57:03 +0200 Subject: [PATCH 086/260] LPD-X Add CRUD endpoints for fragment compositions --- .../rest-openapi.yaml | 258 ++++++++++++++++++ 1 file changed, 258 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 59baac65d633a3..6e5350f700acbc 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2934,6 +2934,264 @@ info: version: v1.0 openapi: 3.0.1 paths: + "/sites/{siteExternalReferenceCode}/fragment-compositions": + get: + description: + Retrieves the fragment compositions of the site + operationId: getSiteFragmentCompositionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/FragmentComposition" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/FragmentComposition" + type: array + tags: ["FragmentComposition"] + post: + description: + Adds a new fragment composition. If the page element of the fragment composition does not contain a + "definition" property and contains an externalReferenceCode, the PageElement will be retrieved based on + the externalReferenceCode and used for creating the FragmentComposition. + operationId: postSiteFragmentComposition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: saveInlineContent + required: true + schema: + default: false + type: boolean + - in: query + name: saveMapping + required: true + schema: + default: false + type: boolean + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + description: + default response + # @review + tags: ["FragmentComposition"] + "/sites/{siteExternalReferenceCode}/fragment-compositions/{fragmentCompositionExternalReferenceCode}": + delete: + description: + Deletes a specific fragment composition of a site. + operationId: deleteSiteFragmentComposition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: fragmentCompositionExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["FragmentComposition"] + get: + description: + Retrieves a specific fragment composition of a site. + operationId: getSiteFragmentComposition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: fragmentCompositionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + description: + default response + tags: ["FragmentComposition"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteFragmentComposition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: fragmentCompositionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + description: + default response + tags: ["FragmentComposition"] + put: + description: + Updates the fragment composition with the given external reference code, or creates it if it does not + exist. + operationId: putSiteFragmentComposition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: fragmentCompositionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + description: + default response + tags: ["FragmentComposition"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: description: From 59cce2e42000f3b05862f826c9ba916ddae3b3a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 23 May 2024 12:17:27 +0200 Subject: [PATCH 087/260] LPD-X Add endpoints for adding a fragment composition under a page element --- .../rest-openapi.yaml | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6e5350f700acbc..2ed8cc5214d0d0 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3338,6 +3338,67 @@ paths: items: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/fragment-compositions": + post: + description: + Adds a new fragment composition under a page element of an experience in a page specification of a site + page. If successful, the response will contain the page element in which the fragment composition is + converted. + operationId: postSitePageElementFragmentComposition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageElementExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + description: + The 0-based position with respect to the page element's children where the fragment composition + will be added (0 for before the first child, 1 for before the second child, ...). If not specified + when adding a fragment composition the fragment composition will be added at the last valid + position. + name: position + schema: + minimum: 0 + type: integer + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageElement" + application/xml: + schema: + items: + $ref: "#/components/schemas/PageElement" + # @review + tags: ["PageElement"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": get: description: From 03b754449cbe25c85e4a0a25b03ab5f65163d3f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 23 May 2024 12:21:48 +0200 Subject: [PATCH 088/260] LPD-X Add thumbnail as DocumentExternalReferenceCodeReference to FragmentComposition so a reference to the thumbnail image can be specified when creating a fragment composition and retrieved when obtaining a fragment composition --- .../rest-openapi.yaml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 2ed8cc5214d0d0..96b316b50e6769 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -399,6 +399,24 @@ components: type: string type: object type: object + DocumentExternalReferenceCodeReference: + properties: + externalReferenceCode: + type: string + scope: + properties: + externalReferenceCode: + type: string + type: + enum: [AssetLibrary, Site] + type: string + required: + - externalReferenceCode + - type + type: object + required: + - externalReferenceCode + type: object Experience: description: # @review @@ -526,6 +544,11 @@ components: # @review description: The fragment composition's page element, whose definition must be of type PageSectionDefinition. + thumbnail: + $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + # @review + description: + The fragment composition's thumbnail. type: object FragmentField: # @review From d4238c2d40da9bafb857f765bd35eb40537381ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 15:47:49 +0200 Subject: [PATCH 089/260] LPD-X Expose externalReferenceCode for PageRules, PageRuleActions and PageRuleConditions --- .../headless-admin-site-impl/rest-openapi.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 96b316b50e6769..2ecac3f35532fe 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1905,6 +1905,11 @@ components: description: The page rule ID. type: string + externalReferenceCode: + # @review + description: + The page rule external reference code. + type: string name: # @review description: @@ -1940,6 +1945,11 @@ components: description: The page rule action's ID. type: string + externalReferenceCode: + # @review + description: + The page rule action's external reference code. + type: string itemId: # @review description: @@ -1966,6 +1976,11 @@ components: description: The page rule condition's ID. type: string + externalReferenceCode: + # @review + description: + The page rule condition's external reference code. + type: string type: # @review description: From 9855d964ae09fe6b31fc8b69b923987636c35fd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 15:49:47 +0200 Subject: [PATCH 090/260] LPD-X Remove renderedPage from SitePage, since it is not needed in the "admin" APIs --- .../headless-admin-site-impl/rest-openapi.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 2ecac3f35532fe..885ffd55690b66 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2711,11 +2711,6 @@ components: The relative URL of the parent page. type: string type: object - renderedPage: - $ref: "#/components/schemas/RenderedPage" - # @review - description: - Metadata of the page such as it's master page and template. siteId: # @review description: From 9f2d8570f6c04cd77eaf94dbcfb1531b0d891f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 15:56:52 +0200 Subject: [PATCH 091/260] LPD-X Don't expose taxonomyCategoryIds --- .../headless-admin-site-impl/rest-openapi.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 885ffd55690b66..b4dfff9b601336 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2725,17 +2725,6 @@ components: items: $ref: "#/components/schemas/TaxonomyCategoryBrief" type: array - taxonomyCategoryIds: - deprecated: true - # @review - description: - A write-only field that adds `TaxonomyCategory` instances to the page. Deprecated as of - Cavanaugh (7.4.x), replaced by `taxonomyCategoryBriefs.taxonomyCategoryReference` - items: - format: int64 - type: integer - type: array - writeOnly: true title: # @review description: From 08b6771abb7b5fb1ad3e8c185ba44b8b900bf642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 16:11:17 +0200 Subject: [PATCH 092/260] LPD-X Use site.externalReferenceCode instead of siteId --- .../headless-admin-site-impl/rest-openapi.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b4dfff9b601336..d671c06f8540de 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2711,13 +2711,17 @@ components: The relative URL of the parent page. type: string type: object - siteId: + site: # @review description: - The ID of the site to which this page is scoped. - format: int64 - readOnly: true - type: integer + The site to which this page is scoped. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the site. + type: string + type: object taxonomyCategoryBriefs: # @review description: From 5427c08df7597b679c7b8b2e0c90adcbefaabbb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 16:12:46 +0200 Subject: [PATCH 093/260] LPD-X Don't expose taxonomyCategoryId --- .../headless-admin-site-impl/rest-openapi.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d671c06f8540de..9bd82c5d2841c8 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2832,12 +2832,6 @@ components: Optional field with the embedded taxonomy category, can be embedded with nestedFields readOnly: true type: object - taxonomyCategoryId: - description: - The category's ID. This can be used to retrieve more information in the `TaxonomyCategory` API. - format: int64 - readOnly: true - type: integer taxonomyCategoryName: description: The category's name. From 925d389ed88a602661f2bad319eb34097a132f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 16:14:44 +0200 Subject: [PATCH 094/260] LPD-X Identify category using scope type and scope externalReferenceCode, rather than siteKey --- .../headless-admin-site-impl/rest-openapi.yaml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9bd82c5d2841c8..cacb11c0e8c8c3 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2855,12 +2855,17 @@ components: description: The taxonomy category's external reference code. type: string - siteKey: - # @review - description: - The key of the site or asset library where the taxonomy category is located. It can be - left out if the taxonomy category is in the same site as the page. - type: string + scope: + properties: + externalReferenceCode: + type: string + type: + enum: [AssetLibrary, Site] + type: string + required: + - externalReferenceCode + - type + type: object required: - externalReferenceCode type: object From 8a3ef9016a309b080fc87105906cdbafc4968600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 16:24:38 +0200 Subject: [PATCH 095/260] LPD-X Remove RenderedPage entity --- .../rest-openapi.yaml | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index cacb11c0e8c8c3..66689a583fab53 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2257,40 +2257,6 @@ components: description: The widget instance of the page widget instance. type: object - RenderedPage: - # @review - description: - A list of rendered pages, which results from using a page template and the appropriate viewport to - process the page and return HTML. - properties: - masterPageId: - # @review - description: - The ID of the master page used to render the content. - readOnly: true - type: string - masterPageName: - # @review - description: - The name of the master page used to render the content. - type: string - pageTemplateId: - # @review - description: - The ID of the template used to render the content. - readOnly: true - type: string - pageTemplateName: - # @review - description: - The name of the template used to render the content. - type: string - renderedPageURL: - # @review - description: - An absolute URL to the rendered page. - type: string - type: object RowViewport: # @review description: From af355c80af5e6441d4b391a99c4675c81dc59854 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 16:26:43 +0200 Subject: [PATCH 096/260] LPD-23057 Add CRUD endpoints for master pages --- .../rest-openapi.yaml | 673 ++++++++++++++++++ 1 file changed, 673 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 66689a583fab53..3b316c6bbbe0a7 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3183,6 +3183,679 @@ paths: description: default response tags: ["FragmentComposition"] + "/sites/{siteExternalReferenceCode}/master-pages": + get: + description: + Retrieves the master pages of the site + operationId: getSiteMasterPagesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/MasterPage" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/MasterPage" + type: array + tags: ["MasterPage"] + post: + description: + Adds a new master page + operationId: postSiteMasterPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MasterPage" + application/xml: + schema: + $ref: "#/components/schemas/MasterPage" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/MasterPage" + application/xml: + schema: + $ref: "#/components/schemas/MasterPage" + description: + default response + # @review + tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}": + delete: + description: + Deletes a specific master page of a site. + operationId: deleteSiteMasterPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["MasterPage"] + get: + description: + Retrieves a specific master page of a site. + operationId: getSiteMasterPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/MasterPage" + application/xml: + schema: + $ref: "#/components/schemas/MasterPage" + description: + default response + tags: ["MasterPage"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteMasterPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MasterPage" + application/xml: + schema: + $ref: "#/components/schemas/MasterPage" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/MasterPage" + application/xml: + schema: + $ref: "#/components/schemas/MasterPage" + description: + default response + tags: ["MasterPage"] + put: + description: + Updates the master page with the given external reference code, or creates it if it does not exist. + operationId: putSiteMasterPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MasterPage" + application/xml: + schema: + $ref: "#/components/schemas/MasterPage" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/MasterPage" + application/xml: + schema: + $ref: "#/components/schemas/MasterPage" + description: + default response + tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications": + post: + description: + Adds a new page specification in draft status to a master page. + operationId: postSiteMasterPagePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/draft": + delete: + description: + Deletes the draft page specification of a master page. + operationId: deleteSiteMasterPagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageSpecification"] + get: + description: + Retrieves the draft page specification of a master page. + operationId: getSiteMasterPagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the draft page specification of a master page based only on the fields received in the request + body, leaving any other fields untouched. + operationId: patchSiteMasterPagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the draft page specification of a master page. + operationId: putSiteMasterPagePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/draft/publish": + post: + description: + Publishes a page specification in draft status of a master page. + operationId: postSiteMasterPagePageSpecificationDraftPublish + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/published": + get: + description: + Retrieves the published page specification of a master page. + operationId: getSiteMasterPagePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the published page specification of a master page based only on the fields received in the + request body, leaving any other fields untouched. + operationId: patchSiteMasterPagePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the published page specification of a master page. + operationId: putSiteMasterPagePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/published/page-experiences": + get: + description: + Retrieves all the experiences of a published page specification. + operationId: getSiteMasterPagePageSpecificationPublishedPageExperiencesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + # @review + tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: description: From 17cfb7d1d99d9aaffbe5c8e54d51ee3aaa2dde8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 16:28:35 +0200 Subject: [PATCH 097/260] LPD-23057 Add properties to MasterPage --- .../rest-openapi.yaml | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3b316c6bbbe0a7..d380fb97b9f3bb 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1192,16 +1192,74 @@ components: description: Represents a page with common elements (header, footer, ...) used for all or several pages of a site. properties: + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The master page's creator. + dateCreated: + # @review + description: + The master page's creation date. + format: date-time + type: string + dateModified: + # @review + description: + The last time any field of the master page was changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The master page's most recent publication date. + format: date-time + type: string + default: + # @review + description: + Whether the master page is the default one. + type: boolean key: # @review description: The master page's key. type: string + keywordBriefs: + description: + The keywords associated with this master page. + items: + $ref: "#/components/schemas/KeywordBrief" + type: array name: # @review description: The master page's name. type: string + pageSpecifications: + properties: + draft: + $ref: "#/components/schemas/PageSpecification" + published: + $ref: "#/components/schemas/PageSpecification" + type: object + taxonomyCategoryBriefs: + description: + The categories associated with this master page. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + thumbnail: + $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + # @review + description: + The master page's thumbnail. + uuid: + # @review + description: + A valid external identifier to reference this page. + type: string type: object MessageFormSubmissionResult: # @review From 8888fe5d51dc98f6582909d6bd115140ae3d65df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 24 May 2024 16:30:09 +0200 Subject: [PATCH 098/260] LPD-X Replace id with externalReferenceCode --- .../headless-admin-site-impl/rest-openapi.yaml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d380fb97b9f3bb..61bb141a7b9853 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1958,11 +1958,6 @@ components: The custom name of a Page rule. enum: [All, Any] type: string - id: - # @review - description: - The page rule ID. - type: string externalReferenceCode: # @review description: @@ -1998,11 +1993,6 @@ components: description: The page rule action's action. type: string - id: - # @review - description: - The page rule action's ID. - type: string externalReferenceCode: # @review description: @@ -2029,11 +2019,6 @@ components: description: The page rule condition's description. type: string - id: - # @review - description: - The page rule condition's ID. - type: string externalReferenceCode: # @review description: From ab2cb35559e4ee0f770e681de9e5bb13c36698e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 13:16:39 +0200 Subject: [PATCH 099/260] LPD-23057 Add KeywordBrief definition, following the pattern of TaxonomyCategoryBrief --- .../rest-openapi.yaml | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 61bb141a7b9853..6be559086ed2bf 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1187,6 +1187,44 @@ components: format: double type: number type: object + KeywordBrief: + properties: + embeddedKeyword: + # @review + description: + Optional field with the embedded keyword, can be embedded with nestedFields + readOnly: true + type: object + keywordName: + description: + The keyword's name. + readOnly: true + type: string + keywordReference: + # @review + description: + A unique reference to a keyword. + properties: + externalReferenceCode: + # @review + description: + The keyword's external reference code. + type: string + scope: + properties: + externalReferenceCode: + type: string + type: + enum: [AssetLibrary, Site] + type: string + required: + - externalReferenceCode + - type + type: object + required: + - externalReferenceCode + type: object + type: object MasterPage: # @review description: From c80d8d22ced0d79e2d66d647576a517853c89059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 13:17:24 +0200 Subject: [PATCH 100/260] LPD-23057 Use keywordBriefs also in SitePage --- .../headless-admin-site-impl/rest-openapi.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6be559086ed2bf..138e7a4dbee71a 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2688,12 +2688,11 @@ components: format: int64 readOnly: true type: integer - keywords: - # @review + keywordBriefs: description: - A list of keywords describing the page. + The keywords associated with this master page. items: - type: string + $ref: "#/components/schemas/KeywordBrief" type: array pageDefinition: $ref: "#/components/schemas/PageDefinition" From 87a58d9883d3849751b7c101d3fb425006fe3133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 13:17:55 +0200 Subject: [PATCH 101/260] LPD-23057 Add externalReferenceCode to Creator --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 138e7a4dbee71a..94e0b034b192de 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -265,6 +265,10 @@ components: The type of the content. readOnly: true type: string + externalReferenceCode: + description: + The user's external reference code, unique per instance. + type: string familyName: description: The user's surname (last name). From 12e4bd71278ce9c067cdafad99f73809235932f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 15:44:26 +0200 Subject: [PATCH 102/260] LPD-23057 Update descriptions in settings, so it is clear that settings is associated to a page specification --- .../rest-openapi.yaml | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 94e0b034b192de..3b4e3e685871bf 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2480,22 +2480,22 @@ components: Settings: # @review description: - Represents the settings of a page. + Represents the settings of a page specification. properties: colorSchemeName: # @review description: - The page's color scheme name. + The page specification's color scheme name. type: string css: # @review description: - The page's CSS. + The page specification's CSS. type: string favIcon: # @review description: - The FavIcon of the page + The FavIcon of the page specification oneOf: - $ref: "#/components/schemas/ClientExtension" - $ref: "#/components/schemas/ContentDocument" @@ -2514,17 +2514,18 @@ components: javascript: # @review description: - The page's JavaScript. + The page specification's JavaScript. type: string masterPage: $ref: "#/components/schemas/MasterPage" # @review description: - The page's master page. + The page specification's master page. This property is not applied if the page specification + belongs to a master page. styleBook: # @review description: - The StyleBook that is applied to the page. + The StyleBook that is applied to the page specification. properties: key: # @review @@ -2541,22 +2542,22 @@ components: $ref: "#/components/schemas/ClientExtension" # @review description: - The Client Extension for the theme css of a page + The Client Extension for the theme css of a page specification. themeName: # @review description: - The page's theme name. + The page specification's theme name. type: string themeSettings: # @review description: - The page's theme settings. + The page specification's theme settings. type: object themeSpritemapClientExtension: $ref: "#/components/schemas/ClientExtension" # @review description: - The Client Extension for the theme spritemap of a page + The Client Extension for the theme spritemap of a page specification. type: object Site: # @review From fa078905589a993efa0abecedf11d1d98877d032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 18:01:02 +0200 Subject: [PATCH 103/260] LPD-23058 Add DisplayPageTemplate and DisplayPageTemplateSettings entities --- .../rest-openapi.yaml | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3b4e3e685871bf..3590af10f8bf68 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -403,6 +403,116 @@ components: type: string type: object type: object + DisplayPageTemplate: + # @review + description: + Represents a Display Page template. + properties: + contentSubtype: + # @review + description: + The display page template's content subtype. + properties: + subtypeExternalReferenceCode: + # @review + description: + The content subtype's external reference code. + type: string + type: object + contentType: + # @review + description: + The type of content. + properties: + classNameExternalReferenceCode: + # @review + description: + The content type's class name external reference code. + type: string + type: object + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The display page template's creator. + dateCreated: + # @review + description: + The display page template's creation date. + format: date-time + type: string + dateModified: + # @review + description: + The last time any field of the display page template was changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The display page template's most recent publication date. + format: date-time + type: string + default: + # @review + description: + Whether the display page template is the default one for the given content type/subtype. + type: boolean + displayPageTemplateSettings: + $ref: "#/components/schemas/DisplayPageTemplateSettings" + # @review + description: + Settings of the page, such as SEO or OpenGraph. + friendlyUrlPath: + # @review + description: + A relative URL to the display page template's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the display page template's rendered content. + type: object + key: + # @review + description: + The display page template's key. + type: string + name: + # @review + description: + The display page template's name. + type: string + thumbnail: + $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + # @review + description: + The display page template's thumbnail. + uuid: + # @review + description: + A valid external identifier to reference this display page template. + type: string + type: object + DisplayPageTemplateSettings: + # @review + description: + Represents the settings of a Display Page Template. + properties: + openGraphSettings: + $ref: "#/components/schemas/OpenGraphSettings" + # @review + description: + The page's Open Graph settings. + seoSettings: + $ref: "#/components/schemas/SEOSettings" + # @review + description: + The page's SEO settings. + type: object DocumentExternalReferenceCodeReference: properties: externalReferenceCode: From 4beb3064f412f0f7c6c15f945ea93c2afbe4639f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 18:04:13 +0200 Subject: [PATCH 104/260] LPD-23058 Add CRUD endpoints for display page templates --- .../rest-openapi.yaml | 674 ++++++++++++++++++ 1 file changed, 674 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3590af10f8bf68..9df9bb20dad402 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3120,6 +3120,680 @@ info: version: v1.0 openapi: 3.0.1 paths: + "/sites/{siteExternalReferenceCode}/display-page-templates": + get: + description: + Retrieves the display page templates of the site + operationId: getSiteDisplayPageTemplatesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/DisplayPageTemplate" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/DisplayPageTemplate" + type: array + tags: ["DisplayPageTemplate"] + post: + description: + Adds a new display page template + operationId: postSiteDisplayPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + description: + default response + # @review + tags: ["DisplayPageTemplate"] + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}": + delete: + description: + Deletes a specific display page template of a site. + operationId: deleteSiteDisplayPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplate"] + get: + description: + Retrieves a specific display page template of a site. + operationId: getSiteDisplayPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + description: + default response + tags: ["DisplayPageTemplate"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteDisplayPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + description: + default response + tags: ["DisplayPageTemplate"] + put: + description: + Updates the display page template with the given external reference code, or creates it if it does not + exist. + operationId: putSiteDisplayPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + description: + default response + tags: ["DisplayPageTemplate"] + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications": + post: + description: + Adds a new page specification in draft status to a display page template. + operationId: postSiteDisplayPageTemplatePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["DisplayPageTemplate"] + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/draft": + delete: + description: + Deletes the draft page specification of a display page template. + operationId: deleteSiteDisplayPageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageSpecification"] + get: + description: + Retrieves the draft page specification of a display page template. + operationId: getSiteDisplayPageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the draft page specification of a display page template based only on the fields received in the + request body, leaving any other fields untouched. + operationId: patchSiteDisplayPageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the draft page specification of a display page template. + operationId: putSiteDisplayPageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/draft/publish": + post: + description: + Publishes a page specification in draft status of a display page template. + operationId: postSiteDisplayPageTemplatePageSpecificationDraftPublish + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/published": + get: + description: + Retrieves the published page specification of a display page template. + operationId: getSiteDisplayPageTemplatePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the published page specification of a display page template based only on the fields received in + the request body, leaving any other fields untouched. + operationId: patchSiteDisplayPageTemplatePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the published page specification of a display page template. + operationId: putSiteDisplayPageTemplatePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": + get: + description: + Retrieves all the experiences of a published page specification. + operationId: getSiteDisplayPageTemplatePageSpecificationPublishedPageExperiencesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + # @review + tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/fragment-compositions": get: description: From afbb095789adea310f9801104cf974b0a7e44bdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 18:10:36 +0200 Subject: [PATCH 105/260] LPD-23058 Add parentFolderExternalReferenceCode to display page template --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9df9bb20dad402..15fba23f668d4b 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -486,6 +486,11 @@ components: description: The display page template's name. type: string + parentFolder: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + # @review + description: + The display page template's parent folder. thumbnail: $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" # @review From 3bdd624efcc21cf45b14d7cc9aab9a3c9396fe8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 18:13:56 +0200 Subject: [PATCH 106/260] LPD-23058 Add externalReferenceCode to display page template --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 15fba23f668d4b..04fdb8d3f4f5c6 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -464,6 +464,11 @@ components: # @review description: Settings of the page, such as SEO or OpenGraph. + externalReferenceCode: + # @review + description: + The display page template's external reference code. + type: string friendlyUrlPath: # @review description: From 554fa37a0de133889c1a372441b27c285eb9b688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 27 May 2024 18:17:41 +0200 Subject: [PATCH 107/260] LPD-23058 Add DisplayPageTemplateFolder entities --- .../rest-openapi.yaml | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 04fdb8d3f4f5c6..5f58fea1924042 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -507,6 +507,55 @@ components: A valid external identifier to reference this display page template. type: string type: object + DisplayPageTemplateFolder: + # @review + description: + Represents a Display Page template folder. + properties: + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The display page template folder's creator. + dateCreated: + # @review + description: + The display page template folder's creation date. + format: date-time + type: string + dateModified: + # @review + description: + The last time any field of the display page template folder was changed. + format: date-time + readOnly: true + type: string + description: + # @review + description: + The display page template folder's description. + type: string + externalReferenceCode: + # @review + description: + The display page template folder's external reference code. + type: string + key: + # @review + description: + The display page template folder's key. + type: string + name: + # @review + description: + The display page template folder's name. + type: string + uuid: + # @review + description: + A valid external identifier to reference this page template folder. + type: string + type: object DisplayPageTemplateSettings: # @review description: From 8917f5dd3ec766a8ea30b094aa36ea5f6ad38439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 28 May 2024 08:22:21 +0200 Subject: [PATCH 108/260] LPD-X Add CRUD endpoints for display page template folders --- .../rest-openapi.yaml | 345 ++++++++++++++++++ 1 file changed, 345 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5f58fea1924042..bf7e8c37906941 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3179,6 +3179,351 @@ info: version: v1.0 openapi: 3.0.1 paths: + "/sites/{siteExternalReferenceCode}/display-page-template-folders": + get: + description: + Retrieves the display page template folders of the site + operationId: getSiteDisplayPageTemplateFoldersPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + type: array + tags: ["DisplayPageTemplateFolder"] + post: + description: + Adds a new display page template folder + operationId: postSiteDisplayPageTemplateFolder + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + description: + default response + # @review + tags: ["DisplayPageTemplateFolder"] + "/sites/{siteExternalReferenceCode}/display-page-template-folders/{displayPageTemplateFolderExternalReferenceCode}": + delete: + description: + Deletes a specific display page template folder of a site. + operationId: deleteSiteDisplayPageTemplateFolder + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplateFolder"] + get: + description: + Retrieves a specific display page template folder of a site. + operationId: getSiteDisplayPageTemplateFolder + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + description: + default response + tags: ["DisplayPageTemplateFolder"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteDisplayPageTemplateFolder + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + description: + default response + tags: ["DisplayPageTemplateFolder"] + put: + description: + Updates the display page template folder with the given external reference code, or creates it if it + does not exist. + operationId: putSiteDisplayPageTemplateFolder + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplateFolder" + description: + default response + tags: ["DisplayPageTemplateFolder"] + "/sites/{siteExternalReferenceCode}/display-page-template-folders/{displayPageTemplateFolderExternalReferenceCode}/display-page-templates": + get: + description: + Retrieves all the display page templates within a display page template folder of a site page. + operationId: getSiteDisplayPageTemplateFolderDisplayPageTemplatesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/DisplayPageTemplate" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/DisplayPageTemplate" + type: array + # @review + tags: ["DisplayPageTemplateFolder"] + post: + description: + Adds a new display page template in draft status to a display page template folder. + operationId: postSiteDisplayPageTemplateFolderDisplayPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/DisplayPageTemplate" + description: + default response + # @review + tags: ["DisplayPageTemplateFolder"] "/sites/{siteExternalReferenceCode}/display-page-templates": get: description: From c2518a12c2ca9f5bf7557c5f48c6f263796f53f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 28 May 2024 10:45:00 +0200 Subject: [PATCH 109/260] LPD-23058 Add PageTemplate and PageTemplateCollection entities --- .../rest-openapi.yaml | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index bf7e8c37906941..93d98b724c58dc 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2464,6 +2464,131 @@ components: $ref: "#/components/schemas/PageRule" type: array type: object + PageTemplate: + # @review + description: + Represents a Page template. + properties: + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page template's creator. + dateCreated: + # @review + description: + The page template's creation date. + format: date-time + type: string + dateModified: + # @review + description: + The last time the page template changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The last time the page template changed. + format: date-time + type: string + externalReferenceCode: + # @review + description: + The page template's external reference code. + type: string + key: + # @review + description: + The page template's key. + type: string + keywords: + # @review + description: + A list of keywords describing the page template. + items: + type: string + type: array + name: + # @review + description: + The page template's name. + type: string + pageSpecifications: + properties: + draft: + $ref: "#/components/schemas/PageSpecification" + published: + $ref: "#/components/schemas/PageSpecification" + type: object + pageTemplateCollection: + $ref: "#/components/schemas/PageTemplateCollection" + # @review + description: + The page template's collection. + taxonomyCategoryBriefs: + description: + The categories associated with this page template. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + uuid: + description: + A valid external identifier to reference this page template. + readOnly: true + type: string + type: object + PageTemplateCollection: + # @review + description: + Represents a Page template collection. + properties: + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page template collection's creator. + readOnly: true + dateCreated: + # @review + description: + The page template collection's creation date. + format: date-time + type: string + dateModified: + # @review + description: + The last time the page template collection changed. + format: date-time + readOnly: true + type: string + description: + # @review + description: + The page template collection's description. + type: string + externalReferenceCode: + # @review + description: + The page template collection's external reference code. + type: string + key: + # @review + description: + The display page template collection's key. + type: string + name: + # @review + description: + The page template collection's name. + type: string + uuid: + description: + A valid external identifier to reference this page template collection. + readOnly: true + type: string + type: object PageWidgetInstanceDefinition: # @review description: @@ -3128,6 +3253,32 @@ components: readOnly: true type: string type: object + UtilityPageTemplate: + description: + Represents a Utility Page Template. + properties: + defaultTemplate: + # @review + description: + Specifies if the utility page template should be the default for the given type. + type: boolean + externalReferenceCode: + # @review + description: + The utility page template external reference code. + type: string + name: + # @review + description: + The utility page template name. + type: string + type: + # @review + description: + The utility page template type. + enum: [CookiePolicy, CreateAccount, Error, ErrorCode404, ErrorCode500, ForgotPassword, Login, TermsOfUse] + type: string + type: object WidgetInstance: # @review description: From 924543f202a177e824b7b04078020cb26c5f5488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 28 May 2024 11:31:53 +0200 Subject: [PATCH 110/260] LPD-23058 Add CRUD endpoints for page templates and page template collections --- .../rest-openapi.yaml | 1018 +++++++++++++++++ 1 file changed, 1018 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 93d98b724c58dc..179aecdd37172d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6542,6 +6542,1024 @@ paths: default response # @review tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-template-collections": + get: + description: + Retrieves the page template collections of the site + operationId: getSitePageTemplateCollectionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageTemplateCollection" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageTemplateCollection" + type: array + tags: ["PageTemplateCollection"] + post: + description: + Adds a new page template collection + operationId: postSitePageTemplateCollection + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + description: + default response + # @review + tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}": + delete: + description: + Deletes a specific page template collection of a site. + operationId: deleteSitePageTemplateCollection + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplateCollection"] + get: + description: + Retrieves a specific page template collection of a site. + operationId: getSitePageTemplateCollection + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + description: + default response + tags: ["PageTemplateCollection"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageTemplateCollection + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + description: + default response + tags: ["PageTemplateCollection"] + put: + description: + Updates the page template collection with the given external reference code, or creates it if it does + not exist. + operationId: putSitePageTemplateCollection + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplateCollection" + description: + default response + tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}/page-templates": + get: + description: + Retrieves all the page templates within a page template collection of a site page. + operationId: getSitePageTemplateCollectionPageTemplatesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageTemplate" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageTemplate" + type: array + # @review + tags: ["PageTemplateCollection"] + post: + description: + Adds a new page template in draft status to a page template collection. + operationId: postSitePageTemplateCollectionPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + # @review + tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-templates": + get: + description: + Retrieves the page templates of the site + operationId: getSitePageTemplatesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: aggregationTerms + schema: + items: + type: string + type: array + - in: query + name: fields + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer + - in: query + name: restrictFields + schema: + type: string + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageTemplate" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageTemplate" + type: array + tags: ["PageTemplate"] + post: + description: + Adds a new page template + operationId: postSitePageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + # @review + tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}": + delete: + description: + Deletes a specific page template of a site. + operationId: deleteSitePageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplate"] + get: + description: + Retrieves a specific page template of a site. + operationId: getSitePageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + tags: ["PageTemplate"] + patch: + description: + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + tags: ["PageTemplate"] + put: + description: + Updates the page template with the given external reference code, or creates it if it does not exist. + operationId: putSitePageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications": + post: + description: + Adds a new page specification in draft status to a page template. + operationId: postSitePageTemplatePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/draft": + delete: + description: + Deletes the draft page specification of a page template. + operationId: deleteSitePageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageSpecification"] + get: + description: + Retrieves the draft page specification of a page template. + operationId: getSitePageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the draft page specification of a page template based only on the fields received in the request + body, leaving any other fields untouched. + operationId: patchSitePageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the draft page specification of a page template. + operationId: putSitePageTemplatePageSpecificationDraft + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/draft/publish": + post: + description: + Publishes a page specification in draft status of a page template. + operationId: postSitePageTemplatePageSpecificationDraftPublish + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/published": + get: + description: + Retrieves the published page specification of a page template. + operationId: getSitePageTemplatePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + patch: + description: + Updates the published page specification of a page template based only on the fields received in the + request body, leaving any other fields untouched. + operationId: patchSitePageTemplatePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + put: + description: + Updates the published page specification of a page template. + operationId: putSitePageTemplatePageSpecificationPublished + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": + get: + description: + Retrieves all the experiences of a published page specification. + operationId: getSitePageTemplatePageSpecificationPublishedPageExperiencesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + # @review + tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/site-pages": get: description: From 56b89bfcfedb8410890a1b9d4cf74c610dd4dbff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 28 May 2024 14:33:47 +0200 Subject: [PATCH 111/260] LPD-x Add UtilityPage, UtilityPageSettings and UtilityPageSEOSettings entities --- .../rest-openapi.yaml | 102 ++++++++++++++++-- 1 file changed, 94 insertions(+), 8 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 179aecdd37172d..b624da447ae1b3 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -463,7 +463,7 @@ components: $ref: "#/components/schemas/DisplayPageTemplateSettings" # @review description: - Settings of the page, such as SEO or OpenGraph. + Settings of the display page template, such as SEO or OpenGraph. externalReferenceCode: # @review description: @@ -3253,31 +3253,117 @@ components: readOnly: true type: string type: object - UtilityPageTemplate: + UtilityPage: description: - Represents a Utility Page Template. + Represents a Utility Page. properties: - defaultTemplate: + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The utility page's creator. + dateCreated: + # @review + description: + The utility page's creation date. + format: date-time + type: string + dateModified: # @review description: - Specifies if the utility page template should be the default for the given type. + The last time the utility page changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The last time the utility page changed. + format: date-time + type: string + default: + # @review + description: + Specifies if the utility page should be the default for the given type. type: boolean externalReferenceCode: # @review description: - The utility page template external reference code. + The utility page external reference code. type: string name: # @review description: - The utility page template name. + The utility page name. type: string + pageSpecifications: + properties: + draft: + $ref: "#/components/schemas/PageSpecification" + published: + $ref: "#/components/schemas/PageSpecification" + type: object + thumbnail: + $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + # @review + description: + The utility page's thumbnail. type: # @review description: - The utility page template type. + The utility page type. enum: [CookiePolicy, CreateAccount, Error, ErrorCode404, ErrorCode500, ForgotPassword, Login, TermsOfUse] type: string + utilityPageSettings: + $ref: "#/components/schemas/UtilityPageSettings" + # @review + description: + Settings of the utility page, such as SEO. + uuid: + description: + A valid external identifier to reference this utility page. + type: string + type: object + UtilityPageSEOSettings: + # @review + description: + Represents settings related with SEO of an utility page. + properties: + description: + type: string + # @review + description: + The utility page's description to be used as summary for search engines. + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized descriptions of the utility page to be used as summary for search engines. + type: object + htmlTitle: + # @review + description: + The utility page's main title to be used by search engines. + type: string + htmlTitle_i18n: + additionalProperties: + type: string + # @review + description: + The localized main titles of the utility page to be used by search engines. + type: object + type: object + UtilityPageSettings: + # @review + description: + Represents the settings of an utility page. + properties: + seoSettings: + $ref: "#/components/schemas/UtilityPageSEOSettings" + # @review + description: + The utility page's SEO settings. type: object WidgetInstance: # @review From ff1659385aab3b256c4054f430858cc57da7e223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 28 May 2024 17:21:17 +0200 Subject: [PATCH 112/260] LPD-x Add WidgetPageLayoutDefinition and WidgetPageSectionDefinition --- .../rest-openapi.yaml | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b624da447ae1b3..be6d1a4963a63d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1830,6 +1830,8 @@ components: - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + - $ref: "#/components/schemas/WidgetPageLayoutDefinition" + - $ref: "#/components/schemas/WidgetPageSectionDefinition" externalReferenceCode: description: The page element's external reference code. Unique within the site. @@ -3405,6 +3407,35 @@ components: type: object type: array type: object + WidgetPageLayoutDefinition: + # @review + description: + Represents a definition of a Widget Page Layout. + properties: + customizable: + # @review + description: + A flag that indicates whether the page is customizable. + type: boolean + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + required: + - layoutTemplateId + type: object + WidgetPageSectionDefinition: + # @review + description: + Represents a definition of a Page widget section. + properties: + customizable: + # @review + description: + A flag that indicates whether the page widget section is customizable or not. + type: boolean + type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID From 560d84ea77687e08ec435dd286e115f5a7e9d815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 28 May 2024 17:48:22 +0200 Subject: [PATCH 113/260] LPD-x wip --- .../rest-openapi.yaml | 50 ++++++++++++++----- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index be6d1a4963a63d..5042e659fb42ae 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1809,6 +1809,19 @@ components: - $ref: "#/components/schemas/FragmentSettingsAllowed" - $ref: "#/components/schemas/FragmentSettingsUnallowed" type: object + CustomizedPageElement: + # @review + description: + Represents a Page element. + properties: + userExternalReferenceCode: + description: + The page element's external reference code. Unique within the site. + type: string + pageElement: + description: + The page element's external reference code. Unique within the site. + $ref: "#/components/schemas/PageElement" PageElement: # @review description: @@ -1830,8 +1843,8 @@ components: - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + - $ref: "#/components/schemas/WidgetPageColumnDefinition" - $ref: "#/components/schemas/WidgetPageLayoutDefinition" - - $ref: "#/components/schemas/WidgetPageSectionDefinition" externalReferenceCode: description: The page element's external reference code. Unique within the site. @@ -1847,6 +1860,13 @@ components: items: $ref: "#/components/schemas/PageElement" type: array + pageElementsByUser: + # @review + description: + A map of the customized page elements this page element has per user's external reference code. + items: + $ref: "#/components/schemas/PageElement" + type: array parentExternalReferenceCode: description: The parent's page element's external reference code. Unique within the site. @@ -3407,34 +3427,40 @@ components: type: object type: array type: object - WidgetPageLayoutDefinition: + WidgetPageColumnDefinition: # @review description: - Represents a definition of a Widget Page Layout. + Represents a definition of a Page widget column. properties: customizable: # @review description: - A flag that indicates whether the page is customizable. + A flag that indicates whether the page widget column is customizable or not. type: boolean - layoutTemplateId: + customizedPageElements: # @review description: - The identifier of the layout template. - type: string - required: - - layoutTemplateId + A map with the customized page elements for each user's external reference code. + properties: + type: object type: object - WidgetPageSectionDefinition: + WidgetPageLayoutDefinition: # @review description: - Represents a definition of a Page widget section. + Represents a definition of a Widget Page Layout. properties: customizable: # @review description: - A flag that indicates whether the page widget section is customizable or not. + A flag that indicates whether the page is customizable. type: boolean + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + required: + - layoutTemplateId type: object info: description: From 5c25afcb74f9ff3720461133971279ee28677560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 28 May 2024 18:35:40 +0200 Subject: [PATCH 114/260] LPD-x wip 2 --- .../headless-admin-site-impl/rest-openapi.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5042e659fb42ae..3213efd692929b 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1812,11 +1812,11 @@ components: CustomizedPageElement: # @review description: - Represents a Page element. + Represents a customized Page element. properties: userExternalReferenceCode: description: - The page element's external reference code. Unique within the site. + The external reference code of the user who owns this page element. Unique within the instance. type: string pageElement: description: @@ -1860,13 +1860,13 @@ components: items: $ref: "#/components/schemas/PageElement" type: array - pageElementsByUser: + customizedPageElements: # @review description: - A map of the customized page elements this page element has per user's external reference code. + A list of the customized page elements. items: - $ref: "#/components/schemas/PageElement" - type: array + $ref: "#/components/schemas/CustomizedPageElement" + type: object parentExternalReferenceCode: description: The parent's page element's external reference code. Unique within the site. From 12dab5db5e74a0df97db0d2141d5153d461e5eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 29 May 2024 11:36:02 +0200 Subject: [PATCH 115/260] LPD-x wip 3 --- .../rest-openapi.yaml | 95 ++++++++----------- 1 file changed, 37 insertions(+), 58 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3213efd692929b..bcd9dff172c202 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1809,19 +1809,6 @@ components: - $ref: "#/components/schemas/FragmentSettingsAllowed" - $ref: "#/components/schemas/FragmentSettingsUnallowed" type: object - CustomizedPageElement: - # @review - description: - Represents a customized Page element. - properties: - userExternalReferenceCode: - description: - The external reference code of the user who owns this page element. Unique within the instance. - type: string - pageElement: - description: - The page element's external reference code. Unique within the site. - $ref: "#/components/schemas/PageElement" PageElement: # @review description: @@ -1843,8 +1830,8 @@ components: - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - - $ref: "#/components/schemas/WidgetPageColumnDefinition" - - $ref: "#/components/schemas/WidgetPageLayoutDefinition" + - $ref: "#/components/schemas/PageWidgetPageColumnDefinition" + - $ref: "#/components/schemas/PageWidgetPageLayoutDefinition" externalReferenceCode: description: The page element's external reference code. Unique within the site. @@ -1860,13 +1847,6 @@ components: items: $ref: "#/components/schemas/PageElement" type: array - customizedPageElements: - # @review - description: - A list of the customized page elements. - items: - $ref: "#/components/schemas/CustomizedPageElement" - type: object parentExternalReferenceCode: description: The parent's page element's external reference code. Unique within the site. @@ -1884,7 +1864,12 @@ components: The page element's type (collection, collection item, column, drop zone, form, fragment, fragment drop zone, root, row, section or widget). enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentDropZone, Root, Row, Section, - Widget] + Widget, WidgetPageColumn, WidgetPageLayout] + type: string + userExternalReferenceCode: + description: + The external reference code of the user who owns this page element, if the page element is + customizable. It only applies to widget pages. type: string PageFormDefinition: # @review @@ -2658,6 +2643,35 @@ components: description: The widget instance of the page widget instance. type: object + PageWidgetPageColumnDefinition: + # @review + description: + Represents the definition of a widget page column. + properties: + customizable: + # @review + description: + A flag that indicates whether the page widget column is customizable or not. + type: boolean + type: object + PageWidgetPageLayoutDefinition: + # @review + description: + Represents the definition of a widget page layout. + properties: + customizable: + # @review + description: + A flag that indicates whether the page is customizable. + type: boolean + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + required: + - layoutTemplateId + type: object RowViewport: # @review description: @@ -3427,41 +3441,6 @@ components: type: object type: array type: object - WidgetPageColumnDefinition: - # @review - description: - Represents a definition of a Page widget column. - properties: - customizable: - # @review - description: - A flag that indicates whether the page widget column is customizable or not. - type: boolean - customizedPageElements: - # @review - description: - A map with the customized page elements for each user's external reference code. - properties: - type: object - type: object - WidgetPageLayoutDefinition: - # @review - description: - Represents a definition of a Widget Page Layout. - properties: - customizable: - # @review - description: - A flag that indicates whether the page is customizable. - type: boolean - layoutTemplateId: - # @review - description: - The identifier of the layout template. - type: string - required: - - layoutTemplateId - type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID From 0f848d4f4ee0a180bfe0a89bc4c5a1fbb5777b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 30 May 2024 09:54:34 +0200 Subject: [PATCH 116/260] LPD-x wip 4 --- .../rest-openapi.yaml | 219 ++++++++++++++++-- 1 file changed, 204 insertions(+), 15 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index bcd9dff172c202..ebcc3511ee28bc 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1809,6 +1809,26 @@ components: - $ref: "#/components/schemas/FragmentSettingsAllowed" - $ref: "#/components/schemas/FragmentSettingsUnallowed" type: object + + SitePage2: + # @review + description: + Represent a definition of a Page. + properties: + pageSettings: + # @review + description: + The page settings. + oneOf: + - $ref: "#/components/schemas/WidgetPageSettings" + - $ref: "#/components/schemas/ContentPageSettings" + type: + # @review + description: + The type of page. + enum: [Widget, Content] + type: string + PageElement: # @review description: @@ -2996,11 +3016,6 @@ components: The page's most recent publication date. format: date-time type: string - experience: - $ref: "#/components/schemas/Experience" - # @review - description: - Experience of the page that it's being retrieved. externalReferenceCode: description: The page's external reference code. @@ -3029,16 +3044,6 @@ components: items: $ref: "#/components/schemas/KeywordBrief" type: array - pageDefinition: - $ref: "#/components/schemas/PageDefinition" - # @review - deprecated: true - description: - Optional field with the structure of all the elements of the page. Can be embedded with - nestedFields when retrieving the collection of site pages. When retrieving a single site page, - it will automatically be included. Deprecated as of Cavanaugh (7.4.x), replaced by - Experience.pageStructure.pageElement, Experience.pageStructure.pageRules and - PageSpecification.settings. pagePermissions: # @review description: @@ -3138,6 +3143,190 @@ components: required: - title type: object + WidgetPage: + # @review + description: + Represents a widget page. This is modeled internally as a `Layout`. + properties: + actions: + additionalProperties: + additionalProperties: + type: string + type: object + # @review + description: + Block of actions allowed by the user making the request. + readOnly: true + type: object + aggregateRating: + $ref: "#/components/schemas/AggregateRating" + # @review + description: + The page's average rating. + readOnly: true + availableLanguages: + # @review + description: + The list of languages the page has a translation for. + items: + type: string + readOnly: true + type: array + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page's creator. + readOnly: true + customFields: + # @review + description: + Custom fields associated with the page. + items: + $ref: "#/components/schemas/CustomField" + type: array + dateCreated: + # @review + description: + The page's creation date. + format: date-time + readOnly: true + type: string + dateModified: + # @review + description: + The last time any field of the page was changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The page's most recent publication date. + format: date-time + type: string + externalReferenceCode: + description: + The page's external reference code. + type: string + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + id: + description: + The page ID. + format: int64 + readOnly: true + type: integer + keywordBriefs: + description: + The keywords associated with this master page. + items: + $ref: "#/components/schemas/KeywordBrief" + type: array + pagePermissions: + # @review + description: + The page's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + widgetPageSettings: + $ref: "#/components/schemas/WidgetPageSettings" + # @review + description: + Settings of the page, such as SEO or OpenGraph. + widgetPageSpecification: + $ref: "#/components/schemas/PageSpecification" + pageType: + # @review + description: + The type of the page. + type: string + parentSitePage: + # @review + description: + The parent page or null if it is a top level page. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the parent page. + type: string + friendlyUrlPath: + # @review + description: + The relative URL of the parent page. + type: string + type: object + site: + # @review + description: + The site to which this page is scoped. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the site. + type: string + type: object + taxonomyCategoryBriefs: + # @review + description: + The categories associated with this page. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + title: + # @review + description: + The page's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized page's titles. + type: object + uuid: + # @review + description: + A valid external identifier to reference this page. + readOnly: true + type: string + viewableBy: + enum: + - Anyone + - Members + - Owner + type: string + writeOnly: true + required: + - title + type: object SitePageActionExecutionResult: # @review description: From 059e93b606a72cde48c94a04b1d25537bf634690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 30 May 2024 13:24:48 +0200 Subject: [PATCH 117/260] LPD-x wip 5 --- .../rest-openapi.yaml | 388 +++++++++--------- 1 file changed, 184 insertions(+), 204 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index ebcc3511ee28bc..617ba95b420b48 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1809,26 +1809,6 @@ components: - $ref: "#/components/schemas/FragmentSettingsAllowed" - $ref: "#/components/schemas/FragmentSettingsUnallowed" type: object - - SitePage2: - # @review - description: - Represent a definition of a Page. - properties: - pageSettings: - # @review - description: - The page settings. - oneOf: - - $ref: "#/components/schemas/WidgetPageSettings" - - $ref: "#/components/schemas/ContentPageSettings" - type: - # @review - description: - The type of page. - enum: [Widget, Content] - type: string - PageElement: # @review description: @@ -3143,190 +3123,6 @@ components: required: - title type: object - WidgetPage: - # @review - description: - Represents a widget page. This is modeled internally as a `Layout`. - properties: - actions: - additionalProperties: - additionalProperties: - type: string - type: object - # @review - description: - Block of actions allowed by the user making the request. - readOnly: true - type: object - aggregateRating: - $ref: "#/components/schemas/AggregateRating" - # @review - description: - The page's average rating. - readOnly: true - availableLanguages: - # @review - description: - The list of languages the page has a translation for. - items: - type: string - readOnly: true - type: array - creator: - $ref: "#/components/schemas/Creator" - # @review - description: - The page's creator. - readOnly: true - customFields: - # @review - description: - Custom fields associated with the page. - items: - $ref: "#/components/schemas/CustomField" - type: array - dateCreated: - # @review - description: - The page's creation date. - format: date-time - readOnly: true - type: string - dateModified: - # @review - description: - The last time any field of the page was changed. - format: date-time - readOnly: true - type: string - datePublished: - # @review - description: - The page's most recent publication date. - format: date-time - type: string - externalReferenceCode: - description: - The page's external reference code. - type: string - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string - friendlyUrlPath_i18n: - additionalProperties: - type: string - # @review - description: - The localized relative URLs to the page's rendered content. - type: object - id: - description: - The page ID. - format: int64 - readOnly: true - type: integer - keywordBriefs: - description: - The keywords associated with this master page. - items: - $ref: "#/components/schemas/KeywordBrief" - type: array - pagePermissions: - # @review - description: - The page's permissions. - items: - properties: - actionKeys: - # @review - description: - The keys of the actions the role has permission for. - items: - type: string - type: array - roleKey: - # @review - description: - The role's key. - type: string - type: object - type: array - widgetPageSettings: - $ref: "#/components/schemas/WidgetPageSettings" - # @review - description: - Settings of the page, such as SEO or OpenGraph. - widgetPageSpecification: - $ref: "#/components/schemas/PageSpecification" - pageType: - # @review - description: - The type of the page. - type: string - parentSitePage: - # @review - description: - The parent page or null if it is a top level page. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the parent page. - type: string - friendlyUrlPath: - # @review - description: - The relative URL of the parent page. - type: string - type: object - site: - # @review - description: - The site to which this page is scoped. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the site. - type: string - type: object - taxonomyCategoryBriefs: - # @review - description: - The categories associated with this page. - items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" - type: array - title: - # @review - description: - The page's title. - type: string - title_i18n: - additionalProperties: - type: string - # @review - description: - The localized page's titles. - type: object - uuid: - # @review - description: - A valid external identifier to reference this page. - readOnly: true - type: string - viewableBy: - enum: - - Anyone - - Members - - Owner - type: string - writeOnly: true - required: - - title - type: object SitePageActionExecutionResult: # @review description: @@ -3630,6 +3426,190 @@ components: type: object type: array type: object + WidgetPage: + # @review + description: + Represents a widget page. This is modeled internally as a `Layout`. + properties: + actions: + additionalProperties: + additionalProperties: + type: string + type: object + # @review + description: + Block of actions allowed by the user making the request. + readOnly: true + type: object + aggregateRating: + $ref: "#/components/schemas/AggregateRating" + # @review + description: + The page's average rating. + readOnly: true + availableLanguages: + # @review + description: + The list of languages the page has a translation for. + items: + type: string + readOnly: true + type: array + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page's creator. + readOnly: true + customFields: + # @review + description: + Custom fields associated with the page. + items: + $ref: "#/components/schemas/CustomField" + type: array + dateCreated: + # @review + description: + The page's creation date. + format: date-time + readOnly: true + type: string + dateModified: + # @review + description: + The last time any field of the page was changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The page's most recent publication date. + format: date-time + type: string + externalReferenceCode: + description: + The page's external reference code. + type: string + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + id: + description: + The page ID. + format: int64 + readOnly: true + type: integer + keywordBriefs: + description: + The keywords associated with this master page. + items: + $ref: "#/components/schemas/KeywordBrief" + type: array + pagePermissions: + # @review + description: + The page's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + pageType: + # @review + description: + The type of the page. + type: string + parentSitePage: + # @review + description: + The parent page or null if it is a top level page. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the parent page. + type: string + friendlyUrlPath: + # @review + description: + The relative URL of the parent page. + type: string + type: object + site: + # @review + description: + The site to which this page is scoped. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the site. + type: string + type: object + taxonomyCategoryBriefs: + # @review + description: + The categories associated with this page. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + title: + # @review + description: + The page's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized page's titles. + type: object + uuid: + # @review + description: + A valid external identifier to reference this page. + readOnly: true + type: string + viewableBy: + enum: + - Anyone + - Members + - Owner + type: string + writeOnly: true + widgetPageSettings: + $ref: "#/components/schemas/WidgetPageSettings" + # @review + description: + Settings of the page, such as SEO or OpenGraph. + widgetPageSpecification: + $ref: "#/components/schemas/PageSpecification" + required: + - title + type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID From fb0d09e45efb0b95e883e782ad42f38148907cbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 09:30:52 +0200 Subject: [PATCH 118/260] LPD-x Add external reference code to PageSpecification --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 617ba95b420b48..ec0cf49a350966 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2455,6 +2455,10 @@ components: type: object PageSpecification: properties: + externalReferenceCode: + description: + The page specification's external reference code, unique per site. + type: string pageExperiences: items: $ref: "#/components/schemas/Experience" From c31d8dbfc216b7a08309a0ec6d7932ba8f4a6da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 09:55:03 +0200 Subject: [PATCH 119/260] LPD-x Fix externalReferenceCode parameters which were wrongly set in "query" to in "path" --- .../rest-openapi.yaml | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index ec0cf49a350966..1bcd1d18984067 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6091,6 +6091,10 @@ paths: required: true schema: type: string + - in: path + name: pageExperienceExternalReferenceCode + schema: + type: string - in: query name: fields schema: @@ -6103,10 +6107,6 @@ paths: name: nestedFields schema: type: string - - in: query - name: pageExperienceExternalReferenceCode - schema: - type: string - in: query name: restrictFields schema: @@ -6136,16 +6136,16 @@ paths: required: true schema: type: string - - in: query - name: fields + - in: path + name: pageExperienceExternalReferenceCode schema: type: string - in: query - name: nestedFields + name: fields schema: type: string - in: query - name: pageExperienceExternalReferenceCode + name: nestedFields schema: type: string - in: query @@ -6704,16 +6704,16 @@ paths: required: true schema: type: string - - in: query - name: fields + - in: path + name: pageRuleExternalReferenceCode schema: type: string - in: query - name: nestedFields + name: fields schema: type: string - in: query - name: pageRuleExternalReferenceCode + name: nestedFields schema: type: string - in: query @@ -6800,16 +6800,16 @@ paths: required: true schema: type: string - - in: query - name: fields + - in: path + name: pageRuleExternalReferenceCode schema: type: string - in: query - name: nestedFields + name: fields schema: type: string - in: query - name: pageRuleExternalReferenceCode + name: nestedFields schema: type: string - in: query From 80d1a962888d527bb554c7ac1cd1243274ea837f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 10:17:38 +0200 Subject: [PATCH 120/260] LPD-x Add endpoints to work with page specifications using their external reference code --- .../rest-openapi.yaml | 244 ++++++++++++++++++ 1 file changed, 244 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 1bcd1d18984067..f3123af13bfe5a 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6837,6 +6837,161 @@ paths: default response # @review tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}": + delete: + description: + Deletes a page specification of a site page. + operationId: deleteSitePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageSpecificationExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageSpecification"] + get: + description: + Retrieves a page specification of a site page. + operationId: getSitePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageSpecificationExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + tags: ["PageSpecification"] + patch: + description: + Updates a page specification of a site page. Updates only the fields received in the request body, + leaving any other fields untouched. + operationId: patchSitePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageSpecificationExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + tags: ["PageSpecification"] + put: + description: + Updates a page specification of a site page. + operationId: putSitePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageSpecificationExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-template-collections": get: description: @@ -8104,6 +8259,95 @@ paths: description: default response tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": + get: + description: + Retrieves all the page specifications of a site page. + operationId: getSiteSitePagePageSpecificationsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageSpecification" + type: array + # @review + tags: ["SitePage"] + post: + description: + Adds a new page specification to a site page. + operationId: postSiteSitePagePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": post: description: From ba71fd39e2fdb7cd901bc76cb7dcbb9aa096cf50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 10:38:22 +0200 Subject: [PATCH 121/260] LPD-x Remove no longer needed endpoints associated to "draft" and "published" page specifications --- .../rest-openapi.yaml | 3150 ++++++----------- 1 file changed, 993 insertions(+), 2157 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index f3123af13bfe5a..99ffa70d306463 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -4269,32 +4269,11 @@ paths: default response # @review tags: ["DisplayPageTemplate"] - "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/draft": - delete: - description: - Deletes the draft page specification of a display page template. - operationId: deleteSiteDisplayPageTemplatePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: displayPageTemplateExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageSpecification"] - get: + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/draft/publish": + post: description: - Retrieves the draft page specification of a display page template. - operationId: getSiteDisplayPageTemplatePageSpecificationDraft + Publishes a page specification in draft status of a display page template. + operationId: postSiteDisplayPageTemplatePageSpecificationDraftPublish parameters: - in: path name: siteExternalReferenceCode @@ -4329,12 +4308,13 @@ paths: $ref: "#/components/schemas/PageSpecification" description: default response + # @review tags: ["PageSpecification"] - patch: + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": + get: description: - Updates the draft page specification of a display page template based only on the fields received in the - request body, leaving any other fields untouched. - operationId: patchSiteDisplayPageTemplatePageSpecificationDraft + Retrieves all the experiences of a published page specification. + operationId: getSiteDisplayPageTemplatePageSpecificationPublishedPageExperiencesPage parameters: - in: path name: siteExternalReferenceCode @@ -4358,119 +4338,149 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/Experience" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response + items: + $ref: "#/components/schemas/Experience" + type: array + # @review tags: ["PageSpecification"] - put: + "/sites/{siteExternalReferenceCode}/fragment-compositions": + get: description: - Updates the draft page specification of a display page template. - operationId: putSiteDisplayPageTemplatePageSpecificationDraft + Retrieves the fragment compositions of the site + operationId: getSiteFragmentCompositionsPage parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: path - name: displayPageTemplateExternalReferenceCode - required: true + - in: query + name: fields schema: type: string - in: query - name: fields + name: filter schema: type: string - in: query name: nestedFields schema: type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer - in: query name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/FragmentComposition" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/draft/publish": + items: + $ref: "#/components/schemas/FragmentComposition" + type: array + tags: ["FragmentComposition"] post: description: - Publishes a page specification in draft status of a display page template. - operationId: postSiteDisplayPageTemplatePageSpecificationDraftPublish + Adds a new fragment composition. If the page element of the fragment composition does not contain a + "definition" property and contains an externalReferenceCode, the PageElement will be retrieved based on + the externalReferenceCode and used for creating the FragmentComposition. + operationId: postSiteFragmentComposition parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: path - name: displayPageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - in: query - name: nestedFields + name: saveInlineContent + required: true schema: - type: string + default: false + type: boolean - in: query - name: restrictFields + name: saveMapping + required: true schema: - type: string + default: false + type: boolean + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FragmentComposition" + application/xml: + schema: + $ref: "#/components/schemas/FragmentComposition" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" description: default response # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/published": + tags: ["FragmentComposition"] + "/sites/{siteExternalReferenceCode}/fragment-compositions/{fragmentCompositionExternalReferenceCode}": + delete: + description: + Deletes a specific fragment composition of a site. + operationId: deleteSiteFragmentComposition + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: fragmentCompositionExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["FragmentComposition"] get: description: - Retrieves the published page specification of a display page template. - operationId: getSiteDisplayPageTemplatePageSpecificationPublished + Retrieves a specific fragment composition of a site. + operationId: getSiteFragmentComposition parameters: - in: path name: siteExternalReferenceCode @@ -4478,7 +4488,7 @@ paths: schema: type: string - in: path - name: displayPageTemplateExternalReferenceCode + name: fragmentCompositionExternalReferenceCode required: true schema: type: string @@ -4499,18 +4509,17 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" description: default response - tags: ["PageSpecification"] + tags: ["FragmentComposition"] patch: description: - Updates the published page specification of a display page template based only on the fields received in - the request body, leaving any other fields untouched. - operationId: patchSiteDisplayPageTemplatePageSpecificationPublished + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteFragmentComposition parameters: - in: path name: siteExternalReferenceCode @@ -4518,7 +4527,7 @@ paths: schema: type: string - in: path - name: displayPageTemplateExternalReferenceCode + name: fragmentCompositionExternalReferenceCode required: true schema: type: string @@ -4538,26 +4547,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" description: default response - tags: ["PageSpecification"] + tags: ["FragmentComposition"] put: description: - Updates the published page specification of a display page template. - operationId: putSiteDisplayPageTemplatePageSpecificationPublished + Updates the fragment composition with the given external reference code, or creates it if it does not + exist. + operationId: putSiteFragmentComposition parameters: - in: path name: siteExternalReferenceCode @@ -4565,7 +4575,7 @@ paths: schema: type: string - in: path - name: displayPageTemplateExternalReferenceCode + name: fragmentCompositionExternalReferenceCode required: true schema: type: string @@ -4585,76 +4595,39 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" description: default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": + tags: ["FragmentComposition"] + "/sites/{siteExternalReferenceCode}/master-pages": get: description: - Retrieves all the experiences of a published page specification. - operationId: getSiteDisplayPageTemplatePageSpecificationPublishedPageExperiencesPage + Retrieves the master pages of the site + operationId: getSiteMasterPagesPage parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: path - name: displayPageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/fragment-compositions": - get: - description: - Retrieves the fragment compositions of the site - operationId: getSiteFragmentCompositionsPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true + name: aggregationTerms schema: - type: string + items: + type: string + type: array - in: query name: fields schema: @@ -4693,64 +4666,50 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" type: array application/xml: schema: items: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" type: array - tags: ["FragmentComposition"] + tags: ["MasterPage"] post: description: - Adds a new fragment composition. If the page element of the fragment composition does not contain a - "definition" property and contains an externalReferenceCode, the PageElement will be retrieved based on - the externalReferenceCode and used for creating the FragmentComposition. - operationId: postSiteFragmentComposition + Adds a new master page + operationId: postSiteMasterPage parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: query - name: saveInlineContent - required: true - schema: - default: false - type: boolean - - in: query - name: saveMapping - required: true - schema: - default: false - type: boolean requestBody: content: application/json: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" application/xml: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" application/xml: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" description: default response # @review - tags: ["FragmentComposition"] - "/sites/{siteExternalReferenceCode}/fragment-compositions/{fragmentCompositionExternalReferenceCode}": + tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}": delete: description: - Deletes a specific fragment composition of a site. - operationId: deleteSiteFragmentComposition + Deletes a specific master page of a site. + operationId: deleteSiteMasterPage parameters: - in: path name: siteExternalReferenceCode @@ -4758,7 +4717,7 @@ paths: schema: type: string - in: path - name: fragmentCompositionExternalReferenceCode + name: masterPageExternalReferenceCode required: true schema: type: string @@ -4767,11 +4726,11 @@ paths: content: application/json: {} application/xml: {} - tags: ["FragmentComposition"] + tags: ["MasterPage"] get: description: - Retrieves a specific fragment composition of a site. - operationId: getSiteFragmentComposition + Retrieves a specific master page of a site. + operationId: getSiteMasterPage parameters: - in: path name: siteExternalReferenceCode @@ -4779,7 +4738,7 @@ paths: schema: type: string - in: path - name: fragmentCompositionExternalReferenceCode + name: masterPageExternalReferenceCode required: true schema: type: string @@ -4800,17 +4759,17 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" application/xml: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" description: default response - tags: ["FragmentComposition"] + tags: ["MasterPage"] patch: description: Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSiteFragmentComposition + operationId: patchSiteMasterPage parameters: - in: path name: siteExternalReferenceCode @@ -4818,7 +4777,7 @@ paths: schema: type: string - in: path - name: fragmentCompositionExternalReferenceCode + name: masterPageExternalReferenceCode required: true schema: type: string @@ -4838,27 +4797,26 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" application/xml: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" responses: default: content: application/json: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" application/xml: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" description: default response - tags: ["FragmentComposition"] + tags: ["MasterPage"] put: description: - Updates the fragment composition with the given external reference code, or creates it if it does not - exist. - operationId: putSiteFragmentComposition + Updates the master page with the given external reference code, or creates it if it does not exist. + operationId: putSiteMasterPage parameters: - in: path name: siteExternalReferenceCode @@ -4866,7 +4824,7 @@ paths: schema: type: string - in: path - name: fragmentCompositionExternalReferenceCode + name: masterPageExternalReferenceCode required: true schema: type: string @@ -4886,69 +4844,97 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" application/xml: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" responses: default: content: application/json: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" application/xml: schema: - $ref: "#/components/schemas/FragmentComposition" + $ref: "#/components/schemas/MasterPage" description: default response - tags: ["FragmentComposition"] - "/sites/{siteExternalReferenceCode}/master-pages": - get: + tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications": + post: description: - Retrieves the master pages of the site - operationId: getSiteMasterPagesPage + Adds a new page specification in draft status to a master page. + operationId: postSiteMasterPagePageSpecification parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: query - name: aggregationTerms + - in: path + name: masterPageExternalReferenceCode + required: true schema: - items: - type: string - type: array + type: string - in: query name: fields schema: type: string - in: query - name: filter + name: nestedFields schema: type: string - in: query - name: nestedFields + name: restrictFields schema: type: string - - in: query - name: page + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/draft/publish": + post: + description: + Publishes a page specification in draft status of a master page. + operationId: postSiteMasterPagePageSpecificationDraftPublish + parameters: + - in: path + name: siteExternalReferenceCode + required: true schema: - type: integer - - in: query - name: pageSize + type: string + - in: path + name: masterPageExternalReferenceCode + required: true schema: - type: integer + type: string - in: query - name: restrictFields + name: fields schema: type: string - in: query - name: search + name: nestedFields schema: type: string - in: query - name: sort + name: restrictFields schema: type: string responses: @@ -4956,51 +4942,63 @@ paths: content: application/json: schema: - items: - $ref: "#/components/schemas/MasterPage" - type: array + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - items: - $ref: "#/components/schemas/MasterPage" - type: array - tags: ["MasterPage"] - post: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/published/page-experiences": + get: description: - Adds a new master page - operationId: postSiteMasterPage + Retrieves all the experiences of a published page specification. + operationId: getSiteMasterPagePageSpecificationPublishedPageExperiencesPage parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/MasterPage" - application/xml: - schema: - $ref: "#/components/schemas/MasterPage" + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string responses: 200: content: application/json: schema: - $ref: "#/components/schemas/MasterPage" + items: + $ref: "#/components/schemas/Experience" + type: array application/xml: schema: - $ref: "#/components/schemas/MasterPage" - description: - default response + items: + $ref: "#/components/schemas/Experience" + type: array # @review - tags: ["MasterPage"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}": + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: description: - Deletes a specific master page of a site. - operationId: deleteSiteMasterPage + Deletes a page element within an experience of a specific page specification of a site page within a + site. + operationId: deleteSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -5008,7 +5006,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -5017,11 +5015,12 @@ paths: content: application/json: {} application/xml: {} - tags: ["MasterPage"] + tags: ["PageElement"] get: description: - Retrieves a specific master page of a site. - operationId: getSiteMasterPage + Retrieves page element within an experience of a specific page specification of a site page within a + site. + operationId: getSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -5029,7 +5028,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -5050,17 +5049,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/MasterPage" + items: + $ref: "#/components/schemas/PageElement" + type: array application/xml: schema: - $ref: "#/components/schemas/MasterPage" - description: - default response - tags: ["MasterPage"] + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] patch: description: - Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSiteMasterPage + Updates a page element within an experience of a specific page specification of a site page within a + site. Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -5068,7 +5069,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -5084,30 +5085,24 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/MasterPage" - application/xml: - schema: - $ref: "#/components/schemas/MasterPage" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/MasterPage" + items: + $ref: "#/components/schemas/PageElement" + type: array application/xml: schema: - $ref: "#/components/schemas/MasterPage" - description: - default response - tags: ["MasterPage"] + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] put: description: - Updates the master page with the given external reference code, or creates it if it does not exist. - operationId: putSiteMasterPage + Updates a page element within an experience of a specific page specification of a site page within a + site. + operationId: putSitePageElement parameters: - in: path name: siteExternalReferenceCode @@ -5115,7 +5110,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -5131,31 +5126,26 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/MasterPage" - application/xml: - schema: - $ref: "#/components/schemas/MasterPage" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/MasterPage" + items: + $ref: "#/components/schemas/PageElement" + type: array application/xml: schema: - $ref: "#/components/schemas/MasterPage" - description: - default response - tags: ["MasterPage"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications": + items: + $ref: "#/components/schemas/PageElement" + tags: ["PageElement"] + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/fragment-compositions": post: description: - Adds a new page specification in draft status to a master page. - operationId: postSiteMasterPagePageSpecification + Adds a new fragment composition under a page element of an experience in a page specification of a site + page. If successful, the response will contain the page element in which the fragment composition is + converted. + operationId: postSitePageElementFragmentComposition parameters: - in: path name: siteExternalReferenceCode @@ -5163,7 +5153,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -5175,6 +5165,16 @@ paths: name: nestedFields schema: type: string + - in: query + description: + The 0-based position with respect to the page element's children where the fragment composition + will be added (0 for before the first child, 1 for before the second child, ...). If not specified + when adding a fragment composition the fragment composition will be added at the last valid + position. + name: position + schema: + minimum: 0 + type: integer - in: query name: restrictFields schema: @@ -5183,49 +5183,29 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/FragmentComposition" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/PageElement" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response + items: + $ref: "#/components/schemas/PageElement" # @review - tags: ["MasterPage"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/draft": - delete: - description: - Deletes the draft page specification of a master page. - operationId: deleteSiteMasterPagePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: masterPageExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageSpecification"] + tags: ["PageElement"] + "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": get: description: - Retrieves the draft page specification of a master page. - operationId: getSiteMasterPagePageSpecificationDraft + Retrieves all the descendant page elements of a page element within an experience in a page + specification of a site page. + operationId: getSitePageElementPageElementsPage parameters: - in: path name: siteExternalReferenceCode @@ -5233,7 +5213,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageElementExternalReferenceCode required: true schema: type: string @@ -5241,6 +5221,10 @@ paths: name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -5254,18 +5238,22 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/PageElement" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - patch: + items: + $ref: "#/components/schemas/PageElement" + type: array + # @review + tags: ["PageElement"] + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}": + delete: description: - Updates the draft page specification of a master page based only on the fields received in the request - body, leaving any other fields untouched. - operationId: patchSiteMasterPagePageSpecificationDraft + Deletes an experience of a specific page specification of a site page within a site. The default + experience cannot be deleted. + operationId: deleteSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -5273,7 +5261,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -5289,30 +5277,16 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" responses: - default: + 204: content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - put: + application/json: {} + application/xml: {} + tags: ["PageExperience"] + get: description: - Updates the draft page specification of a master page. - operationId: putSiteMasterPagePageSpecificationDraft + Retrieves an experience of a specific page specification of a site page within a site. + operationId: getSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -5320,7 +5294,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -5336,31 +5310,24 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/Experience" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/draft/publish": - post: + items: + $ref: "#/components/schemas/Experience" + tags: ["PageExperience"] + patch: description: - Publishes a page specification in draft status of a master page. - operationId: postSiteMasterPagePageSpecificationDraftPublish + Updates an experience of a specific page specification of a site page within a site. Updates only the + fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -5368,7 +5335,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -5389,19 +5356,18 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/Experience" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/published": - get: + items: + $ref: "#/components/schemas/Experience" + tags: ["PageExperience"] + put: description: - Retrieves the published page specification of a master page. - operationId: getSiteMasterPagePageSpecificationPublished + Updates an experience of a specific page specification of a site page within a site. + operationId: putSitePageExperience parameters: - in: path name: siteExternalReferenceCode @@ -5409,7 +5375,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -5430,18 +5396,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/Experience" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - patch: + items: + $ref: "#/components/schemas/Experience" + tags: ["PageExperience"] + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-elements": + get: description: - Updates the published page specification of a master page based only on the fields received in the - request body, leaving any other fields untouched. - operationId: patchSiteMasterPagePageSpecificationPublished + Retrieves all the page elements within an experience in a page specification of a site page. + operationId: getSitePageExperiencePageElementsPage parameters: - in: path name: siteExternalReferenceCode @@ -5449,14 +5416,17 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode - required: true + name: pageExperienceExternalReferenceCode schema: type: string - in: query name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -5465,30 +5435,25 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/PageElement" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - put: + items: + $ref: "#/components/schemas/PageElement" + type: array + # @review + tags: ["PageExperience"] + post: description: - Updates the published page specification of a master page. - operationId: putSiteMasterPagePageSpecificationPublished + Adds a new page element to an experience in a page specification in draft status of a site page. + operationId: postSitePageExperiencePageElement parameters: - in: path name: siteExternalReferenceCode @@ -5496,7 +5461,7 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode + name: pageExperienceExternalReferenceCode required: true schema: type: string @@ -5516,27 +5481,28 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageElement" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageElement" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageElement" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageElement" description: default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/published/page-experiences": + # @review + tags: ["PageExperience"] + "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-rules": get: description: - Retrieves all the experiences of a published page specification. - operationId: getSiteMasterPagePageSpecificationPublishedPageExperiencesPage + Retrieves all the page rules within an experience in a page specification of a site page. + operationId: getSitePageExperiencePageRulesPage parameters: - in: path name: siteExternalReferenceCode @@ -5544,14 +5510,17 @@ paths: schema: type: string - in: path - name: masterPageExternalReferenceCode - required: true + name: pageExperienceExternalReferenceCode schema: type: string - in: query name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -5566,43 +5535,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageRule" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageRule" type: array # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": - delete: - description: - Deletes a page element within an experience of a specific page specification of a site page within a - site. - operationId: deleteSitePageElement - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageElementExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageElement"] - get: + tags: ["PageExperience"] + post: description: - Retrieves page element within an experience of a specific page specification of a site page within a - site. - operationId: getSitePageElement + Adds a new page rule to an experience in a page specification in draft status of a site page. + operationId: postSitePageExperiencePageRule parameters: - in: path name: siteExternalReferenceCode @@ -5610,8 +5555,7 @@ paths: schema: type: string - in: path - name: pageElementExternalReferenceCode - required: true + name: pageExperienceExternalReferenceCode schema: type: string - in: query @@ -5626,24 +5570,33 @@ paths: name: restrictFields schema: type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRule" + application/xml: + schema: + $ref: "#/components/schemas/PageRule" responses: 200: content: application/json: schema: - items: - $ref: "#/components/schemas/PageElement" - type: array + $ref: "#/components/schemas/PageRule" application/xml: schema: - items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - patch: + $ref: "#/components/schemas/PageRule" + description: + default response + # @review + tags: ["PageExperience"] + "/sites/{siteExternalReferenceCode}/page-rule-actions/{pageRuleActionExternalReferenceCode}": + delete: description: - Updates a page element within an experience of a specific page specification of a site page within a - site. Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageElement + Deletes a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: deleteSitePageRuleAction parameters: - in: path name: siteExternalReferenceCode @@ -5651,7 +5604,7 @@ paths: schema: type: string - in: path - name: pageElementExternalReferenceCode + name: pageRuleActionExternalReferenceCode required: true schema: type: string @@ -5668,23 +5621,16 @@ paths: schema: type: string responses: - 200: + 204: content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - put: + application/json: {} + application/xml: {} + tags: ["PageRuleAction"] + get: description: - Updates a page element within an experience of a specific page specification of a site page within a - site. - operationId: putSitePageElement + Retrieves a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: getSitePageRuleAction parameters: - in: path name: siteExternalReferenceCode @@ -5692,7 +5638,7 @@ paths: schema: type: string - in: path - name: pageElementExternalReferenceCode + name: pageRuleActionExternalReferenceCode required: true schema: type: string @@ -5714,20 +5660,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageElement" + $ref: "#/components/schemas/PageRuleAction" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageElement" - tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/fragment-compositions": - post: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + patch: description: - Adds a new fragment composition under a page element of an experience in a page specification of a site - page. If successful, the response will contain the page element in which the fragment composition is - converted. - operationId: postSitePageElementFragmentComposition + Updates a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. Updates only the fields received in the request body, leaving any other fields + untouched. + operationId: patchSitePageRuleAction parameters: - in: path name: siteExternalReferenceCode @@ -5735,7 +5680,7 @@ paths: schema: type: string - in: path - name: pageElementExternalReferenceCode + name: pageRuleActionExternalReferenceCode required: true schema: type: string @@ -5747,47 +5692,28 @@ paths: name: nestedFields schema: type: string - - in: query - description: - The 0-based position with respect to the page element's children where the fragment composition - will be added (0 for before the first child, 1 for before the second child, ...). If not specified - when adding a fragment composition the fragment composition will be added at the last valid - position. - name: position - schema: - minimum: 0 - type: integer - in: query name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/FragmentComposition" - application/xml: - schema: - $ref: "#/components/schemas/FragmentComposition" responses: 200: content: application/json: schema: items: - $ref: "#/components/schemas/PageElement" + $ref: "#/components/schemas/PageRuleAction" + type: array application/xml: schema: items: - $ref: "#/components/schemas/PageElement" - # @review - tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": - get: + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + put: description: - Retrieves all the descendant page elements of a page element within an experience in a page - specification of a site page. - operationId: getSitePageElementPageElementsPage + Updates a page rule action within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: putSitePageRuleAction parameters: - in: path name: siteExternalReferenceCode @@ -5795,7 +5721,7 @@ paths: schema: type: string - in: path - name: pageElementExternalReferenceCode + name: pageRuleActionExternalReferenceCode required: true schema: type: string @@ -5803,10 +5729,6 @@ paths: name: fields schema: type: string - - in: query - name: flatten - schema: - type: boolean - in: query name: nestedFields schema: @@ -5821,21 +5743,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageElement" + $ref: "#/components/schemas/PageRuleAction" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageElement" - type: array - # @review - tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}": + $ref: "#/components/schemas/PageRuleAction" + tags: ["PageRuleAction"] + "/sites/{siteExternalReferenceCode}/page-rule-conditions/{pageRuleConditionExternalReferenceCode}": delete: description: - Deletes an experience of a specific page specification of a site page within a site. The default - experience cannot be deleted. - operationId: deleteSitePageExperience + Deletes a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: deleteSitePageRuleCondition parameters: - in: path name: siteExternalReferenceCode @@ -5843,7 +5763,7 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleConditionExternalReferenceCode required: true schema: type: string @@ -5864,11 +5784,12 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageExperience"] + tags: ["PageRuleCondition"] get: description: - Retrieves an experience of a specific page specification of a site page within a site. - operationId: getSitePageExperience + Retrieves a page rule condition within a page rule of an experience of a specific page specification of + a site page within a site. + operationId: getSitePageRuleCondition parameters: - in: path name: siteExternalReferenceCode @@ -5876,7 +5797,7 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleConditionExternalReferenceCode required: true schema: type: string @@ -5898,18 +5819,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageRuleCondition" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" - tags: ["PageExperience"] + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] patch: description: - Updates an experience of a specific page specification of a site page within a site. Updates only the - fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageExperience + Updates a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. Updates only the fields received in the request body, leaving any other fields + untouched. + operationId: patchSitePageRuleCondition parameters: - in: path name: siteExternalReferenceCode @@ -5917,7 +5839,7 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleConditionExternalReferenceCode required: true schema: type: string @@ -5939,17 +5861,18 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageRuleCondition" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" - tags: ["PageExperience"] + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] put: description: - Updates an experience of a specific page specification of a site page within a site. - operationId: putSitePageExperience + Updates a page rule condition within a page rule of an experience of a specific page specification of a + site page within a site. + operationId: putSitePageRuleCondition parameters: - in: path name: siteExternalReferenceCode @@ -5957,7 +5880,7 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleConditionExternalReferenceCode required: true schema: type: string @@ -5979,18 +5902,18 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageRuleCondition" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" - tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-elements": - get: + $ref: "#/components/schemas/PageRuleCondition" + tags: ["PageRuleCondition"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": + delete: description: - Retrieves all the page elements within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageElementsPage + Deletes a page rule within an experience of a specific page specification of a site page within a site. + operationId: deleteSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -5998,17 +5921,14 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleExternalReferenceCode + required: true schema: type: string - in: query name: fields schema: type: string - - in: query - name: flatten - schema: - type: boolean - in: query name: nestedFields schema: @@ -6018,24 +5938,15 @@ paths: schema: type: string responses: - 200: + 204: content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - type: array - # @review - tags: ["PageExperience"] - post: + application/json: {} + application/xml: {} + tags: ["PageRule"] + get: description: - Adds a new page element to an experience in a page specification in draft status of a site page. - operationId: postSitePageExperiencePageElement + Retrieves page rule within an experience of a specific page specification of a site page within a site. + operationId: getSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -6043,7 +5954,7 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleExternalReferenceCode required: true schema: type: string @@ -6059,32 +5970,24 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - $ref: "#/components/schemas/PageElement" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageElement" + items: + $ref: "#/components/schemas/PageRule" + type: array application/xml: schema: - $ref: "#/components/schemas/PageElement" - description: - default response - # @review - tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-rules": - get: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] + patch: description: - Retrieves all the page rules within an experience in a page specification of a site page. - operationId: getSitePageExperiencePageRulesPage + Updates a page rule within an experience of a specific page specification of a site page within a site. + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -6092,17 +5995,14 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleExternalReferenceCode + required: true schema: type: string - in: query name: fields schema: type: string - - in: query - name: flatten - schema: - type: boolean - in: query name: nestedFields schema: @@ -6123,13 +6023,11 @@ paths: schema: items: $ref: "#/components/schemas/PageRule" - type: array - # @review - tags: ["PageExperience"] - post: + tags: ["PageRule"] + put: description: - Adds a new page rule to an experience in a page specification in draft status of a site page. - operationId: postSitePageExperiencePageRule + Updates a page rule within an experience of a specific page specification of a site page within a site. + operationId: putSitePageRule parameters: - in: path name: siteExternalReferenceCode @@ -6137,7 +6035,8 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: pageRuleExternalReferenceCode + required: true schema: type: string - in: query @@ -6152,33 +6051,24 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRule" - application/xml: - schema: - $ref: "#/components/schemas/PageRule" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageRule" + items: + $ref: "#/components/schemas/PageRule" + type: array application/xml: schema: - $ref: "#/components/schemas/PageRule" - description: - default response - # @review - tags: ["PageExperience"] - "/sites/{siteExternalReferenceCode}/page-rule-actions/{pageRuleActionExternalReferenceCode}": - delete: + items: + $ref: "#/components/schemas/PageRule" + tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-actions": + get: description: - Deletes a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: deleteSitePageRuleAction + Retrieves all the page rule action actions within an experience in a page specification of a site page. + operationId: getSitePageRulePageRuleActionsPage parameters: - in: path name: siteExternalReferenceCode @@ -6186,7 +6076,7 @@ paths: schema: type: string - in: path - name: pageRuleActionExternalReferenceCode + name: pageRuleExternalReferenceCode required: true schema: type: string @@ -6194,6 +6084,10 @@ paths: name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -6203,16 +6097,25 @@ paths: schema: type: string responses: - 204: + 200: content: - application/json: {} - application/xml: {} - tags: ["PageRuleAction"] - get: + application/json: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/PageRuleAction" + type: array + # @review + tags: ["PageRule"] + post: description: - Retrieves a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: getSitePageRuleAction + Adds a new page rule action to a page rule in an experience in a page specification in draft status of a + site page. + operationId: postSitePageRulePageRuleAction parameters: - in: path name: siteExternalReferenceCode @@ -6220,8 +6123,7 @@ paths: schema: type: string - in: path - name: pageRuleActionExternalReferenceCode - required: true + name: pageRuleExternalReferenceCode schema: type: string - in: query @@ -6236,25 +6138,33 @@ paths: name: restrictFields schema: type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleAction" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleAction" responses: 200: content: application/json: schema: - items: - $ref: "#/components/schemas/PageRuleAction" - type: array + $ref: "#/components/schemas/PageRuleAction" application/xml: schema: - items: - $ref: "#/components/schemas/PageRuleAction" - tags: ["PageRuleAction"] - patch: + $ref: "#/components/schemas/PageRuleAction" + description: + default response + # @review + tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-conditions": + get: description: - Updates a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. Updates only the fields received in the request body, leaving any other fields - untouched. - operationId: patchSitePageRuleAction + Retrieves all the page rule condition conditions within an experience in a page specification of a site + page. + operationId: getSitePageRulePageRuleConditionsPage parameters: - in: path name: siteExternalReferenceCode @@ -6262,7 +6172,7 @@ paths: schema: type: string - in: path - name: pageRuleActionExternalReferenceCode + name: pageRuleExternalReferenceCode required: true schema: type: string @@ -6270,6 +6180,10 @@ paths: name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -6284,18 +6198,20 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageRuleAction" + $ref: "#/components/schemas/PageRuleCondition" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageRuleAction" - tags: ["PageRuleAction"] - put: + $ref: "#/components/schemas/PageRuleCondition" + type: array + # @review + tags: ["PageRule"] + post: description: - Updates a page rule action within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: putSitePageRuleAction + Adds a new page rule condition to a page rule in an experience in a page specification in draft status + of a site page. + operationId: postSitePageRulePageRuleCondition parameters: - in: path name: siteExternalReferenceCode @@ -6303,8 +6219,7 @@ paths: schema: type: string - in: path - name: pageRuleActionExternalReferenceCode - required: true + name: pageRuleExternalReferenceCode schema: type: string - in: query @@ -6319,25 +6234,32 @@ paths: name: restrictFields schema: type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageRuleCondition" + application/xml: + schema: + $ref: "#/components/schemas/PageRuleCondition" responses: 200: content: application/json: schema: - items: - $ref: "#/components/schemas/PageRuleAction" - type: array + $ref: "#/components/schemas/PageRuleCondition" application/xml: schema: - items: - $ref: "#/components/schemas/PageRuleAction" - tags: ["PageRuleAction"] - "/sites/{siteExternalReferenceCode}/page-rule-conditions/{pageRuleConditionExternalReferenceCode}": + $ref: "#/components/schemas/PageRuleCondition" + description: + default response + # @review + tags: ["PageRule"] + "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}": delete: description: - Deletes a page rule condition within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: deleteSitePageRuleCondition + Deletes a page specification of a site page. + operationId: deleteSitePageSpecification parameters: - in: path name: siteExternalReferenceCode @@ -6345,7 +6267,7 @@ paths: schema: type: string - in: path - name: pageRuleConditionExternalReferenceCode + name: pageSpecificationExternalReferenceCode required: true schema: type: string @@ -6366,12 +6288,11 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageRuleCondition"] + tags: ["PageSpecification"] get: description: - Retrieves a page rule condition within a page rule of an experience of a specific page specification of - a site page within a site. - operationId: getSitePageRuleCondition + Retrieves a page specification of a site page. + operationId: getSitePageSpecification parameters: - in: path name: siteExternalReferenceCode @@ -6379,7 +6300,7 @@ paths: schema: type: string - in: path - name: pageRuleConditionExternalReferenceCode + name: pageSpecificationExternalReferenceCode required: true schema: type: string @@ -6401,19 +6322,18 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageRuleCondition" + $ref: "#/components/schemas/PageSpecification" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageRuleCondition" - tags: ["PageRuleCondition"] + $ref: "#/components/schemas/PageSpecification" + tags: ["PageSpecification"] patch: description: - Updates a page rule condition within a page rule of an experience of a specific page specification of a - site page within a site. Updates only the fields received in the request body, leaving any other fields - untouched. - operationId: patchSitePageRuleCondition + Updates a page specification of a site page. Updates only the fields received in the request body, + leaving any other fields untouched. + operationId: patchSitePageSpecification parameters: - in: path name: siteExternalReferenceCode @@ -6421,7 +6341,7 @@ paths: schema: type: string - in: path - name: pageRuleConditionExternalReferenceCode + name: pageSpecificationExternalReferenceCode required: true schema: type: string @@ -6443,18 +6363,17 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageRuleCondition" + $ref: "#/components/schemas/PageSpecification" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageRuleCondition" - tags: ["PageRuleCondition"] + $ref: "#/components/schemas/PageSpecification" + tags: ["PageSpecification"] put: description: - Updates a page rule condition within a page rule of an experience of a specific page specification of a - site page within a site. - operationId: putSitePageRuleCondition + Updates a page specification of a site page. + operationId: putSitePageSpecification parameters: - in: path name: siteExternalReferenceCode @@ -6462,7 +6381,7 @@ paths: schema: type: string - in: path - name: pageRuleConditionExternalReferenceCode + name: pageSpecificationExternalReferenceCode required: true schema: type: string @@ -6484,198 +6403,60 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageRuleCondition" + $ref: "#/components/schemas/PageSpecification" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageRuleCondition" - tags: ["PageRuleCondition"] - "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": - delete: - description: - Deletes a page rule within an experience of a specific page specification of a site page within a site. - operationId: deleteSitePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageRule"] + $ref: "#/components/schemas/PageSpecification" + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-template-collections": get: description: - Retrieves page rule within an experience of a specific page specification of a site page within a site. - operationId: getSitePageRule + Retrieves the page template collections of the site + operationId: getSitePageTemplateCollectionsPage parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRule" - tags: ["PageRule"] - patch: - description: - Updates a page rule within an experience of a specific page specification of a site page within a site. - Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true + name: aggregationTerms schema: - type: string + items: + type: string + type: array - in: query name: fields schema: type: string - in: query - name: nestedFields + name: filter schema: type: string - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRule" - tags: ["PageRule"] - put: - description: - Updates a page rule within an experience of a specific page specification of a site page within a site. - operationId: putSitePageRule - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true + name: nestedFields schema: type: string - in: query - name: fields + name: page schema: - type: string + type: integer - in: query - name: nestedFields + name: pageSize schema: - type: string + type: integer - in: query name: restrictFields schema: type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRule" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRule" - tags: ["PageRule"] - "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-actions": - get: - description: - Retrieves all the page rule action actions within an experience in a page specification of a site page. - operationId: getSitePageRulePageRuleActionsPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - in: query - name: nestedFields + name: search schema: type: string - in: query - name: restrictFields + name: sort schema: type: string responses: @@ -6684,69 +6465,50 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageRuleAction" + $ref: "#/components/schemas/PageTemplateCollection" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageRuleAction" + $ref: "#/components/schemas/PageTemplateCollection" type: array - # @review - tags: ["PageRule"] + tags: ["PageTemplateCollection"] post: description: - Adds a new page rule action to a page rule in an experience in a page specification in draft status of a - site page. - operationId: postSitePageRulePageRuleAction + Adds a new page template collection + operationId: postSitePageTemplateCollection parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: path - name: pageRuleExternalReferenceCode - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string requestBody: content: application/json: schema: - $ref: "#/components/schemas/PageRuleAction" + $ref: "#/components/schemas/PageTemplateCollection" application/xml: schema: - $ref: "#/components/schemas/PageRuleAction" + $ref: "#/components/schemas/PageTemplateCollection" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageRuleAction" + $ref: "#/components/schemas/PageTemplateCollection" application/xml: schema: - $ref: "#/components/schemas/PageRuleAction" + $ref: "#/components/schemas/PageTemplateCollection" description: default response # @review - tags: ["PageRule"] - "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-conditions": - get: + tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}": + delete: description: - Retrieves all the page rule condition conditions within an experience in a page specification of a site - page. - operationId: getSitePageRulePageRuleConditionsPage + Deletes a specific page template collection of a site. + operationId: deleteSitePageTemplateCollection parameters: - in: path name: siteExternalReferenceCode @@ -6754,1089 +6516,20 @@ paths: schema: type: string - in: path - name: pageRuleExternalReferenceCode + name: pageTemplateCollectionExternalReferenceCode required: true schema: type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageRuleCondition" - type: array - # @review - tags: ["PageRule"] - post: - description: - Adds a new page rule condition to a page rule in an experience in a page specification in draft status - of a site page. - operationId: postSitePageRulePageRuleCondition - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageRuleExternalReferenceCode - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRuleCondition" - application/xml: - schema: - $ref: "#/components/schemas/PageRuleCondition" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageRuleCondition" - application/xml: - schema: - $ref: "#/components/schemas/PageRuleCondition" - description: - default response - # @review - tags: ["PageRule"] - "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}": - delete: - description: - Deletes a page specification of a site page. - operationId: deleteSitePageSpecification - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageSpecificationExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageSpecification"] - get: - description: - Retrieves a page specification of a site page. - operationId: getSitePageSpecification - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageSpecificationExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageSpecification" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageSpecification" - tags: ["PageSpecification"] - patch: - description: - Updates a page specification of a site page. Updates only the fields received in the request body, - leaving any other fields untouched. - operationId: patchSitePageSpecification - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageSpecificationExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageSpecification" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageSpecification" - tags: ["PageSpecification"] - put: - description: - Updates a page specification of a site page. - operationId: putSitePageSpecification - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageSpecificationExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageSpecification" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageSpecification" - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-template-collections": - get: - description: - Retrieves the page template collections of the site - operationId: getSitePageTemplateCollectionsPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: query - name: aggregationTerms - schema: - items: - type: string - type: array - - in: query - name: fields - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: page - schema: - type: integer - - in: query - name: pageSize - schema: - type: integer - - in: query - name: restrictFields - schema: - type: string - - in: query - name: search - schema: - type: string - - in: query - name: sort - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageTemplateCollection" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageTemplateCollection" - type: array - tags: ["PageTemplateCollection"] - post: - description: - Adds a new page template collection - operationId: postSitePageTemplateCollection - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - description: - default response - # @review - tags: ["PageTemplateCollection"] - "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}": - delete: - description: - Deletes a specific page template collection of a site. - operationId: deleteSitePageTemplateCollection - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateCollectionExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageTemplateCollection"] - get: - description: - Retrieves a specific page template collection of a site. - operationId: getSitePageTemplateCollection - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateCollectionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - description: - default response - tags: ["PageTemplateCollection"] - patch: - description: - Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageTemplateCollection - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateCollectionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - description: - default response - tags: ["PageTemplateCollection"] - put: - description: - Updates the page template collection with the given external reference code, or creates it if it does - not exist. - operationId: putSitePageTemplateCollection - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateCollectionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplateCollection" - description: - default response - tags: ["PageTemplateCollection"] - "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}/page-templates": - get: - description: - Retrieves all the page templates within a page template collection of a site page. - operationId: getSitePageTemplateCollectionPageTemplatesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateCollectionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: flatten - schema: - type: boolean - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageTemplate" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageTemplate" - type: array - # @review - tags: ["PageTemplateCollection"] - post: - description: - Adds a new page template in draft status to a page template collection. - operationId: postSitePageTemplateCollectionPageTemplate - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateCollectionExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - description: - default response - # @review - tags: ["PageTemplateCollection"] - "/sites/{siteExternalReferenceCode}/page-templates": - get: - description: - Retrieves the page templates of the site - operationId: getSitePageTemplatesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: query - name: aggregationTerms - schema: - items: - type: string - type: array - - in: query - name: fields - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: page - schema: - type: integer - - in: query - name: pageSize - schema: - type: integer - - in: query - name: restrictFields - schema: - type: string - - in: query - name: search - schema: - type: string - - in: query - name: sort - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageTemplate" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/PageTemplate" - type: array - tags: ["PageTemplate"] - post: - description: - Adds a new page template - operationId: postSitePageTemplate - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - description: - default response - # @review - tags: ["PageTemplate"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}": - delete: - description: - Deletes a specific page template of a site. - operationId: deleteSitePageTemplate - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["PageTemplate"] - get: - description: - Retrieves a specific page template of a site. - operationId: getSitePageTemplate - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - description: - default response - tags: ["PageTemplate"] - patch: - description: - Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageTemplate - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - description: - default response - tags: ["PageTemplate"] - put: - description: - Updates the page template with the given external reference code, or creates it if it does not exist. - operationId: putSitePageTemplate - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageTemplate" - application/xml: - schema: - $ref: "#/components/schemas/PageTemplate" - description: - default response - tags: ["PageTemplate"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications": - post: - description: - Adds a new page specification in draft status to a page template. - operationId: postSitePageTemplatePageSpecification - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageTemplate"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/draft": - delete: - description: - Deletes the draft page specification of a page template. - operationId: deleteSitePageTemplatePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - responses: - 204: + 204: content: application/json: {} application/xml: {} - tags: ["PageSpecification"] - get: - description: - Retrieves the draft page specification of a page template. - operationId: getSitePageTemplatePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - patch: - description: - Updates the draft page specification of a page template based only on the fields received in the request - body, leaving any other fields untouched. - operationId: patchSitePageTemplatePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - put: - description: - Updates the draft page specification of a page template. - operationId: putSitePageTemplatePageSpecificationDraft - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/draft/publish": - post: - description: - Publishes a page specification in draft status of a page template. - operationId: postSitePageTemplatePageSpecificationDraftPublish - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/published": + tags: ["PageTemplateCollection"] get: description: - Retrieves the published page specification of a page template. - operationId: getSitePageTemplatePageSpecificationPublished + Retrieves a specific page template collection of a site. + operationId: getSitePageTemplateCollection parameters: - in: path name: siteExternalReferenceCode @@ -7844,7 +6537,7 @@ paths: schema: type: string - in: path - name: pageTemplateExternalReferenceCode + name: pageTemplateCollectionExternalReferenceCode required: true schema: type: string @@ -7865,18 +6558,17 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" description: default response - tags: ["PageSpecification"] + tags: ["PageTemplateCollection"] patch: description: - Updates the published page specification of a page template based only on the fields received in the - request body, leaving any other fields untouched. - operationId: patchSitePageTemplatePageSpecificationPublished + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSitePageTemplateCollection parameters: - in: path name: siteExternalReferenceCode @@ -7884,7 +6576,7 @@ paths: schema: type: string - in: path - name: pageTemplateExternalReferenceCode + name: pageTemplateCollectionExternalReferenceCode required: true schema: type: string @@ -7904,26 +6596,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" description: default response - tags: ["PageSpecification"] + tags: ["PageTemplateCollection"] put: description: - Updates the published page specification of a page template. - operationId: putSitePageTemplatePageSpecificationPublished + Updates the page template collection with the given external reference code, or creates it if it does + not exist. + operationId: putSitePageTemplateCollection parameters: - in: path name: siteExternalReferenceCode @@ -7931,7 +6624,7 @@ paths: schema: type: string - in: path - name: pageTemplateExternalReferenceCode + name: pageTemplateCollectionExternalReferenceCode required: true schema: type: string @@ -7951,27 +6644,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/PageTemplateCollection" description: default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": + tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}/page-templates": get: description: - Retrieves all the experiences of a published page specification. - operationId: getSitePageTemplatePageSpecificationPublishedPageExperiencesPage + Retrieves all the page templates within a page template collection of a site page. + operationId: getSitePageTemplateCollectionPageTemplatesPage parameters: - in: path name: siteExternalReferenceCode @@ -7979,7 +6672,7 @@ paths: schema: type: string - in: path - name: pageTemplateExternalReferenceCode + name: pageTemplateCollectionExternalReferenceCode required: true schema: type: string @@ -7987,6 +6680,10 @@ paths: name: fields schema: type: string + - in: query + name: flatten + schema: + type: boolean - in: query name: nestedFields schema: @@ -8001,20 +6698,68 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageTemplate" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageTemplate" type: array # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages": + tags: ["PageTemplateCollection"] + post: + description: + Adds a new page template in draft status to a page template collection. + operationId: postSitePageTemplateCollectionPageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + # @review + tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-templates": get: description: - Retrieves the public pages of the site - operationId: getSiteSitePagesPage + Retrieves the page templates of the site + operationId: getSitePageTemplatesPage parameters: - in: path name: siteExternalReferenceCode @@ -8065,18 +6810,18 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" type: array application/xml: schema: items: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" type: array - tags: ["SitePage"] + tags: ["PageTemplate"] post: description: - Adds a new site page - operationId: postSiteSitePage + Adds a new page template + operationId: postSitePageTemplate parameters: - in: path name: siteExternalReferenceCode @@ -8087,28 +6832,28 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" description: default response # @review - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}": + tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}": delete: description: - Deletes a specific public page of a site. - operationId: deleteSiteSitePage + Deletes a specific page template of a site. + operationId: deleteSitePageTemplate parameters: - in: path name: siteExternalReferenceCode @@ -8116,7 +6861,7 @@ paths: schema: type: string - in: path - name: sitePageExternalReferenceCode + name: pageTemplateExternalReferenceCode required: true schema: type: string @@ -8125,11 +6870,11 @@ paths: content: application/json: {} application/xml: {} - tags: ["SitePage"] + tags: ["PageTemplate"] get: description: - Retrieves a specific public page of a site. - operationId: getSiteSitePage + Retrieves a specific page template of a site. + operationId: getSitePageTemplate parameters: - in: path name: siteExternalReferenceCode @@ -8137,7 +6882,7 @@ paths: schema: type: string - in: path - name: sitePageExternalReferenceCode + name: pageTemplateExternalReferenceCode required: true schema: type: string @@ -8158,17 +6903,17 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" description: default response - tags: ["SitePage"] + tags: ["PageTemplate"] patch: description: Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSiteSitePage + operationId: patchSitePageTemplate parameters: - in: path name: siteExternalReferenceCode @@ -8176,7 +6921,7 @@ paths: schema: type: string - in: path - name: sitePageExternalReferenceCode + name: pageTemplateExternalReferenceCode required: true schema: type: string @@ -8196,26 +6941,123 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" responses: default: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + tags: ["PageTemplate"] + put: + description: + Updates the page template with the given external reference code, or creates it if it does not exist. + operationId: putSitePageTemplate + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/PageTemplate" + application/xml: + schema: + $ref: "#/components/schemas/PageTemplate" + description: + default response + tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications": + post: + description: + Adds a new page specification in draft status to a page template. + operationId: postSitePageTemplatePageSpecification + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["SitePage"] - put: + # @review + tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/draft/publish": + post: description: - Updates the site page with the given external reference code, or creates it if it does not exist. - operationId: putSiteSitePage + Publishes a page specification in draft status of a page template. + operationId: postSitePageTemplatePageSpecificationDraftPublish parameters: - in: path name: siteExternalReferenceCode @@ -8223,7 +7065,7 @@ paths: schema: type: string - in: path - name: sitePageExternalReferenceCode + name: pageTemplateExternalReferenceCode required: true schema: type: string @@ -8239,31 +7081,24 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/SitePage" - application/xml: - schema: - $ref: "#/components/schemas/SitePage" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/SitePage" + $ref: "#/components/schemas/PageSpecification" description: default response - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": + # @review + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": get: description: - Retrieves all the page specifications of a site page. - operationId: getSiteSitePagePageSpecificationsPage + Retrieves all the experiences of a published page specification. + operationId: getSitePageTemplatePageSpecificationPublishedPageExperiencesPage parameters: - in: path name: siteExternalReferenceCode @@ -8271,7 +7106,8 @@ paths: schema: type: string - in: path - name: sitePageExternalReferenceCode + name: pageTemplateExternalReferenceCode + required: true schema: type: string - in: query @@ -8292,116 +7128,114 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" type: array # @review - tags: ["SitePage"] - post: + tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/site-pages": + get: description: - Adds a new page specification to a site page. - operationId: postSiteSitePagePageSpecification + Retrieves the public pages of the site + operationId: getSiteSitePagesPage parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: path - name: sitePageExternalReferenceCode + - in: query + name: aggregationTerms schema: - type: string + items: + type: string + type: array - in: query name: fields schema: type: string + - in: query + name: filter + schema: + type: string - in: query name: nestedFields schema: type: string + - in: query + name: page + schema: + type: integer + - in: query + name: pageSize + schema: + type: integer - in: query name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" + - in: query + name: search + schema: + type: string + - in: query + name: sort + schema: + type: string responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/SitePage" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review + items: + $ref: "#/components/schemas/SitePage" + type: array tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": post: description: - Adds a new page specification in draft status to a site page. - operationId: postSiteSitePagePageSpecification + Adds a new site page + operationId: postSiteSitePage parameters: - in: path name: siteExternalReferenceCode required: true schema: type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string requestBody: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" description: default response # @review tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft": + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}": delete: description: - Deletes the draft page specification of a site page. - operationId: deleteSiteSitePagePageSpecificationDraft + Deletes a specific public page of a site. + operationId: deleteSiteSitePage parameters: - in: path name: siteExternalReferenceCode @@ -8418,11 +7252,11 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageSpecification"] + tags: ["SitePage"] get: description: - Retrieves the draft page specification of a site page. - operationId: getSiteSitePagePageSpecificationDraft + Retrieves a specific public page of a site. + operationId: getSiteSitePage parameters: - in: path name: siteExternalReferenceCode @@ -8451,18 +7285,17 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" description: default response - tags: ["PageSpecification"] + tags: ["SitePage"] patch: description: - Updates the draft page specification of a site page based only on the fields received in the request - body, leaving any other fields untouched. - operationId: patchSiteSitePagePageSpecificationDraft + Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteSitePage parameters: - in: path name: siteExternalReferenceCode @@ -8490,26 +7323,26 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" description: default response - tags: ["PageSpecification"] + tags: ["SitePage"] put: description: - Updates the draft page specification of a site page. - operationId: putSiteSitePagePageSpecificationDraft + Updates the site page with the given external reference code, or creates it if it does not exist. + operationId: putSiteSitePage parameters: - in: path name: siteExternalReferenceCode @@ -8537,27 +7370,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/SitePage" description: default response - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/page-experiences": + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": get: description: - Retrieves all the experiences of a draft page specification. - operationId: getSiteSitePagePageSpecificationDraftPageExperiencesPage + Retrieves all the page specifications of a site page. + operationId: getSiteSitePagePageSpecificationsPage parameters: - in: path name: siteExternalReferenceCode @@ -8566,7 +7399,6 @@ paths: type: string - in: path name: sitePageExternalReferenceCode - required: true schema: type: string - in: query @@ -8587,19 +7419,19 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" type: array # @review - tags: ["PageSpecification"] + tags: ["SitePage"] post: description: - Adds a new experience to a draft page specification of a site page. - operationId: postSiteSitePagePageSpecificationDraftPageExperience + Adds a new page specification to a site page. + operationId: postSiteSitePagePageSpecification parameters: - in: path name: siteExternalReferenceCode @@ -8608,7 +7440,6 @@ paths: type: string - in: path name: sitePageExternalReferenceCode - required: true schema: type: string - in: query @@ -8627,28 +7458,28 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageSpecification" description: default response # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": post: description: - Publishes a page specification in draft status of a site page. - operationId: postSiteSitePagePageSpecificationDraftPublish + Adds a new page specification in draft status to a site page. + operationId: postSiteSitePagePageSpecification parameters: - in: path name: siteExternalReferenceCode @@ -8672,6 +7503,14 @@ paths: name: restrictFields schema: type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" responses: 200: content: @@ -8684,12 +7523,12 @@ paths: description: default response # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published": + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/page-experiences": get: description: - Retrieves the published page specification of a site page. - operationId: getSiteSitePagePageSpecificationPublished + Retrieves all the experiences of a draft page specification. + operationId: getSiteSitePagePageSpecificationDraftPageExperiencesPage parameters: - in: path name: siteExternalReferenceCode @@ -8718,18 +7557,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + items: + $ref: "#/components/schemas/Experience" + type: array application/xml: schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response + items: + $ref: "#/components/schemas/Experience" + type: array + # @review tags: ["PageSpecification"] - patch: + post: description: - Updates the published page specification of a site page based only on the fields received in the request - body, leaving any other fields untouched. - operationId: patchSiteSitePagePageSpecificationPublished + Adds a new experience to a draft page specification of a site page. + operationId: postSiteSitePagePageSpecificationDraftPageExperience parameters: - in: path name: siteExternalReferenceCode @@ -8757,26 +7598,28 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" responses: - default: + 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/Experience" description: default response + # @review tags: ["PageSpecification"] - put: + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": + post: description: - Updates the published page specification of a site page. - operationId: putSiteSitePagePageSpecificationPublished + Publishes a page specification in draft status of a site page. + operationId: postSiteSitePagePageSpecificationDraftPublish parameters: - in: path name: siteExternalReferenceCode @@ -8800,16 +7643,8 @@ paths: name: restrictFields schema: type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" responses: - default: + 200: content: application/json: schema: @@ -8819,6 +7654,7 @@ paths: $ref: "#/components/schemas/PageSpecification" description: default response + # @review tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published/page-experiences": get: From 526f2620ebcaf05f3bc1c26dc557fc181ed98aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 10:39:51 +0200 Subject: [PATCH 122/260] LPD-x Add endpoints to get and create an experience within a page specification --- .../rest-openapi.yaml | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 99ffa70d306463..66c2dde5a34bd7 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6410,6 +6410,97 @@ paths: items: $ref: "#/components/schemas/PageSpecification" tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}/page-experiences": + get: + description: + Retrieves all the experiences of a page specification. + operationId: getSitePageSpecificationPageExperiencesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageSpecificationExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/Experience" + type: array + # @review + tags: ["PageSpecification"] + post: + description: + Adds a new experience to a page specification of a site page. + operationId: postSitePageSpecificationPageExperience + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageSpecificationExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/Experience" + application/xml: + schema: + $ref: "#/components/schemas/Experience" + description: + default response + # @review + tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-template-collections": get: description: From 669b8b821d96e0ce45bb0ede0dfbdeef81390406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 10:42:34 +0200 Subject: [PATCH 123/260] LPD-x Remove no longer needed endpoints for getting or creating experiences associated to "draft" and "published" page specifications --- .../rest-openapi.yaml | 311 ------------------ 1 file changed, 311 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 66c2dde5a34bd7..54653100331142 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -4310,49 +4310,6 @@ paths: default response # @review tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": - get: - description: - Retrieves all the experiences of a published page specification. - operationId: getSiteDisplayPageTemplatePageSpecificationPublishedPageExperiencesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: displayPageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/fragment-compositions": get: description: @@ -4950,49 +4907,6 @@ paths: default response # @review tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/published/page-experiences": - get: - description: - Retrieves all the experiences of a published page specification. - operationId: getSiteMasterPagePageSpecificationPublishedPageExperiencesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: masterPageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: description: @@ -7185,49 +7099,6 @@ paths: default response # @review tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/published/page-experiences": - get: - description: - Retrieves all the experiences of a published page specification. - operationId: getSitePageTemplatePageSpecificationPublishedPageExperiencesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/site-pages": get: description: @@ -7615,97 +7486,6 @@ paths: default response # @review tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/page-experiences": - get: - description: - Retrieves all the experiences of a draft page specification. - operationId: getSiteSitePagePageSpecificationDraftPageExperiencesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] - post: - description: - Adds a new experience to a draft page specification of a site page. - operationId: postSiteSitePagePageSpecificationDraftPageExperience - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - description: - default response - # @review - tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": post: description: @@ -7746,95 +7526,4 @@ paths: description: default response # @review - tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/published/page-experiences": - get: - description: - Retrieves all the experiences of a published page specification. - operationId: getSiteSitePagePageSpecificationPublishedPageExperiencesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/Experience" - type: array - # @review - tags: ["PageSpecification"] - post: - description: - Adds a new experience to a published page specification of a site page. - operationId: postSiteSitePagePageSpecificationPublishedPageExperience - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/Experience" - application/xml: - schema: - $ref: "#/components/schemas/Experience" - description: - default response - # @review tags: ["PageSpecification"] \ No newline at end of file From 4eeef8a169b6af58a8b945ef791a28a38e6574c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:05:55 +0200 Subject: [PATCH 124/260] LPD-x Remove duplicated endpoint --- .../rest-openapi.yaml | 49 ------------------- 1 file changed, 49 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 54653100331142..4196c1398b50d9 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -7437,55 +7437,6 @@ paths: default response # @review tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": - post: - description: - Adds a new page specification in draft status to a site page. - operationId: postSiteSitePagePageSpecification - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": post: description: From be34134c17517c01c97f34fed997672f9a341314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:08:21 +0200 Subject: [PATCH 125/260] LPD-x Add endpoint to publish a page specification --- .../rest-openapi.yaml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 4196c1398b50d9..d53b7f4b22c5f2 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6415,6 +6415,47 @@ paths: default response # @review tags: ["PageSpecification"] + "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}/publish": + post: + description: + Publishes a page specification in draft status of a site page. + operationId: postSitePageSpecificationPublish + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageSpecificationExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/PageSpecification" + application/xml: + schema: + $ref: "#/components/schemas/PageSpecification" + description: + default response + # @review + tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-template-collections": get: description: From cc4bb23ca77d91d37b3aa245b401a8529a2d9c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:10:14 +0200 Subject: [PATCH 126/260] LPD-x Remove no longer needed endpoints for publishing a "draft" page specification --- .../rest-openapi.yaml | 166 +----------------- 1 file changed, 1 insertion(+), 165 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d53b7f4b22c5f2..f37dca2a54a37e 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -4269,47 +4269,6 @@ paths: default response # @review tags: ["DisplayPageTemplate"] - "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications/draft/publish": - post: - description: - Publishes a page specification in draft status of a display page template. - operationId: postSiteDisplayPageTemplatePageSpecificationDraftPublish - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: displayPageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/fragment-compositions": get: description: @@ -4866,47 +4825,6 @@ paths: default response # @review tags: ["MasterPage"] - "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications/draft/publish": - post: - description: - Publishes a page specification in draft status of a master page. - operationId: postSiteMasterPagePageSpecificationDraftPublish - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: masterPageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: description: @@ -7099,47 +7017,6 @@ paths: default response # @review tags: ["PageTemplate"] - "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications/draft/publish": - post: - description: - Publishes a page specification in draft status of a page template. - operationId: postSitePageTemplatePageSpecificationDraftPublish - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: pageTemplateExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/site-pages": get: description: @@ -7477,45 +7354,4 @@ paths: description: default response # @review - tags: ["SitePage"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications/draft/publish": - post: - description: - Publishes a page specification in draft status of a site page. - operationId: postSiteSitePagePageSpecificationDraftPublish - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - $ref: "#/components/schemas/PageSpecification" - application/xml: - schema: - $ref: "#/components/schemas/PageSpecification" - description: - default response - # @review - tags: ["PageSpecification"] \ No newline at end of file + tags: ["SitePage"] \ No newline at end of file From 7481e0c66b6b6100834c282800cdd05f4a02ae14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:15:59 +0200 Subject: [PATCH 127/260] LPD-x Rename Experience to PageExperience --- .../rest-openapi.yaml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index f37dca2a54a37e..6ec9a29d83dc48 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -590,7 +590,7 @@ components: required: - externalReferenceCode type: object - Experience: + PageExperience: description: # @review Represents a customized experience for a given page. @@ -2461,7 +2461,7 @@ components: type: string pageExperiences: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" type: array settings: $ref: "#/components/schemas/Settings" @@ -5148,12 +5148,12 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" tags: ["PageExperience"] patch: description: @@ -5189,12 +5189,12 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" tags: ["PageExperience"] put: description: @@ -5229,12 +5229,12 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" tags: ["PageExperience"] "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-elements": get: @@ -6276,12 +6276,12 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" type: array application/xml: schema: items: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" type: array # @review tags: ["PageSpecification"] @@ -6316,19 +6316,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" application/xml: schema: - $ref: "#/components/schemas/Experience" + $ref: "#/components/schemas/PageExperience" description: default response # @review From 9e151b4667ced34d1c4300e289a0917f34800ff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:16:55 +0200 Subject: [PATCH 128/260] LPD-x Automatic SF --- .../rest-openapi.yaml | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6ec9a29d83dc48..d593ab60a27a1a 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -590,49 +590,6 @@ components: required: - externalReferenceCode type: object - PageExperience: - description: - # @review - Represents a customized experience for a given page. - properties: - externalReferenceCode: - description: - The experience's external reference code, unique per site. - type: string - key: - # @review - description: - the experience's key. - type: string - name: - # @review - description: - the experience's name. - type: string - name_i18n: - additionalProperties: - type: string - # @review - description: - the localized experience's names. - type: object - pageStructure: - $ref: "#/components/schemas/PageStructure" - priority: - # @review - description: - the experience's priority. It must be a unique value within the page specification. The default - experience will always be assigned priority 0. A priority higher than 0 will result in an - experience being active and a priority lower than 0 will result in an experience being inactive. - type: integer - segments: - # @review - description: - A list of segments the experience is used for. - items: - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Segment" - type: array - type: object Fragment: # @review description: @@ -1871,6 +1828,49 @@ components: The external reference code of the user who owns this page element, if the page element is customizable. It only applies to widget pages. type: string + PageExperience: + description: + # @review + Represents a customized experience for a given page. + properties: + externalReferenceCode: + description: + The experience's external reference code, unique per site. + type: string + key: + # @review + description: + the experience's key. + type: string + name: + # @review + description: + the experience's name. + type: string + name_i18n: + additionalProperties: + type: string + # @review + description: + the localized experience's names. + type: object + pageStructure: + $ref: "#/components/schemas/PageStructure" + priority: + # @review + description: + the experience's priority. It must be a unique value within the page specification. The default + experience will always be assigned priority 0. A priority higher than 0 will result in an + experience being active and a priority lower than 0 will result in an experience being inactive. + type: integer + segments: + # @review + description: + A list of segments the experience is used for. + items: + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Segment" + type: array + type: object PageFormDefinition: # @review description: From ee40c26dab24d37c7e275ccd44025b1e56a39c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:18:13 +0200 Subject: [PATCH 129/260] LPD-x Update PageExperience description to emphasize that a PageExperience is associated to a PageSpecification --- .../headless-admin-site-impl/rest-openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d593ab60a27a1a..c3a47ec8c809da 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1831,7 +1831,7 @@ components: PageExperience: description: # @review - Represents a customized experience for a given page. + Represents a customized experience for a given page specification. properties: externalReferenceCode: description: From 90cbbdabc68c47c6a8b6ea929414909ec68acc89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:32:33 +0200 Subject: [PATCH 130/260] LPD-x Use array of pageSpecifications in SitePage, MasterPage, DisplayPageTemplate, PageTemplate and UtilityPage --- .../rest-openapi.yaml | 60 +++++++++++-------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index c3a47ec8c809da..b61fa29cd197c2 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -491,6 +491,14 @@ components: description: The display page template's name. type: string + pageSpecifications: + # @review + description: + The display page template's specifications. A display page template may contain 0 or 1 page + specifications in draft status and 0 or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array parentFolder: $ref: "#/components/schemas/DisplayPageTemplateFolder" # @review @@ -1406,12 +1414,13 @@ components: The master page's name. type: string pageSpecifications: - properties: - draft: - $ref: "#/components/schemas/PageSpecification" - published: - $ref: "#/components/schemas/PageSpecification" - type: object + # @review + description: + The master page's specifications. A master page may contain 0 or 1 page specifications in draft + status and 0 or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array taxonomyCategoryBriefs: description: The categories associated with this master page. @@ -2527,12 +2536,13 @@ components: The page template's name. type: string pageSpecifications: - properties: - draft: - $ref: "#/components/schemas/PageSpecification" - published: - $ref: "#/components/schemas/PageSpecification" - type: object + # @review + description: + The page template's specifications. A page template may contain 0 or 1 page specifications in + draft status and 0 or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array pageTemplateCollection: $ref: "#/components/schemas/PageTemplateCollection" # @review @@ -3054,12 +3064,13 @@ components: description: Settings of the page, such as SEO or OpenGraph. pageSpecifications: - properties: - draft: - $ref: "#/components/schemas/PageSpecification" - published: - $ref: "#/components/schemas/PageSpecification" - type: object + # @review + description: + The page's specifications. A page may contain 0 or 1 page specifications in draft status and 0 + or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array pageType: # @review description: @@ -3322,12 +3333,13 @@ components: The utility page name. type: string pageSpecifications: - properties: - draft: - $ref: "#/components/schemas/PageSpecification" - published: - $ref: "#/components/schemas/PageSpecification" - type: object + # @review + description: + The utility page's specifications. A utility page may contain 0 or 1 page specifications in + draft status and 0 or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array thumbnail: $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" # @review From ef053f56eb8b95a1478d0701be50e206c5cc5b53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:45:31 +0200 Subject: [PATCH 131/260] LPD-x Remove PageRootDefinition --- .../headless-admin-site-impl/rest-openapi.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b61fa29cd197c2..888192a6586ef7 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1792,7 +1792,6 @@ components: - $ref: "#/components/schemas/PageFormDefinition" - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" - $ref: "#/components/schemas/PageFragmentInstanceDefinition" - - $ref: "#/components/schemas/PageRootDefinition" - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" @@ -2057,11 +2056,6 @@ components: $ref: "#/components/schemas/WidgetInstance" type: array type: object - PageRootDefinition: - # @review - description: - Represents a definition of a Root Page. - type: object PageRowDefinition: # @review description: From 2fe20ed94a9116ae37aaeb6416b49fccab5c0ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 11:51:37 +0200 Subject: [PATCH 132/260] LPD-x Remove PageStructure and use array of PageElements rather than a single PageElement, since there is no longer a root PageElement --- .../rest-openapi.yaml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 888192a6586ef7..e36e6d33a59f77 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1862,8 +1862,14 @@ components: description: the localized experience's names. type: object - pageStructure: - $ref: "#/components/schemas/PageStructure" + pageElements: + items: + $ref: "#/components/schemas/PageElement" + type: array + pageRules: + items: + $ref: "#/components/schemas/PageRule" + type: array priority: # @review description: @@ -2469,15 +2475,6 @@ components: settings: $ref: "#/components/schemas/Settings" type: object - PageStructure: - properties: - pageElement: - $ref: "#/components/schemas/PageElement" - pageRules: - items: - $ref: "#/components/schemas/PageRule" - type: array - type: object PageTemplate: # @review description: From 1fdb5b642d8292b3062726fb28b6e7ab177f5e9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 12:39:48 +0200 Subject: [PATCH 133/260] LPD-x Remove userExternalReferenceCode from PageElement, since customized widget instances won't be exported (only widget instances which apply to all users) --- .../headless-admin-site-impl/rest-openapi.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index e36e6d33a59f77..298e14d6c8a482 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1831,11 +1831,6 @@ components: enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentDropZone, Root, Row, Section, Widget, WidgetPageColumn, WidgetPageLayout] type: string - userExternalReferenceCode: - description: - The external reference code of the user who owns this page element, if the page element is - customizable. It only applies to widget pages. - type: string PageExperience: description: # @review From b5f65754266869fe4978bb2ef64e0eeb6328e615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 14:04:19 +0200 Subject: [PATCH 134/260] LPD-x Add fragmentComposition property to PageElement, so a FragmentComposition can be added to an Experience in a similar way as a "regular" PageElement is added --- .../headless-admin-site-impl/rest-openapi.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 298e14d6c8a482..006dbd3dd5a8f5 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1801,6 +1801,19 @@ components: description: The page element's external reference code. Unique within the site. type: string + fragmentComposition: + # @review + description: + A reference to the Fragment Composition being added to a PageExperience. + properties: + externalReferenceCode: + description: + The external reference code of the Fragment Composition + type: string + required: + - externalReferenceCode + type: object + writeOnly: true id: description: The page element's ID. From 2c87d511e80e86c75e523abbd053c3876c336e7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 14:10:55 +0200 Subject: [PATCH 135/260] LPD-x Rename DocumentExternalReferenceCodeReference to ExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 006dbd3dd5a8f5..3dbcc8499226ef 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -505,7 +505,7 @@ components: description: The display page template's parent folder. thumbnail: - $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + $ref: "#/components/schemas/ExternalReference" # @review description: The display page template's thumbnail. @@ -580,7 +580,7 @@ components: description: The page's SEO settings. type: object - DocumentExternalReferenceCodeReference: + ExternalReference: properties: externalReferenceCode: type: string @@ -683,7 +683,7 @@ components: description: The fragment composition's page element, whose definition must be of type PageSectionDefinition. thumbnail: - $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + $ref: "#/components/schemas/ExternalReference" # @review description: The fragment composition's thumbnail. @@ -1428,7 +1428,7 @@ components: $ref: "#/components/schemas/TaxonomyCategoryBrief" type: array thumbnail: - $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + $ref: "#/components/schemas/ExternalReference" # @review description: The master page's thumbnail. @@ -3340,7 +3340,7 @@ components: $ref: "#/components/schemas/PageSpecification" type: array thumbnail: - $ref: "#/components/schemas/DocumentExternalReferenceCodeReference" + $ref: "#/components/schemas/ExternalReference" # @review description: The utility page's thumbnail. From b9daf501995792007f18d30b5963a0b8537b5497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 14:16:35 +0200 Subject: [PATCH 136/260] LPD-x Use ExternalReference when defining fragmentComposition property --- .../headless-admin-site-impl/rest-openapi.yaml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3dbcc8499226ef..25d8cc5eb6ed14 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1802,17 +1802,10 @@ components: The page element's external reference code. Unique within the site. type: string fragmentComposition: + $ref: "#/components/schemas/ExternalReference" # @review description: - A reference to the Fragment Composition being added to a PageExperience. - properties: - externalReferenceCode: - description: - The external reference code of the Fragment Composition - type: string - required: - - externalReferenceCode - type: object + A reference to the fragment composition being added. writeOnly: true id: description: From e9ee100cef9a322a6bb71c731d7b0eb5c4a86654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 31 May 2024 14:43:12 +0200 Subject: [PATCH 137/260] LPD-x Consider a FragmentComposition as an additional type of PageElement, where the externalReferenceCode to the fragment composition is part of the PageElement definition. This is cleaner than adding a fragmentComposition as a generic property of PageElement --- .../rest-openapi.yaml | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 25d8cc5eb6ed14..87a45654f4638c 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1790,6 +1790,7 @@ components: - $ref: "#/components/schemas/PageColumnDefinition" - $ref: "#/components/schemas/PageDropZoneDefinition" - $ref: "#/components/schemas/PageFormDefinition" + - $ref: "#/components/schemas/PageFragmentCompositionInstanceDefinition" - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" - $ref: "#/components/schemas/PageFragmentInstanceDefinition" - $ref: "#/components/schemas/PageRowDefinition" @@ -1801,12 +1802,6 @@ components: description: The page element's external reference code. Unique within the site. type: string - fragmentComposition: - $ref: "#/components/schemas/ExternalReference" - # @review - description: - A reference to the fragment composition being added. - writeOnly: true id: description: The page element's ID. @@ -1833,8 +1828,8 @@ components: # @review description: The page element's type (collection, collection item, column, drop zone, form, fragment, - fragment drop zone, root, row, section or widget). - enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentDropZone, Root, Row, Section, + fragment composition, fragment drop zone, root, row, section or widget). + enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Root, Row, Section, Widget, WidgetPageColumn, WidgetPageLayout] type: string PageExperience: @@ -1979,6 +1974,18 @@ components: The custom name of of a Page form. type: string type: object + PageFragmentCompositionInstanceDefinition: + # @review + description: + Represents a definition of a Page Fragment Composition Instance. + properties: + fragmentComposition: + $ref: "#/components/schemas/ExternalReference" + # @review + description: + The reference to the fragment composition that will be used to generate the PageElement of type + Section that will be added. + type: object PageFragmentDropZoneDefinition: # @review description: From c9145ccd1c948a25b54d3406052564fa9933beb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 09:48:51 +0200 Subject: [PATCH 138/260] LPD-x Rename PageSettings to ContentPageSettings --- .../rest-openapi.yaml | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 87a45654f4638c..5615dbd121548f 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -241,6 +241,39 @@ components: The document's title. type: string type: object + ContentPageSettings: + # @review + description: + Represents the settings of a content Page. + properties: + customMetaTags: + # @review + description: + A list of custom metatags this page has. + items: + $ref: "#/components/schemas/CustomMetaTag" + type: array + hiddenFromNavigation: + # @review + description: + A flag that indicates whether the page is hidden from navigation. + type: boolean + openGraphSettings: + $ref: "#/components/schemas/OpenGraphSettings" + # @review + description: + The page's Open Graph settings. + seoSettings: + $ref: "#/components/schemas/SEOSettings" + # @review + description: + The page's SEO settings. + sitePageNavigationMenuSettings: + $ref: "#/components/schemas/SitePageNavigationMenuSettings" + # @review + description: + The page's site navigation menu settings. + type: object ContextReference: properties: contextSource: @@ -2437,39 +2470,6 @@ components: The custom name of a Page section. type: string type: object - PageSettings: - # @review - description: - Represents the settings of a Page. - properties: - customMetaTags: - # @review - description: - A list of custom metatags this page has. - items: - $ref: "#/components/schemas/CustomMetaTag" - type: array - hiddenFromNavigation: - # @review - description: - A flag that indicates whether the page is hidden from navigation. - type: boolean - openGraphSettings: - $ref: "#/components/schemas/OpenGraphSettings" - # @review - description: - The page's Open Graph settings. - seoSettings: - $ref: "#/components/schemas/SEOSettings" - # @review - description: - The page's SEO settings. - sitePageNavigationMenuSettings: - $ref: "#/components/schemas/SitePageNavigationMenuSettings" - # @review - description: - The page's site navigation menu settings. - type: object PageSpecification: properties: externalReferenceCode: @@ -3058,7 +3058,7 @@ components: type: object type: array pageSettings: - $ref: "#/components/schemas/PageSettings" + $ref: "#/components/schemas/ContentPageSettings" # @review description: Settings of the page, such as SEO or OpenGraph. From 96c465de467012bb6a26d7e632b8e3fb0f7887a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 10:56:41 +0200 Subject: [PATCH 139/260] LPD-x Create WidgetPageSettings --- .../rest-openapi.yaml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5615dbd121548f..fb9e49d6bfe4ee 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3625,6 +3625,33 @@ components: required: - title type: object + WidgetPageSettings: + allOf: + - $ref: "#/components/schemas/ContentPageSettings" + - properties: + customizable: + # @review + description: + A flag that indicates whether the page is customizable. + type: boolean + customizableSectionIds: + # @review + description: + The ids of the customizable sections. + items: + type: string + type: array + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + required: + - layoutTemplateId + # @review + description: + Represents the settings of a widget Page. + type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID From 0a70c13076737b07d359ec90de14c400ce01ed93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 10:58:04 +0200 Subject: [PATCH 140/260] LPD-x Remove PageWidgetLayoutDefinition --- .../rest-openapi.yaml | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index fb9e49d6bfe4ee..6ff3634266e439 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1830,7 +1830,6 @@ components: - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - $ref: "#/components/schemas/PageWidgetPageColumnDefinition" - - $ref: "#/components/schemas/PageWidgetPageLayoutDefinition" externalReferenceCode: description: The page element's external reference code. Unique within the site. @@ -1863,7 +1862,7 @@ components: The page element's type (collection, collection item, column, drop zone, form, fragment, fragment composition, fragment drop zone, root, row, section or widget). enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Root, Row, Section, - Widget, WidgetPageColumn, WidgetPageLayout] + Widget, WidgetPageColumn] type: string PageExperience: description: @@ -2667,24 +2666,6 @@ components: A flag that indicates whether the page widget column is customizable or not. type: boolean type: object - PageWidgetPageLayoutDefinition: - # @review - description: - Represents the definition of a widget page layout. - properties: - customizable: - # @review - description: - A flag that indicates whether the page is customizable. - type: boolean - layoutTemplateId: - # @review - description: - The identifier of the layout template. - type: string - required: - - layoutTemplateId - type: object RowViewport: # @review description: From 536c905ab00e40babfabc3f9e17c9208a0f63fde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 10:59:28 +0200 Subject: [PATCH 141/260] LPD-x Make pageSettings oneOf ContentPageSettings or WidgetPageSetings --- .../headless-admin-site-impl/rest-openapi.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6ff3634266e439..2a4b9cb4aca373 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3039,10 +3039,12 @@ components: type: object type: array pageSettings: - $ref: "#/components/schemas/ContentPageSettings" # @review description: Settings of the page, such as SEO or OpenGraph. + oneOf: + - $ref: "#/components/schemas/ContentPageSettings" + - $ref: "#/components/schemas/WidgetPageSettings" pageSpecifications: # @review description: From e33a66033f1986a1911b83c00cb2c4796ee541d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 11:21:40 +0200 Subject: [PATCH 142/260] LPD-x Rename PageWidgetPageColumnDefinition to PageWidgetSectionDefinition --- .../headless-admin-site-impl/rest-openapi.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 2a4b9cb4aca373..d90ef2d3dedde4 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1829,7 +1829,7 @@ components: - $ref: "#/components/schemas/PageRowDefinition" - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - - $ref: "#/components/schemas/PageWidgetPageColumnDefinition" + - $ref: "#/components/schemas/PageWidgetSectionDefinition" externalReferenceCode: description: The page element's external reference code. Unique within the site. @@ -1862,7 +1862,7 @@ components: The page element's type (collection, collection item, column, drop zone, form, fragment, fragment composition, fragment drop zone, root, row, section or widget). enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Root, Row, Section, - Widget, WidgetPageColumn] + Widget, WidgetSection] type: string PageExperience: description: @@ -2655,10 +2655,10 @@ components: description: The widget instance of the page widget instance. type: object - PageWidgetPageColumnDefinition: + PageWidgetSectionDefinition: # @review description: - Represents the definition of a widget page column. + Represents the definition of a widget section. properties: customizable: # @review From d82081b2b8e5285c82c008643015b3115d11fc33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 11:24:54 +0200 Subject: [PATCH 143/260] LPD-x Delete Root pageElement type --- .../headless-admin-site-impl/rest-openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d90ef2d3dedde4..ee19bbbf08976c 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1861,7 +1861,7 @@ components: description: The page element's type (collection, collection item, column, drop zone, form, fragment, fragment composition, fragment drop zone, root, row, section or widget). - enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Root, Row, Section, + enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Row, Section, Widget, WidgetSection] type: string PageExperience: From 3df35c71ef5e9ddd64e592b33925bc5d95fb2d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 11:31:12 +0200 Subject: [PATCH 144/260] LPD-x Rename PageSectionDefinition to PageContainerDefinition and pageElement type Section to Container --- .../rest-openapi.yaml | 342 +++++++++--------- 1 file changed, 171 insertions(+), 171 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index ee19bbbf08976c..7e004b5f00ebc6 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1766,6 +1766,173 @@ components: minimum: 1 type: integer type: object + PageContainerDefinition: + # @review + description: + Represents a definition of a Page section. + properties: + backgroundColor: + deprecated: true + type: string + backgroundFragmentImage: + $ref: "#/components/schemas/FragmentImage" + # @review + description: + The background fragment image of the page section. + backgroundImage: + deprecated: true + description: + "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" + properties: + description: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + title: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + url: + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" + - $ref: "#/components/schemas/FragmentMappedValue" + type: object + contentVisibility: + # @review + description: + Defines the content visibility of the container. + type: string + cssClasses: + # @review + description: + A list of CSS Classes that are applied to the element. + items: + type: string + type: array + customCSS: + # @review + description: + Custom CSS that is applied on the fragment. + type: string + customCSSViewports: + # @review + description: + The custom CSS viewports of the page collection. + items: + $ref: "#/components/schemas/CustomCSSViewport" + type: array + fragmentLink: + $ref: "#/components/schemas/FragmentLink" + # @review + description: + The fragment link of the page section. + fragmentStyle: + $ref: "#/components/schemas/FragmentStyle" + # @review + description: + The fragment style of the page section. + fragmentViewports: + # @review + description: + A list of fragment viewports of the page section. + items: + $ref: "#/components/schemas/FragmentViewport" + type: array + htmlProperties: + # @review + description: + The page section's html properties + properties: + htmlTag: + enum: [Article, Aside, Div, Footer, Header, Main, Nav, Section] + type: string + type: object + indexed: + # @review + description: + A flag that indicates whether the page section is indexed or not. + type: boolean + layout: + # @review + description: + the page section's layout. + properties: + align: + deprecated: true + enum: [Baseline, Center, End, None, Start, Stretch] + type: string + borderColor: + deprecated: true + type: string + borderRadius: + deprecated: true + enum: [Circle, Large, None, Pill, Regular] + type: string + borderWidth: + deprecated: true + type: integer + containerType: + # @review + description: + The container's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + contentDisplay: + deprecated: true + enum: [Block, FlexColumn, FlexRow] + type: string + flexWrap: + enum: [NoWrap, Wrap, WrapReverse] + type: string + justify: + deprecated: true + enum: [Center, End, None, SpaceAround, SpaceBetween, Start] + type: string + marginBottom: + deprecated: true + type: integer + marginLeft: + deprecated: true + type: integer + marginRight: + deprecated: true + type: integer + marginTop: + deprecated: true + type: integer + opacity: + deprecated: true + type: integer + paddingBottom: + deprecated: true + type: integer + paddingHorizontal: + deprecated: true + type: integer + paddingLeft: + deprecated: true + type: integer + paddingRight: + deprecated: true + type: integer + paddingTop: + deprecated: true + type: integer + shadow: + deprecated: true + enum: [Default, Large, None, Regular, Small] + type: string + widthType: + # @review + description: + The width's type (fixed or fluid). + enum: [Fixed, Fluid] + type: string + type: object + name: + # @review + description: + The custom name of a Page section. + type: string + type: object PageDefinition: # @review description: @@ -1821,13 +1988,13 @@ components: - $ref: "#/components/schemas/PageCollectionDefinition" - $ref: "#/components/schemas/PageCollectionItemDefinition" - $ref: "#/components/schemas/PageColumnDefinition" + - $ref: "#/components/schemas/PageContainerDefinition" - $ref: "#/components/schemas/PageDropZoneDefinition" - $ref: "#/components/schemas/PageFormDefinition" - $ref: "#/components/schemas/PageFragmentCompositionInstanceDefinition" - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" - $ref: "#/components/schemas/PageFragmentInstanceDefinition" - $ref: "#/components/schemas/PageRowDefinition" - - $ref: "#/components/schemas/PageSectionDefinition" - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - $ref: "#/components/schemas/PageWidgetSectionDefinition" externalReferenceCode: @@ -1859,9 +2026,9 @@ components: type: # @review description: - The page element's type (collection, collection item, column, drop zone, form, fragment, - fragment composition, fragment drop zone, root, row, section or widget). - enum: [Collection, CollectionItem, Column, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Row, Section, + The page element's type (collection, collection item, column, container, drop zone, form, + fragment, fragment composition, fragment drop zone, row, widget or widget section). + enum: [Collection, CollectionItem, Column, Container, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Row, Widget, WidgetSection] type: string PageExperience: @@ -2302,173 +2469,6 @@ components: The page rule condition's value. type: string type: object - PageSectionDefinition: - # @review - description: - Represents a definition of a Page section. - properties: - backgroundColor: - deprecated: true - type: string - backgroundFragmentImage: - $ref: "#/components/schemas/FragmentImage" - # @review - description: - The background fragment image of the page section. - backgroundImage: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" - properties: - description: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - title: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - url: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object - contentVisibility: - # @review - description: - Defines the content visibility of the container. - type: string - cssClasses: - # @review - description: - A list of CSS Classes that are applied to the element. - items: - type: string - type: array - customCSS: - # @review - description: - Custom CSS that is applied on the fragment. - type: string - customCSSViewports: - # @review - description: - The custom CSS viewports of the page collection. - items: - $ref: "#/components/schemas/CustomCSSViewport" - type: array - fragmentLink: - $ref: "#/components/schemas/FragmentLink" - # @review - description: - The fragment link of the page section. - fragmentStyle: - $ref: "#/components/schemas/FragmentStyle" - # @review - description: - The fragment style of the page section. - fragmentViewports: - # @review - description: - A list of fragment viewports of the page section. - items: - $ref: "#/components/schemas/FragmentViewport" - type: array - htmlProperties: - # @review - description: - The page section's html properties - properties: - htmlTag: - enum: [Article, Aside, Div, Footer, Header, Main, Nav, Section] - type: string - type: object - indexed: - # @review - description: - A flag that indicates whether the page section is indexed or not. - type: boolean - layout: - # @review - description: - the page section's layout. - properties: - align: - deprecated: true - enum: [Baseline, Center, End, None, Start, Stretch] - type: string - borderColor: - deprecated: true - type: string - borderRadius: - deprecated: true - enum: [Circle, Large, None, Pill, Regular] - type: string - borderWidth: - deprecated: true - type: integer - containerType: - # @review - description: - The container's type (fixed or fluid). - enum: [Fixed, Fluid] - type: string - contentDisplay: - deprecated: true - enum: [Block, FlexColumn, FlexRow] - type: string - flexWrap: - enum: [NoWrap, Wrap, WrapReverse] - type: string - justify: - deprecated: true - enum: [Center, End, None, SpaceAround, SpaceBetween, Start] - type: string - marginBottom: - deprecated: true - type: integer - marginLeft: - deprecated: true - type: integer - marginRight: - deprecated: true - type: integer - marginTop: - deprecated: true - type: integer - opacity: - deprecated: true - type: integer - paddingBottom: - deprecated: true - type: integer - paddingHorizontal: - deprecated: true - type: integer - paddingLeft: - deprecated: true - type: integer - paddingRight: - deprecated: true - type: integer - paddingTop: - deprecated: true - type: integer - shadow: - deprecated: true - enum: [Default, Large, None, Regular, Small] - type: string - widthType: - # @review - description: - The width's type (fixed or fluid). - enum: [Fixed, Fluid] - type: string - type: object - name: - # @review - description: - The custom name of a Page section. - type: string - type: object PageSpecification: properties: externalReferenceCode: From 3dbe86c3c475b3fbd08e058d4923507e39ccccb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 11:39:28 +0200 Subject: [PATCH 145/260] LPD-x Use reference to ExternalReference rather than Segment --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 7e004b5f00ebc6..5746f77bfc0d9d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2075,9 +2075,9 @@ components: segments: # @review description: - A list of segments the experience is used for. + A list of external references to the segments the experience is used for. items: - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Segment" + $ref: "#/components/schemas/ExternalReference" type: array type: object PageFormDefinition: From b4fa678163879bd93e5f5e081f08c8dd0ef464d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 4 Jun 2024 12:20:09 +0200 Subject: [PATCH 146/260] LPD-x Add type to SitePage and PageTemplate --- .../headless-admin-site-impl/rest-openapi.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5746f77bfc0d9d..f7cb8af042588e 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2552,6 +2552,11 @@ components: items: $ref: "#/components/schemas/TaxonomyCategoryBrief" type: array + type: + enum: + - ContentPageTemplate + - WidgetPageTemplate + type: string uuid: description: A valid external identifier to reference this page template. @@ -3104,6 +3109,11 @@ components: description: The localized page's titles. type: object + type: + enum: + - ContentPage + - WidgetPage + type: string uuid: # @review description: From da0a27741305114f93d03d97c9b8e2da5d8bd891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 09:59:52 +0200 Subject: [PATCH 147/260] LPD-x Fix typos in descriptions --- .../headless-admin-site-impl/rest-openapi.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index f7cb8af042588e..34825d59c12c3d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -382,19 +382,19 @@ components: key: # @review description: - The custom metatag's key. + The custom meta tag's key. type: string value: # @review description: - The custom metatag's value + The custom meta tag's value type: string value_i18n: additionalProperties: type: string # @review description: - The localized custom metatag's values. + The localized custom meta tag's values. type: object type: object CustomValue: @@ -2378,7 +2378,7 @@ components: verticalAlignment: # @review description: - The vertical aligment property of the page row. + The vertical alignment property of the page row. type: string type: object PageRule: @@ -2699,7 +2699,7 @@ components: verticalAlignment: # @review description: - The vertical aligment property of the row viewport. + The vertical alignment property of the row viewport. type: string type: object required: From a4bfbe9a117e23ee96063c080272773406383a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 10:28:53 +0200 Subject: [PATCH 148/260] LPD-x Model PageTemplate as oneOf ContentPageTemplate or WidgetPageTemplate and extract common properties to BasePageTemplate --- .../rest-openapi.yaml | 241 ++++++++++++------ 1 file changed, 161 insertions(+), 80 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 34825d59c12c3d..e5d9bd63e88795 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -56,6 +56,95 @@ components: readOnly: true type: number type: object + BasePageTemplate: + # @review + description: + Represents a base page template, containing the common properties of both a content page template and a + widget page template. + properties: + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page template's creator. + dateCreated: + # @review + description: + The page template's creation date. + format: date-time + type: string + dateModified: + # @review + description: + The last time the page template changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The last time the page template changed. + format: date-time + type: string + externalReferenceCode: + # @review + description: + The page template's external reference code. + type: string + key: + # @review + description: + The page template's key. + type: string + keywords: + # @review + description: + A list of keywords describing the page template. + items: + type: string + type: array + name: + # @review + description: + The page template's name. + type: string + pageSpecifications: + # @review + description: + The page template's specifications. A page template may contain 0 or 1 page specifications in + draft status and 0 or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array + pageTemplateCollection: + $ref: "#/components/schemas/PageTemplateCollection" + # @review + description: + The page template's collection. + pageTemplateSettings: + # @review + description: + Settings of the page template. + oneOf: + - $ref: "#/components/schemas/ContentPageTemplateSettings" + - $ref: "#/components/schemas/WidgetPageTemplateSettings" + taxonomyCategoryBriefs: + description: + The categories associated with this page template. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + type: + enum: + - ContentPageTemplate + - WidgetPageTemplate + type: string + uuid: + description: + A valid external identifier to reference this page template. + readOnly: true + type: string + type: object ClassFieldReference: properties: className: @@ -2482,86 +2571,17 @@ components: settings: $ref: "#/components/schemas/Settings" type: object - PageTemplate: + ContentPageTemplate: + allOf: + - $ref: "#/components/schemas/BasePageTemplate" # @review description: - Represents a Page template. - properties: - creator: - $ref: "#/components/schemas/Creator" - # @review - description: - The page template's creator. - dateCreated: - # @review - description: - The page template's creation date. - format: date-time - type: string - dateModified: - # @review - description: - The last time the page template changed. - format: date-time - readOnly: true - type: string - datePublished: - # @review - description: - The last time the page template changed. - format: date-time - type: string - externalReferenceCode: - # @review - description: - The page template's external reference code. - type: string - key: - # @review - description: - The page template's key. - type: string - keywords: - # @review - description: - A list of keywords describing the page template. - items: - type: string - type: array - name: - # @review - description: - The page template's name. - type: string - pageSpecifications: - # @review - description: - The page template's specifications. A page template may contain 0 or 1 page specifications in - draft status and 0 or 1 page specifications in published status. - items: - $ref: "#/components/schemas/PageSpecification" - type: array - pageTemplateCollection: - $ref: "#/components/schemas/PageTemplateCollection" - # @review - description: - The page template's collection. - taxonomyCategoryBriefs: - description: - The categories associated with this page template. - items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" - type: array - type: - enum: - - ContentPageTemplate - - WidgetPageTemplate - type: string - uuid: - description: - A valid external identifier to reference this page template. - readOnly: true - type: string + Represents a content page template. + type: object + PageTemplate: + oneOf: + - $ref: "#/components/schemas/ContentPageTemplate" + - $ref: "#/components/schemas/WidgetPageTemplate" type: object PageTemplateCollection: # @review @@ -3640,10 +3660,71 @@ components: The identifier of the layout template. type: string required: - - layoutTemplateId + - layoutPageTemplateId + # @review + description: + Represents the settings of a widget page. + type: object + WidgetPageTemplate: + allOf: + - $ref: "#/components/schemas/BasePageTemplate" + - properties: + active: + # @review + description: + A flag that indicates whether the widget page template is active. + type: boolean + description: + # @review + description: + The description of the widget page template. + type: string + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized descriptions of the widget page template. + type: object + name_i18n: + additionalProperties: + type: string + # @review + description: + The localized names of the widget page template. + # @review + description: + Represents a widget page template. + type: object + WidgetPageTemplateNavigationMenuSettings: + # @review + description: + Represents settings related with the site navigation menu of a widget page template. + properties: + target: + # @review + description: + The page's description to be used as summary for search engines. + type: string + targetType: + # @review + description: + The target's type (specific frame or new tab). + enum: [SpecificFrame, NewTab] + type: string + type: object + WidgetPageTemplateSettings: + allOf: + - $ref: "#/components/schemas/BasePageTemplateSettings" + - properties: + widgetPageTemplateNavigationMenuSettings: + $ref: "#/components/schemas/WidgetPageTemplateNavigationMenuSettings" + # @review + description: + The widget page template's site navigation menu settings. # @review description: - Represents the settings of a widget Page. + Represents the settings of a widget page template. type: object info: description: From bac81d36aa3a5bd07c76cf8fd456c3fb57d00b62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 10:33:38 +0200 Subject: [PATCH 149/260] LPD-x Extract common properties of ContentPageSettings and WidgetPageSettings to BasePageSettings --- .../rest-openapi.yaml | 67 ++++++++++--------- 1 file changed, 37 insertions(+), 30 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index e5d9bd63e88795..f1d41e724f8050 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -56,6 +56,39 @@ components: readOnly: true type: number type: object + BasePageSettings: + # @review + description: + Represents the base settings of a page, shared by both a content page and a widget page. + properties: + customMetaTags: + # @review + description: + A list of custom meta tags this page has. + items: + $ref: "#/components/schemas/CustomMetaTag" + type: array + hiddenFromNavigation: + # @review + description: + A flag that indicates whether the page is hidden from navigation. + type: boolean + openGraphSettings: + $ref: "#/components/schemas/OpenGraphSettings" + # @review + description: + The page's Open Graph settings. + seoSettings: + $ref: "#/components/schemas/SEOSettings" + # @review + description: + The page's SEO settings. + sitePageNavigationMenuSettings: + $ref: "#/components/schemas/SitePageNavigationMenuSettings" + # @review + description: + The page's site navigation menu settings. + type: object BasePageTemplate: # @review description: @@ -331,37 +364,11 @@ components: type: string type: object ContentPageSettings: + allOf: + - $ref: "#/components/schemas/BasePageSettings" # @review description: - Represents the settings of a content Page. - properties: - customMetaTags: - # @review - description: - A list of custom metatags this page has. - items: - $ref: "#/components/schemas/CustomMetaTag" - type: array - hiddenFromNavigation: - # @review - description: - A flag that indicates whether the page is hidden from navigation. - type: boolean - openGraphSettings: - $ref: "#/components/schemas/OpenGraphSettings" - # @review - description: - The page's Open Graph settings. - seoSettings: - $ref: "#/components/schemas/SEOSettings" - # @review - description: - The page's SEO settings. - sitePageNavigationMenuSettings: - $ref: "#/components/schemas/SitePageNavigationMenuSettings" - # @review - description: - The page's site navigation menu settings. + Represents the settings of a content page. type: object ContextReference: properties: @@ -3640,7 +3647,7 @@ components: type: object WidgetPageSettings: allOf: - - $ref: "#/components/schemas/ContentPageSettings" + - $ref: "#/components/schemas/BasePageSettings" - properties: customizable: # @review From 5cf94187efd79b2c255fcdb2403e4277f9a3c7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 13:57:39 +0200 Subject: [PATCH 150/260] LPD-x Simplify WidgetPageTemplateSettings --- .../rest-openapi.yaml | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index f1d41e724f8050..3461ea978e4f81 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3703,32 +3703,30 @@ components: description: Represents a widget page template. type: object - WidgetPageTemplateNavigationMenuSettings: - # @review - description: - Represents settings related with the site navigation menu of a widget page template. + WidgetPageTemplateSettings: properties: - target: + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + navigationMenuSettings: # @review description: - The page's description to be used as summary for search engines. - type: string - targetType: - # @review - description: - The target's type (specific frame or new tab). - enum: [SpecificFrame, NewTab] - type: string - type: object - WidgetPageTemplateSettings: - allOf: - - $ref: "#/components/schemas/BasePageTemplateSettings" - - properties: - widgetPageTemplateNavigationMenuSettings: - $ref: "#/components/schemas/WidgetPageTemplateNavigationMenuSettings" - # @review - description: - The widget page template's site navigation menu settings. + The widget page template's site navigation menu settings. + properties: + target: + # @review + description: + The page's description to be used as summary for search engines. + type: string + targetType: + # @review + description: + The target's type (specific frame or new tab). + enum: [SpecificFrame, NewTab] + type: string + type: object # @review description: Represents the settings of a widget page template. From c30f6cd4a0d5b505e3f4969dfd3e192101ee191d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 14:51:35 +0200 Subject: [PATCH 151/260] LPD-x Rename SitePageNavigationMenuSettings to NavigationMenuSettings --- .../headless-admin-site-impl/rest-openapi.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3461ea978e4f81..79c0a272d362e4 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -83,8 +83,8 @@ components: # @review description: The page's SEO settings. - sitePageNavigationMenuSettings: - $ref: "#/components/schemas/SitePageNavigationMenuSettings" + navigationMenuSettings: + $ref: "#/components/schemas/NavigationMenuSettings" # @review description: The page's site navigation menu settings. @@ -3179,7 +3179,7 @@ components: description: The localized submission of page type. type: object - SitePageNavigationMenuSettings: + NavigationMenuSettings: # @review description: Represents settings related with the site navigation menu of a page. From 92972ee54b827e701e738556dc1ddb1d1c79b85e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 14:54:15 +0200 Subject: [PATCH 152/260] LPD-x Add WidgetPageTemplate specific properties --- .../headless-admin-site-impl/rest-openapi.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 79c0a272d362e4..35d5a7d977a074 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3693,6 +3693,23 @@ components: description: The localized descriptions of the widget page template. type: object + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + hiddenFromNavigation: + # @review + description: + A flag that indicates whether the page created based on this page template is hidden from navigation. + type: boolean name_i18n: additionalProperties: type: string From e746c112c955af5cbd953f6ce9a94398a2a64080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 14:54:44 +0200 Subject: [PATCH 153/260] LPD-x Add discriminator and mapping for pageTemplateSettings --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 35d5a7d977a074..69bc6196114a39 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -161,6 +161,11 @@ components: oneOf: - $ref: "#/components/schemas/ContentPageTemplateSettings" - $ref: "#/components/schemas/WidgetPageTemplateSettings" + discriminator: + propertyName: type + mapping: + ContentPageTemplate: '#/components/schemas/ContentPageTemplateSettings' + WidgetPageTemplate: '#/components/schemas/WidgetPageTemplateSettings' taxonomyCategoryBriefs: description: The categories associated with this page template. From 6fc84983dfa5f3895febe521c8ab1645b7827f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 14:55:13 +0200 Subject: [PATCH 154/260] LPD-x Define ContentPageTemplateSettings, for now as an empty object --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 69bc6196114a39..8682eb9efba447 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -375,6 +375,11 @@ components: description: Represents the settings of a content page. type: object + ContentPageTemplateSettings: + # @review + description: + Represents the settings of a content page. + type: object ContextReference: properties: contextSource: From ccdbff031bae26326628a8bce2035da68c16a51a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 14:55:41 +0200 Subject: [PATCH 155/260] LPD-x Add discriminator and mapping for pageSettings --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 8682eb9efba447..b4d24e884bcdeb 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3087,6 +3087,11 @@ components: oneOf: - $ref: "#/components/schemas/ContentPageSettings" - $ref: "#/components/schemas/WidgetPageSettings" + discriminator: + propertyName: type + mapping: + ContentPage: '#/components/schemas/ContentPageSettings' + WidgetPage: '#/components/schemas/WidgetPageSettings' pageSpecifications: # @review description: From 987214ada0b099d1ce06c72a29ab7a3e07e8f756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:07:39 +0200 Subject: [PATCH 156/260] LPD-x Automatic SF --- .../rest-openapi.yaml | 111 +++++++++--------- 1 file changed, 56 insertions(+), 55 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b4d24e884bcdeb..5b4068934df86d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -73,6 +73,11 @@ components: description: A flag that indicates whether the page is hidden from navigation. type: boolean + navigationMenuSettings: + $ref: "#/components/schemas/NavigationMenuSettings" + # @review + description: + The page's site navigation menu settings. openGraphSettings: $ref: "#/components/schemas/OpenGraphSettings" # @review @@ -83,11 +88,6 @@ components: # @review description: The page's SEO settings. - navigationMenuSettings: - $ref: "#/components/schemas/NavigationMenuSettings" - # @review - description: - The page's site navigation menu settings. type: object BasePageTemplate: # @review @@ -158,14 +158,14 @@ components: # @review description: Settings of the page template. - oneOf: - - $ref: "#/components/schemas/ContentPageTemplateSettings" - - $ref: "#/components/schemas/WidgetPageTemplateSettings" discriminator: propertyName: type mapping: - ContentPageTemplate: '#/components/schemas/ContentPageTemplateSettings' - WidgetPageTemplate: '#/components/schemas/WidgetPageTemplateSettings' + ContentPageTemplate: "#/components/schemas/ContentPageTemplateSettings" + WidgetPageTemplate: "#/components/schemas/WidgetPageTemplateSettings" + oneOf: + - $ref: "#/components/schemas/ContentPageTemplateSettings" + - $ref: "#/components/schemas/WidgetPageTemplateSettings" taxonomyCategoryBriefs: description: The categories associated with this page template. @@ -375,6 +375,13 @@ components: description: Represents the settings of a content page. type: object + ContentPageTemplate: + allOf: + - $ref: "#/components/schemas/BasePageTemplate" + # @review + description: + Represents a content page template. + type: object ContentPageTemplateSettings: # @review description: @@ -1596,6 +1603,28 @@ components: showNotification: type: boolean type: object + NavigationMenuSettings: + # @review + description: + Represents settings related with the site navigation menu of a page. + properties: + queryString: + # @review + description: + The default parameter for a page. + type: string + target: + # @review + description: + The page's description to be used as summary for search engines. + type: string + targetType: + # @review + description: + The target's type (specific frame or new tab). + enum: [SpecificFrame, NewTab] + type: string + type: object NoneActionExecutionResult: # @review description: @@ -2588,13 +2617,6 @@ components: settings: $ref: "#/components/schemas/Settings" type: object - ContentPageTemplate: - allOf: - - $ref: "#/components/schemas/BasePageTemplate" - # @review - description: - Represents a content page template. - type: object PageTemplate: oneOf: - $ref: "#/components/schemas/ContentPageTemplate" @@ -3084,14 +3106,14 @@ components: # @review description: Settings of the page, such as SEO or OpenGraph. - oneOf: - - $ref: "#/components/schemas/ContentPageSettings" - - $ref: "#/components/schemas/WidgetPageSettings" discriminator: propertyName: type mapping: - ContentPage: '#/components/schemas/ContentPageSettings' - WidgetPage: '#/components/schemas/WidgetPageSettings' + ContentPage: "#/components/schemas/ContentPageSettings" + WidgetPage: "#/components/schemas/WidgetPageSettings" + oneOf: + - $ref: "#/components/schemas/ContentPageSettings" + - $ref: "#/components/schemas/WidgetPageSettings" pageSpecifications: # @review description: @@ -3194,28 +3216,6 @@ components: description: The localized submission of page type. type: object - NavigationMenuSettings: - # @review - description: - Represents settings related with the site navigation menu of a page. - properties: - queryString: - # @review - description: - The default parameter for a page. - type: string - target: - # @review - description: - The page's description to be used as summary for search engines. - type: string - targetType: - # @review - description: - The target's type (specific frame or new tab). - enum: [SpecificFrame, NewTab] - type: string - type: object Status: # @review description: @@ -3723,7 +3723,8 @@ components: hiddenFromNavigation: # @review description: - A flag that indicates whether the page created based on this page template is hidden from navigation. + A flag that indicates whether the page created based on this page template is hidden from + navigation. type: boolean name_i18n: additionalProperties: @@ -3736,16 +3737,19 @@ components: Represents a widget page template. type: object WidgetPageTemplateSettings: + # @review + description: + Represents the settings of a widget page template. properties: - layoutTemplateId: - # @review - description: - The identifier of the layout template. - type: string - navigationMenuSettings: + layoutTemplateId: # @review description: - The widget page template's site navigation menu settings. + The identifier of the layout template. + type: string + navigationMenuSettings: + # @review + description: + The widget page template's site navigation menu settings. properties: target: # @review @@ -3759,9 +3763,6 @@ components: enum: [SpecificFrame, NewTab] type: string type: object - # @review - description: - Represents the settings of a widget page template. type: object info: description: From d3dec585b75cec2ae2be4234a03f5cbd99b81f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:21:36 +0200 Subject: [PATCH 157/260] LPD-x Rename WidgetPage to WidgetSitePage and SitePage to ContentSitePage. Define SitePage and BaseSitePage --- .../rest-openapi.yaml | 678 +++++++++--------- 1 file changed, 346 insertions(+), 332 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5b4068934df86d..d68c2d1d86c971 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -183,6 +183,209 @@ components: readOnly: true type: string type: object + BaseSitePage: + # @review + description: + Represents a base page site page, containing the common properties of both a content page and a widget + page. + properties: + actions: + additionalProperties: + additionalProperties: + type: string + type: object + # @review + description: + Block of actions allowed by the user making the request. + readOnly: true + type: object + aggregateRating: + $ref: "#/components/schemas/AggregateRating" + # @review + description: + The page's average rating. + readOnly: true + availableLanguages: + # @review + description: + The list of languages the page has a translation for. + items: + type: string + readOnly: true + type: array + creator: + $ref: "#/components/schemas/Creator" + # @review + description: + The page's creator. + readOnly: true + customFields: + # @review + description: + Custom fields associated with the page. + items: + $ref: "#/components/schemas/CustomField" + type: array + dateCreated: + # @review + description: + The page's creation date. + format: date-time + readOnly: true + type: string + dateModified: + # @review + description: + The last time any field of the page was changed. + format: date-time + readOnly: true + type: string + datePublished: + # @review + description: + The page's most recent publication date. + format: date-time + type: string + externalReferenceCode: + description: + The page's external reference code. + type: string + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + id: + description: + The page ID. + format: int64 + readOnly: true + type: integer + keywordBriefs: + description: + The keywords associated with this master page. + items: + $ref: "#/components/schemas/KeywordBrief" + type: array + pagePermissions: + # @review + description: + The page's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + pageSettings: + # @review + description: + Settings of the page, such as SEO or OpenGraph. + discriminator: + propertyName: type + mapping: + ContentPage: "#/components/schemas/ContentPageSettings" + WidgetPage: "#/components/schemas/WidgetPageSettings" + oneOf: + - $ref: "#/components/schemas/ContentPageSettings" + - $ref: "#/components/schemas/WidgetPageSettings" + pageSpecifications: + # @review + description: + The page's specifications. A page may contain 0 or 1 page specifications in draft status and 0 + or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array + pageType: + # @review + description: + The type of the page. + type: string + parentSitePage: + # @review + description: + The parent page or null if it is a top level page. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the parent page. + type: string + friendlyUrlPath: + # @review + description: + The relative URL of the parent page. + type: string + type: object + site: + # @review + description: + The site to which this page is scoped. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the site. + type: string + type: object + taxonomyCategoryBriefs: + # @review + description: + The categories associated with this page. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + title: + # @review + description: + The page's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized page's titles. + type: object + type: + enum: + - ContentPage + - WidgetPage + type: string + uuid: + # @review + description: + A valid external identifier to reference this page. + readOnly: true + type: string + viewableBy: + enum: + - Anyone + - Members + - Owner + type: string + writeOnly: true + required: + - title + type: object ClassFieldReference: properties: className: @@ -387,6 +590,14 @@ components: description: Represents the settings of a content page. type: object + ContentSitePage: + allOf: + - $ref: "#/components/schemas/BaseSitePage" + - properties: + # @review + description: + Represents a widget page template. + type: object ContextReference: properties: contextSource: @@ -2993,245 +3204,48 @@ components: - name type: object SitePage: + oneOf: + - $ref: "#/components/schemas/ContentSitePage" + - $ref: "#/components/schemas/WidgetSitePage" + type: object + SitePageActionExecutionResult: # @review description: - Represents a site page. This is modeled internally as a `Layout`. + Represents a definition of an action execution of type page. properties: - actions: - additionalProperties: - additionalProperties: - type: string - type: object + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" # @review description: - Block of actions allowed by the user making the request. - readOnly: true - type: object - aggregateRating: - $ref: "#/components/schemas/AggregateRating" + The reference to a page. + type: object + SitePageFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type page. + properties: + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" # @review description: - The page's average rating. - readOnly: true - availableLanguages: + The localized submission of page type. + type: object + Status: + # @review + description: + Represents the status of a resource + properties: + code: # @review description: - The list of languages the page has a translation for. - items: - type: string + A number which identifies a specific status + format: int32 readOnly: true - type: array - creator: - $ref: "#/components/schemas/Creator" + type: integer + label: # @review description: - The page's creator. - readOnly: true - customFields: - # @review - description: - Custom fields associated with the page. - items: - $ref: "#/components/schemas/CustomField" - type: array - dateCreated: - # @review - description: - The page's creation date. - format: date-time - readOnly: true - type: string - dateModified: - # @review - description: - The last time any field of the page was changed. - format: date-time - readOnly: true - type: string - datePublished: - # @review - description: - The page's most recent publication date. - format: date-time - type: string - externalReferenceCode: - description: - The page's external reference code. - type: string - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string - friendlyUrlPath_i18n: - additionalProperties: - type: string - # @review - description: - The localized relative URLs to the page's rendered content. - type: object - id: - description: - The page ID. - format: int64 - readOnly: true - type: integer - keywordBriefs: - description: - The keywords associated with this master page. - items: - $ref: "#/components/schemas/KeywordBrief" - type: array - pagePermissions: - # @review - description: - The page's permissions. - items: - properties: - actionKeys: - # @review - description: - The keys of the actions the role has permission for. - items: - type: string - type: array - roleKey: - # @review - description: - The role's key. - type: string - type: object - type: array - pageSettings: - # @review - description: - Settings of the page, such as SEO or OpenGraph. - discriminator: - propertyName: type - mapping: - ContentPage: "#/components/schemas/ContentPageSettings" - WidgetPage: "#/components/schemas/WidgetPageSettings" - oneOf: - - $ref: "#/components/schemas/ContentPageSettings" - - $ref: "#/components/schemas/WidgetPageSettings" - pageSpecifications: - # @review - description: - The page's specifications. A page may contain 0 or 1 page specifications in draft status and 0 - or 1 page specifications in published status. - items: - $ref: "#/components/schemas/PageSpecification" - type: array - pageType: - # @review - description: - The type of the page. - type: string - parentSitePage: - # @review - description: - The parent page or null if it is a top level page. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the parent page. - type: string - friendlyUrlPath: - # @review - description: - The relative URL of the parent page. - type: string - type: object - site: - # @review - description: - The site to which this page is scoped. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the site. - type: string - type: object - taxonomyCategoryBriefs: - # @review - description: - The categories associated with this page. - items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" - type: array - title: - # @review - description: - The page's title. - type: string - title_i18n: - additionalProperties: - type: string - # @review - description: - The localized page's titles. - type: object - type: - enum: - - ContentPage - - WidgetPage - type: string - uuid: - # @review - description: - A valid external identifier to reference this page. - readOnly: true - type: string - viewableBy: - enum: - - Anyone - - Members - - Owner - type: string - writeOnly: true - required: - - title - type: object - SitePageActionExecutionResult: - # @review - description: - Represents a definition of an action execution of type page. - properties: - itemReference: - $ref: "#/components/schemas/ClassFieldsReference" - # @review - description: - The reference to a page. - type: object - SitePageFormSubmissionResult: - # @review - description: - Represents a definition of a submission result of type page. - properties: - itemReference: - $ref: "#/components/schemas/ClassFieldsReference" - # @review - description: - The localized submission of page type. - type: object - Status: - # @review - description: - Represents the status of a resource - properties: - code: - # @review - description: - A number which identifies a specific status - format: int32 - readOnly: true - type: integer - label: - # @review - description: - Label associated to the status + Label associated to the status readOnly: true type: string label_i18n: @@ -3476,7 +3490,111 @@ components: type: object type: array type: object - WidgetPage: + WidgetPageSettings: + allOf: + - $ref: "#/components/schemas/BasePageSettings" + - properties: + customizable: + # @review + description: + A flag that indicates whether the page is customizable. + type: boolean + customizableSectionIds: + # @review + description: + The ids of the customizable sections. + items: + type: string + type: array + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + required: + - layoutPageTemplateId + # @review + description: + Represents the settings of a widget page. + type: object + WidgetPageTemplate: + allOf: + - $ref: "#/components/schemas/BasePageTemplate" + - properties: + active: + # @review + description: + A flag that indicates whether the widget page template is active. + type: boolean + description: + # @review + description: + The description of the widget page template. + type: string + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized descriptions of the widget page template. + type: object + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + hiddenFromNavigation: + # @review + description: + A flag that indicates whether the page created based on this page template is hidden from + navigation. + type: boolean + name_i18n: + additionalProperties: + type: string + # @review + description: + The localized names of the widget page template. + # @review + description: + Represents a widget page template. + type: object + WidgetPageTemplateSettings: + # @review + description: + Represents the settings of a widget page template. + properties: + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + navigationMenuSettings: + # @review + description: + The widget page template's site navigation menu settings. + properties: + target: + # @review + description: + The page's description to be used as summary for search engines. + type: string + targetType: + # @review + description: + The target's type (specific frame or new tab). + enum: [SpecificFrame, NewTab] + type: string + type: object + type: object + WidgetSitePage: # @review description: Represents a widget page. This is modeled internally as a `Layout`. @@ -3660,110 +3778,6 @@ components: required: - title type: object - WidgetPageSettings: - allOf: - - $ref: "#/components/schemas/BasePageSettings" - - properties: - customizable: - # @review - description: - A flag that indicates whether the page is customizable. - type: boolean - customizableSectionIds: - # @review - description: - The ids of the customizable sections. - items: - type: string - type: array - layoutTemplateId: - # @review - description: - The identifier of the layout template. - type: string - required: - - layoutPageTemplateId - # @review - description: - Represents the settings of a widget page. - type: object - WidgetPageTemplate: - allOf: - - $ref: "#/components/schemas/BasePageTemplate" - - properties: - active: - # @review - description: - A flag that indicates whether the widget page template is active. - type: boolean - description: - # @review - description: - The description of the widget page template. - type: string - description_i18n: - additionalProperties: - type: string - # @review - description: - The localized descriptions of the widget page template. - type: object - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string - friendlyUrlPath_i18n: - additionalProperties: - type: string - # @review - description: - The localized relative URLs to the page's rendered content. - type: object - hiddenFromNavigation: - # @review - description: - A flag that indicates whether the page created based on this page template is hidden from - navigation. - type: boolean - name_i18n: - additionalProperties: - type: string - # @review - description: - The localized names of the widget page template. - # @review - description: - Represents a widget page template. - type: object - WidgetPageTemplateSettings: - # @review - description: - Represents the settings of a widget page template. - properties: - layoutTemplateId: - # @review - description: - The identifier of the layout template. - type: string - navigationMenuSettings: - # @review - description: - The widget page template's site navigation menu settings. - properties: - target: - # @review - description: - The page's description to be used as summary for search engines. - type: string - targetType: - # @review - description: - The target's type (specific frame or new tab). - enum: [SpecificFrame, NewTab] - type: string - type: object - type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID From 8943bb38c1c5b8a54ea69833d8f662bd7c8a8a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:23:34 +0200 Subject: [PATCH 158/260] LPD-x Remove actions from BaseSitePage --- .../headless-admin-site-impl/rest-openapi.yaml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d68c2d1d86c971..866b98a60d7e7a 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -189,16 +189,6 @@ components: Represents a base page site page, containing the common properties of both a content page and a widget page. properties: - actions: - additionalProperties: - additionalProperties: - type: string - type: object - # @review - description: - Block of actions allowed by the user making the request. - readOnly: true - type: object aggregateRating: $ref: "#/components/schemas/AggregateRating" # @review From 45ff22f871e5a9d51ea68afe3ede1763717d6e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:25:01 +0200 Subject: [PATCH 159/260] LPD-x Remove aggregateRating from BaseSitePage --- .../headless-admin-site-impl/rest-openapi.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 866b98a60d7e7a..87c131c0addafa 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -189,12 +189,6 @@ components: Represents a base page site page, containing the common properties of both a content page and a widget page. properties: - aggregateRating: - $ref: "#/components/schemas/AggregateRating" - # @review - description: - The page's average rating. - readOnly: true availableLanguages: # @review description: From 37a37723389909b7fd9af82a7afddd267dc23ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:32:50 +0200 Subject: [PATCH 160/260] LPD-x Remove parentSitePage friendlyUrlPath from BaseSitePage --- .../headless-admin-site-impl/rest-openapi.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 87c131c0addafa..7cbf547392759f 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -313,11 +313,6 @@ components: description: The external reference code of the parent page. type: string - friendlyUrlPath: - # @review - description: - The relative URL of the parent page. - type: string type: object site: # @review From bb03c1c63bcba17999d81f5e199450d2fc654223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:39:15 +0200 Subject: [PATCH 161/260] LPD-x Remove taxonomyCategoryName and taxonomyCategoryName_i18n from TaxonomyCategoryBrief. If they are needed they can be retrieved via optinal field embeddedTaxonomyCategory. We should only include per default the fields that are necessary for promoting content from one environment to another. --- .../headless-admin-site-impl/rest-openapi.yaml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 7cbf547392759f..4bfc6582625765 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3240,19 +3240,6 @@ components: Optional field with the embedded taxonomy category, can be embedded with nestedFields readOnly: true type: object - taxonomyCategoryName: - description: - The category's name. - readOnly: true - type: string - taxonomyCategoryName_i18n: - additionalProperties: - type: string - # @review - description: - The localized category's names. - readOnly: true - type: object taxonomyCategoryReference: # @review description: From bfcfd5a65a2a47b4e618881925e32fd2de35ef8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:48:00 +0200 Subject: [PATCH 162/260] LPD-x Remove not necessary fields from Creator to recreate the Layout entity in the database. Only a reference to the author is needed. We should only include per default the fields that are necessary for promoting content from one environment to another. --- .../rest-openapi.yaml | 47 +------------------ 1 file changed, 1 insertion(+), 46 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 4bfc6582625765..2e74cd0f93d822 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -587,57 +587,12 @@ components: type: object Creator: description: - Represents the user who created the content. Properties follow the [creator](https://schema.org/creator) - specification. + Represents the user who created the content. properties: - additionalName: - description: - An additional name for the user. This can be used for a middle name. - readOnly: true - type: string - contentType: - # @review - description: - The type of the content. - readOnly: true - type: string externalReferenceCode: description: The user's external reference code, unique per instance. type: string - familyName: - description: - The user's surname (last name). - readOnly: true - type: string - givenName: - description: - The user's first name. - readOnly: true - type: string - id: - description: - The user's ID. - format: int64 - readOnly: true - type: integer - image: - description: - A relative URL to the user's profile image. - format: uri - readOnly: true - type: string - name: - description: - The user's full name. - readOnly: true - type: string - profileURL: - description: - A relative URL to the user's profile. - format: uri - readOnly: true - type: string type: object CustomCSSViewport: # @review From 02037ec9c425ef4ae0596d160da1e7b391dadffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 15:51:33 +0200 Subject: [PATCH 163/260] LPD-x Remove id from BaseSitePage --- .../headless-admin-site-impl/rest-openapi.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 2e74cd0f93d822..7552687515f54a 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -246,12 +246,6 @@ components: description: The localized relative URLs to the page's rendered content. type: object - id: - description: - The page ID. - format: int64 - readOnly: true - type: integer keywordBriefs: description: The keywords associated with this master page. From f10d0a659676f1870e34d341d4605b5625cd3bd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 17:56:52 +0200 Subject: [PATCH 164/260] LPD-x Add description to external reference --- .../headless-admin-site-impl/rest-openapi.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 7552687515f54a..46b717955fadd9 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -866,6 +866,9 @@ components: The page's SEO settings. type: object ExternalReference: + # @review + description: + A unique reference to an entity which remains constant across environments. properties: externalReferenceCode: type: string From 4d9fad1eb115ffda9bbbb2a1089d0989d231c64f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 17:58:00 +0200 Subject: [PATCH 165/260] LPD-x Define KeywordBrief as embeddedKeyword and externalReference --- .../rest-openapi.yaml | 32 ++----------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 46b717955fadd9..d2b8474a0cb0ed 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1616,40 +1616,14 @@ components: KeywordBrief: properties: embeddedKeyword: + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" # @review description: Optional field with the embedded keyword, can be embedded with nestedFields readOnly: true type: object - keywordName: - description: - The keyword's name. - readOnly: true - type: string - keywordReference: - # @review - description: - A unique reference to a keyword. - properties: - externalReferenceCode: - # @review - description: - The keyword's external reference code. - type: string - scope: - properties: - externalReferenceCode: - type: string - type: - enum: [AssetLibrary, Site] - type: string - required: - - externalReferenceCode - - type - type: object - required: - - externalReferenceCode - type: object + externalReference: + $ref: "#/components/schemas/ExternalReference" type: object MasterPage: # @review From c9feac1afbc89d646b3443def007f9fcd33a40e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 18:08:56 +0200 Subject: [PATCH 166/260] LPD-x Define TaxonomyCategoryBrief as embeddedTaxonomyCategory and externalReference --- .../rest-openapi.yaml | 28 ++----------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d2b8474a0cb0ed..82ba5994d57af9 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3161,36 +3161,14 @@ components: TaxonomyCategoryBrief: properties: embeddedTaxonomyCategory: + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" # @review description: Optional field with the embedded taxonomy category, can be embedded with nestedFields readOnly: true type: object - taxonomyCategoryReference: - # @review - description: - A unique reference to a taxonomy category. - properties: - externalReferenceCode: - # @review - description: - The taxonomy category's external reference code. - type: string - scope: - properties: - externalReferenceCode: - type: string - type: - enum: [AssetLibrary, Site] - type: string - required: - - externalReferenceCode - - type - type: object - required: - - externalReferenceCode - type: object - type: object + externalReference: + $ref: "#/components/schemas/ExternalReference" URLActionExecutionResult: # @review description: From 47e1cbea62715d98a429370bbfe9d4e39f82a46a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 18:10:19 +0200 Subject: [PATCH 167/260] LPD-x Remove UserGroupBrief --- .../headless-admin-site-impl/rest-openapi.yaml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 82ba5994d57af9..217b11e6e4e3ad 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3191,22 +3191,6 @@ components: description: The localized submission of URL type. type: object - UserGroupBrief: - description: - The author's user groups information. - properties: - id: - description: - The ID of the user group. - format: int64 - readOnly: true - type: integer - name: - description: - The name of the user group. - readOnly: true - type: string - type: object UtilityPage: description: Represents a Utility Page. From aff8a7a036aac307b1641379d153c278eacac7b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 5 Jun 2024 18:24:42 +0200 Subject: [PATCH 168/260] LPD-x Consolidate within SitePage --- .../rest-openapi.yaml | 648 ++++++------------ 1 file changed, 225 insertions(+), 423 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 217b11e6e4e3ad..f1b64c581e20d8 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -183,182 +183,6 @@ components: readOnly: true type: string type: object - BaseSitePage: - # @review - description: - Represents a base page site page, containing the common properties of both a content page and a widget - page. - properties: - availableLanguages: - # @review - description: - The list of languages the page has a translation for. - items: - type: string - readOnly: true - type: array - creator: - $ref: "#/components/schemas/Creator" - # @review - description: - The page's creator. - readOnly: true - customFields: - # @review - description: - Custom fields associated with the page. - items: - $ref: "#/components/schemas/CustomField" - type: array - dateCreated: - # @review - description: - The page's creation date. - format: date-time - readOnly: true - type: string - dateModified: - # @review - description: - The last time any field of the page was changed. - format: date-time - readOnly: true - type: string - datePublished: - # @review - description: - The page's most recent publication date. - format: date-time - type: string - externalReferenceCode: - description: - The page's external reference code. - type: string - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string - friendlyUrlPath_i18n: - additionalProperties: - type: string - # @review - description: - The localized relative URLs to the page's rendered content. - type: object - keywordBriefs: - description: - The keywords associated with this master page. - items: - $ref: "#/components/schemas/KeywordBrief" - type: array - pagePermissions: - # @review - description: - The page's permissions. - items: - properties: - actionKeys: - # @review - description: - The keys of the actions the role has permission for. - items: - type: string - type: array - roleKey: - # @review - description: - The role's key. - type: string - type: object - type: array - pageSettings: - # @review - description: - Settings of the page, such as SEO or OpenGraph. - discriminator: - propertyName: type - mapping: - ContentPage: "#/components/schemas/ContentPageSettings" - WidgetPage: "#/components/schemas/WidgetPageSettings" - oneOf: - - $ref: "#/components/schemas/ContentPageSettings" - - $ref: "#/components/schemas/WidgetPageSettings" - pageSpecifications: - # @review - description: - The page's specifications. A page may contain 0 or 1 page specifications in draft status and 0 - or 1 page specifications in published status. - items: - $ref: "#/components/schemas/PageSpecification" - type: array - pageType: - # @review - description: - The type of the page. - type: string - parentSitePage: - # @review - description: - The parent page or null if it is a top level page. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the parent page. - type: string - type: object - site: - # @review - description: - The site to which this page is scoped. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the site. - type: string - type: object - taxonomyCategoryBriefs: - # @review - description: - The categories associated with this page. - items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" - type: array - title: - # @review - description: - The page's title. - type: string - title_i18n: - additionalProperties: - type: string - # @review - description: - The localized page's titles. - type: object - type: - enum: - - ContentPage - - WidgetPage - type: string - uuid: - # @review - description: - A valid external identifier to reference this page. - readOnly: true - type: string - viewableBy: - enum: - - Anyone - - Members - - Owner - type: string - writeOnly: true - required: - - title - type: object ClassFieldReference: properties: className: @@ -563,14 +387,6 @@ components: description: Represents the settings of a content page. type: object - ContentSitePage: - allOf: - - $ref: "#/components/schemas/BaseSitePage" - - properties: - # @review - description: - Represents a widget page template. - type: object ContextReference: properties: contextSource: @@ -3109,79 +2925,249 @@ components: - name type: object SitePage: - oneOf: - - $ref: "#/components/schemas/ContentSitePage" - - $ref: "#/components/schemas/WidgetSitePage" - type: object - SitePageActionExecutionResult: # @review description: - Represents a definition of an action execution of type page. + Represents a site page, which can be of type content or widget. properties: - itemReference: - $ref: "#/components/schemas/ClassFieldsReference" + availableLanguages: # @review description: - The reference to a page. - type: object - SitePageFormSubmissionResult: - # @review - description: - Represents a definition of a submission result of type page. - properties: - itemReference: - $ref: "#/components/schemas/ClassFieldsReference" + The list of languages the page has a translation for. + items: + type: string + readOnly: true + type: array + creator: + $ref: "#/components/schemas/Creator" # @review description: - The localized submission of page type. - type: object - Status: - # @review - description: - Represents the status of a resource - properties: - code: + The page's creator. + readOnly: true + customFields: # @review description: - A number which identifies a specific status - format: int32 - readOnly: true - type: integer - label: + Custom fields associated with the page. + items: + $ref: "#/components/schemas/CustomField" + type: array + dateCreated: # @review description: - Label associated to the status + The page's creation date. + format: date-time readOnly: true type: string - label_i18n: - additionalProperties: - type: string - readOnly: true - type: object - TaxonomyCategoryBrief: - properties: - embeddedTaxonomyCategory: - $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" + dateModified: # @review description: - Optional field with the embedded taxonomy category, can be embedded with nestedFields + The last time any field of the page was changed. + format: date-time readOnly: true - type: object - externalReference: - $ref: "#/components/schemas/ExternalReference" - URLActionExecutionResult: - # @review - description: - Represents a definition of an action execution result of type URL. - properties: - url: - $ref: "#/components/schemas/FragmentInlineValue" + type: string + datePublished: # @review description: - The localized action execution result of type URL. - type: object - URLFormSubmissionResult: - # @review + The page's most recent publication date. + format: date-time + type: string + externalReferenceCode: + description: + The page's external reference code. + type: string + friendlyUrlPath: + # @review + description: + A relative URL to the page's rendered content. + type: string + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + keywordBriefs: + description: + The keywords associated with this master page. + items: + $ref: "#/components/schemas/KeywordBrief" + type: array + pagePermissions: + # @review + description: + The page's permissions. + items: + properties: + actionKeys: + # @review + description: + The keys of the actions the role has permission for. + items: + type: string + type: array + roleKey: + # @review + description: + The role's key. + type: string + type: object + type: array + pageSettings: + # @review + description: + Settings of the page, such as SEO or OpenGraph. + discriminator: + propertyName: type + mapping: + ContentPage: "#/components/schemas/ContentPageSettings" + WidgetPage: "#/components/schemas/WidgetPageSettings" + oneOf: + - $ref: "#/components/schemas/ContentPageSettings" + - $ref: "#/components/schemas/WidgetPageSettings" + pageSpecifications: + # @review + description: + The page's specifications. A page may contain 0 or 1 page specifications in draft status and 0 + or 1 page specifications in published status. + items: + $ref: "#/components/schemas/PageSpecification" + type: array + pageType: + # @review + description: + The type of the page. + type: string + parentSitePage: + # @review + description: + The parent page or null if it is a top level page. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the parent page. + type: string + type: object + site: + # @review + description: + The site to which this page is scoped. + properties: + externalReferenceCode: + # @review + description: + The external reference code of the site. + type: string + type: object + taxonomyCategoryBriefs: + # @review + description: + The categories associated with this page. + items: + $ref: "#/components/schemas/TaxonomyCategoryBrief" + type: array + title: + # @review + description: + The page's title. + type: string + title_i18n: + additionalProperties: + type: string + # @review + description: + The localized page's titles. + type: object + type: + enum: + - ContentPage + - WidgetPage + type: string + uuid: + # @review + description: + A valid external identifier to reference this page. + readOnly: true + type: string + viewableBy: + enum: + - Anyone + - Members + - Owner + type: string + writeOnly: true + required: + - title + type: object + SitePageActionExecutionResult: + # @review + description: + Represents a definition of an action execution of type page. + properties: + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" + # @review + description: + The reference to a page. + type: object + SitePageFormSubmissionResult: + # @review + description: + Represents a definition of a submission result of type page. + properties: + itemReference: + $ref: "#/components/schemas/ClassFieldsReference" + # @review + description: + The localized submission of page type. + type: object + Status: + # @review + description: + Represents the status of a resource + properties: + code: + # @review + description: + A number which identifies a specific status + format: int32 + readOnly: true + type: integer + label: + # @review + description: + Label associated to the status + readOnly: true + type: string + label_i18n: + additionalProperties: + type: string + readOnly: true + type: object + TaxonomyCategoryBrief: + properties: + embeddedTaxonomyCategory: + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" + # @review + description: + Optional field with the embedded taxonomy category, can be embedded with nestedFields + readOnly: true + type: object + externalReference: + $ref: "#/components/schemas/ExternalReference" + URLActionExecutionResult: + # @review + description: + Represents a definition of an action execution result of type URL. + properties: + url: + $ref: "#/components/schemas/FragmentInlineValue" + # @review + description: + The localized action execution result of type URL. + type: object + URLFormSubmissionResult: + # @review description: Represents a definition of a submission result of type URL. properties: @@ -3448,190 +3434,6 @@ components: type: string type: object type: object - WidgetSitePage: - # @review - description: - Represents a widget page. This is modeled internally as a `Layout`. - properties: - actions: - additionalProperties: - additionalProperties: - type: string - type: object - # @review - description: - Block of actions allowed by the user making the request. - readOnly: true - type: object - aggregateRating: - $ref: "#/components/schemas/AggregateRating" - # @review - description: - The page's average rating. - readOnly: true - availableLanguages: - # @review - description: - The list of languages the page has a translation for. - items: - type: string - readOnly: true - type: array - creator: - $ref: "#/components/schemas/Creator" - # @review - description: - The page's creator. - readOnly: true - customFields: - # @review - description: - Custom fields associated with the page. - items: - $ref: "#/components/schemas/CustomField" - type: array - dateCreated: - # @review - description: - The page's creation date. - format: date-time - readOnly: true - type: string - dateModified: - # @review - description: - The last time any field of the page was changed. - format: date-time - readOnly: true - type: string - datePublished: - # @review - description: - The page's most recent publication date. - format: date-time - type: string - externalReferenceCode: - description: - The page's external reference code. - type: string - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string - friendlyUrlPath_i18n: - additionalProperties: - type: string - # @review - description: - The localized relative URLs to the page's rendered content. - type: object - id: - description: - The page ID. - format: int64 - readOnly: true - type: integer - keywordBriefs: - description: - The keywords associated with this master page. - items: - $ref: "#/components/schemas/KeywordBrief" - type: array - pagePermissions: - # @review - description: - The page's permissions. - items: - properties: - actionKeys: - # @review - description: - The keys of the actions the role has permission for. - items: - type: string - type: array - roleKey: - # @review - description: - The role's key. - type: string - type: object - type: array - pageType: - # @review - description: - The type of the page. - type: string - parentSitePage: - # @review - description: - The parent page or null if it is a top level page. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the parent page. - type: string - friendlyUrlPath: - # @review - description: - The relative URL of the parent page. - type: string - type: object - site: - # @review - description: - The site to which this page is scoped. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the site. - type: string - type: object - taxonomyCategoryBriefs: - # @review - description: - The categories associated with this page. - items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" - type: array - title: - # @review - description: - The page's title. - type: string - title_i18n: - additionalProperties: - type: string - # @review - description: - The localized page's titles. - type: object - uuid: - # @review - description: - A valid external identifier to reference this page. - readOnly: true - type: string - viewableBy: - enum: - - Anyone - - Members - - Owner - type: string - writeOnly: true - widgetPageSettings: - $ref: "#/components/schemas/WidgetPageSettings" - # @review - description: - Settings of the page, such as SEO or OpenGraph. - widgetPageSpecification: - $ref: "#/components/schemas/PageSpecification" - required: - - title - type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID From d1a9e8b4133c25d8552663c187bfdfeb7d5a4162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 01:27:23 +0200 Subject: [PATCH 169/260] LPD-x Define CreatorBrief and use it --- .../rest-openapi.yaml | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index f1b64c581e20d8..59e13a9ce98656 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -95,8 +95,8 @@ components: Represents a base page template, containing the common properties of both a content page template and a widget page template. properties: - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" # @review description: The page template's creator. @@ -395,14 +395,19 @@ components: required: - contextSource type: object - Creator: - description: - Represents the user who created the content. + CreatorBrief: properties: - externalReferenceCode: + embeddedCreator: + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review description: - The user's external reference code, unique per instance. - type: string + Optional field with the embedded creator, can be embedded with nestedFields + readOnly: true + type: object + externalReference: + $ref: "#/components/schemas/ExternalReference" + description: + External reference containing the user's external reference code, unique per instance. type: object CustomCSSViewport: # @review @@ -531,8 +536,8 @@ components: The content type's class name external reference code. type: string type: object - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" # @review description: The display page template's creator. @@ -621,8 +626,8 @@ components: description: Represents a Display Page template folder. properties: - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" # @review description: The display page template folder's creator. @@ -739,8 +744,8 @@ components: description: The external reference code of the collection this fragment composition belongs to. type: string - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" description: The structured content's creator. readOnly: true @@ -1446,8 +1451,8 @@ components: description: Represents a page with common elements (header, footer, ...) used for all or several pages of a site. properties: - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" # @review description: The master page's creator. @@ -2559,8 +2564,8 @@ components: description: Represents a Page template collection. properties: - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" # @review description: The page template collection's creator. @@ -2937,12 +2942,11 @@ components: type: string readOnly: true type: array - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" # @review description: The page's creator. - readOnly: true customFields: # @review description: @@ -3181,8 +3185,8 @@ components: description: Represents a Utility Page. properties: - creator: - $ref: "#/components/schemas/Creator" + creatorBrief: + $ref: "#/components/schemas/CreatorBrief" # @review description: The utility page's creator. From f30fa9a033eb1cfeb97dd1f63a30c4ce2ee29240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 01:31:43 +0200 Subject: [PATCH 170/260] LPD-x Remove pageType since we already have type --- .../headless-admin-site-impl/rest-openapi.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 59e13a9ce98656..6f57d9fbe60b41 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3036,11 +3036,6 @@ components: items: $ref: "#/components/schemas/PageSpecification" type: array - pageType: - # @review - description: - The type of the page. - type: string parentSitePage: # @review description: From c737e1f087b56f308e13c0542c77d3bf31da6fb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 01:41:07 +0200 Subject: [PATCH 171/260] LPD-x Remove redundant type: object --- .../headless-admin-site-impl/rest-openapi.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6f57d9fbe60b41..14deaebbe4bc59 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -403,7 +403,6 @@ components: description: Optional field with the embedded creator, can be embedded with nestedFields readOnly: true - type: object externalReference: $ref: "#/components/schemas/ExternalReference" description: @@ -1442,7 +1441,6 @@ components: description: Optional field with the embedded keyword, can be embedded with nestedFields readOnly: true - type: object externalReference: $ref: "#/components/schemas/ExternalReference" type: object @@ -3151,7 +3149,6 @@ components: description: Optional field with the embedded taxonomy category, can be embedded with nestedFields readOnly: true - type: object externalReference: $ref: "#/components/schemas/ExternalReference" URLActionExecutionResult: From 451b10ab191d7d35f1b62563bf177353fbada49f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 01:41:55 +0200 Subject: [PATCH 172/260] LPD-x Define SiteBrief and SitePageBrief and use them --- .../rest-openapi.yaml | 79 +++++-------------- 1 file changed, 21 insertions(+), 58 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 14deaebbe4bc59..fafb2e54a6ffe7 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2882,51 +2882,16 @@ components: description: The Client Extension for the theme spritemap of a page specification. type: object - Site: - # @review - description: - Represents the site being created. + SiteBrief: properties: - externalReferenceCode: + embeddedSite: + $ref: "../../headless-site/headless-site-impl/rest-openapi.yaml#Site" + # @review description: - The site's external reference code. - type: string - friendlyUrlPath: - readOnly: true - type: string - id: - format: int64 - readOnly: true - type: integer - key: + Optional field with the embedded site, can be embedded with nestedFields readOnly: true - type: string - membershipType: - description: - The default value is open. - enum: - - open - - private - - restricted - type: string - writeOnly: true - name: - type: string - parentSiteKey: - type: string - writeOnly: true - templateKey: - type: string - writeOnly: true - templateType: - enum: - - site-initializer - - site-template - type: string - writeOnly: true - required: - - name - type: object + externalReference: + $ref: "#/components/schemas/ExternalReference" SitePage: # @review description: @@ -3034,28 +2999,16 @@ components: items: $ref: "#/components/schemas/PageSpecification" type: array - parentSitePage: + parentSitePageBrief: + $ref: "#/components/schemas/SitePageBrief" # @review description: The parent page or null if it is a top level page. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the parent page. - type: string - type: object - site: + siteBrief: + $ref: "#/components/schemas/SiteBrief" # @review description: The site to which this page is scoped. - properties: - externalReferenceCode: - # @review - description: - The external reference code of the site. - type: string - type: object taxonomyCategoryBriefs: # @review description: @@ -3107,6 +3060,16 @@ components: description: The reference to a page. type: object + SitePageBrief: + properties: + embeddedSitePage: + $ref: "#/components/schemas/SitePage" + # @review + description: + Optional field with the embedded site page, can be embedded with nestedFields + readOnly: true + externalReference: + $ref: "#/components/schemas/ExternalReference" SitePageFormSubmissionResult: # @review description: From b3450abd429f1f00c4a7615287d0433e2b6c20d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 01:45:02 +0200 Subject: [PATCH 173/260] LPD-x Add description to viewableBy in SitePage --- .../headless-admin-site-impl/rest-openapi.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index fafb2e54a6ffe7..a816d4ae155f55 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3040,6 +3040,8 @@ components: readOnly: true type: string viewableBy: + description: + A write-only property that specifies the default permissions. enum: - Anyone - Members From 42a74c695c551f41b66a20269cd2251b04c54659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 02:04:54 +0200 Subject: [PATCH 174/260] LPD-x Replace SitePage pagePermissions field with page-permissions endpoints --- .../rest-openapi.yaml | 120 +++++++++++++++--- 1 file changed, 100 insertions(+), 20 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index a816d4ae155f55..22d20b494cd431 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2959,26 +2959,6 @@ components: items: $ref: "#/components/schemas/KeywordBrief" type: array - pagePermissions: - # @review - description: - The page's permissions. - items: - properties: - actionKeys: - # @review - description: - The keys of the actions the role has permission for. - items: - type: string - type: array - roleKey: - # @review - description: - The role's key. - type: string - type: object - type: array pageSettings: # @review description: @@ -6892,6 +6872,51 @@ paths: default response # @review tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/permissions": + get: + operationId: getSiteSitePagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["SitePage"] + put: + operationId: putSiteSitePagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}": delete: description: @@ -7135,4 +7160,59 @@ paths: description: default response # @review + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/permissions": + get: + operationId: getSitePagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["SitePage"] + put: + operationId: putSitePagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} tags: ["SitePage"] \ No newline at end of file From 8c46ee6cdef3204fb2158f6d578587638e24a335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 02:12:49 +0200 Subject: [PATCH 175/260] LPD-x Add permissions endpoints for DisplayPageTemplateFolders --- .../rest-openapi.yaml | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 22d20b494cd431..232c7efa1caf65 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3480,6 +3480,51 @@ paths: default response # @review tags: ["DisplayPageTemplateFolder"] + "/sites/{siteExternalReferenceCode}/display-page-template-folders/permissions": + get: + operationId: getSiteDisplayPageTemplateFolderPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplateFolder"] + put: + operationId: putSiteDisplayPageTemplateFolderPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplateFolder"] "/sites/{siteExternalReferenceCode}/display-page-template-folders/{displayPageTemplateFolderExternalReferenceCode}": delete: description: @@ -3731,6 +3776,61 @@ paths: default response # @review tags: ["DisplayPageTemplateFolder"] + "/sites/{siteExternalReferenceCode}/display-page-template-folders/{displayPageTemplateFolderExternalReferenceCode}/permissions": + get: + operationId: getDisplayPageTemplateFolderPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplateFolder"] + put: + operationId: putDisplayPageTemplateFolderPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateFolderExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplateFolder"] "/sites/{siteExternalReferenceCode}/display-page-templates": get: description: From 496bd1107e00393cf18dfa0b7ab0573171e5a7be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 02:15:44 +0200 Subject: [PATCH 176/260] LPD-x Add permissions endpoints for DisplayPageTemplates --- .../rest-openapi.yaml | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 232c7efa1caf65..48fe3563c872e6 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3925,6 +3925,51 @@ paths: default response # @review tags: ["DisplayPageTemplate"] + "/sites/{siteExternalReferenceCode}/display-page-templates/permissions": + get: + operationId: getSiteDisplayPageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplate"] + put: + operationId: putSiteDisplayPageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplate"] "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}": delete: description: @@ -4130,6 +4175,61 @@ paths: default response # @review tags: ["DisplayPageTemplate"] + "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/permissions": + get: + operationId: getDisplayPageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplate"] + put: + operationId: putDisplayPageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: displayPageTemplateExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["DisplayPageTemplate"] "/sites/{siteExternalReferenceCode}/fragment-compositions": get: description: From d1eabd01cf68e81defc8f12ac396dfa48880ff2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 02:17:11 +0200 Subject: [PATCH 177/260] LPD-x Add permissions endpoints for MasterPages --- .../rest-openapi.yaml | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 48fe3563c872e6..b37edbab8a4da6 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -4582,6 +4582,51 @@ paths: default response # @review tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/permissions": + get: + operationId: getSiteMasterPagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["MasterPage"] + put: + operationId: putSiteMasterPagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["MasterPage"] "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}": delete: description: @@ -4786,6 +4831,61 @@ paths: default response # @review tags: ["MasterPage"] + "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/permissions": + get: + operationId: getMasterPagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["MasterPage"] + put: + operationId: putMasterPagePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: masterPageExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["MasterPage"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: description: From 621aadc02e4fd1450b334d726202e6ad745d31f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 02:19:38 +0200 Subject: [PATCH 178/260] LPD-x Add permissions endpoints for PageTemplateCollections --- .../rest-openapi.yaml | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b37edbab8a4da6..ce692b44d44f49 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6529,6 +6529,51 @@ paths: default response # @review tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-template-collections/permissions": + get: + operationId: getSitePageTemplateCollectionPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplateCollection"] + put: + operationId: putSitePageTemplateCollectionPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplateCollection"] "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}": delete: description: @@ -6780,6 +6825,61 @@ paths: default response # @review tags: ["PageTemplateCollection"] + "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}/permissions": + get: + operationId: getPageTemplateCollectionPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplateCollection"] + put: + operationId: putPageTemplateCollectionPermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateCollectionExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplateCollection"] "/sites/{siteExternalReferenceCode}/page-templates": get: description: From 1c5ca36d777fab85903425b06316a43debfd7870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 02:21:18 +0200 Subject: [PATCH 179/260] LPD-x Add permissions endpoints for PageTemplates --- .../rest-openapi.yaml | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index ce692b44d44f49..e6b2ce4e3074fc 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6974,6 +6974,51 @@ paths: default response # @review tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/permissions": + get: + operationId: getSitePageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplate"] + put: + operationId: putSitePageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplate"] "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}": delete: description: @@ -7178,6 +7223,61 @@ paths: default response # @review tags: ["PageTemplate"] + "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/permissions": + get: + operationId: getPageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + - in: query + name: roleNames + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplate"] + put: + operationId: putPageTemplatePermissionsPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageTemplateExternalReferenceCode + required: true + schema: + type: string + requestBody: + content: + application/json: {} + application/xml: {} + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["PageTemplate"] "/sites/{siteExternalReferenceCode}/site-pages": get: description: From 113210df6fc5be21d0aaa565abd1eda46e084215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 10:24:52 +0200 Subject: [PATCH 180/260] LPD-x Rename PageTemplateCollection to PageTemplateSet and page-template-collections to page-template-sets --- .../rest-openapi.yaml | 144 +++++++++--------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index e6b2ce4e3074fc..6064b48daf2d5e 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -149,8 +149,8 @@ components: items: $ref: "#/components/schemas/PageSpecification" type: array - pageTemplateCollection: - $ref: "#/components/schemas/PageTemplateCollection" + pageTemplateSet: + $ref: "#/components/schemas/PageTemplateSet" # @review description: The page template's collection. @@ -2557,53 +2557,53 @@ components: - $ref: "#/components/schemas/ContentPageTemplate" - $ref: "#/components/schemas/WidgetPageTemplate" type: object - PageTemplateCollection: + PageTemplateSet: # @review description: - Represents a Page template collection. + Represents a Page template set. properties: creatorBrief: $ref: "#/components/schemas/CreatorBrief" # @review description: - The page template collection's creator. + The page template set's creator. readOnly: true dateCreated: # @review description: - The page template collection's creation date. + The page template set's creation date. format: date-time type: string dateModified: # @review description: - The last time the page template collection changed. + The last time the page template set changed. format: date-time readOnly: true type: string description: # @review description: - The page template collection's description. + The page template set's description. type: string externalReferenceCode: # @review description: - The page template collection's external reference code. + The page template set's external reference code. type: string key: # @review description: - The display page template collection's key. + The display page template set's key. type: string name: # @review description: - The page template collection's name. + The page template set's name. type: string uuid: description: - A valid external identifier to reference this page template collection. + A valid external identifier to reference this page template set. readOnly: true type: string type: object @@ -6435,11 +6435,11 @@ paths: default response # @review tags: ["PageSpecification"] - "/sites/{siteExternalReferenceCode}/page-template-collections": + "/sites/{siteExternalReferenceCode}/page-template-sets": get: description: - Retrieves the page template collections of the site - operationId: getSitePageTemplateCollectionsPage + Retrieves the page template sets of the site + operationId: getSitePageTemplateSetsPage parameters: - in: path name: siteExternalReferenceCode @@ -6490,18 +6490,18 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" type: array application/xml: schema: items: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" type: array - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] post: description: - Adds a new page template collection - operationId: postSitePageTemplateCollection + Adds a new page template set + operationId: postSitePageTemplateSet parameters: - in: path name: siteExternalReferenceCode @@ -6512,26 +6512,26 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" application/xml: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" application/xml: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" description: default response # @review - tags: ["PageTemplateCollection"] - "/sites/{siteExternalReferenceCode}/page-template-collections/permissions": + tags: ["PageTemplateSet"] + "/sites/{siteExternalReferenceCode}/page-template-sets/permissions": get: - operationId: getSitePageTemplateCollectionPermissionsPage + operationId: getSitePageTemplateSetPermissionsPage parameters: - in: path name: siteExternalReferenceCode @@ -6555,9 +6555,9 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] put: - operationId: putSitePageTemplateCollectionPermissionsPage + operationId: putSitePageTemplateSetPermissionsPage parameters: - in: path name: siteExternalReferenceCode @@ -6573,12 +6573,12 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageTemplateCollection"] - "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}": + tags: ["PageTemplateSet"] + "/sites/{siteExternalReferenceCode}/page-template-sets/{pageTemplateSetExternalReferenceCode}": delete: description: - Deletes a specific page template collection of a site. - operationId: deleteSitePageTemplateCollection + Deletes a specific page template set of a site. + operationId: deleteSitePageTemplateSet parameters: - in: path name: siteExternalReferenceCode @@ -6586,7 +6586,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6595,11 +6595,11 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] get: description: - Retrieves a specific page template collection of a site. - operationId: getSitePageTemplateCollection + Retrieves a specific page template set of a site. + operationId: getSitePageTemplateSet parameters: - in: path name: siteExternalReferenceCode @@ -6607,7 +6607,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6628,17 +6628,17 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" application/xml: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" description: default response - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] patch: description: Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSitePageTemplateCollection + operationId: patchSitePageTemplateSet parameters: - in: path name: siteExternalReferenceCode @@ -6646,7 +6646,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6666,27 +6666,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" application/xml: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" application/xml: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" description: default response - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] put: description: - Updates the page template collection with the given external reference code, or creates it if it does + Updates the page template set with the given external reference code, or creates it if it does not exist. - operationId: putSitePageTemplateCollection + operationId: putSitePageTemplateSet parameters: - in: path name: siteExternalReferenceCode @@ -6694,7 +6694,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6714,27 +6714,27 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" application/xml: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" responses: default: content: application/json: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" application/xml: schema: - $ref: "#/components/schemas/PageTemplateCollection" + $ref: "#/components/schemas/PageTemplateSet" description: default response - tags: ["PageTemplateCollection"] - "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}/page-templates": + tags: ["PageTemplateSet"] + "/sites/{siteExternalReferenceCode}/page-template-sets/{pageTemplateSetExternalReferenceCode}/page-templates": get: description: - Retrieves all the page templates within a page template collection of a site page. - operationId: getSitePageTemplateCollectionPageTemplatesPage + Retrieves all the page templates within a page template set of a site page. + operationId: getSitePageTemplateSetPageTemplatesPage parameters: - in: path name: siteExternalReferenceCode @@ -6742,7 +6742,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6776,11 +6776,11 @@ paths: $ref: "#/components/schemas/PageTemplate" type: array # @review - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] post: description: - Adds a new page template in draft status to a page template collection. - operationId: postSitePageTemplateCollectionPageTemplate + Adds a new page template in draft status to a page template set. + operationId: postSitePageTemplateSetPageTemplate parameters: - in: path name: siteExternalReferenceCode @@ -6788,7 +6788,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6824,10 +6824,10 @@ paths: description: default response # @review - tags: ["PageTemplateCollection"] - "/sites/{siteExternalReferenceCode}/page-template-collections/{pageTemplateCollectionExternalReferenceCode}/permissions": + tags: ["PageTemplateSet"] + "/sites/{siteExternalReferenceCode}/page-template-sets/{pageTemplateSetExternalReferenceCode}/permissions": get: - operationId: getPageTemplateCollectionPermissionsPage + operationId: getPageTemplateSetPermissionsPage parameters: - in: path name: siteExternalReferenceCode @@ -6835,7 +6835,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6856,9 +6856,9 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] put: - operationId: putPageTemplateCollectionPermissionsPage + operationId: putPageTemplateSetPermissionsPage parameters: - in: path name: siteExternalReferenceCode @@ -6866,7 +6866,7 @@ paths: schema: type: string - in: path - name: pageTemplateCollectionExternalReferenceCode + name: pageTemplateSetExternalReferenceCode required: true schema: type: string @@ -6879,7 +6879,7 @@ paths: content: application/json: {} application/xml: {} - tags: ["PageTemplateCollection"] + tags: ["PageTemplateSet"] "/sites/{siteExternalReferenceCode}/page-templates": get: description: From beb1ec82d8f92031f97e5aac0062c2a136d1e4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 10:47:33 +0200 Subject: [PATCH 181/260] LPD-x Automatic SF --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6064b48daf2d5e..0f409f423a7c47 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -6684,8 +6684,8 @@ paths: tags: ["PageTemplateSet"] put: description: - Updates the page template set with the given external reference code, or creates it if it does - not exist. + Updates the page template set with the given external reference code, or creates it if it does not + exist. operationId: putSitePageTemplateSet parameters: - in: path From 1ecfa605e07b75356b3e80b92351fe753f767a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 15:49:01 +0200 Subject: [PATCH 182/260] LPD-x Rename actionKeys to actionIds and roleKey to roleName in widgetPermissions so they are consistent with the pattern for permissions. --- .../headless-admin-site-impl/rest-openapi.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 0f409f423a7c47..b7d2189d6d0696 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3256,17 +3256,17 @@ components: The widget instance's permissions. items: properties: - actionKeys: + actionIds: # @review description: - The keys of the actions the role has permission for. + The ids of the actions the role has permission for. items: type: string type: array - roleKey: + roleName: # @review description: - The role's key. + The role's name. type: string type: object type: array From ca5120d9cde3b6972443b1e1144695b65cc98103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 23:17:11 +0200 Subject: [PATCH 183/260] LPD-x Add widgetLookAndFeelConfig to WidgetInstance --- .../rest-openapi.yaml | 631 ++++++++++++++++++ 1 file changed, 631 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b7d2189d6d0696..9056c9c8c31521 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3245,6 +3245,637 @@ components: description: The widget instance's ID. type: string + widgetLookAndFeelConfig: + # @review + description: + The widget instance's look and feel configuration. It applies only to widgets within SitePages + of type WidgetPage or within PageTemplates of type WidgetPageTemplate. + items: + properties: + advancedStylingConfig: + properties: + customCSS: + type: string + customCSSClassNames: + type: string + backgroundStylesConfig: + properties: + backgroundColor: + example: "#FF0D0D" + type: string + type: object + borderStylesConfig: + properties: + borderColor: + properties: + bottom: + example: "#FF0D0D" + type: string + left: + example: "#FF0D0D" + type: string + right: + example: "#FF0D0D" + type: string + sameForAll: + type: boolean + top: + example: "#FF0D0D" + type: string + type: object + borderStyle: + properties: + bottom: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + left: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + right: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + sameForAll: + type: boolean + top: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + type: object + borderWidth: + properties: + bottom: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + left: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + type: object + right: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + sameForAll: + type: boolean + top: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + type: object + generalConfig: + properties: + applicationDecorator: + enum: [Barebone, Borderless, Decorate] + type: string + customTitle: + # @review + description: + The custom title. + type: string + customTitle_i18n: + additionalProperties: + type: string + # @review + description: + The localized custom titles. + type: object + useCustomTitle: + # @review + description: + Whether to use a custom title. + type: boolean + type: object + marginAndPaddingConfig: + properties: + margin: + properties: + bottom: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + left: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + type: object + right: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + sameForAll: + type: boolean + top: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + type: object + padding: + properties: + bottom: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + left: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + type: object + right: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + sameForAll: + type: boolean + top: + properties: + unit: + enum: + - em + - px + - % + type: string + value: + type: string + type: object + textStylesConfig: + properties: + alignment: + enum: [Center, Justify, Left, Right] + type: string + bold: + type: boolean + color: + example: "#FF0D0D" + type: string + font: + enum: [Arial, Georgia, Tahoma, TimesNewRoman, TrebuchetMS, Verdana] + type: string + italic: + type: boolean + letterSpacing: + enum: + - -10px + - -9px + - -8px + - -7px + - -6px + - -5px + - -4px + - -3px + - -2px + - -1px + - 0px + - 1px + - 2px + - 3px + - 4px + - 5px + - 6px + - 7px + - 8px + - 9px + - 10px + - 11px + - 12px + - 13px + - 14px + - 15px + - 16px + - 17px + - 18px + - 19px + - 20px + - 21px + - 22px + - 23px + - 24px + - 25px + - 26px + - 27px + - 28px + - 29px + - 30px + - 31px + - 32px + - 33px + - 34px + - 35px + - 36px + - 37px + - 38px + - 39px + - 40px + - 41px + - 42px + - 43px + - 44px + - 45px + - 46px + - 47px + - 48px + - 49px + - 50px + type: string + lineHeight: + enum: + - 0.1em + - 0.2em + - 0.3em + - 0.4em + - 0.5em + - 0.6em + - 0.7em + - 0.8em + - 0.9em + - 1em + - 1.1em + - 1.2em + - 1.3em + - 1.4em + - 1.5em + - 1.6em + - 1.7em + - 1.8em + - 1.9em + - 2em + - 2.1em + - 2.2em + - 2.3em + - 2.4em + - 2.5em + - 2.6em + - 2.7em + - 2.8em + - 2.9em + - 3em + - 3.1em + - 3.2em + - 3.3em + - 3.4em + - 3.5em + - 3.6em + - 3.7em + - 3.8em + - 3.9em + - 4em + - 4.1em + - 4.2em + - 4.3em + - 4.4em + - 4.5em + - 4.6em + - 4.7em + - 4.8em + - 4.9em + - 5em + - 5.1em + - 5.2em + - 5.3em + - 5.4em + - 5.5em + - 5.6em + - 5.7em + - 5.8em + - 5.9em + - 6em + - 6.1em + - 6.2em + - 6.3em + - 6.4em + - 6.5em + - 6.6em + - 6.7em + - 6.8em + - 6.9em + - 7em + - 7.1em + - 7.2em + - 7.3em + - 7.4em + - 7.5em + - 7.6em + - 7.7em + - 7.8em + - 7.9em + - 8em + - 8.1em + - 8.2em + - 8.3em + - 8.4em + - 8.5em + - 8.6em + - 8.7em + - 8.8em + - 8.9em + - 9em + - 9.1em + - 9.2em + - 9.3em + - 9.4em + - 9.5em + - 9.6em + - 9.7em + - 9.8em + - 9.9em + - 10em + - 10.1em + - 10.2em + - 10.3em + - 10.4em + - 10.5em + - 10.6em + - 10.7em + - 10.8em + - 10.9em + - 11em + - 11.1em + - 11.2em + - 11.3em + - 11.4em + - 11.5em + - 11.6em + - 11.7em + - 11.8em + - 11.9em + - 12em + type: string + size: + enum: + - 0.1em + - 0.2em + - 0.3em + - 0.4em + - 0.5em + - 0.6em + - 0.7em + - 0.8em + - 0.9em + - 1em + - 1.1em + - 1.2em + - 1.3em + - 1.4em + - 1.5em + - 1.6em + - 1.7em + - 1.8em + - 1.9em + - 2em + - 2.1em + - 2.2em + - 2.3em + - 2.4em + - 2.5em + - 2.6em + - 2.7em + - 2.8em + - 2.9em + - 3em + - 3.1em + - 3.2em + - 3.3em + - 3.4em + - 3.5em + - 3.6em + - 3.7em + - 3.8em + - 3.9em + - 4em + - 4.1em + - 4.2em + - 4.3em + - 4.4em + - 4.5em + - 4.6em + - 4.7em + - 4.8em + - 4.9em + - 5em + - 5.1em + - 5.2em + - 5.3em + - 5.4em + - 5.5em + - 5.6em + - 5.7em + - 5.8em + - 5.9em + - 6em + - 6.1em + - 6.2em + - 6.3em + - 6.4em + - 6.5em + - 6.6em + - 6.7em + - 6.8em + - 6.9em + - 7em + - 7.1em + - 7.2em + - 7.3em + - 7.4em + - 7.5em + - 7.6em + - 7.7em + - 7.8em + - 7.9em + - 8em + - 8.1em + - 8.2em + - 8.3em + - 8.4em + - 8.5em + - 8.6em + - 8.7em + - 8.8em + - 8.9em + - 9em + - 9.1em + - 9.2em + - 9.3em + - 9.4em + - 9.5em + - 9.6em + - 9.7em + - 9.8em + - 9.9em + - 10em + - 10.1em + - 10.2em + - 10.3em + - 10.4em + - 10.5em + - 10.6em + - 10.7em + - 10.8em + - 10.9em + - 11em + - 11.1em + - 11.2em + - 11.3em + - 11.4em + - 11.5em + - 11.6em + - 11.7em + - 11.8em + - 11.9em + - 12em + type: string + textDecoration: + enum: [None, Overline, Strikethrough, Underline] + type: string + wordSpacing: + enum: + - -1em + - -0.95em + - -0.9em + - -0.85em + - -0.8em + - -0.75em + - -0.7em + - -0.45em + - -0.4em + - -0.65em + - -0.6em + - -0.55em + - -0.5em + - -0.35em + - -0.3em + - -0.25em + - -0.2em + - -0.15em + - -0.1em + - -0.05em + - Normal + - 0.1em + - 0.15em + - 0.2em + - 0.25em + - 0.3em + - 0.35em + - 0.4em + - 0.45em + - 0.5em + - 0.55em + - 0.6em + - 0.65em + - 0.7em + - 0.75em + - 0.8em + - 0.85em + - 0.9em + - 0.95em + type: string + type: object + type: object + type: array widgetName: # @review description: From 3820acc63a08bfa22001516399bc3c0e004a6093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 23:49:11 +0200 Subject: [PATCH 184/260] LPD-x Define ClassExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9056c9c8c31521..2f32f62cf3d588 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -183,6 +183,19 @@ components: readOnly: true type: string type: object + ClassExternalReference: + # @review + description: + A unique reference to an entity of the specified class which remains constant across environments. + properties: + className: + type: string + externalReference: + $ref: "#/components/schemas/ExternalReference" + required: + - className + - externalReferenceCode + type: object ClassFieldReference: properties: className: From e3f74a20c995e25ef41eacfea6cd600ee91d30b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Thu, 6 Jun 2024 23:57:58 +0200 Subject: [PATCH 185/260] LPD-x Remove ClassPKReference --- .../headless-admin-site-impl/rest-openapi.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 2f32f62cf3d588..57bb95821e7205 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -238,17 +238,6 @@ components: type: string required: - className - ClassPKReference: - properties: - className: - type: string - classPK: - format: int64 - type: integer - required: - - className - - classPK - type: object ClassTypeReference: properties: className: From 08b34df31ba3f17eabfb7b147bce61bc6fa78152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 00:01:05 +0200 Subject: [PATCH 186/260] LPD-x Remove FragmentImageClassPKReference --- .../headless-admin-site-impl/rest-openapi.yaml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 57bb95821e7205..5b5a1d8596996c 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -952,24 +952,6 @@ components: - $ref: "#/components/schemas/FragmentInlineValue" - $ref: "#/components/schemas/FragmentMappedValue" type: object - FragmentImageClassPKReference: - # @review - description: - Represents a reference to a fragment image class primary key. - properties: - classPKReferences: - additionalProperties: - $ref: "#/components/schemas/ClassPKReference" - # @review - description: - A map of class primary key references. - type: object - fragmentImageConfiguration: - $ref: "#/components/schemas/FragmentImageConfiguration" - # @review - description: - The fragment image's configuration. - type: object FragmentImageConfiguration: # @review description: From bb2e65caf991537bca1503b7800fc55c79a3c2f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 00:04:16 +0200 Subject: [PATCH 187/260] LPD-x Define classExternalReference instead of fragmentImageClassPKReference under FragmentImage and remove FragmentImageConfiguration since it is only used once --- .../rest-openapi.yaml | 45 +++++++++---------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5b5a1d8596996c..15de8d38dd8bb8 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -927,17 +927,35 @@ components: description: Represents a fragment image. properties: + classExternalReference: + $ref: "#/components/schemas/ClassExternalReference" description: # @review description: The fragment image's description. oneOf: - $ref: "#/components/schemas/FragmentInlineValue" - fragmentImageClassPKReference: - $ref: "#/components/schemas/FragmentImageClassPKReference" + config: # @review description: - A reference to a fragment image class primary key. + Represents the Adaptive Media fragment image configuration for different viewports. + properties: + landscapeMobile: + # @review + description: + The landscape mobile configuration of the fragment image. + type: string + portraitMobile: + # @review + description: + The portrait mobile configuration of the fragment image. + type: string + tablet: + # @review + description: + The tablet configuration of the fragment image. + type: string + type: object title: # @review description: @@ -952,27 +970,6 @@ components: - $ref: "#/components/schemas/FragmentInlineValue" - $ref: "#/components/schemas/FragmentMappedValue" type: object - FragmentImageConfiguration: - # @review - description: - Represents the Adaptive Media fragment image configuration for different viewports. - properties: - landscapeMobile: - # @review - description: - The landscape mobile configuration of the fragment image. - type: string - portraitMobile: - # @review - description: - The portrait mobile configuration of the fragment image. - type: string - tablet: - # @review - description: - The tablet configuration of the fragment image. - type: string - type: object FragmentInlineValue: # @review description: From 120787443df30b1a45e37adbcbc7244ca4e4b5c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 00:05:24 +0200 Subject: [PATCH 188/260] LPD-x Replace usages of ClassPKReference with ClassExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 15de8d38dd8bb8..e8fd96a19ce9f2 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1071,7 +1071,7 @@ components: oneOf: - $ref: "#/components/schemas/ClassFieldReference" - $ref: "#/components/schemas/ClassFieldsReference" - - $ref: "#/components/schemas/ClassPKReference" + - $ref: "#/components/schemas/ClassExternalReference" - $ref: "#/components/schemas/ContextReference" type: object type: object @@ -1628,7 +1628,7 @@ components: The page collection's reference. oneOf: - $ref: "#/components/schemas/ClassNameReference" - - $ref: "#/components/schemas/ClassPKReference" + - $ref: "#/components/schemas/ClassExternalReference" collectionType: # @review description: From a98c1ae1b6931695cf65b0f083dca51588a12fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 00:55:17 +0200 Subject: [PATCH 189/260] LPD-x Remove ClassFieldReference and ClassFieldsReference. ClassExternalReference should be used instead. --- .../rest-openapi.yaml | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index e8fd96a19ce9f2..32465beb0c87f3 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -196,42 +196,6 @@ components: - className - externalReferenceCode type: object - ClassFieldReference: - properties: - className: - type: string - fieldName: - type: string - fieldValue: - type: string - required: - - className - - fieldName - - fieldValue - type: object - ClassFieldsReference: - properties: - className: - type: string - fields: - description: - The list of fields for the reference. - items: - properties: - fieldName: - description: - The name of the field. - type: string - fieldValue: - description: - The internal value of the field. - type: string - type: object - type: array - required: - - className - - fields - type: object ClassNameReference: properties: className: @@ -1069,8 +1033,6 @@ components: description: The mapping's item reference. oneOf: - - $ref: "#/components/schemas/ClassFieldReference" - - $ref: "#/components/schemas/ClassFieldsReference" - $ref: "#/components/schemas/ClassExternalReference" - $ref: "#/components/schemas/ContextReference" type: object From dbaa08747bf15de8bb653512129196ae858eee83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 00:56:27 +0200 Subject: [PATCH 190/260] LPD-x Replace classType of type integer (internal id) with classTypeKey of type string (external) --- .../headless-admin-site-impl/rest-openapi.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 32465beb0c87f3..111cb32d939118 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -206,9 +206,8 @@ components: properties: className: type: string - classType: - format: int64 - type: integer + classTypeKey: + type: string required: - className type: object From 2883464ec41aa5d8dab6eefe708ec01c3a56b724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 00:57:42 +0200 Subject: [PATCH 191/260] LPD-x Automatic SF --- .../headless-admin-site-impl/rest-openapi.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 111cb32d939118..26143fd8ee0065 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -892,12 +892,6 @@ components: properties: classExternalReference: $ref: "#/components/schemas/ClassExternalReference" - description: - # @review - description: - The fragment image's description. - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" config: # @review description: @@ -919,6 +913,12 @@ components: The tablet configuration of the fragment image. type: string type: object + description: + # @review + description: + The fragment image's description. + oneOf: + - $ref: "#/components/schemas/FragmentInlineValue" title: # @review description: From 17fecbc8895930534c4b7dbf1019f33075c4a0df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 01:02:45 +0200 Subject: [PATCH 192/260] LPD-x Don't expose pageElement id since we are now using pageElement externalReferenceCode --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 26143fd8ee0065..119ad6010e86ab 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2013,10 +2013,6 @@ components: description: The page element's external reference code. Unique within the site. type: string - id: - description: - The page element's ID. - type: string pageElements: # @review description: From 5fe2a1ca5afa7f24785b5c231f61e7dad674b756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 01:15:27 +0200 Subject: [PATCH 193/260] LPD-x Use contentTypeReference of type ClassTypeReference within DisplayPageTemplate rather than contentType and contentSubtype externalReferenceCodes --- .../rest-openapi.yaml | 24 +++---------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 119ad6010e86ab..4c768a32e9024f 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -478,28 +478,10 @@ components: description: Represents a Display Page template. properties: - contentSubtype: - # @review + contentTypeReference: + $ref: "#/components/schemas/ClassTypeReference" description: - The display page template's content subtype. - properties: - subtypeExternalReferenceCode: - # @review - description: - The content subtype's external reference code. - type: string - type: object - contentType: - # @review - description: - The type of content. - properties: - classNameExternalReferenceCode: - # @review - description: - The content type's class name external reference code. - type: string - type: object + The content type (and optionally subtype) associated to the display page template. creatorBrief: $ref: "#/components/schemas/CreatorBrief" # @review From 0220e5f0ef7b2170c03894709465cea5e4519bb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 09:30:22 +0200 Subject: [PATCH 194/260] LPD-x Add inheritChanges and widgetPageTemplateBrief to WidgetPageSettings to account for the fact that a WidgetPage can be linked to a WidgetPageTemplate --- .../headless-admin-site-impl/rest-openapi.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 4c768a32e9024f..f58cf519e726eb 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3838,11 +3838,18 @@ components: items: type: string type: array + inheritChanges: + # @review + description: + Whether this widget page will inherit changes made to the associated widget page template + type: boolean layoutTemplateId: # @review description: The identifier of the layout template. type: string + widgetPageTemplateBrief: + $ref: "#/components/schemas/WidgetPageTemplateBrief" required: - layoutPageTemplateId # @review @@ -3898,6 +3905,16 @@ components: description: Represents a widget page template. type: object + WidgetPageTemplateBrief: + properties: + embeddedWidgetPageTemplate: + $ref: "#/components/schemas/WidgetPageTemplate" + # @review + description: + Optional field with the embedded widget page template, can be embedded with nestedFields + readOnly: true + externalReference: + $ref: "#/components/schemas/ExternalReference" WidgetPageTemplateSettings: # @review description: From 1c1260c8fda3ecf4157f2b2e3cf6b41e4b171911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:01:52 +0200 Subject: [PATCH 195/260] LPD-x Extract CollectionConfig to an entity so it can be reused for CollectionPages --- .../rest-openapi.yaml | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index f58cf519e726eb..5974455c505278 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -231,6 +231,21 @@ components: readOnly: true type: string type: object + CollectionConfig: + properties: + collectionReference: + # @review + description: + The page collection's reference. + oneOf: + - $ref: "#/components/schemas/ClassNameReference" + - $ref: "#/components/schemas/ClassExternalReference" + collectionType: + # @review + description: + The collection's type (Collection, CollectionProvider). + enum: [Collection, CollectionProvider] + type: string CollectionViewport: # @review description: @@ -1564,24 +1579,7 @@ components: Represents a definition of a Page Collection. properties: collectionConfig: - properties: - collectionReference: - # @review - description: - The page collection's reference. - oneOf: - - $ref: "#/components/schemas/ClassNameReference" - - $ref: "#/components/schemas/ClassExternalReference" - collectionType: - # @review - description: - The page collection's type (Collection, CollectionProvider). - enum: [Collection, CollectionProvider] - type: string - required: - - collectionReference - - collectionType - type: object + $ref: "#/components/schemas/CollectionConfig" collectionViewports: # @review description: From 7a3bb52a95c525c685a2687d3dcaa3e760aa1233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:02:35 +0200 Subject: [PATCH 196/260] LPD-x Add CollectionPage as and additional valid type for SitePage --- .../headless-admin-site-impl/rest-openapi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5974455c505278..9ce8fa3a8dfc21 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2928,6 +2928,7 @@ components: type: object type: enum: + - CollectionPage - ContentPage - WidgetPage type: string From 971212890add67b16058e2d43350e768fe38cc27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:03:28 +0200 Subject: [PATCH 197/260] LPD-x Define CollectionPageSettings including BasePageSettings and CollectionConfig --- .../headless-admin-site-impl/rest-openapi.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9ce8fa3a8dfc21..9d21020690783e 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -246,6 +246,19 @@ components: The collection's type (Collection, CollectionProvider). enum: [Collection, CollectionProvider] type: string + CollectionPageSettings: + allOf: + - $ref: "#/components/schemas/BasePageSettings" + - properties: + collectionConfig: + $ref: "#/components/schemas/CollectionConfig" + writeOnly: true + required: + - collectionConfig + # @review + description: + Represents the settings of a collection page. + type: object CollectionViewport: # @review description: @@ -2884,9 +2897,11 @@ components: discriminator: propertyName: type mapping: + CollectionPage: "#/components/schemas/CollectionPageSettings" ContentPage: "#/components/schemas/ContentPageSettings" WidgetPage: "#/components/schemas/WidgetPageSettings" oneOf: + - $ref: "#/components/schemas/CollectionPageSettings" - $ref: "#/components/schemas/ContentPageSettings" - $ref: "#/components/schemas/WidgetPageSettings" pageSpecifications: From 9aee2308bfb7d0a8498958a86383e574a8e30b6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:12:48 +0200 Subject: [PATCH 198/260] LPD-x Replace usages of ClassFieldsReference with ExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9d21020690783e..4ebd364f917adf 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2971,7 +2971,7 @@ components: Represents a definition of an action execution of type page. properties: itemReference: - $ref: "#/components/schemas/ClassFieldsReference" + $ref: "#/components/schemas/ExternalReference" # @review description: The reference to a page. @@ -2992,7 +2992,7 @@ components: Represents a definition of a submission result of type page. properties: itemReference: - $ref: "#/components/schemas/ClassFieldsReference" + $ref: "#/components/schemas/ExternalReference" # @review description: The localized submission of page type. From 34db68e66474ada22d4fc5a2f9b3586413d8491d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:26:52 +0200 Subject: [PATCH 199/260] LPD-x Remove deprecated defaultValue in FragmentMappedValue --- .../headless-admin-site-impl/rest-openapi.yaml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 4ebd364f917adf..896575e86b9a5c 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1015,18 +1015,6 @@ components: # @review description: The default value of the fragment mapped value. - defaultValue: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by defaultFragmentInlineValue" - properties: - value: - type: string - value_i18n: - additionalProperties: - type: string - type: object - type: object mapping: # @review description: From 86ce78fefa50113ded4782e530d4553ece512f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:27:20 +0200 Subject: [PATCH 200/260] LPD-x Add TODO comment to clarify if we should remove defaultFragmentInlineValue --- .../headless-admin-site-impl/rest-openapi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 896575e86b9a5c..1ebcd7078df5c0 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1010,6 +1010,7 @@ components: description: Represents a fragment mapped value. properties: + # TODO Clarify whether we should remove defaultFragmentInlineValue defaultFragmentInlineValue: $ref: "#/components/schemas/FragmentInlineValue" # @review From 7d242628fd8352126c486fcf612f841e98caaaba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:59:19 +0200 Subject: [PATCH 201/260] LPD-x Remove AggregateRating --- .../rest-openapi.yaml | 36 ------------------- 1 file changed, 36 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 1ebcd7078df5c0..311543d88f1336 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -20,42 +20,6 @@ components: - $ref: "#/components/schemas/SitePageActionExecutionResult" - $ref: "#/components/schemas/URLActionExecutionResult" type: object - AggregateRating: - description: - Represents the average rating. See [AggregateRating](https://www.schema.org/AggregateRating) for more - information. - properties: - bestRating: - description: - The highest possible rating (by default normalized to 1.0). - format: double - readOnly: true - type: number - ratingAverage: - description: - The average rating. - format: double - readOnly: true - type: number - ratingCount: - description: - The number of ratings. - readOnly: true - type: integer - ratingValue: - # @review - description: - The rating value. - format: double - readOnly: true - type: number - worstRating: - description: - The lowest possible rating (by default normalized to 0.0). - format: double - readOnly: true - type: number - type: object BasePageSettings: # @review description: From e49377ef563fae9add88b5c3d249b3a727659115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 10:59:53 +0200 Subject: [PATCH 202/260] LPD-x Use keywordBriefs instead of keywords in BasePageTemplate --- .../headless-admin-site-impl/rest-openapi.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 311543d88f1336..0a22cecc11e9ed 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -93,12 +93,11 @@ components: description: The page template's key. type: string - keywords: - # @review + keywordBriefs: description: - A list of keywords describing the page template. + The keywords associated with this page template. items: - type: string + $ref: "#/components/schemas/KeywordBrief" type: array name: # @review From aa96baa7c7a128ed27a175f46d55163c27c84d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 7 Jun 2024 12:57:15 +0200 Subject: [PATCH 203/260] LPD-x WIP Alternative modeling for widget pages --- .../rest-openapi.yaml | 193 ++++++++++++------ 1 file changed, 131 insertions(+), 62 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 0a22cecc11e9ed..1b0c6e4a62b80d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -324,6 +324,56 @@ components: The document's title. type: string type: object + ContentPageElement: + # @review + description: + Represents a Page element. + properties: + definition: + # @review + description: + The page element's definition. + oneOf: + - $ref: "#/components/schemas/PageCollectionDefinition" + - $ref: "#/components/schemas/PageCollectionItemDefinition" + - $ref: "#/components/schemas/PageColumnDefinition" + - $ref: "#/components/schemas/PageContainerDefinition" + - $ref: "#/components/schemas/PageDropZoneDefinition" + - $ref: "#/components/schemas/PageFormDefinition" + - $ref: "#/components/schemas/PageFragmentCompositionInstanceDefinition" + - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" + - $ref: "#/components/schemas/PageFragmentInstanceDefinition" + - $ref: "#/components/schemas/PageRowDefinition" + - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + externalReferenceCode: + description: + The page element's external reference code. Unique within the site. + type: string + pageElements: + # @review + description: + A list of the page elements this page element has. + items: + $ref: "#/components/schemas/PageElement" + type: array + parentExternalReferenceCode: + description: + The parent's page element's external reference code. Unique within the site. + type: string + position: + description: + The 0-based position this page element occupies with respect to its siblings (0 for first child, + 1 for second child, ...). If not specified when creating a page element the page element will be + added at the last valid position. + minimum: 0 + type: integer + type: + # @review + description: + The page element's type (collection, collection item, column, container, drop zone, form, + fragment, fragment composition, fragment drop zone, row, widget or widget section). + enum: [Collection, CollectionItem, Column, Container, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Row, Widget] + type: string ContentPageSettings: allOf: - $ref: "#/components/schemas/BasePageSettings" @@ -331,6 +381,19 @@ components: description: Represents the settings of a content page. type: object + ContentPageSpecification: + properties: + externalReferenceCode: + description: + The page specification's external reference code, unique per site. + type: string + pageExperiences: + items: + $ref: "#/components/schemas/PageExperience" + type: array + settings: + $ref: "#/components/schemas/Settings" + type: object ContentPageTemplate: allOf: - $ref: "#/components/schemas/BasePageTemplate" @@ -1933,57 +1996,10 @@ components: - $ref: "#/components/schemas/FragmentSettingsUnallowed" type: object PageElement: - # @review - description: - Represents a Page element. - properties: - definition: - # @review - description: - The page element's definition. - oneOf: - - $ref: "#/components/schemas/PageCollectionDefinition" - - $ref: "#/components/schemas/PageCollectionItemDefinition" - - $ref: "#/components/schemas/PageColumnDefinition" - - $ref: "#/components/schemas/PageContainerDefinition" - - $ref: "#/components/schemas/PageDropZoneDefinition" - - $ref: "#/components/schemas/PageFormDefinition" - - $ref: "#/components/schemas/PageFragmentCompositionInstanceDefinition" - - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" - - $ref: "#/components/schemas/PageFragmentInstanceDefinition" - - $ref: "#/components/schemas/PageRowDefinition" - - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - - $ref: "#/components/schemas/PageWidgetSectionDefinition" - externalReferenceCode: - description: - The page element's external reference code. Unique within the site. - type: string - pageElements: - # @review - description: - A list of the page elements this page element has. - items: - $ref: "#/components/schemas/PageElement" - type: array - parentExternalReferenceCode: - description: - The parent's page element's external reference code. Unique within the site. - type: string - position: - description: - The 0-based position this page element occupies with respect to its siblings (0 for first child, - 1 for second child, ...). If not specified when creating a page element the page element will be - added at the last valid position. - minimum: 0 - type: integer - type: - # @review - description: - The page element's type (collection, collection item, column, container, drop zone, form, - fragment, fragment composition, fragment drop zone, row, widget or widget section). - enum: [Collection, CollectionItem, Column, Container, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Row, - Widget, WidgetSection] - type: string + oneOf: + - $ref: "#/components/schemas/ContentPageElement" + - $ref: "#/components/schemas/WidgetInstancePageElement" + type: object PageExperience: description: # @review @@ -2423,17 +2439,9 @@ components: type: string type: object PageSpecification: - properties: - externalReferenceCode: - description: - The page specification's external reference code, unique per site. - type: string - pageExperiences: - items: - $ref: "#/components/schemas/PageExperience" - type: array - settings: - $ref: "#/components/schemas/Settings" + oneOf: + - $ref: "#/components/schemas/ContentPageSpecification" + - $ref: "#/components/schemas/WidgetPageSpecification" type: object PageTemplate: oneOf: @@ -3788,6 +3796,54 @@ components: type: object type: array type: object + WidgetInstancePageElement: + # @review + description: + Represents a widget instance page element. + properties: + externalReferenceCode: + description: + The external reference code of the widget instance page element. + type: string + position: + description: + The 0-based position this widget instances occupies with respect to its siblings (0 for first + child, 1 for second child, ...). If not specified when creating a page element the page element + will be added at the last valid position. + minimum: 0 + type: integer + sectionId: + description: + The widget page section's id this widget belongs to. + type: string + widgetInstancePageElements: + # @review + description: + A list of the page elements this page element has. + items: + $ref: "#/components/schemas/WidgetInstancePageElement" + type: array + WidgetPageSection: + # @review + description: + Represents a widget page section. + properties: + customizable: + # @review + description: + A flag that indicates whether the widget page section is customizable or not. + type: boolean + id: + description: + The widget page section's id. + type: string + widgetInstancePageElements: + # @review + description: + A list of the page elements this page element has. + items: + $ref: "#/components/schemas/WidgetInstancePageElement" + type: array WidgetPageSettings: allOf: - $ref: "#/components/schemas/BasePageSettings" @@ -3822,6 +3878,19 @@ components: description: Represents the settings of a widget page. type: object + WidgetPageSpecification: + properties: + externalReferenceCode: + description: + The page specification's external reference code, unique per site. + type: string + settings: + $ref: "#/components/schemas/Settings" + widgetPageSections: + items: + $ref: "#/components/schemas/WidgetPageSection" + type: array + type: object WidgetPageTemplate: allOf: - $ref: "#/components/schemas/BasePageTemplate" From 4e0635b8c68892f0dcc54b1c5666a20e69493dbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 10:48:40 +0200 Subject: [PATCH 204/260] LPD-x Add className to ExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 1b0c6e4a62b80d..17a466f8560a2b 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -691,6 +691,8 @@ components: description: A unique reference to an entity which remains constant across environments. properties: + className: + type: string externalReferenceCode: type: string scope: From 2421624e699a560f760fa11065cf5890018dd9c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 10:50:46 +0200 Subject: [PATCH 205/260] LPD-x Rename ExternalReference to ItemExternalReference --- .../rest-openapi.yaml | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 17a466f8560a2b..5ebe694849f77b 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -154,7 +154,7 @@ components: className: type: string externalReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" required: - className - externalReferenceCode @@ -423,7 +423,7 @@ components: Optional field with the embedded creator, can be embedded with nestedFields readOnly: true externalReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" description: External reference containing the user's external reference code, unique per instance. type: object @@ -611,7 +611,7 @@ components: description: The display page template's parent folder. thumbnail: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The display page template's thumbnail. @@ -686,7 +686,7 @@ components: description: The page's SEO settings. type: object - ExternalReference: + ItemExternalReference: # @review description: A unique reference to an entity which remains constant across environments. @@ -794,7 +794,7 @@ components: description: The fragment composition's page element, whose definition must be of type PageSectionDefinition. thumbnail: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The fragment composition's thumbnail. @@ -1411,7 +1411,7 @@ components: Optional field with the embedded keyword, can be embedded with nestedFields readOnly: true externalReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" type: object MasterPage: # @review @@ -1478,7 +1478,7 @@ components: $ref: "#/components/schemas/TaxonomyCategoryBrief" type: array thumbnail: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The master page's thumbnail. @@ -2048,7 +2048,7 @@ components: description: A list of external references to the segments the experience is used for. items: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" type: array type: object PageFormDefinition: @@ -2150,7 +2150,7 @@ components: Represents a definition of a Page Fragment Composition Instance. properties: fragmentComposition: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The reference to the fragment composition that will be used to generate the PageElement of type @@ -2784,7 +2784,7 @@ components: Optional field with the embedded site, can be embedded with nestedFields readOnly: true externalReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" SitePage: # @review description: @@ -2933,7 +2933,7 @@ components: Represents a definition of an action execution of type page. properties: itemReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The reference to a page. @@ -2947,14 +2947,14 @@ components: Optional field with the embedded site page, can be embedded with nestedFields readOnly: true externalReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" SitePageFormSubmissionResult: # @review description: Represents a definition of a submission result of type page. properties: itemReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The localized submission of page type. @@ -2991,7 +2991,7 @@ components: Optional field with the embedded taxonomy category, can be embedded with nestedFields readOnly: true externalReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" URLActionExecutionResult: # @review description: @@ -3066,7 +3066,7 @@ components: $ref: "#/components/schemas/PageSpecification" type: array thumbnail: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The utility page's thumbnail. @@ -3951,7 +3951,7 @@ components: Optional field with the embedded widget page template, can be embedded with nestedFields readOnly: true externalReference: - $ref: "#/components/schemas/ExternalReference" + $ref: "#/components/schemas/ItemExternalReference" WidgetPageTemplateSettings: # @review description: From b9952434249682b49bc014604e5cccdf7ba79004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 10:53:24 +0200 Subject: [PATCH 206/260] LPD-x Remove ClassExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5ebe694849f77b..fb33b93c7191a7 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -146,19 +146,6 @@ components: readOnly: true type: string type: object - ClassExternalReference: - # @review - description: - A unique reference to an entity of the specified class which remains constant across environments. - properties: - className: - type: string - externalReference: - $ref: "#/components/schemas/ItemExternalReference" - required: - - className - - externalReferenceCode - type: object ClassNameReference: properties: className: From 6d482a232410000173e9840ea8fb2488bfb7fd6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 10:54:57 +0200 Subject: [PATCH 207/260] LPD-x Replace ClassExternalReference usages with ItemExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index fb33b93c7191a7..d13f27c382f196 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -189,7 +189,7 @@ components: The page collection's reference. oneOf: - $ref: "#/components/schemas/ClassNameReference" - - $ref: "#/components/schemas/ClassExternalReference" + - $ref: "#/components/schemas/ItemExternalReference" collectionType: # @review description: @@ -916,7 +916,7 @@ components: Represents a fragment image. properties: classExternalReference: - $ref: "#/components/schemas/ClassExternalReference" + $ref: "#/components/schemas/ItemExternalReference" config: # @review description: @@ -1046,7 +1046,7 @@ components: description: The mapping's item reference. oneOf: - - $ref: "#/components/schemas/ClassExternalReference" + - $ref: "#/components/schemas/ItemExternalReference" - $ref: "#/components/schemas/ContextReference" type: object type: object From ec0e988d3175a3a8b59c63333fc029bf1368c693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 10:56:25 +0200 Subject: [PATCH 208/260] LPD-x Automatic SF --- .../rest-openapi.yaml | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d13f27c382f196..bae5476842b6f0 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -673,29 +673,6 @@ components: description: The page's SEO settings. type: object - ItemExternalReference: - # @review - description: - A unique reference to an entity which remains constant across environments. - properties: - className: - type: string - externalReferenceCode: - type: string - scope: - properties: - externalReferenceCode: - type: string - type: - enum: [AssetLibrary, Site] - type: string - required: - - externalReferenceCode - - type - type: object - required: - - externalReferenceCode - type: object Fragment: # @review description: @@ -1389,6 +1366,29 @@ components: format: double type: number type: object + ItemExternalReference: + # @review + description: + A unique reference to an entity which remains constant across environments. + properties: + className: + type: string + externalReferenceCode: + type: string + scope: + properties: + externalReferenceCode: + type: string + type: + enum: [AssetLibrary, Site] + type: string + required: + - externalReferenceCode + - type + type: object + required: + - externalReferenceCode + type: object KeywordBrief: properties: embeddedKeyword: From ee20a4050f415f179cb99946ae11e3b129f8b534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 11:30:12 +0200 Subject: [PATCH 209/260] LPD-x Rename units to avoid openapi errors --- .../rest-openapi.yaml | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index bae5476842b6f0..4ea7cfa728eb4e 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3229,9 +3229,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3239,9 +3239,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3250,9 +3250,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3262,9 +3262,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3300,9 +3300,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3310,9 +3310,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3321,9 +3321,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3333,9 +3333,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3346,9 +3346,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3356,9 +3356,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3367,9 +3367,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string @@ -3379,9 +3379,9 @@ components: properties: unit: enum: - - em - - px - - % + - Emphasis + - Percentage + - Pixel type: string value: type: string From 7ac210f89cc83cc2afb2c12e11a6c8966af36174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 12:33:13 +0200 Subject: [PATCH 210/260] LPD-x Use subTypeExternalReference of type ItemExternalReference within ClassTypeReference, so for example a structure on an asset library can be configured as subtype --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 4ea7cfa728eb4e..685caac84df32a 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -156,8 +156,8 @@ components: properties: className: type: string - classTypeKey: - type: string + subTypeExternalReference: + $ref: "#/components/schemas/ItemExternalReference" required: - className type: object From 9d59ec8f4aaefd23b1319b09244a8624cb04fa79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 15:00:11 +0200 Subject: [PATCH 211/260] LPD-x Replace creatorBrief with creator and creatorExternalReferenceCode. (The concept of "brief" is only for read mode and for delivery APIs) --- .../rest-openapi.yaml | 88 +++++++++++-------- 1 file changed, 49 insertions(+), 39 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 685caac84df32a..193fa751626669 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -59,11 +59,14 @@ components: Represents a base page template, containing the common properties of both a content page template and a widget page template. properties: - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: # @review description: - The page template's creator. + The page's creator external reference code. + type: string dateCreated: # @review description: @@ -401,19 +404,6 @@ components: required: - contextSource type: object - CreatorBrief: - properties: - embeddedCreator: - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" - # @review - description: - Optional field with the embedded creator, can be embedded with nestedFields - readOnly: true - externalReference: - $ref: "#/components/schemas/ItemExternalReference" - description: - External reference containing the user's external reference code, unique per instance. - type: object CustomCSSViewport: # @review description: @@ -523,11 +513,14 @@ components: $ref: "#/components/schemas/ClassTypeReference" description: The content type (and optionally subtype) associated to the display page template. - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: # @review description: - The display page template's creator. + The page's creator external reference code. + type: string dateCreated: # @review description: @@ -613,11 +606,14 @@ components: description: Represents a Display Page template folder. properties: - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: # @review description: - The display page template folder's creator. + The page's creator external reference code. + type: string dateCreated: # @review description: @@ -710,11 +706,14 @@ components: description: The external reference code of the collection this fragment composition belongs to. type: string - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: + # @review description: - The structured content's creator. - readOnly: true + The page's creator external reference code. + type: string dateCreated: description: The structured content's creation date. @@ -1405,11 +1404,14 @@ components: description: Represents a page with common elements (header, footer, ...) used for all or several pages of a site. properties: - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: # @review description: - The master page's creator. + The page's creator external reference code. + type: string dateCreated: # @review description: @@ -2442,12 +2444,14 @@ components: description: Represents a Page template set. properties: - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: # @review description: - The page template set's creator. - readOnly: true + The page's creator external reference code. + type: string dateCreated: # @review description: @@ -2785,11 +2789,14 @@ components: type: string readOnly: true type: array - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: # @review description: - The page's creator. + The page's creator external reference code. + type: string customFields: # @review description: @@ -3005,11 +3012,14 @@ components: description: Represents a Utility Page. properties: - creatorBrief: - $ref: "#/components/schemas/CreatorBrief" + creator: + # @review + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + creatorExternalReferenceCode: # @review description: - The utility page's creator. + The page's creator external reference code. + type: string dateCreated: # @review description: From 138ac50d59965c4aa50b512e00bfb383a5bd7acd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 15:01:31 +0200 Subject: [PATCH 212/260] LPD-x Remove SitePageBrief --- .../headless-admin-site-impl/rest-openapi.yaml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 193fa751626669..26cbe8537cba13 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2932,16 +2932,6 @@ components: description: The reference to a page. type: object - SitePageBrief: - properties: - embeddedSitePage: - $ref: "#/components/schemas/SitePage" - # @review - description: - Optional field with the embedded site page, can be embedded with nestedFields - readOnly: true - externalReference: - $ref: "#/components/schemas/ItemExternalReference" SitePageFormSubmissionResult: # @review description: From 614d8317930bce7993383e0451a4edf7e267d385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 15:04:59 +0200 Subject: [PATCH 213/260] LPD-x Use parentSitePageExternalReferenceCode instead of parentSitePageBrief --- .../headless-admin-site-impl/rest-openapi.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 26cbe8537cba13..49429304b14d91 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2868,11 +2868,11 @@ components: items: $ref: "#/components/schemas/PageSpecification" type: array - parentSitePageBrief: - $ref: "#/components/schemas/SitePageBrief" + parentSitePageExternalReferenceCode: # @review description: - The parent page or null if it is a top level page. + The parent page external reference code or null if it is a top level page. + type: string siteBrief: $ref: "#/components/schemas/SiteBrief" # @review From 78c05f5cf2d08fee09018e0096fea3e5ba750ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 15:07:03 +0200 Subject: [PATCH 214/260] LPD-x Remove SiteBrief and use siteExternalReferenceCode instead of siteBrief --- .../headless-admin-site-impl/rest-openapi.yaml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 49429304b14d91..cdf0e700857f1d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2766,16 +2766,6 @@ components: description: The Client Extension for the theme spritemap of a page specification. type: object - SiteBrief: - properties: - embeddedSite: - $ref: "../../headless-site/headless-site-impl/rest-openapi.yaml#Site" - # @review - description: - Optional field with the embedded site, can be embedded with nestedFields - readOnly: true - externalReference: - $ref: "#/components/schemas/ItemExternalReference" SitePage: # @review description: @@ -2873,11 +2863,11 @@ components: description: The parent page external reference code or null if it is a top level page. type: string - siteBrief: - $ref: "#/components/schemas/SiteBrief" + siteExternalReferenceCode: # @review description: - The site to which this page is scoped. + The external reference code of the site to which this page is scoped. + type: string taxonomyCategoryBriefs: # @review description: From f2d39d05bda9a74dba38d3f817c12238d4ae5952 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 15:27:31 +0200 Subject: [PATCH 215/260] LPD-x Replace keywordBriefs with keywords and keywordExternalReferences --- .../rest-openapi.yaml | 50 +++++++++++-------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index cdf0e700857f1d..67150e84587443 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -96,11 +96,18 @@ components: description: The page template's key. type: string - keywordBriefs: + keywordExternalReferences: description: - The keywords associated with this page template. + The external references to the associated keywords. items: - $ref: "#/components/schemas/KeywordBrief" + "$ref": "#/components/schemas/ItemExternalReference" + type: array + keywords: + description: + The associated keywords. + items: + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" + readOnly: true type: array name: # @review @@ -1388,17 +1395,6 @@ components: required: - externalReferenceCode type: object - KeywordBrief: - properties: - embeddedKeyword: - $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" - # @review - description: - Optional field with the embedded keyword, can be embedded with nestedFields - readOnly: true - externalReference: - $ref: "#/components/schemas/ItemExternalReference" - type: object MasterPage: # @review description: @@ -1441,11 +1437,18 @@ components: description: The master page's key. type: string - keywordBriefs: + keywordExternalReferences: description: - The keywords associated with this master page. + The external references to the associated keywords. items: - $ref: "#/components/schemas/KeywordBrief" + "$ref": "#/components/schemas/ItemExternalReference" + type: array + keywords: + description: + The associated keywords. + items: + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" + readOnly: true type: array name: # @review @@ -2830,11 +2833,18 @@ components: description: The localized relative URLs to the page's rendered content. type: object - keywordBriefs: + keywordExternalReferences: description: - The keywords associated with this master page. + The external references to the associated keywords. items: - $ref: "#/components/schemas/KeywordBrief" + "$ref": "#/components/schemas/ItemExternalReference" + type: array + keywords: + description: + The associated keywords. + items: + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" + readOnly: true type: array pageSettings: # @review From ba3254cfef07085848ed4151c24d30b8a3084a49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 15:40:15 +0200 Subject: [PATCH 216/260] LPD-x Make creator readOnly --- .../rest-openapi.yaml | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 67150e84587443..3b2ecfaa314e48 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -61,7 +61,8 @@ components: properties: creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: @@ -522,7 +523,8 @@ components: The content type (and optionally subtype) associated to the display page template. creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: @@ -615,7 +617,8 @@ components: properties: creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: @@ -715,7 +718,8 @@ components: type: string creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: @@ -1402,7 +1406,8 @@ components: properties: creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: @@ -2449,7 +2454,8 @@ components: properties: creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: @@ -2784,7 +2790,8 @@ components: type: array creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: @@ -3004,7 +3011,8 @@ components: properties: creator: # @review - $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: From 1b333593530de6495c990c4a3cb09b130ef48aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 15:50:16 +0200 Subject: [PATCH 217/260] LPD-x Replace taxonomyCategoryBriefs with taxonomyCategories and taxonomyCategoryExternalReferenceCodes. --- .../rest-openapi.yaml | 55 ++++++++++++------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 3b2ecfaa314e48..b4e282071bd2c7 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -140,11 +140,20 @@ components: oneOf: - $ref: "#/components/schemas/ContentPageTemplateSettings" - $ref: "#/components/schemas/WidgetPageTemplateSettings" - taxonomyCategoryBriefs: + taxonomyCategories: + # @review description: - The categories associated with this page template. + The associated categories. items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" + readOnly: true + type: array + taxonomyCategoryExternalReferences: + # @review + description: + The external references to the associated categories. + items: + "$ref": "#/components/schemas/ItemExternalReference" type: array type: enum: @@ -1468,11 +1477,20 @@ components: items: $ref: "#/components/schemas/PageSpecification" type: array - taxonomyCategoryBriefs: + taxonomyCategories: + # @review description: - The categories associated with this master page. + The associated categories. items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" + readOnly: true + type: array + taxonomyCategoryExternalReferences: + # @review + description: + The external references to the associated categories. + items: + "$ref": "#/components/schemas/ItemExternalReference" type: array thumbnail: $ref: "#/components/schemas/ItemExternalReference" @@ -2847,6 +2865,7 @@ components: "$ref": "#/components/schemas/ItemExternalReference" type: array keywords: + # @review description: The associated keywords. items: @@ -2885,12 +2904,20 @@ components: description: The external reference code of the site to which this page is scoped. type: string - taxonomyCategoryBriefs: + taxonomyCategories: # @review description: - The categories associated with this page. + The associated categories. items: - $ref: "#/components/schemas/TaxonomyCategoryBrief" + $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" + readOnly: true + type: array + taxonomyCategoryExternalReferences: + # @review + description: + The external references to the associated categories. + items: + "$ref": "#/components/schemas/ItemExternalReference" type: array title: # @review @@ -2973,16 +3000,6 @@ components: type: string readOnly: true type: object - TaxonomyCategoryBrief: - properties: - embeddedTaxonomyCategory: - $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" - # @review - description: - Optional field with the embedded taxonomy category, can be embedded with nestedFields - readOnly: true - externalReference: - $ref: "#/components/schemas/ItemExternalReference" URLActionExecutionResult: # @review description: From 6ac068e2a1aa7d1b57f4e35bfdb354e2e26cdd72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 11 Jun 2024 19:41:30 +0200 Subject: [PATCH 218/260] LPD-x Replace widgetPageTemplateBrief with widgetPageTemplateReference. --- .../headless-admin-site-impl/rest-openapi.yaml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b4e282071bd2c7..113a19f518174c 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3884,8 +3884,8 @@ components: description: The identifier of the layout template. type: string - widgetPageTemplateBrief: - $ref: "#/components/schemas/WidgetPageTemplateBrief" + widgetPageTemplateReference: + $ref: "#/components/schemas/ItemExternalReference" required: - layoutPageTemplateId # @review @@ -3954,16 +3954,6 @@ components: description: Represents a widget page template. type: object - WidgetPageTemplateBrief: - properties: - embeddedWidgetPageTemplate: - $ref: "#/components/schemas/WidgetPageTemplate" - # @review - description: - Optional field with the embedded widget page template, can be embedded with nestedFields - readOnly: true - externalReference: - $ref: "#/components/schemas/ItemExternalReference" WidgetPageTemplateSettings: # @review description: From bd3c3c96d20c881b63538620a682d9cdf76d9d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 12 Jun 2024 09:33:37 +0200 Subject: [PATCH 219/260] LPD-x Remove defaultFragmentInlineValue since we will be handling references in a lazy way and displaying a hardcoded value may lead to think that the reference has been already resolved when it hasn't. --- .../headless-admin-site-impl/rest-openapi.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 113a19f518174c..0f6c433e7fdb8c 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1021,12 +1021,6 @@ components: description: Represents a fragment mapped value. properties: - # TODO Clarify whether we should remove defaultFragmentInlineValue - defaultFragmentInlineValue: - $ref: "#/components/schemas/FragmentInlineValue" - # @review - description: - The default value of the fragment mapped value. mapping: # @review description: From 42db1e8091dbeca622b990ccb6b373ca9ad1c0cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 12 Jun 2024 10:54:35 +0200 Subject: [PATCH 220/260] LPD-x Remove non localized fields --- .../rest-openapi.yaml | 111 ------------------ 1 file changed, 111 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 0f6c433e7fdb8c..9dd7bc4e789a12 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -469,11 +469,6 @@ components: description: The custom meta tag's key. type: string - value: - # @review - description: - The custom meta tag's value - type: string value_i18n: additionalProperties: type: string @@ -487,11 +482,6 @@ components: description: Represents a custom value. properties: - data: - # @review - description: - The field's content value for simple types. - type: object data_i18n: additionalProperties: type: string @@ -573,11 +563,6 @@ components: description: The display page template's external reference code. type: string - friendlyUrlPath: - # @review - description: - A relative URL to the display page template's rendered content. - type: string friendlyUrlPath_i18n: additionalProperties: type: string @@ -959,11 +944,6 @@ components: description: Represents a fragment inline value. properties: - value: - # @review - description: - The fragment's inline value. - type: string value_i18n: additionalProperties: type: string @@ -986,11 +966,6 @@ components: deprecated: true enum: [Blank, Parent, Self, Top] type: string - value: - $ref: "#/components/schemas/FragmentLinkValue" - # @review - description: - The fragment link's value. value_i18n: additionalProperties: $ref: "#/components/schemas/FragmentLinkValue" @@ -1570,11 +1545,6 @@ components: description: Represents settings related with Open Graph protocol. properties: - description: - # @review - description: - The Open Graph's description. - type: string description_i18n: additionalProperties: type: string @@ -1587,11 +1557,6 @@ components: # @review description: The Open Graph's image. - imageAlt: - # @review - description: - The Open Graph's image alt. - type: string imageAlt_i18n: additionalProperties: type: string @@ -1599,11 +1564,6 @@ components: description: The localized Open Graph's image alts. type: object - title: - # @review - description: - The Open Graph's title. - type: string title_i18n: additionalProperties: type: string @@ -2025,11 +1985,6 @@ components: description: the experience's key. type: string - name: - # @review - description: - the experience's name. - type: string name_i18n: additionalProperties: type: string @@ -2610,11 +2565,6 @@ components: description: Represents settings related with SEO. properties: - customCanonicalURL: - # @review - description: - The canonical URL of the page, if it exists. - type: string customCanonicalURL_i18n: additionalProperties: type: string @@ -2622,11 +2572,6 @@ components: description: The localized canonical URL of the page, if it exists. type: object - description: - type: string - # @review - description: - The page's description to be used as summary for search engines. description_i18n: additionalProperties: type: string @@ -2634,11 +2579,6 @@ components: description: The localized descriptions of the page to be used as summary for search engines. type: object - htmlTitle: - # @review - description: - The page's main title to be used by search engines. - type: string htmlTitle_i18n: additionalProperties: type: string @@ -2646,11 +2586,6 @@ components: description: The localized main titles of the page to be used by search engines. type: object - robots: - # @review - description: - A tag telling search engines if and how they should crawl the page. - type: string robots_i18n: additionalProperties: type: string @@ -2658,11 +2593,6 @@ components: description: A localized tag telling search engines if and how they should crawl the page. type: object - seoKeywords: - # @review - description: - A list of target keywords of the page to be used by search engines. - type: string seoKeywords_i18n: additionalProperties: type: string @@ -2840,11 +2770,6 @@ components: description: The page's external reference code. type: string - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string friendlyUrlPath_i18n: additionalProperties: type: string @@ -2913,11 +2838,6 @@ components: items: "$ref": "#/components/schemas/ItemExternalReference" type: array - title: - # @review - description: - The page's title. - type: string title_i18n: additionalProperties: type: string @@ -2983,12 +2903,6 @@ components: format: int32 readOnly: true type: integer - label: - # @review - description: - Label associated to the status - readOnly: true - type: string label_i18n: additionalProperties: type: string @@ -3097,11 +3011,6 @@ components: description: Represents settings related with SEO of an utility page. properties: - description: - type: string - # @review - description: - The utility page's description to be used as summary for search engines. description_i18n: additionalProperties: type: string @@ -3109,11 +3018,6 @@ components: description: The localized descriptions of the utility page to be used as summary for search engines. type: object - htmlTitle: - # @review - description: - The utility page's main title to be used by search engines. - type: string htmlTitle_i18n: additionalProperties: type: string @@ -3293,11 +3197,6 @@ components: applicationDecorator: enum: [Barebone, Borderless, Decorate] type: string - customTitle: - # @review - description: - The custom title. - type: string customTitle_i18n: additionalProperties: type: string @@ -3908,11 +3807,6 @@ components: description: A flag that indicates whether the widget page template is active. type: boolean - description: - # @review - description: - The description of the widget page template. - type: string description_i18n: additionalProperties: type: string @@ -3920,11 +3814,6 @@ components: description: The localized descriptions of the widget page template. type: object - friendlyUrlPath: - # @review - description: - A relative URL to the page's rendered content. - type: string friendlyUrlPath_i18n: additionalProperties: type: string From deaf80dacfad490192544068bac98c6752665753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Wed, 12 Jun 2024 11:42:58 +0200 Subject: [PATCH 221/260] LPD-x Add oldFriendlyUrlPath_i18n to SitePage to store old friendly URLs --- .../headless-admin-site-impl/rest-openapi.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9dd7bc4e789a12..9b171e5e64995f 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2791,6 +2791,15 @@ components: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" readOnly: true type: array + oldFriendlyUrlPath_i18n: + additionalProperties: + items: + type: string + type: array + # @review + description: + The old localized relative URLs to the page's rendered content. + type: object pageSettings: # @review description: From a47abc9ba8e0ce42f5905b7958ddc992ddd3ce51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 14 Jun 2024 12:48:28 +0200 Subject: [PATCH 222/260] LPD-x Widget Pages will have widget instances instead of page elements. --- .../rest-openapi.yaml | 38 ++----------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9b171e5e64995f..6bb85dc04b8b2f 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -331,7 +331,7 @@ components: The document's title. type: string type: object - ContentPageElement: + PageElement: # @review description: Represents a Page element. @@ -1966,11 +1966,6 @@ components: - $ref: "#/components/schemas/FragmentSettingsAllowed" - $ref: "#/components/schemas/FragmentSettingsUnallowed" type: object - PageElement: - oneOf: - - $ref: "#/components/schemas/ContentPageElement" - - $ref: "#/components/schemas/WidgetInstancePageElement" - type: object PageExperience: description: # @review @@ -3712,33 +3707,6 @@ components: type: object type: array type: object - WidgetInstancePageElement: - # @review - description: - Represents a widget instance page element. - properties: - externalReferenceCode: - description: - The external reference code of the widget instance page element. - type: string - position: - description: - The 0-based position this widget instances occupies with respect to its siblings (0 for first - child, 1 for second child, ...). If not specified when creating a page element the page element - will be added at the last valid position. - minimum: 0 - type: integer - sectionId: - description: - The widget page section's id this widget belongs to. - type: string - widgetInstancePageElements: - # @review - description: - A list of the page elements this page element has. - items: - $ref: "#/components/schemas/WidgetInstancePageElement" - type: array WidgetPageSection: # @review description: @@ -3753,12 +3721,12 @@ components: description: The widget page section's id. type: string - widgetInstancePageElements: + widgetInstances: # @review description: A list of the page elements this page element has. items: - $ref: "#/components/schemas/WidgetInstancePageElement" + $ref: "#/components/schemas/WidgetPageWidgetInstance" type: array WidgetPageSettings: allOf: From 657ee1b7ef332cd2c3b42bd4960c01d03fcf56f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 14 Jun 2024 12:50:06 +0200 Subject: [PATCH 223/260] LPD-x Remove PageWidgetSectionDefinition --- .../headless-admin-site-impl/rest-openapi.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6bb85dc04b8b2f..6cb07a5e38445c 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2509,17 +2509,6 @@ components: description: The widget instance of the page widget instance. type: object - PageWidgetSectionDefinition: - # @review - description: - Represents the definition of a widget section. - properties: - customizable: - # @review - description: - A flag that indicates whether the page widget column is customizable or not. - type: boolean - type: object RowViewport: # @review description: From 7c40005166c1b830b97d41f7cb52eb803cd1b971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 14 Jun 2024 12:50:57 +0200 Subject: [PATCH 224/260] LPD-x Separate ContentPageWidgetInstance and WidgetPageWidgetInstance --- .../rest-openapi.yaml | 1288 +++++++++-------- 1 file changed, 659 insertions(+), 629 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6cb07a5e38445c..06692f0dab23fc 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2504,7 +2504,7 @@ components: The custom name of a Page Widget instance. type: string widgetInstance: - $ref: "#/components/schemas/WidgetInstance" + $ref: "#/components/schemas/ContentPageWidgetInstance" # @review description: The widget instance of the page widget instance. @@ -3030,10 +3030,10 @@ components: description: The utility page's SEO settings. type: object - WidgetInstance: + BaseWidgetInstance: # @review description: - Represents a Widget Instance. + Represents a base Widget Instance. properties: widgetConfig: additionalProperties: @@ -3044,632 +3044,6 @@ components: description: The widget instance's ID. type: string - widgetLookAndFeelConfig: - # @review - description: - The widget instance's look and feel configuration. It applies only to widgets within SitePages - of type WidgetPage or within PageTemplates of type WidgetPageTemplate. - items: - properties: - advancedStylingConfig: - properties: - customCSS: - type: string - customCSSClassNames: - type: string - backgroundStylesConfig: - properties: - backgroundColor: - example: "#FF0D0D" - type: string - type: object - borderStylesConfig: - properties: - borderColor: - properties: - bottom: - example: "#FF0D0D" - type: string - left: - example: "#FF0D0D" - type: string - right: - example: "#FF0D0D" - type: string - sameForAll: - type: boolean - top: - example: "#FF0D0D" - type: string - type: object - borderStyle: - properties: - bottom: - enum: - - Dashed - - Doubled - - Dotted - - Groove - - Hidden - - Dotted - - Inset - - Outset - - Ridge - - Solid - type: string - left: - enum: - - Dashed - - Doubled - - Dotted - - Groove - - Hidden - - Dotted - - Inset - - Outset - - Ridge - - Solid - type: string - right: - enum: - - Dashed - - Doubled - - Dotted - - Groove - - Hidden - - Dotted - - Inset - - Outset - - Ridge - - Solid - type: string - sameForAll: - type: boolean - top: - enum: - - Dashed - - Doubled - - Dotted - - Groove - - Hidden - - Dotted - - Inset - - Outset - - Ridge - - Solid - type: string - type: object - borderWidth: - properties: - bottom: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - left: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - type: object - right: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - sameForAll: - type: boolean - top: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - type: object - generalConfig: - properties: - applicationDecorator: - enum: [Barebone, Borderless, Decorate] - type: string - customTitle_i18n: - additionalProperties: - type: string - # @review - description: - The localized custom titles. - type: object - useCustomTitle: - # @review - description: - Whether to use a custom title. - type: boolean - type: object - marginAndPaddingConfig: - properties: - margin: - properties: - bottom: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - left: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - type: object - right: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - sameForAll: - type: boolean - top: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - type: object - padding: - properties: - bottom: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - left: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - type: object - right: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - sameForAll: - type: boolean - top: - properties: - unit: - enum: - - Emphasis - - Percentage - - Pixel - type: string - value: - type: string - type: object - textStylesConfig: - properties: - alignment: - enum: [Center, Justify, Left, Right] - type: string - bold: - type: boolean - color: - example: "#FF0D0D" - type: string - font: - enum: [Arial, Georgia, Tahoma, TimesNewRoman, TrebuchetMS, Verdana] - type: string - italic: - type: boolean - letterSpacing: - enum: - - -10px - - -9px - - -8px - - -7px - - -6px - - -5px - - -4px - - -3px - - -2px - - -1px - - 0px - - 1px - - 2px - - 3px - - 4px - - 5px - - 6px - - 7px - - 8px - - 9px - - 10px - - 11px - - 12px - - 13px - - 14px - - 15px - - 16px - - 17px - - 18px - - 19px - - 20px - - 21px - - 22px - - 23px - - 24px - - 25px - - 26px - - 27px - - 28px - - 29px - - 30px - - 31px - - 32px - - 33px - - 34px - - 35px - - 36px - - 37px - - 38px - - 39px - - 40px - - 41px - - 42px - - 43px - - 44px - - 45px - - 46px - - 47px - - 48px - - 49px - - 50px - type: string - lineHeight: - enum: - - 0.1em - - 0.2em - - 0.3em - - 0.4em - - 0.5em - - 0.6em - - 0.7em - - 0.8em - - 0.9em - - 1em - - 1.1em - - 1.2em - - 1.3em - - 1.4em - - 1.5em - - 1.6em - - 1.7em - - 1.8em - - 1.9em - - 2em - - 2.1em - - 2.2em - - 2.3em - - 2.4em - - 2.5em - - 2.6em - - 2.7em - - 2.8em - - 2.9em - - 3em - - 3.1em - - 3.2em - - 3.3em - - 3.4em - - 3.5em - - 3.6em - - 3.7em - - 3.8em - - 3.9em - - 4em - - 4.1em - - 4.2em - - 4.3em - - 4.4em - - 4.5em - - 4.6em - - 4.7em - - 4.8em - - 4.9em - - 5em - - 5.1em - - 5.2em - - 5.3em - - 5.4em - - 5.5em - - 5.6em - - 5.7em - - 5.8em - - 5.9em - - 6em - - 6.1em - - 6.2em - - 6.3em - - 6.4em - - 6.5em - - 6.6em - - 6.7em - - 6.8em - - 6.9em - - 7em - - 7.1em - - 7.2em - - 7.3em - - 7.4em - - 7.5em - - 7.6em - - 7.7em - - 7.8em - - 7.9em - - 8em - - 8.1em - - 8.2em - - 8.3em - - 8.4em - - 8.5em - - 8.6em - - 8.7em - - 8.8em - - 8.9em - - 9em - - 9.1em - - 9.2em - - 9.3em - - 9.4em - - 9.5em - - 9.6em - - 9.7em - - 9.8em - - 9.9em - - 10em - - 10.1em - - 10.2em - - 10.3em - - 10.4em - - 10.5em - - 10.6em - - 10.7em - - 10.8em - - 10.9em - - 11em - - 11.1em - - 11.2em - - 11.3em - - 11.4em - - 11.5em - - 11.6em - - 11.7em - - 11.8em - - 11.9em - - 12em - type: string - size: - enum: - - 0.1em - - 0.2em - - 0.3em - - 0.4em - - 0.5em - - 0.6em - - 0.7em - - 0.8em - - 0.9em - - 1em - - 1.1em - - 1.2em - - 1.3em - - 1.4em - - 1.5em - - 1.6em - - 1.7em - - 1.8em - - 1.9em - - 2em - - 2.1em - - 2.2em - - 2.3em - - 2.4em - - 2.5em - - 2.6em - - 2.7em - - 2.8em - - 2.9em - - 3em - - 3.1em - - 3.2em - - 3.3em - - 3.4em - - 3.5em - - 3.6em - - 3.7em - - 3.8em - - 3.9em - - 4em - - 4.1em - - 4.2em - - 4.3em - - 4.4em - - 4.5em - - 4.6em - - 4.7em - - 4.8em - - 4.9em - - 5em - - 5.1em - - 5.2em - - 5.3em - - 5.4em - - 5.5em - - 5.6em - - 5.7em - - 5.8em - - 5.9em - - 6em - - 6.1em - - 6.2em - - 6.3em - - 6.4em - - 6.5em - - 6.6em - - 6.7em - - 6.8em - - 6.9em - - 7em - - 7.1em - - 7.2em - - 7.3em - - 7.4em - - 7.5em - - 7.6em - - 7.7em - - 7.8em - - 7.9em - - 8em - - 8.1em - - 8.2em - - 8.3em - - 8.4em - - 8.5em - - 8.6em - - 8.7em - - 8.8em - - 8.9em - - 9em - - 9.1em - - 9.2em - - 9.3em - - 9.4em - - 9.5em - - 9.6em - - 9.7em - - 9.8em - - 9.9em - - 10em - - 10.1em - - 10.2em - - 10.3em - - 10.4em - - 10.5em - - 10.6em - - 10.7em - - 10.8em - - 10.9em - - 11em - - 11.1em - - 11.2em - - 11.3em - - 11.4em - - 11.5em - - 11.6em - - 11.7em - - 11.8em - - 11.9em - - 12em - type: string - textDecoration: - enum: [None, Overline, Strikethrough, Underline] - type: string - wordSpacing: - enum: - - -1em - - -0.95em - - -0.9em - - -0.85em - - -0.8em - - -0.75em - - -0.7em - - -0.45em - - -0.4em - - -0.65em - - -0.6em - - -0.55em - - -0.5em - - -0.35em - - -0.3em - - -0.25em - - -0.2em - - -0.15em - - -0.1em - - -0.05em - - Normal - - 0.1em - - 0.15em - - 0.2em - - 0.25em - - 0.3em - - 0.35em - - 0.4em - - 0.45em - - 0.5em - - 0.55em - - 0.6em - - 0.65em - - 0.7em - - 0.75em - - 0.8em - - 0.85em - - 0.9em - - 0.95em - type: string - type: object - type: object - type: array widgetName: # @review description: @@ -3696,6 +3070,662 @@ components: type: object type: array type: object + ContentPageWidgetInstance: + allOf: + - $ref: "#/components/schemas/BaseWidgetInstance" + WidgetPageWidgetInstance: + allOf: + - $ref: "#/components/schemas/BaseWidgetInstance" + - properties: + externalReferenceCode: + description: + The external reference code of the widget instance. + type: string + parentSectionId: + description: + The section's id of the widget page or the nested application widget instance this widget belongs to. + type: string + parentWidgetInstanceExternalReferenceCode: + description: + The external reference code of the parent widget instance. Only available if this widget instance is within a nested applications widget instance. + type: string + position: + description: + The 0-based position this widget instances occupies with respect to its siblings (0 for first + child, 1 for second child, ...). If not specified when creating a page element the page element + will be added at the last valid position. + minimum: 0 + type: integer + widgetLookAndFeelConfig: + # @review + description: + The widget instance's look and feel configuration. It applies only to widgets within SitePages + of type WidgetPage or within PageTemplates of type WidgetPageTemplate. + items: + properties: + advancedStylingConfig: + properties: + customCSS: + type: string + customCSSClassNames: + type: string + backgroundStylesConfig: + properties: + backgroundColor: + example: "#FF0D0D" + type: string + type: object + borderStylesConfig: + properties: + borderColor: + properties: + bottom: + example: "#FF0D0D" + type: string + left: + example: "#FF0D0D" + type: string + right: + example: "#FF0D0D" + type: string + sameForAll: + type: boolean + top: + example: "#FF0D0D" + type: string + type: object + borderStyle: + properties: + bottom: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + left: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + right: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + sameForAll: + type: boolean + top: + enum: + - Dashed + - Doubled + - Dotted + - Groove + - Hidden + - Dotted + - Inset + - Outset + - Ridge + - Solid + type: string + type: object + borderWidth: + properties: + bottom: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + left: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + type: object + right: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + sameForAll: + type: boolean + top: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + type: object + generalConfig: + properties: + applicationDecorator: + enum: [ Barebone, Borderless, Decorate ] + type: string + customTitle_i18n: + additionalProperties: + type: string + # @review + description: + The localized custom titles. + type: object + useCustomTitle: + # @review + description: + Whether to use a custom title. + type: boolean + type: object + marginAndPaddingConfig: + properties: + margin: + properties: + bottom: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + left: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + type: object + right: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + sameForAll: + type: boolean + top: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + type: object + padding: + properties: + bottom: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + left: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + type: object + right: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + sameForAll: + type: boolean + top: + properties: + unit: + enum: + - Emphasis + - Percentage + - Pixel + type: string + value: + type: string + type: object + textStylesConfig: + properties: + alignment: + enum: [ Center, Justify, Left, Right ] + type: string + bold: + type: boolean + color: + example: "#FF0D0D" + type: string + font: + enum: [ Arial, Georgia, Tahoma, TimesNewRoman, TrebuchetMS, Verdana ] + type: string + italic: + type: boolean + letterSpacing: + enum: + - -10px + - -9px + - -8px + - -7px + - -6px + - -5px + - -4px + - -3px + - -2px + - -1px + - 0px + - 1px + - 2px + - 3px + - 4px + - 5px + - 6px + - 7px + - 8px + - 9px + - 10px + - 11px + - 12px + - 13px + - 14px + - 15px + - 16px + - 17px + - 18px + - 19px + - 20px + - 21px + - 22px + - 23px + - 24px + - 25px + - 26px + - 27px + - 28px + - 29px + - 30px + - 31px + - 32px + - 33px + - 34px + - 35px + - 36px + - 37px + - 38px + - 39px + - 40px + - 41px + - 42px + - 43px + - 44px + - 45px + - 46px + - 47px + - 48px + - 49px + - 50px + type: string + lineHeight: + enum: + - 0.1em + - 0.2em + - 0.3em + - 0.4em + - 0.5em + - 0.6em + - 0.7em + - 0.8em + - 0.9em + - 1em + - 1.1em + - 1.2em + - 1.3em + - 1.4em + - 1.5em + - 1.6em + - 1.7em + - 1.8em + - 1.9em + - 2em + - 2.1em + - 2.2em + - 2.3em + - 2.4em + - 2.5em + - 2.6em + - 2.7em + - 2.8em + - 2.9em + - 3em + - 3.1em + - 3.2em + - 3.3em + - 3.4em + - 3.5em + - 3.6em + - 3.7em + - 3.8em + - 3.9em + - 4em + - 4.1em + - 4.2em + - 4.3em + - 4.4em + - 4.5em + - 4.6em + - 4.7em + - 4.8em + - 4.9em + - 5em + - 5.1em + - 5.2em + - 5.3em + - 5.4em + - 5.5em + - 5.6em + - 5.7em + - 5.8em + - 5.9em + - 6em + - 6.1em + - 6.2em + - 6.3em + - 6.4em + - 6.5em + - 6.6em + - 6.7em + - 6.8em + - 6.9em + - 7em + - 7.1em + - 7.2em + - 7.3em + - 7.4em + - 7.5em + - 7.6em + - 7.7em + - 7.8em + - 7.9em + - 8em + - 8.1em + - 8.2em + - 8.3em + - 8.4em + - 8.5em + - 8.6em + - 8.7em + - 8.8em + - 8.9em + - 9em + - 9.1em + - 9.2em + - 9.3em + - 9.4em + - 9.5em + - 9.6em + - 9.7em + - 9.8em + - 9.9em + - 10em + - 10.1em + - 10.2em + - 10.3em + - 10.4em + - 10.5em + - 10.6em + - 10.7em + - 10.8em + - 10.9em + - 11em + - 11.1em + - 11.2em + - 11.3em + - 11.4em + - 11.5em + - 11.6em + - 11.7em + - 11.8em + - 11.9em + - 12em + type: string + size: + enum: + - 0.1em + - 0.2em + - 0.3em + - 0.4em + - 0.5em + - 0.6em + - 0.7em + - 0.8em + - 0.9em + - 1em + - 1.1em + - 1.2em + - 1.3em + - 1.4em + - 1.5em + - 1.6em + - 1.7em + - 1.8em + - 1.9em + - 2em + - 2.1em + - 2.2em + - 2.3em + - 2.4em + - 2.5em + - 2.6em + - 2.7em + - 2.8em + - 2.9em + - 3em + - 3.1em + - 3.2em + - 3.3em + - 3.4em + - 3.5em + - 3.6em + - 3.7em + - 3.8em + - 3.9em + - 4em + - 4.1em + - 4.2em + - 4.3em + - 4.4em + - 4.5em + - 4.6em + - 4.7em + - 4.8em + - 4.9em + - 5em + - 5.1em + - 5.2em + - 5.3em + - 5.4em + - 5.5em + - 5.6em + - 5.7em + - 5.8em + - 5.9em + - 6em + - 6.1em + - 6.2em + - 6.3em + - 6.4em + - 6.5em + - 6.6em + - 6.7em + - 6.8em + - 6.9em + - 7em + - 7.1em + - 7.2em + - 7.3em + - 7.4em + - 7.5em + - 7.6em + - 7.7em + - 7.8em + - 7.9em + - 8em + - 8.1em + - 8.2em + - 8.3em + - 8.4em + - 8.5em + - 8.6em + - 8.7em + - 8.8em + - 8.9em + - 9em + - 9.1em + - 9.2em + - 9.3em + - 9.4em + - 9.5em + - 9.6em + - 9.7em + - 9.8em + - 9.9em + - 10em + - 10.1em + - 10.2em + - 10.3em + - 10.4em + - 10.5em + - 10.6em + - 10.7em + - 10.8em + - 10.9em + - 11em + - 11.1em + - 11.2em + - 11.3em + - 11.4em + - 11.5em + - 11.6em + - 11.7em + - 11.8em + - 11.9em + - 12em + type: string + textDecoration: + enum: [ None, Overline, Strikethrough, Underline ] + type: string + wordSpacing: + enum: + - -1em + - -0.95em + - -0.9em + - -0.85em + - -0.8em + - -0.75em + - -0.7em + - -0.45em + - -0.4em + - -0.65em + - -0.6em + - -0.55em + - -0.5em + - -0.35em + - -0.3em + - -0.25em + - -0.2em + - -0.15em + - -0.1em + - -0.05em + - Normal + - 0.1em + - 0.15em + - 0.2em + - 0.25em + - 0.3em + - 0.35em + - 0.4em + - 0.45em + - 0.5em + - 0.55em + - 0.6em + - 0.65em + - 0.7em + - 0.75em + - 0.8em + - 0.85em + - 0.9em + - 0.95em + type: string + type: object + type: object + type: array + # @review + description: + Represents a Widget Instance in a Widget Page. + type: object WidgetPageSection: # @review description: From 1af6de241e348576e40e54311e17473fc435b098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Fri, 14 Jun 2024 12:54:06 +0200 Subject: [PATCH 225/260] LPD-x Add widget-instances endpoints to SitePages --- .../rest-openapi.yaml | 236 ++++++++++++++++++ 1 file changed, 236 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 06692f0dab23fc..8e14df31136d18 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -5579,6 +5579,242 @@ paths: $ref: "#/components/schemas/PageElement" # @review tags: ["PageElement"] + "/sites/{siteExternalReferenceCode}/widget-instances/{widgetInstanceExternalReferenceCode}": + delete: + description: + Deletes a widget instance of a specific widget page or widget page template within a site. + operationId: deleteSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["WidgetInstance"] + get: + description: + Retrieves a widget instance of a widget page or widget page template within a site. + operationId: getSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + tags: ["WidgetInstance"] + patch: + description: + Updates a widget instance of a widget page or widget page template within a site. Updates only the fields received in the request body, leaving any other fields untouched. + operationId: patchSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + tags: ["WidgetInstance"] + put: + description: + Updates a widget instance of a widget page or widget page template within a site. + operationId: putSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + tags: ["WidgetInstance"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/widget-instances": + get: + description: + Retrieves all the widget instances of a widget page. + operationId: getSiteSitePageWidgetInstancesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: flatten + schema: + type: boolean + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + # @review + tags: ["SitePage"] + post: + description: + Adds a new widget instance to a widget page. + operationId: postSiteSitePageWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: pageExperienceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + application/xml: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + application/xml: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + description: + default response + # @review + tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": get: description: From 389d37036f72aa4811871c13f195f00cfa11ee78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 11:27:13 +0200 Subject: [PATCH 226/260] LPD-x Remove readOnly from dateCreated, dateModified and UUID --- .../rest-openapi.yaml | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 8e14df31136d18..9933ce1a764eae 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -79,7 +79,6 @@ components: description: The last time the page template changed. format: date-time - readOnly: true type: string datePublished: # @review @@ -163,7 +162,6 @@ components: uuid: description: A valid external identifier to reference this page template. - readOnly: true type: string type: object ClassNameReference: @@ -540,7 +538,6 @@ components: description: The last time any field of the display page template was changed. format: date-time - readOnly: true type: string datePublished: # @review @@ -629,7 +626,6 @@ components: description: The last time any field of the display page template folder was changed. format: date-time - readOnly: true type: string description: # @review @@ -723,13 +719,11 @@ components: description: The structured content's creation date. format: date-time - readOnly: true type: string dateModified: description: The last time any field of the structured content was changed. format: date-time - readOnly: true type: string datePublished: description: @@ -1402,7 +1396,6 @@ components: description: The last time any field of the master page was changed. format: date-time - readOnly: true type: string datePublished: # @review @@ -2434,7 +2427,6 @@ components: description: The last time the page template set changed. format: date-time - readOnly: true type: string description: # @review @@ -2459,7 +2451,6 @@ components: uuid: description: A valid external identifier to reference this page template set. - readOnly: true type: string type: object PageWidgetInstanceDefinition: @@ -2717,7 +2708,6 @@ components: creator: # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" - readOnly: true creatorExternalReferenceCode: # @review description: @@ -2735,14 +2725,12 @@ components: description: The page's creation date. format: date-time - readOnly: true type: string dateModified: # @review description: The last time any field of the page was changed. format: date-time - readOnly: true type: string datePublished: # @review @@ -2848,7 +2836,6 @@ components: # @review description: A valid external identifier to reference this page. - readOnly: true type: string viewableBy: description: @@ -2884,23 +2871,6 @@ components: description: The localized submission of page type. type: object - Status: - # @review - description: - Represents the status of a resource - properties: - code: - # @review - description: - A number which identifies a specific status - format: int32 - readOnly: true - type: integer - label_i18n: - additionalProperties: - type: string - readOnly: true - type: object URLActionExecutionResult: # @review description: @@ -2947,7 +2917,6 @@ components: description: The last time the utility page changed. format: date-time - readOnly: true type: string datePublished: # @review From 909b742a36bf549887416a283ddfdcf5ca9788a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 11:27:55 +0200 Subject: [PATCH 227/260] LPD-x Remove name from ClientExtension, since it's not needed to reference a ClientExtension --- .../headless-admin-site-impl/rest-openapi.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 9933ce1a764eae..95db294b173abc 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -193,11 +193,6 @@ components: description: The client extension's external reference code. type: string - name: - description: - The client extension's name. - readOnly: true - type: string type: object CollectionConfig: properties: From 0563670d342e5372409c71947b3f6e0ce18eb492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 11:28:15 +0200 Subject: [PATCH 228/260] LPD-x Remove ContentDocument --- .../rest-openapi.yaml | 62 ------------------- 1 file changed, 62 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 95db294b173abc..d0c2d9ca91fba9 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -262,68 +262,6 @@ components: - columnViewportDefinition - id type: object - ContentDocument: - description: - Represents a document (binary data and metadata) associated with structured content. Properties follow - the [Media Object](https://schema.org/MediaObject) specification. - properties: - actions: - additionalProperties: - additionalProperties: - type: string - type: object - # @review - description: - Block of actions allowed by the user making the request. - readOnly: true - type: object - contentType: - description: - The type of content. - readOnly: true - type: string - contentUrl: - description: - The document's relative URL. - format: uri - readOnly: true - type: string - contentValue: - # @review - description: - optional field with the content of the document in Base64, can be embedded with nestedFields - readOnly: true - type: string - description: - description: - The document's description. - type: string - encodingFormat: - description: - The document's content type (e.g., `application/pdf`, etc.). - readOnly: true - type: string - fileExtension: - description: - The document's file extension. - readOnly: true - type: string - id: - description: - The document's ID. - format: int64 - type: integer - sizeInBytes: - description: - The document's file size in bytes. - format: int64 - readOnly: true - type: integer - title: - description: - The document's title. - type: string - type: object PageElement: # @review description: From 7aa3b74027be655351c688bf79dba7ebe54f0fc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 11:29:31 +0200 Subject: [PATCH 229/260] LPD-x Include collectionExternalReferenceCode and externalReferenceCode in Fragment rather than collectionName --- .../headless-admin-site-impl/rest-openapi.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d0c2d9ca91fba9..cfbfdbecee3824 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -607,10 +607,15 @@ components: description: Represents a template made up of CSS, HTML, and JavaScript used to build Content Pages. properties: - collectionName: + collectionExternalReferenceCode: + # @review + description: + The external reference code of the collection this fragment belongs to. + type: string + externalReferenceCode: # @review description: - The collection name this fragment belongs to. + The external reference code of this fragment composition. type: string key: # @review From a5de8a7d6b57877357e06d08207ec68ee569cc5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 11:32:59 +0200 Subject: [PATCH 230/260] LPD-x Use ItemExternalReference instead of ContentDocument --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index cfbfdbecee3824..d65aee669a887f 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1484,7 +1484,7 @@ components: The localized Open Graph's descriptions. type: object image: - $ref: "#/components/schemas/ContentDocument" + $ref: "#/components/schemas/ItemExternalReference" # @review description: The Open Graph's image. @@ -2569,7 +2569,7 @@ components: The FavIcon of the page specification oneOf: - $ref: "#/components/schemas/ClientExtension" - - $ref: "#/components/schemas/ContentDocument" + - $ref: "#/components/schemas/ItemExternalReference" globalCSSClientExtensions: description: The client extensions for global css associated to the page. From 644d916be76d4f5f028b87277464b630aa496abb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 11:33:31 +0200 Subject: [PATCH 231/260] LPD-x Use ItemExternalReference instead of Fragment for allowedFragments and unallowedFragments --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d65aee669a887f..cf8601b09a5d09 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -957,7 +957,7 @@ components: description: A list of allowed fragments. items: - $ref: "#/components/schemas/Fragment" + $ref: "#/components/schemas/ItemExternalReference" type: array type: object FragmentSettingsUnallowed: @@ -967,7 +967,7 @@ components: properties: unallowedFragments: items: - $ref: "#/components/schemas/Fragment" + $ref: "#/components/schemas/ItemExternalReference" type: array type: object FragmentStyle: From bd2b0c506f6642ade8715051bcce75dfd444d51f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 11:34:51 +0200 Subject: [PATCH 232/260] LPD-x Declare siteExternalReferenceCode as read only, since a SitePage cannot be moved from one Site to another --- .../headless-admin-site-impl/rest-openapi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index cf8601b09a5d09..7a0c8df0cf2e18 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2741,6 +2741,7 @@ components: # @review description: The external reference code of the site to which this page is scoped. + readOnly: true type: string taxonomyCategories: # @review From ab2df5049288c973efdcaef27ec3057456380aa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 15:06:01 +0200 Subject: [PATCH 233/260] LPD-x Fix parameter name --- .../headless-admin-site-impl/rest-openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 7a0c8df0cf2e18..26c4a7affb8b05 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -5686,7 +5686,7 @@ paths: schema: type: string - in: path - name: pageExperienceExternalReferenceCode + name: sitePageExternalReferenceCode required: true schema: type: string From 5e1ece955ba9847e4467dadaff258f79cea85d51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 15:10:22 +0200 Subject: [PATCH 234/260] LPD-x Remove flatten from widget-instances endpoint, since no hierarchical list is returned --- .../headless-admin-site-impl/rest-openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 26c4a7affb8b05..f409b132d317bf 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -5648,10 +5648,6 @@ paths: name: fields schema: type: string - - in: query - name: flatten - schema: - type: boolean - in: query name: nestedFields schema: From 61f204f55e4168c6b22065951f077109f2cbd4fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 15:18:43 +0200 Subject: [PATCH 235/260] LPD-x Update oldFriendlyUrlPath_i18n description so it's clear that it is not returned by default and cam be embedded via nestedFields --- .../headless-admin-site-impl/rest-openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index f409b132d317bf..ad344f89604fc1 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2708,7 +2708,7 @@ components: type: array # @review description: - The old localized relative URLs to the page's rendered content. + The old localized relative URLs to the page's rendered content. This field is not returned by default. It can be requested via nestedFields. type: object pageSettings: # @review From 95fae71965137a1ea23ba9ee2e519097da351402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 15:32:22 +0200 Subject: [PATCH 236/260] LPD-x Extract oldFriendlyUrlPath_i18n to FriendlyUrlHistory so it can be referenced from a separate endpoint --- .../rest-openapi.yaml | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index ad344f89604fc1..a8ba2c089c0077 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -1271,6 +1271,21 @@ components: - fragmentViewportStyle - id type: object + FriendlyUrlHistory: + # @review + description: + Represents the history of previously used URLs for a page to prevent broken links and provide an easy way to revert changes. + properties: + friendlyUrlPath_i18n: + additionalProperties: + items: + type: string + type: array + # @review + description: + The old localized relative URLs to the page's rendered content. + type: object + type: object Geo: description: A point determined by latitude and longitude. @@ -2701,15 +2716,11 @@ components: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" readOnly: true type: array - oldFriendlyUrlPath_i18n: - additionalProperties: - items: - type: string - type: array + friendlyUrlHistory: # @review description: - The old localized relative URLs to the page's rendered content. This field is not returned by default. It can be requested via nestedFields. - type: object + The the history of previously used URLs to the page's rendered content. This field is not returned by default. It can be requested via nestedFields. + $ref: "#/components/schemas/FriendlyUrlHistory" pageSettings: # @review description: From 588e5e362a106cb8b04ab263c946156ee94b75f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 15:35:26 +0200 Subject: [PATCH 237/260] LPD-x Add specific endpoint to retrieve the friendly url history --- .../rest-openapi.yaml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index a8ba2c089c0077..17c47e16ac3f2d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -8209,6 +8209,46 @@ paths: description: default response tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/friendly-url-history": + get: + description: + Retrieves the history of previously used URLs for a page. + operationId: getSiteSitePageFriendlyUrlHistory + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/FriendlyUrlHistory" + application/xml: + schema: + items: + $ref: "#/components/schemas/FriendlyUrlHistory" + # @review + tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": get: description: From b5f95223e38d43a501c4aeefb2b85b023d1780eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 18:20:43 +0200 Subject: [PATCH 238/260] LPD-x Remove deprecated fields --- .../rest-openapi.yaml | 205 +++--------------- 1 file changed, 31 insertions(+), 174 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 17c47e16ac3f2d..a93deb0fe2f079 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -617,17 +617,43 @@ components: description: The external reference code of this fragment composition. type: string - key: + fragmentReference: # @review description: - The fragment's key. + An external reference to the fragment. + $ref: "#/components/schemas/ItemExternalReference" + html: + # @review + description: + The fragment instance's html. type: string - name: + js: + # @review + description: + The fragment's html. + type: string + namespace: + # @review + description: + The fragment instance's namespace. + type: string + type: # @review description: - The fragment's name. + The fragment instance's type. + enum: [Component, Input, React] type: string - siteKey: + datePropagated: + description: + The fragment instance's most recent propagation date. + format: date-time + type: string + datePublished: + description: + The fragment instance's most recent publication date. + format: date-time + type: string + uuid: # @review description: The key of the site to which this fragment is scoped. @@ -759,22 +785,6 @@ components: # @review description: The fragment field's background image. - backgroundImage: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" - properties: - description: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - title: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - url: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object type: object FragmentFieldHTML: # @review @@ -889,15 +899,6 @@ components: description: Represents a fragment link. properties: - href: - deprecated: true - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - target: - deprecated: true - enum: [Blank, Parent, Self, Top] - type: string value_i18n: additionalProperties: $ref: "#/components/schemas/FragmentLinkValue" @@ -1628,17 +1629,8 @@ components: enum: [ None, Numeric, - # "Deprecated as of Cavanaugh (7.4.x), replaced by Numeric" - Regular, Simple] type: string - showAllItems: - deprecated: true - # @review - description: - Whether to show all items when pagination is enabled. Deprecated as of Cavanaugh (7.4.x), - replaced by displayAllPages - type: boolean templateKey: # @review description: @@ -1661,33 +1653,6 @@ components: description: Represents a definition of a Page Column. properties: - columnViewportConfig: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by columnViewports" - properties: - landscapeMobile: - properties: - size: - maximum: 12 - minimum: 1 - type: integer - type: object - portraitMobile: - properties: - size: - maximum: 12 - minimum: 1 - type: integer - type: object - tablet: - properties: - size: - maximum: 12 - minimum: 1 - type: integer - type: object - type: object columnViewports: # @review description: @@ -1708,30 +1673,11 @@ components: description: Represents a definition of a Page section. properties: - backgroundColor: - deprecated: true - type: string backgroundFragmentImage: $ref: "#/components/schemas/FragmentImage" # @review description: The background fragment image of the page section. - backgroundImage: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by backgroundFragmentImage" - properties: - description: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - title: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - url: - oneOf: - - $ref: "#/components/schemas/FragmentInlineValue" - - $ref: "#/components/schemas/FragmentMappedValue" - type: object contentVisibility: # @review description: @@ -1792,71 +1738,15 @@ components: description: the page section's layout. properties: - align: - deprecated: true - enum: [Baseline, Center, End, None, Start, Stretch] - type: string - borderColor: - deprecated: true - type: string - borderRadius: - deprecated: true - enum: [Circle, Large, None, Pill, Regular] - type: string - borderWidth: - deprecated: true - type: integer containerType: # @review description: The container's type (fixed or fluid). enum: [Fixed, Fluid] type: string - contentDisplay: - deprecated: true - enum: [Block, FlexColumn, FlexRow] - type: string flexWrap: enum: [NoWrap, Wrap, WrapReverse] type: string - justify: - deprecated: true - enum: [Center, End, None, SpaceAround, SpaceBetween, Start] - type: string - marginBottom: - deprecated: true - type: integer - marginLeft: - deprecated: true - type: integer - marginRight: - deprecated: true - type: integer - marginTop: - deprecated: true - type: integer - opacity: - deprecated: true - type: integer - paddingBottom: - deprecated: true - type: integer - paddingHorizontal: - deprecated: true - type: integer - paddingLeft: - deprecated: true - type: integer - paddingRight: - deprecated: true - type: integer - paddingTop: - deprecated: true - type: integer - shadow: - deprecated: true - enum: [Default, Large, None, Regular, Small] - type: string widthType: # @review description: @@ -2211,39 +2101,6 @@ components: description: A flag that indicates whether the page row has reverse order. type: boolean - rowViewportConfig: - deprecated: true - description: - "Deprecated as of Athanasius (7.3.x), replaced by rowViewports" - properties: - landscapeMobile: - properties: - modulesPerRow: - type: integer - reverseOrder: - type: boolean - verticalAlignment: - type: string - type: object - portraitMobile: - properties: - modulesPerRow: - type: integer - reverseOrder: - type: boolean - verticalAlignment: - type: string - type: object - tablet: - properties: - modulesPerRow: - type: integer - reverseOrder: - type: boolean - verticalAlignment: - type: string - type: object - type: object rowViewports: # @review description: From a83d6ca6f9c92f3e1655dff808d94d71b2b7df46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Mon, 17 Jun 2024 23:59:49 +0200 Subject: [PATCH 239/260] LPD-x Add missing fields to PageFragmentInstanceDefinition --- .../rest-openapi.yaml | 81 +++++++++++++++++-- 1 file changed, 75 insertions(+), 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index a93deb0fe2f079..5f2c4b6e434065 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -612,6 +612,23 @@ components: description: The external reference code of the collection this fragment belongs to. type: string + configuration: + additionalProperties: + type: object + # @review + description: + The fragment instance's configuration. + type: object + css: + # @review + description: + The fragment instance's css. + type: string + defaultFragmentKey: + # @review + description: + The key of the referenced fragment if it is a Default fragment. + type: string externalReferenceCode: # @review description: @@ -656,8 +673,7 @@ components: uuid: # @review description: - The key of the site to which this fragment is scoped. - readOnly: true + A valid external identifier to reference this fragment instance. type: string type: object FragmentComposition: @@ -1977,7 +1993,7 @@ components: customCSS: # @review description: - Custom CSS that is applied on the fragment. + Custom CSS that is applied on the fragment instance. type: string customCSSViewports: # @review @@ -1986,11 +2002,41 @@ components: items: $ref: "#/components/schemas/CustomCSSViewport" type: array - fragment: - $ref: "#/components/schemas/Fragment" + datePropagated: + description: + The fragment instance's most recent propagation date. + format: date-time + type: string + datePublished: + description: + The fragment instance's most recent publication date. + format: date-time + type: string + defaultFragmentKey: + # @review + description: + The key of the fragment if it is a default fragment. + type: string + fragmentCSS: + # @review + description: + The fragment's css at the time the fragment was added to the page or page template or last propagated. + type: string + fragmentHtml: # @review description: - The fragment of the page fragment instance. + The fragment's html at the time the fragment was added to the page or page template or last propagated. + type: string + fragmentJS: + # @review + description: + The fragment's js at the time the fragment was added to the page or page template or last propagated. + type: string + fragmentReference: + # @review + description: + An external reference to the fragment. + $ref: "#/components/schemas/ItemExternalReference" fragmentConfig: additionalProperties: type: object @@ -2005,6 +2051,13 @@ components: items: $ref: "#/components/schemas/FragmentField" type: array + fragmentInstanceConfigValues: + additionalProperties: + type: object + # @review + description: + The page fragment instance's configuration. + type: object fragmentStyle: $ref: "#/components/schemas/FragmentStyle" # @review @@ -2027,6 +2080,22 @@ components: description: The custom name of a Page Fragment Instance. type: string + namespace: + # @review + description: + The fragment instance's namespace. + type: string + type: + # @review + description: + The fragment instance's type. + enum: [Component, Input, React] + type: string + uuid: + # @review + description: + A valid external identifier to reference this fragment instance. + type: string widgetInstances: # @review description: From 386bb221a616ecfd8909a6eb0dc2d35a53e880c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 01:02:12 +0200 Subject: [PATCH 240/260] LPD-x Use array with brackets to avoid SF problem --- .../site/client/aggregation/Aggregation.java | 30 + .../admin/site/client/aggregation/Facet.java | 70 ++ .../site/client/function/UnsafeSupplier.java | 20 + .../admin/site/client/http/HttpInvoker.java | 461 +++++++++++++ .../site/client/json/BaseJSONParser.java | 646 ++++++++++++++++++ .../admin/site/client/pagination/Page.java | 301 ++++++++ .../site/client/pagination/Pagination.java | 65 ++ .../site/client/permission/Permission.java | 120 ++++ .../admin/site/client/problem/Problem.java | 176 +++++ .../rest-openapi.yaml | 103 +-- .../HeadlessAdminSiteApplication.java | 29 + 11 files changed, 1920 insertions(+), 101 deletions(-) create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Aggregation.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Facet.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/function/UnsafeSupplier.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/http/HttpInvoker.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/json/BaseJSONParser.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Page.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Pagination.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/permission/Permission.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/problem/Problem.java create mode 100644 modules/apps/headless/headless-admin-site/headless-admin-site-impl/src/main/java/com/liferay/headless/admin/site/internal/jaxrs/application/HeadlessAdminSiteApplication.java diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Aggregation.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Aggregation.java new file mode 100644 index 00000000000000..c29c4991c8b716 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Aggregation.java @@ -0,0 +1,30 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.aggregation; + +import java.util.HashMap; +import java.util.Map; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public class Aggregation { + + public Map getAggregationTerms() { + return _aggregationTerms; + } + + public void setAggregationTerms(Map aggregationTerms) { + _aggregationTerms = aggregationTerms; + } + + private Map _aggregationTerms = new HashMap<>(); + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Facet.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Facet.java new file mode 100644 index 00000000000000..6cd322d49d9926 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/aggregation/Facet.java @@ -0,0 +1,70 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.aggregation; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public class Facet { + + public Facet() { + } + + public Facet(String facetCriteria, List facetValues) { + _facetCriteria = facetCriteria; + _facetValues = facetValues; + } + + public String getFacetCriteria() { + return _facetCriteria; + } + + public List getFacetValues() { + return _facetValues; + } + + public void setFacetCriteria(String facetCriteria) { + _facetCriteria = facetCriteria; + } + + public void setFacetValues(List facetValues) { + _facetValues = facetValues; + } + + public static class FacetValue { + + public FacetValue() { + } + + public FacetValue(Integer numberOfOccurrences, String term) { + _numberOfOccurrences = numberOfOccurrences; + _term = term; + } + + public Integer getNumberOfOccurrences() { + return _numberOfOccurrences; + } + + public String getTerm() { + return _term; + } + + private Integer _numberOfOccurrences; + private String _term; + + } + + private String _facetCriteria; + private List _facetValues = new ArrayList<>(); + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/function/UnsafeSupplier.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/function/UnsafeSupplier.java new file mode 100644 index 00000000000000..08816addd66d38 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/function/UnsafeSupplier.java @@ -0,0 +1,20 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.function; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@FunctionalInterface +@Generated("") +public interface UnsafeSupplier { + + public T get() throws E; + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/http/HttpInvoker.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/http/HttpInvoker.java new file mode 100644 index 00000000000000..abaf5684727ba9 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/http/HttpInvoker.java @@ -0,0 +1,461 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.http; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; + +import java.lang.reflect.Field; + +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; + +import java.util.Base64; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public class HttpInvoker { + + public static HttpInvoker newHttpInvoker() { + return new HttpInvoker(); + } + + public HttpInvoker body(String body, String contentType) { + _body = body; + _contentType = contentType; + + return this; + } + + public HttpInvoker header(String name, String value) { + _headers.put(name, value); + + return this; + } + + public HttpInvoker httpMethod(HttpMethod httpMethod) { + _httpMethod = httpMethod; + + return this; + } + + public HttpResponse invoke() throws IOException { + HttpResponse httpResponse = new HttpResponse(); + + HttpURLConnection httpURLConnection = _openHttpURLConnection(); + + byte[] binaryContent = _readResponse(httpURLConnection); + + httpResponse.setBinaryContent(binaryContent); + httpResponse.setContent(new String(binaryContent)); + + httpResponse.setContentType( + httpURLConnection.getHeaderField("Content-Type")); + httpResponse.setMessage(httpURLConnection.getResponseMessage()); + httpResponse.setStatusCode(httpURLConnection.getResponseCode()); + + httpURLConnection.disconnect(); + + return httpResponse; + } + + public HttpInvoker multipart() { + _contentType = + "multipart/form-data; charset=utf-8; boundary=__MULTIPART_BOUNDARY__"; + _multipartBoundary = "__MULTIPART_BOUNDARY__"; + + return this; + } + + public HttpInvoker parameter(String name, String value) { + return parameter(name, new String[] {value}); + } + + public HttpInvoker parameter(String name, String[] values) { + String[] oldValues = _parameters.get(name); + + if (oldValues != null) { + String[] newValues = new String[oldValues.length + values.length]; + + System.arraycopy(oldValues, 0, newValues, 0, oldValues.length); + System.arraycopy( + values, 0, newValues, oldValues.length, values.length); + + _parameters.put(name, newValues); + } + else { + _parameters.put(name, values); + } + + return this; + } + + public HttpInvoker part(String name, File file) { + _files.put(name, file); + + return this; + } + + public HttpInvoker part(String name, String value) { + _parts.put(name, value); + + return this; + } + + public HttpInvoker path(String path) { + _path = path; + + return this; + } + + public HttpInvoker path(String name, Object value) { + _path = _path.replaceFirst("\\{" + name + "\\}", String.valueOf(value)); + + return this; + } + + public HttpInvoker userNameAndPassword(String userNameAndPassword) + throws IOException { + + Base64.Encoder encoder = Base64.getEncoder(); + + _encodedUserNameAndPassword = new String( + encoder.encode(userNameAndPassword.getBytes("UTF-8")), "UTF-8"); + + return this; + } + + public enum HttpMethod { + + DELETE, GET, PATCH, POST, PUT + + } + + public class HttpResponse { + + public byte[] getBinaryContent() { + return _binaryContent; + } + + public String getContent() { + return _content; + } + + public String getContentType() { + return _contentType; + } + + public String getMessage() { + return _message; + } + + public int getStatusCode() { + return _statusCode; + } + + public void setBinaryContent(byte[] binaryContent) { + _binaryContent = binaryContent; + } + + public void setContent(String content) { + _content = content; + } + + public void setContentType(String contentType) { + _contentType = contentType; + } + + public void setMessage(String message) { + _message = message; + } + + public void setStatusCode(int statusCode) { + _statusCode = statusCode; + } + + private byte[] _binaryContent; + private String _content; + private String _contentType; + private String _message; + private int _statusCode; + + } + + private HttpInvoker() { + } + + private void _appendPart( + OutputStream outputStream, PrintWriter printWriter, String key, + Object value) + throws IOException { + + printWriter.append("\r\n--"); + printWriter.append(_multipartBoundary); + printWriter.append("\r\nContent-Disposition: form-data; name=\""); + printWriter.append(key); + printWriter.append("\";"); + + if (value instanceof File) { + File file = (File)value; + + printWriter.append(" filename=\""); + printWriter.append(_filter(file.getName())); + printWriter.append("\"\r\nContent-Type: "); + printWriter.append( + URLConnection.guessContentTypeFromName(file.getName())); + printWriter.append("\r\n\r\n"); + + printWriter.flush(); + + byte[] buffer = new byte[4096]; + FileInputStream fileInputStream = new FileInputStream(file); + int read = -1; + + while ((read = fileInputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, read); + } + + outputStream.flush(); + + fileInputStream.close(); + } + else { + printWriter.append("\r\n\r\n"); + printWriter.append(value.toString()); + } + + printWriter.append("\r\n"); + } + + private String _filter(String fileName) { + fileName = fileName.replaceAll("\"", ""); + fileName = fileName.replaceAll("\n", ""); + fileName = fileName.replaceAll("\r", ""); + + return fileName; + } + + private HttpURLConnection _getHttpURLConnection( + HttpMethod httpMethod, String urlString) + throws IOException { + + URL url = new URL(urlString); + + HttpURLConnection httpURLConnection = + (HttpURLConnection)url.openConnection(); + + try { + HttpURLConnection methodHttpURLConnection = httpURLConnection; + + if (Objects.equals(url.getProtocol(), "https")) { + Class clazz = httpURLConnection.getClass(); + + Field field = clazz.getDeclaredField("delegate"); + + field.setAccessible(true); + + methodHttpURLConnection = (HttpURLConnection)field.get( + httpURLConnection); + } + + _methodField.set(methodHttpURLConnection, httpMethod.name()); + } + catch (ReflectiveOperationException reflectiveOperationException) { + throw new IOException(reflectiveOperationException); + } + + return httpURLConnection; + } + + private String _getQueryString() throws IOException { + StringBuilder sb = new StringBuilder(); + + Set> set = _parameters.entrySet(); + + Iterator> iterator = set.iterator(); + + while (iterator.hasNext()) { + Map.Entry entry = iterator.next(); + + String[] values = entry.getValue(); + + for (int i = 0; i < values.length; i++) { + String name = URLEncoder.encode(entry.getKey(), "UTF-8"); + + sb.append(name); + + sb.append("="); + + String value = URLEncoder.encode(values[i], "UTF-8"); + + sb.append(value); + + if ((i + 1) < values.length) { + sb.append("&"); + } + } + + if (iterator.hasNext()) { + sb.append("&"); + } + } + + return sb.toString(); + } + + private HttpURLConnection _openHttpURLConnection() throws IOException { + String urlString = _path; + + String queryString = _getQueryString(); + + if (queryString.length() > 0) { + if (!urlString.contains("?")) { + urlString += "?"; + } + + urlString += queryString; + } + + HttpURLConnection httpURLConnection = _getHttpURLConnection( + _httpMethod, urlString); + + if (_encodedUserNameAndPassword != null) { + httpURLConnection.setRequestProperty( + "Authorization", "Basic " + _encodedUserNameAndPassword); + } + + if (_contentType != null) { + httpURLConnection.setRequestProperty("Content-Type", _contentType); + } + + for (Map.Entry header : _headers.entrySet()) { + httpURLConnection.setRequestProperty( + header.getKey(), header.getValue()); + } + + _writeBody(httpURLConnection); + + return httpURLConnection; + } + + private byte[] _readResponse(HttpURLConnection httpURLConnection) + throws IOException { + + ByteArrayOutputStream byteArrayOutputStream = + new ByteArrayOutputStream(); + + InputStream inputStream = null; + + int responseCode = httpURLConnection.getResponseCode(); + + if (responseCode > 299) { + inputStream = httpURLConnection.getErrorStream(); + } + else { + inputStream = httpURLConnection.getInputStream(); + } + + byte[] bytes = new byte[8192]; + + while (true) { + int read = inputStream.read(bytes, 0, bytes.length); + + if (read == -1) { + break; + } + + byteArrayOutputStream.write(bytes, 0, read); + } + + byteArrayOutputStream.flush(); + + return byteArrayOutputStream.toByteArray(); + } + + private void _writeBody(HttpURLConnection httpURLConnection) + throws IOException { + + if ((_body == null) && _files.isEmpty() && _parts.isEmpty()) { + return; + } + + httpURLConnection.setDoOutput(true); + + OutputStream outputStream = httpURLConnection.getOutputStream(); + + try (PrintWriter printWriter = new PrintWriter( + new OutputStreamWriter(outputStream, "UTF-8"), true)) { + + if (_contentType.startsWith("multipart/form-data")) { + for (Map.Entry entry : _parts.entrySet()) { + _appendPart( + outputStream, printWriter, entry.getKey(), + entry.getValue()); + } + + for (Map.Entry entry : _files.entrySet()) { + _appendPart( + outputStream, printWriter, entry.getKey(), + entry.getValue()); + } + + printWriter.append("--" + _multipartBoundary + "--"); + + printWriter.flush(); + + outputStream.flush(); + } + else { + printWriter.append(_body); + + printWriter.flush(); + } + } + } + + private static final Field _methodField; + + static { + try { + _methodField = HttpURLConnection.class.getDeclaredField("method"); + + _methodField.setAccessible(true); + } + catch (Exception exception) { + throw new ExceptionInInitializerError(exception); + } + } + + private String _body; + private String _contentType; + private String _encodedUserNameAndPassword; + private final Map _files = new LinkedHashMap<>(); + private final Map _headers = new LinkedHashMap<>(); + private HttpMethod _httpMethod = HttpMethod.GET; + private String _multipartBoundary; + private final Map _parameters = new LinkedHashMap<>(); + private final Map _parts = new LinkedHashMap<>(); + private String _path; + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/json/BaseJSONParser.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/json/BaseJSONParser.java new file mode 100644 index 00000000000000..5b653c7f7e49ff --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/json/BaseJSONParser.java @@ -0,0 +1,646 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.json; + +import java.math.BigDecimal; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Stack; +import java.util.TreeMap; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public abstract class BaseJSONParser { + + public static final String[][] JSON_ESCAPE_STRINGS = new String[][] { + {"\\", "\\\\"}, {"\"", "\\\""}, {"\b", "\\b"}, {"\f", "\\f"}, + {"\n", "\\n"}, {"\r", "\\r"}, {"\t", "\\t"} + }; + + public T parseToDTO(String json) { + if (json == null) { + throw new IllegalArgumentException("JSON is null"); + } + + _init(json); + + _assertStartsWithAndEndsWith("{", "}"); + + T dto = createDTO(); + + if (_isEmpty()) { + return dto; + } + + _readNextChar(); + + _readWhileLastCharIsWhiteSpace(); + + _readNextChar(); + + if (_isLastChar('}')) { + _readWhileLastCharIsWhiteSpace(); + + if (!_isEndOfJSON()) { + _readNextChar(); + + throw new IllegalArgumentException( + "Expected end of JSON, but found '" + _lastChar + "'"); + } + + return dto; + } + + do { + _readWhileLastCharIsWhiteSpace(); + + String fieldName = _readValueAsString(); + + _readWhileLastCharIsWhiteSpace(); + + _assertLastChar(':'); + + _readNextChar(); + + _readWhileLastCharIsWhiteSpace(); + + setField(dto, fieldName, _readValue()); + + _readWhileLastCharIsWhiteSpace(); + } + while (_ifLastCharMatchesThenRead(',')); + + return dto; + } + + public T[] parseToDTOs(String json) { + if (json == null) { + throw new IllegalArgumentException("JSON is null"); + } + + _init(json); + + _assertStartsWithAndEndsWith("[", "]"); + + if (_isEmpty()) { + return createDTOArray(0); + } + + _readNextChar(); + + _readWhileLastCharIsWhiteSpace(); + + if (_isLastChar(']')) { + _readNextChar(); + + return createDTOArray(0); + } + + _readWhileLastCharIsWhiteSpace(); + + Object[] objects = (Object[])_readValue(); + + T[] dtos = createDTOArray(objects.length); + + for (int i = 0; i < dtos.length; i++) { + dtos[i] = parseToDTO((String)objects[i]); + } + + return dtos; + } + + public Map parseToMap(String json) { + if (json == null) { + throw new IllegalArgumentException("JSON is null"); + } + + _init(json); + + _assertStartsWithAndEndsWith("{", "}"); + + Map map = new TreeMap<>(); + + _setCaptureStart(); + + _readNextChar(); + + _readNextChar(); + + _readWhileLastCharIsWhiteSpace(); + + if (_isLastChar('}')) { + return map; + } + + do { + _readWhileLastCharIsWhiteSpace(); + + String key = _readValueAsString(); + + _readWhileLastCharIsWhiteSpace(); + + if (!_ifLastCharMatchesThenRead(':')) { + throw new IllegalArgumentException("Expected ':'"); + } + + _readWhileLastCharIsWhiteSpace(); + + map.put(key, _readValue(true)); + + _readWhileLastCharIsWhiteSpace(); + } + while (_ifLastCharMatchesThenRead(',')); + + _readWhileLastCharIsWhiteSpace(); + + if (!_ifLastCharMatchesThenRead('}')) { + throw new IllegalArgumentException( + "Expected either ',' or '}', but found '" + _lastChar + "'"); + } + + return map; + } + + protected abstract T createDTO(); + + protected abstract T[] createDTOArray(int size); + + protected abstract void setField( + T dto, String jsonParserFieldName, Object jsonParserFieldValue); + + protected BigDecimal[] toBigDecimals(Object[] objects) { + BigDecimal[] bigdecimals = new BigDecimal[objects.length]; + + for (int i = 0; i < bigdecimals.length; i++) { + bigdecimals[i] = new BigDecimal(objects[i].toString()); + } + + return bigdecimals; + } + + protected Date toDate(String string) { + try { + return _dateFormat.parse(string); + } + catch (ParseException pe) { + throw new IllegalArgumentException( + "Unable to parse date from " + string, pe); + } + } + + protected Date[] toDates(Object[] objects) { + Date[] dates = new Date[objects.length]; + + for (int i = 0; i < dates.length; i++) { + dates[i] = toDate((String)objects[i]); + } + + return dates; + } + + protected Integer[] toIntegers(Object[] objects) { + Integer[] integers = new Integer[objects.length]; + + for (int i = 0; i < integers.length; i++) { + integers[i] = Integer.valueOf(objects[i].toString()); + } + + return integers; + } + + protected Long[] toLongs(Object[] objects) { + Long[] longs = new Long[objects.length]; + + for (int i = 0; i < longs.length; i++) { + longs[i] = Long.valueOf(objects[i].toString()); + } + + return longs; + } + + protected String toString(Date date) { + return _dateFormat.format(date); + } + + protected String[] toStrings(Object[] objects) { + String[] strings = new String[objects.length]; + + for (int i = 0; i < strings.length; i++) { + strings[i] = (String)objects[i]; + } + + return strings; + } + + private void _assertLastChar(char c) { + if (_lastChar != c) { + throw new IllegalArgumentException( + String.format( + "Expected last char '%s', but found '%s'", c, _lastChar)); + } + } + + private void _assertStartsWithAndEndsWith(String prefix, String sufix) { + if (!_json.startsWith(prefix)) { + throw new IllegalArgumentException( + String.format( + "Expected starts with '%s', but found '%s' in '%s'", prefix, + _json.charAt(0), _json)); + } + + if (!_json.endsWith(sufix)) { + throw new IllegalArgumentException( + String.format( + "Expected ends with '%s', but found '%s' in '%s'", sufix, + _json.charAt(_json.length() - 1), _json)); + } + } + + private String _getCapturedJSONSubstring() { + return _json.substring(_captureStartStack.pop(), _index - 1); + } + + private String _getCapturedSubstring() { + return _unescape(_getCapturedJSONSubstring()); + } + + private boolean _ifLastCharMatchesThenRead(char ch) { + if (_lastChar != ch) { + return false; + } + + _readNextChar(); + + return true; + } + + private void _init(String json) { + _captureStartStack = new Stack<>(); + _dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX"); + _index = 0; + _json = json.trim(); + _lastChar = 0; + } + + private boolean _isCharEscaped(String string, int index) { + int backslashCount = 0; + + while (((index - 1 - backslashCount) >= 0) && + (string.charAt(index - 1 - backslashCount) == '\\')) { + + backslashCount++; + } + + if ((backslashCount % 2) == 0) { + return false; + } + + return true; + } + + private boolean _isEmpty() { + String substring = _json.substring(1, _json.length() - 1); + + substring = substring.trim(); + + return substring.isEmpty(); + } + + private boolean _isEndOfJSON() { + if (_index == _json.length()) { + return true; + } + + return false; + } + + private boolean _isLastChar(char c) { + if (_lastChar == c) { + return true; + } + + return false; + } + + private boolean _isLastCharDecimalSeparator() { + if (_lastChar == '.') { + return true; + } + + return false; + } + + private boolean _isLastCharDigit() { + if ((_lastChar >= '0') && (_lastChar <= '9')) { + return true; + } + + return false; + } + + private boolean _isLastCharNegative() { + if (_lastChar == '-') { + return true; + } + + return false; + } + + private boolean _isLastCharPositive() { + if (_lastChar == '+') { + return true; + } + + return false; + } + + private boolean _isLastCharScientificNotation() { + if (_lastChar == 'E') { + return true; + } + + return false; + } + + private void _readNextChar() { + if (!_isEndOfJSON()) { + _lastChar = _json.charAt(_index++); + } + } + + private Object _readValue() { + return _readValue(false); + } + + private Object _readValue(boolean parseMaps) { + if (_lastChar == '[') { + return _readValueAsArray(); + } + else if (_lastChar == 'f') { + return _readValueAsBooleanFalse(); + } + else if (_lastChar == 't') { + return _readValueAsBooleanTrue(); + } + else if (_lastChar == 'n') { + return _readValueAsObjectNull(); + } + else if (_lastChar == '"') { + return _readValueAsString(); + } + else if (parseMaps && (_lastChar == '{')) { + try { + Class clazz = getClass(); + + BaseJSONParser baseJSONParser = clazz.newInstance(); + + return baseJSONParser.parseToMap(_readValueAsStringJSON()); + } + catch (Exception e) { + throw new IllegalArgumentException( + "Expected JSON object or map"); + } + } + else if (_lastChar == '{') { + return _readValueAsStringJSON(); + } + else if ((_lastChar == '-') || (_lastChar == '0') || + (_lastChar == '1') || (_lastChar == '2') || + (_lastChar == '3') || (_lastChar == '4') || + (_lastChar == '5') || (_lastChar == '6') || + (_lastChar == '7') || (_lastChar == '8') || + (_lastChar == '9')) { + + return _readValueAsStringNumber(); + } + else { + throw new IllegalArgumentException(); + } + } + + private Object[] _readValueAsArray() { + List objects = new ArrayList<>(); + + _readNextChar(); + + _readWhileLastCharIsWhiteSpace(); + + if (_isLastChar(']')) { + _readNextChar(); + + return objects.toArray(); + } + + do { + _readWhileLastCharIsWhiteSpace(); + + objects.add(_readValue()); + + _readWhileLastCharIsWhiteSpace(); + } + while (_ifLastCharMatchesThenRead(',')); + + if (!_isLastChar(']')) { + throw new IllegalArgumentException( + "Expected ']', but found '" + _lastChar + "'"); + } + + _readNextChar(); + + return objects.toArray(); + } + + private boolean _readValueAsBooleanFalse() { + _readNextChar(); + + _assertLastChar('a'); + + _readNextChar(); + + _assertLastChar('l'); + + _readNextChar(); + + _assertLastChar('s'); + + _readNextChar(); + + _assertLastChar('e'); + + _readNextChar(); + + return false; + } + + private boolean _readValueAsBooleanTrue() { + _readNextChar(); + + _assertLastChar('r'); + + _readNextChar(); + + _assertLastChar('u'); + + _readNextChar(); + + _assertLastChar('e'); + + _readNextChar(); + + return true; + } + + private Object _readValueAsObjectNull() { + _readNextChar(); + + _assertLastChar('u'); + + _readNextChar(); + + _assertLastChar('l'); + + _readNextChar(); + + _assertLastChar('l'); + + _readNextChar(); + + return null; + } + + private String _readValueAsString() { + _readNextChar(); + + _setCaptureStart(); + + while ((_lastChar != '"') || _isCharEscaped(_json, _index - 1)) { + _readNextChar(); + } + + String string = _getCapturedSubstring(); + + _readNextChar(); + + return string; + } + + private String _readValueAsStringJSON() { + _setCaptureStart(); + + _readNextChar(); + + if (_isLastChar('}')) { + _readNextChar(); + + return _getCapturedJSONSubstring(); + } + + _readWhileLastCharIsWhiteSpace(); + + if (_isLastChar('}')) { + _readNextChar(); + + return _getCapturedJSONSubstring(); + } + + do { + _readWhileLastCharIsWhiteSpace(); + + _readValueAsString(); + + _readWhileLastCharIsWhiteSpace(); + + if (!_ifLastCharMatchesThenRead(':')) { + throw new IllegalArgumentException("Expected ':'"); + } + + _readWhileLastCharIsWhiteSpace(); + + _readValue(); + + _readWhileLastCharIsWhiteSpace(); + } + while (_ifLastCharMatchesThenRead(',')); + + _readWhileLastCharIsWhiteSpace(); + + if (!_ifLastCharMatchesThenRead('}')) { + throw new IllegalArgumentException( + "Expected either ',' or '}', but found '" + _lastChar + "'"); + } + + return _getCapturedJSONSubstring(); + } + + private String _readValueAsStringNumber() { + _setCaptureStart(); + + do { + _readNextChar(); + } + while (_isLastCharDigit() || _isLastCharDecimalSeparator() || + _isLastCharNegative() || _isLastCharPositive() || + _isLastCharScientificNotation()); + + return _getCapturedSubstring(); + } + + private void _readWhileLastCharIsWhiteSpace() { + while ((_lastChar == ' ') || (_lastChar == '\n') || + (_lastChar == '\r') || (_lastChar == '\t')) { + + _readNextChar(); + } + } + + private void _setCaptureStart() { + _captureStartStack.push(_index - 1); + } + + private String _unescape(String string) { + for (int i = JSON_ESCAPE_STRINGS.length - 1; i >= 0; i--) { + String[] escapeStrings = JSON_ESCAPE_STRINGS[i]; + + int index = string.indexOf(escapeStrings[1]); + + while (index != -1) { + if (!_isCharEscaped(string, index)) { + string = + string.substring(0, index) + escapeStrings[0] + + string.substring(index + escapeStrings[1].length()); + + index = string.indexOf( + escapeStrings[1], index + escapeStrings[0].length()); + } + else { + index = string.indexOf( + escapeStrings[1], index + escapeStrings[1].length()); + } + } + } + + return string; + } + + private Stack _captureStartStack; + private DateFormat _dateFormat; + private int _index; + private String _json; + private char _lastChar; + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Page.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Page.java new file mode 100644 index 00000000000000..c40bbaf64a70ca --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Page.java @@ -0,0 +1,301 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.pagination; + +import com.liferay.headless.admin.site.client.aggregation.Facet; +import com.liferay.headless.admin.site.client.json.BaseJSONParser; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.function.Function; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public class Page { + + public static Page of( + String json, Function toDTOFunction) { + + PageJSONParser pageJSONParser = new PageJSONParser(toDTOFunction); + + return (Page)pageJSONParser.parseToDTO(json); + } + + public T fetchFirstItem() { + Iterator iterator = _items.iterator(); + + if (iterator.hasNext()) { + return iterator.next(); + } + + return null; + } + + public Map> getActions() { + return _actions; + } + + public List getFacets() { + return _facets; + } + + public Collection getItems() { + return _items; + } + + public long getLastPage() { + if (_totalCount == 0) { + return 1; + } + + return -Math.floorDiv(-_totalCount, _pageSize); + } + + public long getPage() { + return _page; + } + + public long getPageSize() { + return _pageSize; + } + + public long getTotalCount() { + return _totalCount; + } + + public boolean hasNext() { + if (getLastPage() > _page) { + return true; + } + + return false; + } + + public boolean hasPrevious() { + if (_page > 1) { + return true; + } + + return false; + } + + public void setActions(Map> actions) { + _actions = actions; + } + + public void setFacets(List facets) { + _facets = facets; + } + + public void setItems(Collection items) { + _items = items; + } + + public void setPage(long page) { + _page = page; + } + + public void setPageSize(long pageSize) { + _pageSize = pageSize; + } + + public void setTotalCount(long totalCount) { + _totalCount = totalCount; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("{\"actions\": "); + + sb.append(_toString((Map)_actions)); + sb.append(", \"items\": ["); + + Iterator iterator = _items.iterator(); + + while (iterator.hasNext()) { + sb.append(iterator.next()); + + if (iterator.hasNext()) { + sb.append(", "); + } + } + + sb.append("], \"page\": "); + sb.append(_page); + sb.append(", \"pageSize\": "); + sb.append(_pageSize); + sb.append(", \"totalCount\": "); + sb.append(_totalCount); + sb.append("}"); + + return sb.toString(); + } + + public static class PageJSONParser extends BaseJSONParser { + + public PageJSONParser() { + _toDTOFunction = null; + } + + public PageJSONParser(Function toDTOFunction) { + _toDTOFunction = toDTOFunction; + } + + @Override + protected Page createDTO() { + return new Page(); + } + + @Override + protected Page[] createDTOArray(int size) { + return new Page[size]; + } + + @Override + protected void setField( + Page page, String jsonParserFieldName, + Object jsonParserFieldValue) { + + if (Objects.equals(jsonParserFieldName, "actions")) { + if (jsonParserFieldValue != null) { + PageJSONParser pageJSONParser = new PageJSONParser( + _toDTOFunction); + + page.setActions( + pageJSONParser.parseToMap( + (String)jsonParserFieldValue)); + } + } + else if (Objects.equals(jsonParserFieldName, "facets")) { + if (jsonParserFieldValue == null) { + return; + } + + List facets = new ArrayList<>(); + + for (Object object1 : (Object[])jsonParserFieldValue) { + List facetValues = new ArrayList<>(); + + Map jsonParserFieldValuesMap = + this.parseToMap((String)object1); + + for (Object object2 : + (Object[])jsonParserFieldValuesMap.get( + "facetValues")) { + + Map facetValueMap = this.parseToMap( + (String)object2); + + facetValues.add( + new Facet.FacetValue( + Integer.valueOf( + (String)facetValueMap.get( + "numberOfOccurrences")), + (String)facetValueMap.get("term"))); + } + + facets.add( + new Facet( + (String)jsonParserFieldValuesMap.get( + "facetCriteria"), + facetValues)); + } + + page.setFacets(facets); + } + else if (Objects.equals(jsonParserFieldName, "items")) { + if (jsonParserFieldValue != null) { + List items = new ArrayList<>(); + + for (Object object : (Object[])jsonParserFieldValue) { + items.add(_toDTOFunction.apply((String)object)); + } + + page.setItems(items); + } + } + else if (Objects.equals(jsonParserFieldName, "lastPage")) { + } + else if (Objects.equals(jsonParserFieldName, "page")) { + if (jsonParserFieldValue != null) { + page.setPage(Long.valueOf((String)jsonParserFieldValue)); + } + } + else if (Objects.equals(jsonParserFieldName, "pageSize")) { + if (jsonParserFieldValue != null) { + page.setPageSize( + Long.valueOf((String)jsonParserFieldValue)); + } + } + else if (Objects.equals(jsonParserFieldName, "totalCount")) { + if (jsonParserFieldValue != null) { + page.setTotalCount( + Long.valueOf((String)jsonParserFieldValue)); + } + } + else { + throw new IllegalArgumentException( + "Unsupported field name " + jsonParserFieldName); + } + } + + private final Function _toDTOFunction; + + } + + private String _toString(Map map) { + StringBuilder sb = new StringBuilder("{"); + + Set> entries = map.entrySet(); + + Iterator> iterator = entries.iterator(); + + while (iterator.hasNext()) { + Map.Entry entry = iterator.next(); + + sb.append("\""); + sb.append(entry.getKey()); + sb.append("\": "); + + Object value = entry.getValue(); + + if (value instanceof Map) { + sb.append(_toString((Map)value)); + } + else { + sb.append("\""); + sb.append(value); + sb.append("\""); + } + + if (iterator.hasNext()) { + sb.append(", "); + } + } + + sb.append("}"); + + return sb.toString(); + } + + private Map> _actions; + private List _facets = new ArrayList<>(); + private Collection _items; + private long _page; + private long _pageSize; + private long _totalCount; + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Pagination.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Pagination.java new file mode 100644 index 00000000000000..31534fb1a8f308 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/pagination/Pagination.java @@ -0,0 +1,65 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.pagination; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public class Pagination { + + public static Pagination of(int page, int pageSize) { + return new Pagination(page, pageSize); + } + + public int getEndPosition() { + if ((_page < 0) || (_pageSize < 0)) { + return -1; + } + + return _page * _pageSize; + } + + public int getPage() { + return _page; + } + + public int getPageSize() { + return _pageSize; + } + + public int getStartPosition() { + if ((_page < 0) || (_pageSize < 0)) { + return -1; + } + + return (_page - 1) * _pageSize; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("{\"page\": "); + + sb.append(_page); + sb.append(", \"pageSize\": "); + sb.append(_pageSize); + sb.append("}"); + + return sb.toString(); + } + + private Pagination(int page, int pageSize) { + _page = page; + _pageSize = pageSize; + } + + private final int _page; + private final int _pageSize; + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/permission/Permission.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/permission/Permission.java new file mode 100644 index 00000000000000..99751ae23c4710 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/permission/Permission.java @@ -0,0 +1,120 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.permission; + +import com.liferay.headless.admin.site.client.json.BaseJSONParser; + +import java.util.Objects; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public class Permission { + + public static Permission toDTO(String json) { + PermissionJSONParser permissionJSONParser = + new PermissionJSONParser(); + + return permissionJSONParser.parseToDTO(json); + } + + public Object[] getActionIds() { + return actionIds; + } + + public String getRoleName() { + return roleName; + } + + public void setActionIds(Object[] actionIds) { + this.actionIds = actionIds; + } + + public void setRoleName(String roleName) { + this.roleName = roleName; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append("{"); + + if (actionIds != null) { + sb.append("\"actionIds\": ["); + + for (int i = 0; i < actionIds.length; i++) { + sb.append("\""); + sb.append(actionIds[i]); + sb.append("\""); + + if ((i + 1) < actionIds.length) { + sb.append(", "); + } + } + + sb.append("]"); + } + + if (roleName != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"roleName\": \""); + sb.append(roleName); + sb.append("\""); + } + + sb.append("}"); + + return sb.toString(); + } + + protected Object[] actionIds; + protected String roleName; + + private static class PermissionJSONParser + extends BaseJSONParser { + + @Override + protected Permission createDTO() { + return new Permission(); + } + + @Override + protected Permission[] createDTOArray(int size) { + return new Permission[size]; + } + + @Override + protected void setField( + Permission permission, String jsonParserFieldName, + Object jsonParserFieldValue) { + + if (Objects.equals(jsonParserFieldName, "actionIds")) { + if (jsonParserFieldValue != null) { + permission.setActionIds((Object[])jsonParserFieldValue); + } + } + else if (Objects.equals(jsonParserFieldName, "roleName")) { + if (jsonParserFieldValue != null) { + permission.setRoleName((String)jsonParserFieldValue); + } + } + else { + throw new IllegalArgumentException( + "Unsupported field name " + jsonParserFieldName); + } + } + + } + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/problem/Problem.java b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/problem/Problem.java new file mode 100644 index 00000000000000..e3bda07cd77c6e --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-client/src/main/java/com/liferay/headless/admin/site/client/problem/Problem.java @@ -0,0 +1,176 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.client.problem; + +import com.liferay.headless.admin.site.client.json.BaseJSONParser; + +import java.util.Objects; + +import javax.annotation.Generated; + +/** + * @author Rubén Pulido + * @generated + */ +@Generated("") +public class Problem { + + public static Problem toDTO(String json) { + ProblemJSONParser problemJSONParser = new ProblemJSONParser(); + + return problemJSONParser.parseToDTO(json); + } + + public static class ProblemException extends Exception { + + private Problem _problem; + + public Problem getProblem() { + return _problem; + } + + public ProblemException(Problem problem) { + super(problem.getTitle()); + + _problem = problem; + } + + } + + public String getDetail() { + return detail; + } + + public String getStatus() { + return status; + } + + public String getTitle() { + return title; + } + + public String getType() { + return type; + } + + public void setDetail(String detail) { + this.detail = detail; + } + + public void setStatus(String status) { + this.status = status; + } + + public void setTitle(String title) { + this.title = title; + } + + public void setType(String type) { + this.type = type; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append("{"); + + if (detail != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"detail\": \""); + sb.append(detail); + sb.append("\""); + } + + if (status != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"status\": \""); + sb.append(status); + sb.append("\""); + } + + if (title != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"title\": \""); + sb.append(title); + sb.append("\""); + } + + if (type != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"type\": \""); + sb.append(type); + sb.append("\""); + } + + sb.append("}"); + + return sb.toString(); + } + + protected String detail; + protected String status; + protected String title; + protected String type; + + private static class ProblemJSONParser extends BaseJSONParser { + + @Override + protected Problem createDTO() { + return new Problem(); + } + + @Override + protected Problem[] createDTOArray(int size) { + return new Problem[size]; + } + + @Override + protected void setField( + Problem problem, String jsonParserFieldName, + Object jsonParserFieldValue) { + + if (Objects.equals(jsonParserFieldName, "detail")) { + if (jsonParserFieldValue != null) { + problem.setDetail((String)jsonParserFieldValue); + } + } + else if (Objects.equals(jsonParserFieldName, "status")) { + if (jsonParserFieldValue != null) { + problem.setStatus((String)jsonParserFieldValue); + } + } + else if (Objects.equals(jsonParserFieldName, "title")) { + if (jsonParserFieldValue != null) { + problem.setTitle((String)jsonParserFieldValue); + } + } + else if (Objects.equals(jsonParserFieldName, "type")) { + if (jsonParserFieldValue != null) { + problem.setType((String)jsonParserFieldValue); + } + } + else { + throw new IllegalArgumentException( + "Unsupported field name " + jsonParserFieldName); + } + } + + } + +} \ No newline at end of file diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5f2c4b6e434065..77f37e78cdffcc 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3211,67 +3211,7 @@ components: type: boolean letterSpacing: enum: - - -10px - - -9px - - -8px - - -7px - - -6px - - -5px - - -4px - - -3px - - -2px - - -1px - - 0px - - 1px - - 2px - - 3px - - 4px - - 5px - - 6px - - 7px - - 8px - - 9px - - 10px - - 11px - - 12px - - 13px - - 14px - - 15px - - 16px - - 17px - - 18px - - 19px - - 20px - - 21px - - 22px - - 23px - - 24px - - 25px - - 26px - - 27px - - 28px - - 29px - - 30px - - 31px - - 32px - - 33px - - 34px - - 35px - - 36px - - 37px - - 38px - - 39px - - 40px - - 41px - - 42px - - 43px - - 44px - - 45px - - 46px - - 47px - - 48px - - 49px - - 50px + [-10px, -9px, -8px, -7px, -6px, -5px, -4px, -3px, -2px, -1px, 0px, 1px, 2px, 3px, 4px, 5px, 6px, 7px, 8px, 9px, 10px, 11px, 12px, 13px, 14px, 15px, 16px, 17px, 18px, 19px, 20px, 21px, 22px, 23px, 24px, 25px, 26px, 27px, 28px, 29px, 30px, 31px, 32px, 33px, 34px, 35px, 36px, 37px, 38px, 39px, 40px, 41px, 42px, 43px, 44px, 45px, 46px, 47px, 48px, 49px, 50px] type: string lineHeight: enum: @@ -3523,46 +3463,7 @@ components: enum: [ None, Overline, Strikethrough, Underline ] type: string wordSpacing: - enum: - - -1em - - -0.95em - - -0.9em - - -0.85em - - -0.8em - - -0.75em - - -0.7em - - -0.45em - - -0.4em - - -0.65em - - -0.6em - - -0.55em - - -0.5em - - -0.35em - - -0.3em - - -0.25em - - -0.2em - - -0.15em - - -0.1em - - -0.05em - - Normal - - 0.1em - - 0.15em - - 0.2em - - 0.25em - - 0.3em - - 0.35em - - 0.4em - - 0.45em - - 0.5em - - 0.55em - - 0.6em - - 0.65em - - 0.7em - - 0.75em - - 0.8em - - 0.85em - - 0.9em - - 0.95em + enum: [-1em, -0.95em, -0.9em, -0.85em, -0.8em, -0.75em, -0.7em, -0.45em, -0.4em, -0.65em, -0.6em, -0.55em, -0.5em, -0.35em, -0.3em, -0.25em, -0.2em, -0.15em, -0.1em, -0.05em, Normal, 0.1em, 0.15em, 0.2em, 0.25em, 0.3em, 0.35em, 0.4em, 0.45em, 0.5em, 0.55em, 0.6em, 0.65em, 0.7em, 0.75em, 0.8em, 0.85em, 0.9em, 0.95em] type: string type: object type: object diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/src/main/java/com/liferay/headless/admin/site/internal/jaxrs/application/HeadlessAdminSiteApplication.java b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/src/main/java/com/liferay/headless/admin/site/internal/jaxrs/application/HeadlessAdminSiteApplication.java new file mode 100644 index 00000000000000..2e0c1f0e0b06a9 --- /dev/null +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/src/main/java/com/liferay/headless/admin/site/internal/jaxrs/application/HeadlessAdminSiteApplication.java @@ -0,0 +1,29 @@ +/** + * SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.headless.admin.site.internal.jaxrs.application; + +import javax.annotation.Generated; + +import javax.ws.rs.core.Application; + +import org.osgi.service.component.annotations.Component; + +/** + * @author Rubén Pulido + * @generated + */ +@Component( + property = { + "liferay.jackson=false", + "osgi.jaxrs.application.base=/headless-admin-site", + "osgi.jaxrs.extension.select=(osgi.jaxrs.name=Liferay.Vulcan)", + "osgi.jaxrs.name=Liferay.Headless.Admin.Site" + }, + service = Application.class +) +@Generated("") +public class HeadlessAdminSiteApplication extends Application { +} \ No newline at end of file From bcdaa4f33b70709d9acd373521bf160e3d7b35e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 01:03:05 +0200 Subject: [PATCH 241/260] LPD-x Automatic SF --- .../rest-openapi.yaml | 1048 +++++++++-------- 1 file changed, 528 insertions(+), 520 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 77f37e78cdffcc..09ee0ab9e30c17 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -164,6 +164,46 @@ components: A valid external identifier to reference this page template. type: string type: object + BaseWidgetInstance: + # @review + description: + Represents a base Widget Instance. + properties: + widgetConfig: + additionalProperties: + type: object + type: object + widgetInstanceId: + # @review + description: + The widget instance's ID. + type: string + widgetName: + # @review + description: + The widget instance's name. + type: string + widgetPermissions: + # @review + description: + The widget instance's permissions. + items: + properties: + actionIds: + # @review + description: + The ids of the actions the role has permission for. + items: + type: string + type: array + roleName: + # @review + description: + The role's name. + type: string + type: object + type: array + type: object ClassNameReference: properties: className: @@ -262,56 +302,6 @@ components: - columnViewportDefinition - id type: object - PageElement: - # @review - description: - Represents a Page element. - properties: - definition: - # @review - description: - The page element's definition. - oneOf: - - $ref: "#/components/schemas/PageCollectionDefinition" - - $ref: "#/components/schemas/PageCollectionItemDefinition" - - $ref: "#/components/schemas/PageColumnDefinition" - - $ref: "#/components/schemas/PageContainerDefinition" - - $ref: "#/components/schemas/PageDropZoneDefinition" - - $ref: "#/components/schemas/PageFormDefinition" - - $ref: "#/components/schemas/PageFragmentCompositionInstanceDefinition" - - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" - - $ref: "#/components/schemas/PageFragmentInstanceDefinition" - - $ref: "#/components/schemas/PageRowDefinition" - - $ref: "#/components/schemas/PageWidgetInstanceDefinition" - externalReferenceCode: - description: - The page element's external reference code. Unique within the site. - type: string - pageElements: - # @review - description: - A list of the page elements this page element has. - items: - $ref: "#/components/schemas/PageElement" - type: array - parentExternalReferenceCode: - description: - The parent's page element's external reference code. Unique within the site. - type: string - position: - description: - The 0-based position this page element occupies with respect to its siblings (0 for first child, - 1 for second child, ...). If not specified when creating a page element the page element will be - added at the last valid position. - minimum: 0 - type: integer - type: - # @review - description: - The page element's type (collection, collection item, column, container, drop zone, form, - fragment, fragment composition, fragment drop zone, row, widget or widget section). - enum: [Collection, CollectionItem, Column, Container, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Row, Widget] - type: string ContentPageSettings: allOf: - $ref: "#/components/schemas/BasePageSettings" @@ -344,6 +334,9 @@ components: description: Represents the settings of a content page. type: object + ContentPageWidgetInstance: + allOf: + - $ref: "#/components/schemas/BaseWidgetInstance" ContextReference: properties: contextSource: @@ -624,6 +617,16 @@ components: description: The fragment instance's css. type: string + datePropagated: + description: + The fragment instance's most recent propagation date. + format: date-time + type: string + datePublished: + description: + The fragment instance's most recent publication date. + format: date-time + type: string defaultFragmentKey: # @review description: @@ -635,10 +638,10 @@ components: The external reference code of this fragment composition. type: string fragmentReference: + $ref: "#/components/schemas/ItemExternalReference" # @review description: An external reference to the fragment. - $ref: "#/components/schemas/ItemExternalReference" html: # @review description: @@ -660,16 +663,6 @@ components: The fragment instance's type. enum: [Component, Input, React] type: string - datePropagated: - description: - The fragment instance's most recent propagation date. - format: date-time - type: string - datePublished: - description: - The fragment instance's most recent publication date. - format: date-time - type: string uuid: # @review description: @@ -1291,7 +1284,8 @@ components: FriendlyUrlHistory: # @review description: - Represents the history of previously used URLs for a page to prevent broken links and provide an easy way to revert changes. + Represents the history of previously used URLs for a page to prevent broken links and provide an easy + way to revert changes. properties: friendlyUrlPath_i18n: additionalProperties: @@ -1818,6 +1812,56 @@ components: - $ref: "#/components/schemas/FragmentSettingsAllowed" - $ref: "#/components/schemas/FragmentSettingsUnallowed" type: object + PageElement: + # @review + description: + Represents a Page element. + properties: + definition: + # @review + description: + The page element's definition. + oneOf: + - $ref: "#/components/schemas/PageCollectionDefinition" + - $ref: "#/components/schemas/PageCollectionItemDefinition" + - $ref: "#/components/schemas/PageColumnDefinition" + - $ref: "#/components/schemas/PageContainerDefinition" + - $ref: "#/components/schemas/PageDropZoneDefinition" + - $ref: "#/components/schemas/PageFormDefinition" + - $ref: "#/components/schemas/PageFragmentCompositionInstanceDefinition" + - $ref: "#/components/schemas/PageFragmentDropZoneDefinition" + - $ref: "#/components/schemas/PageFragmentInstanceDefinition" + - $ref: "#/components/schemas/PageRowDefinition" + - $ref: "#/components/schemas/PageWidgetInstanceDefinition" + externalReferenceCode: + description: + The page element's external reference code. Unique within the site. + type: string + pageElements: + # @review + description: + A list of the page elements this page element has. + items: + $ref: "#/components/schemas/PageElement" + type: array + parentExternalReferenceCode: + description: + The parent's page element's external reference code. Unique within the site. + type: string + position: + description: + The 0-based position this page element occupies with respect to its siblings (0 for first child, + 1 for second child, ...). If not specified when creating a page element the page element will be + added at the last valid position. + minimum: 0 + type: integer + type: + # @review + description: + The page element's type (collection, collection item, column, container, drop zone, form, + fragment, fragment composition, fragment drop zone, row, widget or widget section). + enum: [Collection, CollectionItem, Column, Container, DropZone, Form, Fragment, FragmentComposition, FragmentDropZone, Row, Widget] + type: string PageExperience: description: # @review @@ -2020,23 +2064,9 @@ components: fragmentCSS: # @review description: - The fragment's css at the time the fragment was added to the page or page template or last propagated. - type: string - fragmentHtml: - # @review - description: - The fragment's html at the time the fragment was added to the page or page template or last propagated. - type: string - fragmentJS: - # @review - description: - The fragment's js at the time the fragment was added to the page or page template or last propagated. + The fragment's css at the time the fragment was added to the page or page template or last + propagated. type: string - fragmentReference: - # @review - description: - An external reference to the fragment. - $ref: "#/components/schemas/ItemExternalReference" fragmentConfig: additionalProperties: type: object @@ -2051,6 +2081,12 @@ components: items: $ref: "#/components/schemas/FragmentField" type: array + fragmentHtml: + # @review + description: + The fragment's html at the time the fragment was added to the page or page template or last + propagated. + type: string fragmentInstanceConfigValues: additionalProperties: type: object @@ -2058,6 +2094,17 @@ components: description: The page fragment instance's configuration. type: object + fragmentJS: + # @review + description: + The fragment's js at the time the fragment was added to the page or page template or last + propagated. + type: string + fragmentReference: + $ref: "#/components/schemas/ItemExternalReference" + # @review + description: + An external reference to the fragment. fragmentStyle: $ref: "#/components/schemas/FragmentStyle" # @review @@ -2621,6 +2668,12 @@ components: description: The page's external reference code. type: string + friendlyUrlHistory: + $ref: "#/components/schemas/FriendlyUrlHistory" + # @review + description: + The the history of previously used URLs to the page's rendered content. This field is not + returned by default. It can be requested via nestedFields. friendlyUrlPath_i18n: additionalProperties: type: string @@ -2642,11 +2695,6 @@ components: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" readOnly: true type: array - friendlyUrlHistory: - # @review - description: - The the history of previously used URLs to the page's rendered content. This field is not returned by default. It can be requested via nestedFields. - $ref: "#/components/schemas/FriendlyUrlHistory" pageSettings: # @review description: @@ -2875,77 +2923,171 @@ components: description: The utility page's SEO settings. type: object - BaseWidgetInstance: + WidgetPageSection: # @review description: - Represents a base Widget Instance. + Represents a widget page section. properties: - widgetConfig: - additionalProperties: - type: object - type: object - widgetInstanceId: + customizable: # @review description: - The widget instance's ID. - type: string - widgetName: - # @review + A flag that indicates whether the widget page section is customizable or not. + type: boolean + id: description: - The widget instance's name. + The widget page section's id. type: string - widgetPermissions: + widgetInstances: # @review description: - The widget instance's permissions. + A list of the page elements this page element has. items: - properties: - actionIds: - # @review - description: - The ids of the actions the role has permission for. - items: - type: string - type: array - roleName: - # @review - description: - The role's name. - type: string - type: object + $ref: "#/components/schemas/WidgetPageWidgetInstance" type: array - type: object - ContentPageWidgetInstance: - allOf: - - $ref: "#/components/schemas/BaseWidgetInstance" - WidgetPageWidgetInstance: + WidgetPageSettings: allOf: - - $ref: "#/components/schemas/BaseWidgetInstance" + - $ref: "#/components/schemas/BasePageSettings" - properties: - externalReferenceCode: + customizable: + # @review description: - The external reference code of the widget instance. - type: string - parentSectionId: + A flag that indicates whether the page is customizable. + type: boolean + customizableSectionIds: + # @review description: - The section's id of the widget page or the nested application widget instance this widget belongs to. - type: string + The ids of the customizable sections. + items: + type: string + type: array + inheritChanges: + # @review + description: + Whether this widget page will inherit changes made to the associated widget page template + type: boolean + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + widgetPageTemplateReference: + $ref: "#/components/schemas/ItemExternalReference" + required: + - layoutPageTemplateId + # @review + description: + Represents the settings of a widget page. + type: object + WidgetPageSpecification: + properties: + externalReferenceCode: + description: + The page specification's external reference code, unique per site. + type: string + settings: + $ref: "#/components/schemas/Settings" + widgetPageSections: + items: + $ref: "#/components/schemas/WidgetPageSection" + type: array + type: object + WidgetPageTemplate: + allOf: + - $ref: "#/components/schemas/BasePageTemplate" + - properties: + active: + # @review + description: + A flag that indicates whether the widget page template is active. + type: boolean + description_i18n: + additionalProperties: + type: string + # @review + description: + The localized descriptions of the widget page template. + type: object + friendlyUrlPath_i18n: + additionalProperties: + type: string + # @review + description: + The localized relative URLs to the page's rendered content. + type: object + hiddenFromNavigation: + # @review + description: + A flag that indicates whether the page created based on this page template is hidden from + navigation. + type: boolean + name_i18n: + additionalProperties: + type: string + # @review + description: + The localized names of the widget page template. + # @review + description: + Represents a widget page template. + type: object + WidgetPageTemplateSettings: + # @review + description: + Represents the settings of a widget page template. + properties: + layoutTemplateId: + # @review + description: + The identifier of the layout template. + type: string + navigationMenuSettings: + # @review + description: + The widget page template's site navigation menu settings. + properties: + target: + # @review + description: + The page's description to be used as summary for search engines. + type: string + targetType: + # @review + description: + The target's type (specific frame or new tab). + enum: [SpecificFrame, NewTab] + type: string + type: object + type: object + WidgetPageWidgetInstance: + allOf: + - $ref: "#/components/schemas/BaseWidgetInstance" + - properties: + externalReferenceCode: + description: + The external reference code of the widget instance. + type: string + parentSectionId: + description: + The section's id of the widget page or the nested application widget instance this widget + belongs to. + type: string parentWidgetInstanceExternalReferenceCode: description: - The external reference code of the parent widget instance. Only available if this widget instance is within a nested applications widget instance. + The external reference code of the parent widget instance. Only available if this widget + instance is within a nested applications widget instance. type: string position: description: - The 0-based position this widget instances occupies with respect to its siblings (0 for first - child, 1 for second child, ...). If not specified when creating a page element the page element - will be added at the last valid position. + The 0-based position this widget instances occupies with respect to its siblings (0 for + first child, 1 for second child, ...). If not specified when creating a page element the + page element will be added at the last valid position. minimum: 0 type: integer widgetLookAndFeelConfig: # @review description: - The widget instance's look and feel configuration. It applies only to widgets within SitePages - of type WidgetPage or within PageTemplates of type WidgetPageTemplate. + The widget instance's look and feel configuration. It applies only to widgets within + SitePages of type WidgetPage or within PageTemplates of type WidgetPageTemplate. items: properties: advancedStylingConfig: @@ -3085,7 +3227,7 @@ components: generalConfig: properties: applicationDecorator: - enum: [ Barebone, Borderless, Decorate ] + enum: [Barebone, Borderless, Decorate] type: string customTitle_i18n: additionalProperties: @@ -3197,7 +3339,7 @@ components: textStylesConfig: properties: alignment: - enum: [ Center, Justify, Left, Right ] + enum: [Center, Justify, Left, Right] type: string bold: type: boolean @@ -3205,7 +3347,7 @@ components: example: "#FF0D0D" type: string font: - enum: [ Arial, Georgia, Tahoma, TimesNewRoman, TrebuchetMS, Verdana ] + enum: [Arial, Georgia, Tahoma, TimesNewRoman, TrebuchetMS, Verdana] type: string italic: type: boolean @@ -3460,7 +3602,7 @@ components: - 12em type: string textDecoration: - enum: [ None, Overline, Strikethrough, Underline ] + enum: [None, Overline, Strikethrough, Underline] type: string wordSpacing: enum: [-1em, -0.95em, -0.9em, -0.85em, -0.8em, -0.75em, -0.7em, -0.45em, -0.4em, -0.65em, -0.6em, -0.55em, -0.5em, -0.35em, -0.3em, -0.25em, -0.2em, -0.15em, -0.1em, -0.05em, Normal, 0.1em, 0.15em, 0.2em, 0.25em, 0.3em, 0.35em, 0.4em, 0.45em, 0.5em, 0.55em, 0.6em, 0.65em, 0.7em, 0.75em, 0.8em, 0.85em, 0.9em, 0.95em] @@ -3472,141 +3614,6 @@ components: description: Represents a Widget Instance in a Widget Page. type: object - WidgetPageSection: - # @review - description: - Represents a widget page section. - properties: - customizable: - # @review - description: - A flag that indicates whether the widget page section is customizable or not. - type: boolean - id: - description: - The widget page section's id. - type: string - widgetInstances: - # @review - description: - A list of the page elements this page element has. - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - type: array - WidgetPageSettings: - allOf: - - $ref: "#/components/schemas/BasePageSettings" - - properties: - customizable: - # @review - description: - A flag that indicates whether the page is customizable. - type: boolean - customizableSectionIds: - # @review - description: - The ids of the customizable sections. - items: - type: string - type: array - inheritChanges: - # @review - description: - Whether this widget page will inherit changes made to the associated widget page template - type: boolean - layoutTemplateId: - # @review - description: - The identifier of the layout template. - type: string - widgetPageTemplateReference: - $ref: "#/components/schemas/ItemExternalReference" - required: - - layoutPageTemplateId - # @review - description: - Represents the settings of a widget page. - type: object - WidgetPageSpecification: - properties: - externalReferenceCode: - description: - The page specification's external reference code, unique per site. - type: string - settings: - $ref: "#/components/schemas/Settings" - widgetPageSections: - items: - $ref: "#/components/schemas/WidgetPageSection" - type: array - type: object - WidgetPageTemplate: - allOf: - - $ref: "#/components/schemas/BasePageTemplate" - - properties: - active: - # @review - description: - A flag that indicates whether the widget page template is active. - type: boolean - description_i18n: - additionalProperties: - type: string - # @review - description: - The localized descriptions of the widget page template. - type: object - friendlyUrlPath_i18n: - additionalProperties: - type: string - # @review - description: - The localized relative URLs to the page's rendered content. - type: object - hiddenFromNavigation: - # @review - description: - A flag that indicates whether the page created based on this page template is hidden from - navigation. - type: boolean - name_i18n: - additionalProperties: - type: string - # @review - description: - The localized names of the widget page template. - # @review - description: - Represents a widget page template. - type: object - WidgetPageTemplateSettings: - # @review - description: - Represents the settings of a widget page template. - properties: - layoutTemplateId: - # @review - description: - The identifier of the layout template. - type: string - navigationMenuSettings: - # @review - description: - The widget page template's site navigation menu settings. - properties: - target: - # @review - description: - The page's description to be used as summary for search engines. - type: string - targetType: - # @review - description: - The target's type (specific frame or new tab). - enum: [SpecificFrame, NewTab] - type: string - type: object - type: object info: description: "A Java client JAR is available for use with the group ID 'com.liferay', artifact ID @@ -5291,248 +5298,16 @@ paths: schema: type: string - in: query - description: - The 0-based position with respect to the page element's children where the fragment composition - will be added (0 for before the first child, 1 for before the second child, ...). If not specified - when adding a fragment composition the fragment composition will be added at the last valid - position. - name: position - schema: - minimum: 0 - type: integer - - in: query - name: restrictFields - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/FragmentComposition" - application/xml: - schema: - $ref: "#/components/schemas/FragmentComposition" - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/PageElement" - application/xml: - schema: - items: - $ref: "#/components/schemas/PageElement" - # @review - tags: ["PageElement"] - "/sites/{siteExternalReferenceCode}/widget-instances/{widgetInstanceExternalReferenceCode}": - delete: - description: - Deletes a widget instance of a specific widget page or widget page template within a site. - operationId: deleteSiteWidgetInstance - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: widgetInstanceExternalReferenceCode - required: true - schema: - type: string - responses: - 204: - content: - application/json: {} - application/xml: {} - tags: ["WidgetInstance"] - get: - description: - Retrieves a widget instance of a widget page or widget page template within a site. - operationId: getSiteWidgetInstance - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: widgetInstanceExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - tags: ["WidgetInstance"] - patch: - description: - Updates a widget instance of a widget page or widget page template within a site. Updates only the fields received in the request body, leaving any other fields untouched. - operationId: patchSiteWidgetInstance - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: widgetInstanceExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - tags: ["WidgetInstance"] - put: - description: - Updates a widget instance of a widget page or widget page template within a site. - operationId: putSiteWidgetInstance - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: widgetInstanceExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - tags: ["WidgetInstance"] - "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/widget-instances": - get: - description: - Retrieves all the widget instances of a widget page. - operationId: getSiteSitePageWidgetInstancesPage - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query - name: restrictFields - schema: - type: string - responses: - 200: - content: - application/json: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - type: array - application/xml: - schema: - items: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - type: array - # @review - tags: ["SitePage"] - post: - description: - Adds a new widget instance to a widget page. - operationId: postSiteSitePageWidgetInstance - parameters: - - in: path - name: siteExternalReferenceCode - required: true - schema: - type: string - - in: path - name: sitePageExternalReferenceCode - required: true - schema: - type: string - - in: query - name: fields - schema: - type: string - - in: query - name: nestedFields - schema: - type: string - - in: query + description: + The 0-based position with respect to the page element's children where the fragment composition + will be added (0 for before the first child, 1 for before the second child, ...). If not specified + when adding a fragment composition the fragment composition will be added at the last valid + position. + name: position + schema: + minimum: 0 + type: integer + - in: query name: restrictFields schema: type: string @@ -5540,23 +5315,23 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/WidgetPageWidgetInstance" + $ref: "#/components/schemas/FragmentComposition" application/xml: schema: - $ref: "#/components/schemas/WidgetPageWidgetInstance" + $ref: "#/components/schemas/FragmentComposition" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/WidgetPageWidgetInstance" + items: + $ref: "#/components/schemas/PageElement" application/xml: schema: - $ref: "#/components/schemas/WidgetPageWidgetInstance" - description: - default response + items: + $ref: "#/components/schemas/PageElement" # @review - tags: ["SitePage"] + tags: ["PageElement"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": get: description: @@ -8069,11 +7844,11 @@ paths: application/json: schema: items: - $ref: "#/components/schemas/FriendlyUrlHistory" + $ref: "#/components/schemas/FriendlyUrlHistory" application/xml: schema: items: - $ref: "#/components/schemas/FriendlyUrlHistory" + $ref: "#/components/schemas/FriendlyUrlHistory" # @review tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": @@ -8219,4 +7994,237 @@ paths: content: application/json: {} application/xml: {} - tags: ["SitePage"] \ No newline at end of file + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/widget-instances": + get: + description: + Retrieves all the widget instances of a widget page. + operationId: getSiteSitePageWidgetInstancesPage + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + # @review + tags: ["SitePage"] + post: + description: + Adds a new widget instance to a widget page. + operationId: postSiteSitePageWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: sitePageExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + application/xml: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + responses: + 200: + content: + application/json: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + application/xml: + schema: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + description: + default response + # @review + tags: ["SitePage"] + "/sites/{siteExternalReferenceCode}/widget-instances/{widgetInstanceExternalReferenceCode}": + delete: + description: + Deletes a widget instance of a specific widget page or widget page template within a site. + operationId: deleteSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + responses: + 204: + content: + application/json: {} + application/xml: {} + tags: ["WidgetInstance"] + get: + description: + Retrieves a widget instance of a widget page or widget page template within a site. + operationId: getSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + tags: ["WidgetInstance"] + patch: + description: + Updates a widget instance of a widget page or widget page template within a site. Updates only the + fields received in the request body, leaving any other fields untouched. + operationId: patchSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + tags: ["WidgetInstance"] + put: + description: + Updates a widget instance of a widget page or widget page template within a site. + operationId: putSiteWidgetInstance + parameters: + - in: path + name: siteExternalReferenceCode + required: true + schema: + type: string + - in: path + name: widgetInstanceExternalReferenceCode + required: true + schema: + type: string + - in: query + name: fields + schema: + type: string + - in: query + name: nestedFields + schema: + type: string + - in: query + name: restrictFields + schema: + type: string + responses: + 200: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + type: array + application/xml: + schema: + items: + $ref: "#/components/schemas/WidgetPageWidgetInstance" + tags: ["WidgetInstance"] \ No newline at end of file From 6a22ac35d992c509d19f59b9d72d427b394eb7ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 01:10:40 +0200 Subject: [PATCH 242/260] LPD-x Use array with brackets to avoid SF problem --- .../rest-openapi.yaml | 122 +----------------- 1 file changed, 1 insertion(+), 121 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 09ee0ab9e30c17..5b1c6ebe0d7717 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3356,127 +3356,7 @@ components: [-10px, -9px, -8px, -7px, -6px, -5px, -4px, -3px, -2px, -1px, 0px, 1px, 2px, 3px, 4px, 5px, 6px, 7px, 8px, 9px, 10px, 11px, 12px, 13px, 14px, 15px, 16px, 17px, 18px, 19px, 20px, 21px, 22px, 23px, 24px, 25px, 26px, 27px, 28px, 29px, 30px, 31px, 32px, 33px, 34px, 35px, 36px, 37px, 38px, 39px, 40px, 41px, 42px, 43px, 44px, 45px, 46px, 47px, 48px, 49px, 50px] type: string lineHeight: - enum: - - 0.1em - - 0.2em - - 0.3em - - 0.4em - - 0.5em - - 0.6em - - 0.7em - - 0.8em - - 0.9em - - 1em - - 1.1em - - 1.2em - - 1.3em - - 1.4em - - 1.5em - - 1.6em - - 1.7em - - 1.8em - - 1.9em - - 2em - - 2.1em - - 2.2em - - 2.3em - - 2.4em - - 2.5em - - 2.6em - - 2.7em - - 2.8em - - 2.9em - - 3em - - 3.1em - - 3.2em - - 3.3em - - 3.4em - - 3.5em - - 3.6em - - 3.7em - - 3.8em - - 3.9em - - 4em - - 4.1em - - 4.2em - - 4.3em - - 4.4em - - 4.5em - - 4.6em - - 4.7em - - 4.8em - - 4.9em - - 5em - - 5.1em - - 5.2em - - 5.3em - - 5.4em - - 5.5em - - 5.6em - - 5.7em - - 5.8em - - 5.9em - - 6em - - 6.1em - - 6.2em - - 6.3em - - 6.4em - - 6.5em - - 6.6em - - 6.7em - - 6.8em - - 6.9em - - 7em - - 7.1em - - 7.2em - - 7.3em - - 7.4em - - 7.5em - - 7.6em - - 7.7em - - 7.8em - - 7.9em - - 8em - - 8.1em - - 8.2em - - 8.3em - - 8.4em - - 8.5em - - 8.6em - - 8.7em - - 8.8em - - 8.9em - - 9em - - 9.1em - - 9.2em - - 9.3em - - 9.4em - - 9.5em - - 9.6em - - 9.7em - - 9.8em - - 9.9em - - 10em - - 10.1em - - 10.2em - - 10.3em - - 10.4em - - 10.5em - - 10.6em - - 10.7em - - 10.8em - - 10.9em - - 11em - - 11.1em - - 11.2em - - 11.3em - - 11.4em - - 11.5em - - 11.6em - - 11.7em - - 11.8em - - 11.9em - - 12em + enum: [0.1em, 0.2em, 0.3em, 0.4em, 0.5em, 0.6em, 0.7em, 0.8em, 0.9em, 1em, 1.1em, 1.2em, 1.3em, 1.4em, 1.5em, 1.6em, 1.7em, 1.8em, 1.9em, 2em, 2.1em, 2.2em, 2.3em, 2.4em, 2.5em, 2.6em, 2.7em, 2.8em, 2.9em, 3em, 3.1em, 3.2em, 3.3em, 3.4em, 3.5em, 3.6em, 3.7em, 3.8em, 3.9em, 4em, 4.1em, 4.2em, 4.3em, 4.4em, 4.5em, 4.6em, 4.7em, 4.8em, 4.9em, 5em, 5.1em, 5.2em, 5.3em, 5.4em, 5.5em, 5.6em, 5.7em, 5.8em, 5.9em, 6em, 6.1em, 6.2em, 6.3em, 6.4em, 6.5em, 6.6em, 6.7em, 6.8em, 6.9em, 7em, 7.1em, 7.2em, 7.3em, 7.4em, 7.5em, 7.6em, 7.7em, 7.8em, 7.9em, 8em, 8.1em, 8.2em, 8.3em, 8.4em, 8.5em, 8.6em, 8.7em, 8.8em, 8.9em, 9em, 9.1em, 9.2em, 9.3em, 9.4em, 9.5em, 9.6em, 9.7em, 9.8em, 9.9em, 10em, 10.1em, 10.2em, 10.3em, 10.4em, 10.5em, 10.6em, 10.7em, 10.8em, 10.9em, 11em, 11.1em, 11.2em, 11.3em, 11.4em, 11.5em, 11.6em, 11.7em, 11.8em, 11.9em, 12em] type: string size: enum: From 0af20f6f98c44bd6e8cf9c6da6f67289557be7aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 09:04:05 +0200 Subject: [PATCH 243/260] LPD-x Add draftPageElementExternalReferenceCode to expose orginalFragmentEntryLinkId --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 5b1c6ebe0d7717..d84b0913774450 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2061,6 +2061,11 @@ components: description: The key of the fragment if it is a default fragment. type: string + draftPageElementExternalReferenceCode: + # @review + description: + The external reference code of the corresponding page element in the draft of the page. Available only in the published page specification. + type: string fragmentCSS: # @review description: From 0d352ee8c9fed2695acb93970e5149c94053c293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 12:16:53 +0200 Subject: [PATCH 244/260] LPD-x POST body of page-specifications endpoints should be of type ContentPageSpecification since it is only possible to add a PageSpecification for a Content Page (or page template) but not for a widget page (or widget page template) --- .../rest-openapi.yaml | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index d84b0913774450..a1c0cd6b4c90c0 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -4282,19 +4282,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" description: default response # @review @@ -4938,19 +4938,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" description: default response # @review @@ -7330,19 +7330,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" description: default response # @review @@ -7808,19 +7808,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" responses: 200: content: application/json: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" application/xml: schema: - $ref: "#/components/schemas/PageSpecification" + $ref: "#/components/schemas/ContentPageSpecification" description: default response # @review From bba657240890c58b43e7564a2d1d23c824adcba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 12:18:33 +0200 Subject: [PATCH 245/260] LPD-x Use keywordItemExternalReferences (instead of keywordExternalReferences) and taxonomyCategoryItemExternalReferences (instead of taxonomyCategoryExternalReferences) to prevent multiple fields with the same name being generated by rest builder. --- .../headless-admin-site-impl/rest-openapi.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index a1c0cd6b4c90c0..753ce7ffb7260d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -96,7 +96,7 @@ components: description: The page template's key. type: string - keywordExternalReferences: + keywordItemExternalReferences: description: The external references to the associated keywords. items: @@ -147,7 +147,7 @@ components: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" readOnly: true type: array - taxonomyCategoryExternalReferences: + taxonomyCategoryItemExternalReferences: # @review description: The external references to the associated categories. @@ -1377,7 +1377,7 @@ components: description: The master page's key. type: string - keywordExternalReferences: + keywordItemExternalReferences: description: The external references to the associated keywords. items: @@ -1411,7 +1411,7 @@ components: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" readOnly: true type: array - taxonomyCategoryExternalReferences: + taxonomyCategoryItemExternalReferences: # @review description: The external references to the associated categories. @@ -2686,7 +2686,7 @@ components: description: The localized relative URLs to the page's rendered content. type: object - keywordExternalReferences: + keywordItemExternalReferences: description: The external references to the associated keywords. items: @@ -2741,7 +2741,7 @@ components: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" readOnly: true type: array - taxonomyCategoryExternalReferences: + taxonomyCategoryItemExternalReferences: # @review description: The external references to the associated categories. From 42b285542d8eccfef03d5395c755a67af4bd8c8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 12:19:52 +0200 Subject: [PATCH 246/260] LPD-x Automatic SF --- .../headless-admin-site-impl/rest-openapi.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 753ce7ffb7260d..8f40ef7eae1381 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2064,7 +2064,8 @@ components: draftPageElementExternalReferenceCode: # @review description: - The external reference code of the corresponding page element in the draft of the page. Available only in the published page specification. + The external reference code of the corresponding page element in the draft of the page. + Available only in the published page specification. type: string fragmentCSS: # @review From 876f0d320e2ba94c6fb8b8318c88f4626f2d89ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 14:04:20 +0200 Subject: [PATCH 247/260] LPD-x Make creator in SitePage readOnly to be consistent with all other creator fields --- .../headless-admin-site-impl/rest-openapi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 8f40ef7eae1381..e516084d54e599 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2640,6 +2640,7 @@ components: creator: # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + readOnly: true creatorExternalReferenceCode: # @review description: From ae37be13f4b45c479537b5280924fb327de55bf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 14:11:56 +0200 Subject: [PATCH 248/260] LPD-x Add discriminator and mapping to CollectionConfig --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index e516084d54e599..137194f1067da0 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -240,6 +240,11 @@ components: # @review description: The page collection's reference. + discriminator: + propertyName: collectionType + mapping: + Collection: "#/components/schemas/ItemExternalReference" + CollectionProvider: "#/components/schemas/ClassNameReference" oneOf: - $ref: "#/components/schemas/ClassNameReference" - $ref: "#/components/schemas/ItemExternalReference" From cce06d20d5a9639b45d35d4627dc2c703702a068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 14:33:37 +0200 Subject: [PATCH 249/260] LPD-x Rename ClassTypeReference to ClassSubtypeReference --- .../headless-admin-site-impl/rest-openapi.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 137194f1067da0..b9c6ee56491894 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -210,7 +210,10 @@ components: type: string required: - className - ClassTypeReference: + ClassSubtypeReference: + # @review + description: + A reference specifying the class name and an optional subtype. properties: className: type: string @@ -446,7 +449,7 @@ components: Represents a Display Page template. properties: contentTypeReference: - $ref: "#/components/schemas/ClassTypeReference" + $ref: "#/components/schemas/ClassSubtypeReference" description: The content type (and optionally subtype) associated to the display page template. creator: @@ -1945,7 +1948,7 @@ components: description: The form reference. oneOf: - - $ref: "#/components/schemas/ClassTypeReference" + - $ref: "#/components/schemas/ClassSubtypeReference" - $ref: "#/components/schemas/ContextReference" formSuccessSubmissionResult: # @review From d651cb3b7891b176a2d1e4efedf2faa8843c0c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 14:34:39 +0200 Subject: [PATCH 250/260] LPD-x Update descriptions --- .../rest-openapi.yaml | 118 +++++++++++++----- 1 file changed, 85 insertions(+), 33 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b9c6ee56491894..0e3ebe0b500cec 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3,7 +3,7 @@ components: ActionExecutionResult: # @review description: - Represents a definition of an action execution result. + The result of an action execution. properties: type: # @review @@ -23,7 +23,7 @@ components: BasePageSettings: # @review description: - Represents the base settings of a page, shared by both a content page and a widget page. + The base settings of a page, shared by both a content page and a widget page. properties: customMetaTags: # @review @@ -56,12 +56,14 @@ components: BasePageTemplate: # @review description: - Represents a base page template, containing the common properties of both a content page template and a - widget page template. + A base page template, containing the common properties of both a content page template and a widget page + template. It should only be referenced as part of an allOf clause. properties: creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The page template's creator. It is not returned by default. It can be embedded via nestedFields. readOnly: true creatorExternalReferenceCode: # @review @@ -83,7 +85,7 @@ components: datePublished: # @review description: - The last time the page template changed. + The last time the page template was published. format: date-time type: string externalReferenceCode: @@ -104,7 +106,8 @@ components: type: array keywords: description: - The associated keywords. + The associated keywords. They are not returned by default. They can be embedded via + nestedFields. items: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" readOnly: true @@ -117,8 +120,9 @@ components: pageSpecifications: # @review description: - The page template's specifications. A page template may contain 0 or 1 page specifications in - draft status and 0 or 1 page specifications in published status. + The page template's specifications. A page template of type content may contain 0 or 1 page + specifications in draft status and 0 or 1 page specifications in published status. A page + template of type widget contains only 1 page specification in published status. items: $ref: "#/components/schemas/PageSpecification" type: array @@ -126,11 +130,11 @@ components: $ref: "#/components/schemas/PageTemplateSet" # @review description: - The page template's collection. + The page template's set. pageTemplateSettings: # @review description: - Settings of the page template. + The settings of the page template. discriminator: propertyName: type mapping: @@ -142,7 +146,8 @@ components: taxonomyCategories: # @review description: - The associated categories. + The associated categories. They are not returned by default. They can be embedded via + nestedFields. items: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" readOnly: true @@ -155,11 +160,15 @@ components: "$ref": "#/components/schemas/ItemExternalReference" type: array type: + # @review + description: + The type of the page template. enum: - ContentPageTemplate - WidgetPageTemplate type: string uuid: + # @review description: A valid external identifier to reference this page template. type: string @@ -167,11 +176,15 @@ components: BaseWidgetInstance: # @review description: - Represents a base Widget Instance. + A base page widget instance, containing the common properties of both a content page widget instance and + a widget page widget instance. It should only be referenced as part of an allOf clause. properties: widgetConfig: additionalProperties: type: object + # @review + description: + The configuration keys and values of the widget instance. type: object widgetInstanceId: # @review @@ -192,7 +205,7 @@ components: actionIds: # @review description: - The ids of the actions the role has permission for. + The IDs of the actions the role has permission for. items: type: string type: array @@ -205,6 +218,9 @@ components: type: array type: object ClassNameReference: + # @review + description: + A reference specifying the class name. properties: className: type: string @@ -225,11 +241,14 @@ components: ClientExtension: # @review description: - Represents a client extension + A reference to a client extension along with its configuration values. properties: clientExtensionConfig: additionalProperties: type: string + # @review + description: + The configuration keys and values of the client extension. type: object externalReferenceCode: # @review @@ -268,12 +287,12 @@ components: - collectionConfig # @review description: - Represents the settings of a collection page. + The settings of a collection page. type: object CollectionViewport: # @review description: - Represents a collection viewport. + A collection viewport. properties: collectionViewportDefinition: # @review @@ -296,6 +315,9 @@ components: - collectionViewportDefinition type: object ColumnViewport: + # @review + description: + A column in a viewport. properties: columnViewportDefinition: properties: @@ -315,9 +337,13 @@ components: - $ref: "#/components/schemas/BasePageSettings" # @review description: - Represents the settings of a content page. + The settings of a content page. type: object ContentPageSpecification: + # @review + description: + A page specification of a content page. A content page may contain 0 or 1 page + specifications in draft status and 0 or 1 page specifications in published status. properties: externalReferenceCode: description: @@ -335,12 +361,12 @@ components: - $ref: "#/components/schemas/BasePageTemplate" # @review description: - Represents a content page template. + A content page template. type: object ContentPageTemplateSettings: # @review description: - Represents the settings of a content page. + The settings of a content page. type: object ContentPageWidgetInstance: allOf: @@ -453,13 +479,16 @@ components: description: The content type (and optionally subtype) associated to the display page template. creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The display page template's creator. It is not returned by default. It can be embedded via + nestedFields. readOnly: true creatorExternalReferenceCode: # @review description: - The page's creator external reference code. + The display page template's creator external reference code. type: string dateCreated: # @review @@ -541,13 +570,16 @@ components: Represents a Display Page template folder. properties: creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The display page template folder's creator. It is not returned by default. It can be embedded + via nestedFields. readOnly: true creatorExternalReferenceCode: # @review description: - The page's creator external reference code. + The display page template folder's creator external reference code. type: string dateCreated: # @review @@ -688,8 +720,11 @@ components: The external reference code of the collection this fragment composition belongs to. type: string creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The fragment composition's creator. It is not returned by default. It can be embedded via + nestedFields. readOnly: true creatorExternalReferenceCode: # @review @@ -1349,8 +1384,10 @@ components: Represents a page with common elements (header, footer, ...) used for all or several pages of a site. properties: creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The master page's creator. It is not returned by default. It can be embedded via nestedFields. readOnly: true creatorExternalReferenceCode: # @review @@ -1393,7 +1430,8 @@ components: type: array keywords: description: - The associated keywords. + The associated keywords. They are not returned by default. They can be embedded via + nestedFields. items: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" readOnly: true @@ -1414,7 +1452,8 @@ components: taxonomyCategories: # @review description: - The associated categories. + The associated categories. They are not returned by default. They can be embedded via + nestedFields. items: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" readOnly: true @@ -2333,6 +2372,10 @@ components: type: string type: object PageSpecification: + # @review + description: + A page specification of a content page, content page template, widget page, or widget page template. A content page may contain 0 or 1 page + specifications in draft status and 0 or 1 page specifications in published status. A widget page contains only 1 page specification in published status. oneOf: - $ref: "#/components/schemas/ContentPageSpecification" - $ref: "#/components/schemas/WidgetPageSpecification" @@ -2348,8 +2391,11 @@ components: Represents a Page template set. properties: creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The page template set's creator. It is not returned by default. It can be embedded via + nestedFields. readOnly: true creatorExternalReferenceCode: # @review @@ -2646,8 +2692,10 @@ components: readOnly: true type: array creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The page's creator. It is not returned by default. It can be embedded via nestedFields. readOnly: true creatorExternalReferenceCode: # @review @@ -2705,7 +2753,8 @@ components: keywords: # @review description: - The associated keywords. + The associated keywords. They are not returned by default. They can be embedded via + nestedFields. items: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#Keyword" readOnly: true @@ -2746,7 +2795,8 @@ components: taxonomyCategories: # @review description: - The associated categories. + The associated categories. They are not returned by default. They can be embedded via + nestedFields. items: $ref: "../../headless-admin-taxonomy/headless-admin-taxonomy-impl/rest-openapi.yaml#TaxonomyCategory" readOnly: true @@ -2837,8 +2887,10 @@ components: Represents a Utility Page. properties: creator: - # @review $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" + # @review + description: + The utility page's creator. It is not returned by default. It can be embedded via nestedFields. readOnly: true creatorExternalReferenceCode: # @review From 0f82118803a53f8f2d18d3a7037e4b0e6db385cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 14:40:37 +0200 Subject: [PATCH 251/260] LPD-x Automatic SF --- .../headless-admin-site-impl/rest-openapi.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 0e3ebe0b500cec..6cdd487966b9a3 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -342,8 +342,8 @@ components: ContentPageSpecification: # @review description: - A page specification of a content page. A content page may contain 0 or 1 page - specifications in draft status and 0 or 1 page specifications in published status. + A page specification of a content page. A content page may contain 0 or 1 page specifications in draft + status and 0 or 1 page specifications in published status. properties: externalReferenceCode: description: @@ -2374,8 +2374,9 @@ components: PageSpecification: # @review description: - A page specification of a content page, content page template, widget page, or widget page template. A content page may contain 0 or 1 page - specifications in draft status and 0 or 1 page specifications in published status. A widget page contains only 1 page specification in published status. + A page specification of a content page, content page template, widget page, or widget page template. A + content page may contain 0 or 1 page specifications in draft status and 0 or 1 page specifications in + published status. A widget page contains only 1 page specification in published status. oneOf: - $ref: "#/components/schemas/ContentPageSpecification" - $ref: "#/components/schemas/WidgetPageSpecification" From 9930fd0facd6d05fefe7770f7f374c84abab9276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 14:44:12 +0200 Subject: [PATCH 252/260] LPD-x Add discriminator and mapping to PageTemplate --- .../headless-admin-site-impl/rest-openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 6cdd487966b9a3..fa8bea6a452700 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -2382,6 +2382,11 @@ components: - $ref: "#/components/schemas/WidgetPageSpecification" type: object PageTemplate: + discriminator: + propertyName: type + mapping: + ContentPageTemplate: "#/components/schemas/ContentPageTemplate" + WidgetPageTemplate: "#/components/schemas/WidgetPageTemplate" oneOf: - $ref: "#/components/schemas/ContentPageTemplate" - $ref: "#/components/schemas/WidgetPageTemplate" From 2ecd65a28f219f9d7bb0ff1d045dfc97fc56d45e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 15:04:42 +0200 Subject: [PATCH 253/260] LPD-x Extract common properties to BasePageSpecification --- .../rest-openapi.yaml | 66 ++++++++++++------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index fa8bea6a452700..24e66a997667f2 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -53,6 +53,27 @@ components: description: The page's SEO settings. type: object + BasePageSpecification: + # @review + description: + A base page specification, containing the common properties of both a content page page specification + and a widget page page specification. It should only be referenced as part of an allOf clause. + properties: + externalReferenceCode: + description: + The page specification's external reference code, unique per site. + type: string + settings: + $ref: "#/components/schemas/Settings" + type: + # @review + description: + The type of the page specification. + enum: + - ContentPageSpecification + - WidgetPageSpecification + type: string + type: object BasePageTemplate: # @review description: @@ -340,21 +361,17 @@ components: The settings of a content page. type: object ContentPageSpecification: + allOf: + - $ref: "#/components/schemas/BasePageSpecification" + - properties: + pageExperiences: + items: + $ref: "#/components/schemas/PageExperience" + type: array # @review description: A page specification of a content page. A content page may contain 0 or 1 page specifications in draft status and 0 or 1 page specifications in published status. - properties: - externalReferenceCode: - description: - The page specification's external reference code, unique per site. - type: string - pageExperiences: - items: - $ref: "#/components/schemas/PageExperience" - type: array - settings: - $ref: "#/components/schemas/Settings" type: object ContentPageTemplate: allOf: @@ -2377,6 +2394,11 @@ components: A page specification of a content page, content page template, widget page, or widget page template. A content page may contain 0 or 1 page specifications in draft status and 0 or 1 page specifications in published status. A widget page contains only 1 page specification in published status. + discriminator: + propertyName: type + mapping: + ContentPageSpecification: "#/components/schemas/ContentPageSpecification" + WidgetPageSpecification: "#/components/schemas/WidgetPageSpecification" oneOf: - $ref: "#/components/schemas/ContentPageSpecification" - $ref: "#/components/schemas/WidgetPageSpecification" @@ -3052,17 +3074,17 @@ components: Represents the settings of a widget page. type: object WidgetPageSpecification: - properties: - externalReferenceCode: - description: - The page specification's external reference code, unique per site. - type: string - settings: - $ref: "#/components/schemas/Settings" - widgetPageSections: - items: - $ref: "#/components/schemas/WidgetPageSection" - type: array + allOf: + - $ref: "#/components/schemas/BasePageSpecification" + - properties: + widgetPageSections: + items: + $ref: "#/components/schemas/WidgetPageSection" + type: array + # @review + description: + A page specification of a widget page. A widget page contains always 1 page specification in published + status. type: object WidgetPageTemplate: allOf: From 547c8d8cc8d75d5d41a602c43282de766c11e335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 15:26:42 +0200 Subject: [PATCH 254/260] LPD-x Rename classExternalReference to itemExternalReference --- .../headless-admin-site-impl/rest-openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 24e66a997667f2..eddf961adbdf05 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -907,7 +907,7 @@ components: description: Represents a fragment image. properties: - classExternalReference: + itemExternalReference: $ref: "#/components/schemas/ItemExternalReference" config: # @review From 9fa66d4b1b420139bb02f37e67f9c6ebc53250e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 15:27:22 +0200 Subject: [PATCH 255/260] LPD-x Update descriptions --- .../headless-admin-site-impl/rest-openapi.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index eddf961adbdf05..b7cd599b02a754 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -389,6 +389,9 @@ components: allOf: - $ref: "#/components/schemas/BaseWidgetInstance" ContextReference: + # @review + description: + A reference of type context, used in collection display fragments and display page templates. properties: contextSource: enum: [CollectionItem, DisplayPageItem] @@ -418,7 +421,7 @@ components: CustomField: # @review description: - Represents the value of each custom field. Fields can contain different information types (e.g., + The value of each custom field. Fields can contain different information types (e.g., geolocation, strings, etc.). properties: customValue: @@ -645,12 +648,12 @@ components: $ref: "#/components/schemas/OpenGraphSettings" # @review description: - The page's Open Graph settings. + The display page template's Open Graph settings. seoSettings: $ref: "#/components/schemas/SEOSettings" # @review description: - The page's SEO settings. + The display page template's SEO settings. type: object Fragment: # @review From 25ca48992f11e87fe204dcae8442d42e8491e6f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 16:52:35 +0200 Subject: [PATCH 256/260] LPD-x Reorganize fields within PageFragmentInstanceDefinition. The referenced fragment a default fragment or a custom one. Group together the fields that are copied from the FragmentEntry to the FragmentEntryLink (configuration, css, html, js and type) under FragmentSnapshot. --- .../rest-openapi.yaml | 180 ++++++------------ 1 file changed, 63 insertions(+), 117 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index b7cd599b02a754..68add6e8ab0ba8 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -421,8 +421,8 @@ components: CustomField: # @review description: - The value of each custom field. Fields can contain different information types (e.g., - geolocation, strings, etc.). + The value of each custom field. Fields can contain different information types (e.g., geolocation, + strings, etc.). properties: customValue: $ref: "#/components/schemas/CustomValue" @@ -472,6 +472,17 @@ components: description: A point determined by latitude and longitude. type: object + DefaultFragmentReference: + # @review + description: + A reference to a default fragment (provided out-of-the-box). + properties: + defaultFragmentKey: + # @review + description: + The key of the default fragment. + type: string + type: object DisplayPageActionExecutionResult: # @review description: @@ -655,80 +666,6 @@ components: description: The display page template's SEO settings. type: object - Fragment: - # @review - description: - Represents a template made up of CSS, HTML, and JavaScript used to build Content Pages. - properties: - collectionExternalReferenceCode: - # @review - description: - The external reference code of the collection this fragment belongs to. - type: string - configuration: - additionalProperties: - type: object - # @review - description: - The fragment instance's configuration. - type: object - css: - # @review - description: - The fragment instance's css. - type: string - datePropagated: - description: - The fragment instance's most recent propagation date. - format: date-time - type: string - datePublished: - description: - The fragment instance's most recent publication date. - format: date-time - type: string - defaultFragmentKey: - # @review - description: - The key of the referenced fragment if it is a Default fragment. - type: string - externalReferenceCode: - # @review - description: - The external reference code of this fragment composition. - type: string - fragmentReference: - $ref: "#/components/schemas/ItemExternalReference" - # @review - description: - An external reference to the fragment. - html: - # @review - description: - The fragment instance's html. - type: string - js: - # @review - description: - The fragment's html. - type: string - namespace: - # @review - description: - The fragment instance's namespace. - type: string - type: - # @review - description: - The fragment instance's type. - enum: [Component, Input, React] - type: string - uuid: - # @review - description: - A valid external identifier to reference this fragment instance. - type: string - type: object FragmentComposition: # @review description: @@ -910,8 +847,6 @@ components: description: Represents a fragment image. properties: - itemExternalReference: - $ref: "#/components/schemas/ItemExternalReference" config: # @review description: @@ -939,6 +874,8 @@ components: The fragment image's description. oneOf: - $ref: "#/components/schemas/FragmentInlineValue" + itemExternalReference: + $ref: "#/components/schemas/ItemExternalReference" title: # @review description: @@ -1043,6 +980,44 @@ components: $ref: "#/components/schemas/ItemExternalReference" type: array type: object + FragmentSnapshot: + # @review + description: + Represents the snapshot of a fragment at the time it was added or propagated to a page or page template. + properties: + configuration: + additionalProperties: + type: object + # @review + description: + The fragment's configuration at the time the fragment was added or propagated to the page or + page template. + type: object + css: + # @review + description: + The fragment's css at the time the fragment was added or propagated to the page or page + template. + type: string + html: + # @review + description: + The fragment's html at the time the fragment was added or propagated to the page or page + template. + type: string + js: + # @review + description: + The fragment's js at the time the fragment wwas added or propagated to the page or page + template. + type: string + type: + # @review + description: + The fragment instance's type. + enum: [Component, Input, React] + type: string + type: object FragmentStyle: # @review description: @@ -2123,61 +2098,38 @@ components: The fragment instance's most recent publication date. format: date-time type: string - defaultFragmentKey: - # @review - description: - The key of the fragment if it is a default fragment. - type: string draftPageElementExternalReferenceCode: # @review description: The external reference code of the corresponding page element in the draft of the page. Available only in the published page specification. type: string - fragmentCSS: - # @review - description: - The fragment's css at the time the fragment was added to the page or page template or last - propagated. - type: string fragmentConfig: additionalProperties: type: object # @review description: - The page fragment instance's configuration. + The configuration values of the fragment instance. type: object fragmentFields: # @review description: - The fragment fields of the page fragment instance. + The fragment field values of the the fragment instance. items: $ref: "#/components/schemas/FragmentField" type: array - fragmentHtml: - # @review - description: - The fragment's html at the time the fragment was added to the page or page template or last - propagated. - type: string - fragmentInstanceConfigValues: - additionalProperties: - type: object - # @review - description: - The page fragment instance's configuration. - type: object - fragmentJS: - # @review - description: - The fragment's js at the time the fragment was added to the page or page template or last - propagated. - type: string fragmentReference: - $ref: "#/components/schemas/ItemExternalReference" # @review description: An external reference to the fragment. + oneOf: + - $ref: "#/components/schemas/DefaultFragmentReference" + - $ref: "#/components/schemas/ItemExternalReference" + fragmentSnapshot: + $ref: "#/components/schemas/FragmentSnapshot" + # @review + description: + A snapshot of a fragment at the time it was added or propagated to a page or page template. fragmentStyle: $ref: "#/components/schemas/FragmentStyle" # @review @@ -2205,12 +2157,6 @@ components: description: The fragment instance's namespace. type: string - type: - # @review - description: - The fragment instance's type. - enum: [Component, Input, React] - type: string uuid: # @review description: From 41d7f413518fe641c9dc7a09832b1d8c07639ca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 17:02:43 +0200 Subject: [PATCH 257/260] LPD-x Rename collection to fragment set. --- .../headless-admin-site-impl/rest-openapi.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 68add6e8ab0ba8..555f029c83823d 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -653,7 +653,7 @@ components: DisplayPageTemplateSettings: # @review description: - Represents the settings of a Display Page Template. + The settings of a Display Page Template. properties: openGraphSettings: $ref: "#/components/schemas/OpenGraphSettings" @@ -669,13 +669,8 @@ components: FragmentComposition: # @review description: - Represents a composition of fragments that can be added to a site page. + A composition of fragments that can be added to a site page. properties: - collectionExternalReferenceCode: - # @review - description: - The external reference code of the collection this fragment composition belongs to. - type: string creator: $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" # @review @@ -713,6 +708,11 @@ components: description: The external reference code of this fragment composition. type: string + fragmentSetExternalReferenceCode: + # @review + description: + The external reference code of the fragment set this fragment composition belongs to. + type: string key: # @review description: From 22476740487a9e361c30649d1c74dd629a3257ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 18:07:08 +0200 Subject: [PATCH 258/260] LPD-x Update descriptions. --- .../rest-openapi.yaml | 246 +++++++++--------- 1 file changed, 128 insertions(+), 118 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index 555f029c83823d..fa7dd82f8f40a8 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -402,7 +402,7 @@ components: CustomCSSViewport: # @review description: - Represents a custom CSS viewport. + A custom CSS viewport. properties: customCSS: # @review @@ -440,7 +440,7 @@ components: CustomMetaTag: # @review description: - Represents a custom meta tag. + A custom meta tag. properties: key: # @review @@ -458,7 +458,7 @@ components: CustomValue: # @review description: - Represents a custom value. + A custom value. properties: data_i18n: additionalProperties: @@ -486,7 +486,7 @@ components: DisplayPageActionExecutionResult: # @review description: - Represents a definition of an action execution of type display page. + The definition of an action execution of type display page. properties: mapping: # @review @@ -503,7 +503,7 @@ components: DisplayPageTemplate: # @review description: - Represents a Display Page template. + A display page template. properties: contentTypeReference: $ref: "#/components/schemas/ClassSubtypeReference" @@ -598,7 +598,7 @@ components: DisplayPageTemplateFolder: # @review description: - Represents a Display Page template folder. + A display page template folder. properties: creator: $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" @@ -737,7 +737,7 @@ components: FragmentField: # @review description: - Represents a fragment field. + A fragment field. properties: id: # @review @@ -758,7 +758,7 @@ components: FragmentFieldAction: # @review description: - Represents a fragment field with an action. + A fragment field with an action. properties: action: # @review @@ -787,7 +787,7 @@ components: FragmentFieldBackgroundImage: # @review description: - Represents a fragment field with a background image. + A fragment field with a background image. properties: backgroundFragmentImage: $ref: "#/components/schemas/FragmentImage" @@ -798,7 +798,7 @@ components: FragmentFieldHTML: # @review description: - Represents a fragment field with HTML. + A fragment field with HTML. properties: html: # @review @@ -811,7 +811,7 @@ components: FragmentFieldImage: # @review description: - Represents a fragment field with an image. + A fragment field with an image. properties: fragmentImage: $ref: "#/components/schemas/FragmentImage" @@ -827,7 +827,7 @@ components: FragmentFieldText: # @review description: - Represents a fragment field with text. + A fragment field with text. properties: fragmentLink: $ref: "#/components/schemas/FragmentLink" @@ -845,7 +845,7 @@ components: FragmentImage: # @review description: - Represents a fragment image. + A fragment image. properties: config: # @review @@ -893,7 +893,7 @@ components: FragmentInlineValue: # @review description: - Represents a fragment inline value. + A fragment inline value. properties: value_i18n: additionalProperties: @@ -906,7 +906,7 @@ components: FragmentLink: # @review description: - Represents a fragment link. + A fragment link. properties: value_i18n: additionalProperties: @@ -918,12 +918,13 @@ components: FragmentLinkValue: # @review description: - Represents a fragment link value. + A fragment link value. properties: href: # @review description: - The fragment link value's hypertext reference. Can be inline or mapped to an external value. + The fragment link value's hypertext reference. Can be an inline value or mapped to an external + value. oneOf: - $ref: "#/components/schemas/FragmentInlineValue" - $ref: "#/components/schemas/FragmentMappedValue" @@ -936,7 +937,7 @@ components: FragmentMappedValue: # @review description: - Represents a fragment mapped value. + A fragment mapped value. properties: mapping: # @review @@ -960,7 +961,7 @@ components: FragmentSettingsAllowed: # @review description: - Represents the settings of allowed fragments in a page dropzone. + Represents the settings of allowed fragments in a page drop zone. properties: allowedFragments: # @review @@ -973,7 +974,7 @@ components: FragmentSettingsUnallowed: # @review description: - Represents the settings of unallowed fragments in a page dropzone. + Represents the settings of unallowed fragments in a page drop zone. properties: unallowedFragments: items: @@ -1008,20 +1009,19 @@ components: js: # @review description: - The fragment's js at the time the fragment wwas added or propagated to the page or page - template. + The fragment's js at the time the fragment was added or propagated to the page or page template. type: string type: # @review description: - The fragment instance's type. + The fragment's type. enum: [Component, Input, React] type: string type: object FragmentStyle: # @review description: - Represents a fragment style. + A fragment style. properties: backgroundColor: # @review @@ -1167,7 +1167,7 @@ components: FragmentViewport: # @review description: - Represents a fragment viewport. + A fragment viewport. properties: fragmentViewportStyle: # @review @@ -1376,7 +1376,7 @@ components: MasterPage: # @review description: - Represents a page with common elements (header, footer, ...) used for all or several pages of a site. + A page with common elements (header, footer, ...) used for all or several pages of a site. properties: creator: $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" @@ -1474,7 +1474,7 @@ components: MessageFormSubmissionResult: # @review description: - Represents a definition of a submission result of type message. + The definition of a submission result of type message. properties: message: $ref: "#/components/schemas/FragmentInlineValue" @@ -1515,7 +1515,7 @@ components: NoneActionExecutionResult: # @review description: - Represents a definition of an action execution result of type none. + The definition of an action execution result of type none. properties: reload: # @review @@ -1526,7 +1526,7 @@ components: NotificationActionExecutionResult: # @review description: - Represents a definition of an action execution result of type notification. + The definition of an action execution result of type notification. properties: reload: # @review @@ -1574,7 +1574,7 @@ components: PageCollectionDefinition: # @review description: - Represents a definition of a Page Collection. + The definition of a Page Collection. properties: collectionConfig: $ref: "#/components/schemas/CollectionConfig" @@ -1692,7 +1692,7 @@ components: PageCollectionItemDefinition: # @review description: - Represents a definition of a Page Collection Item. + The definition of a Page Collection Item. properties: collectionItemConfig: # @review @@ -1703,7 +1703,7 @@ components: PageColumnDefinition: # @review description: - Represents a definition of a Page Column. + The definition of a Page Column. properties: columnViewports: # @review @@ -1723,7 +1723,7 @@ components: PageContainerDefinition: # @review description: - Represents a definition of a Page section. + The definition of a Page section. properties: backgroundFragmentImage: $ref: "#/components/schemas/FragmentImage" @@ -1857,7 +1857,7 @@ components: PageElement: # @review description: - Represents a Page element. + A page element. properties: definition: # @review @@ -1907,7 +1907,7 @@ components: PageExperience: description: # @review - Represents a customized experience for a given page specification. + A customized experience for a given page specification. properties: externalReferenceCode: description: @@ -1916,20 +1916,26 @@ components: key: # @review description: - the experience's key. + The experience's key. type: string name_i18n: additionalProperties: type: string # @review description: - the localized experience's names. + The localized experience's names. type: object pageElements: + # @review + description: + The page elements in the experience. items: $ref: "#/components/schemas/PageElement" type: array pageRules: + # @review + description: + The page rules in the experience. items: $ref: "#/components/schemas/PageRule" type: array @@ -1951,24 +1957,24 @@ components: PageFormDefinition: # @review description: - Represent a definition of a Page form. + The definition of a page form. properties: cssClasses: # @review description: - A list of CSS Classes that are applied to the element. + A list of CSS classes that are applied to the page element. items: type: string type: array customCSS: # @review description: - Custom CSS that is applied on the fragment. + Custom CSS that is applied on the page element. type: string customCSSViewports: # @review description: - The custom CSS viewports of the page collection. + The custom CSS viewports of the page form. items: $ref: "#/components/schemas/CustomCSSViewport" type: array @@ -1998,11 +2004,11 @@ components: $ref: "#/components/schemas/FragmentStyle" # @review description: - The fragment style of a Page form. + The fragment style of a page form. fragmentViewports: # @review description: - A list of fragment viewports of a Page form. + A list of fragment viewports of a page form. items: $ref: "#/components/schemas/FragmentViewport" type: array @@ -2014,7 +2020,7 @@ components: layout: # @review description: - the page section's layout. + The page section's layout. properties: align: enum: [Baseline, Center, End, None, Start, Stretch] @@ -2038,41 +2044,41 @@ components: name: # @review description: - The custom name of of a Page form. + The custom name of of a page form. type: string type: object PageFragmentCompositionInstanceDefinition: # @review description: - Represents a definition of a Page Fragment Composition Instance. + The definition of a page fragment composition instance. properties: fragmentComposition: $ref: "#/components/schemas/ItemExternalReference" # @review description: - The reference to the fragment composition that will be used to generate the PageElement of type - Section that will be added. + The reference to the fragment composition that will be used to generate the page elment of type + section that will be added. type: object PageFragmentDropZoneDefinition: # @review description: - Represents a definition of a Page Fragment DropZone. + The definition of a page fragment drop zone. properties: fragmentDropZoneId: # @review description: - The id of the fragment dropzone + The id of the fragment drop zone type: string type: object PageFragmentInstanceDefinition: # @review description: - Represents a definition of a Page Fragment Instance. + A definition of a page fragment instance. properties: cssClasses: # @review description: - A list of CSS Classes that are applied to the element. + A list of CSS classes that are applied to the fragment instance. items: type: string type: array @@ -2084,7 +2090,7 @@ components: customCSSViewports: # @review description: - The custom CSS viewports of the page collection. + The custom CSS viewports of the fragment instance. items: $ref: "#/components/schemas/CustomCSSViewport" type: array @@ -2150,7 +2156,7 @@ components: name: # @review description: - The custom name of a Page Fragment Instance. + The custom name of a fragment instance. type: string namespace: # @review @@ -2165,7 +2171,7 @@ components: widgetInstances: # @review description: - A list of widget instances of the page fragment instance. + A list of widget instances within the fragment instance. items: $ref: "#/components/schemas/WidgetInstance" type: array @@ -2173,24 +2179,24 @@ components: PageRowDefinition: # @review description: - Represents a definition of a Page row. + The definition of a page row. properties: cssClasses: # @review description: - A list of CSS Classes that are applied to the element. + A list of CSS classes that are applied to the page row. items: type: string type: array customCSS: # @review description: - Custom CSS that is applied on the fragment. + Custom CSS that is applied on the page row. type: string customCSSViewports: # @review description: - The custom CSS viewports of the page collection. + The custom CSS viewports of the page row. items: $ref: "#/components/schemas/CustomCSSViewport" type: array @@ -2198,11 +2204,11 @@ components: $ref: "#/components/schemas/FragmentStyle" # @review description: - The fragment style of a Page row. + The fragment style of the page row. fragmentViewports: # @review description: - A list of fragment viewports of a Page row. + A list of fragment viewports of a page row. items: $ref: "#/components/schemas/FragmentViewport" type: array @@ -2224,7 +2230,7 @@ components: name: # @review description: - The custom name of a Page row. + The custom name of a page row. type: string numberOfColumns: # @review @@ -2252,7 +2258,7 @@ components: PageRule: # @review description: - Represents a definition of a Page Rule. + The definition of a page rule. properties: conditionType: # @review @@ -2268,19 +2274,19 @@ components: name: # @review description: - The custom name of a Page rule. + The custom name of a page rule. type: string pageRuleActions: # @review description: - A list of actions of a Page rule. + A list of actions of a page rule. items: $ref: "#/components/schemas/PageRuleAction" type: array pageRuleConditions: # @review description: - A list of conditions of a Page rule. + A list of conditions of a page rule. items: $ref: "#/components/schemas/PageRuleCondition" type: array @@ -2288,7 +2294,7 @@ components: PageRuleAction: # @review description: - Represents a definition of a Page Rule Action. + The definition of a page rule action. properties: action: # @review @@ -2303,7 +2309,7 @@ components: itemId: # @review description: - The page rule condition's item ID. + The page rule action's item ID. type: string type: # @review @@ -2314,7 +2320,7 @@ components: PageRuleCondition: # @review description: - Represents a definition of a Page Rule Condition. + The definition of a Page Rule Condition. properties: condition: # @review @@ -2365,7 +2371,7 @@ components: PageTemplateSet: # @review description: - Represents a Page template set. + A page template set. properties: creator: $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" @@ -2377,7 +2383,7 @@ components: creatorExternalReferenceCode: # @review description: - The page's creator external reference code. + The page template set's creator external reference code. type: string dateCreated: # @review @@ -2404,7 +2410,7 @@ components: key: # @review description: - The display page template set's key. + The page template set's key. type: string name: # @review @@ -2419,12 +2425,12 @@ components: PageWidgetInstanceDefinition: # @review description: - Represents a definition of a Page Widget instance. + The definition of a page widget instance. properties: cssClasses: # @review description: - A list of CSS Classes that are applied to the element. + A list of CSS classes that are applied to the element. items: type: string type: array @@ -2455,7 +2461,7 @@ components: name: # @review description: - The custom name of a Page Widget instance. + The custom name of a page widget instance. type: string widgetInstance: $ref: "#/components/schemas/ContentPageWidgetInstance" @@ -2466,7 +2472,7 @@ components: RowViewport: # @review description: - Represents a row viewport. + A row viewport. properties: id: # @review @@ -2501,7 +2507,7 @@ components: SEOSettings: # @review description: - Represents settings related with SEO. + Settings related with SEO. properties: customCanonicalURL_i18n: additionalProperties: @@ -2591,19 +2597,19 @@ components: favIcon: # @review description: - The FavIcon of the page specification + The FavIcon of the page specification. oneOf: - $ref: "#/components/schemas/ClientExtension" - $ref: "#/components/schemas/ItemExternalReference" globalCSSClientExtensions: description: - The client extensions for global css associated to the page. + The client extensions for global CSS associated to the page. items: $ref: "#/components/schemas/ClientExtension" type: array globalJSClientExtensions: description: - The client extensions for global js associated to the page. + The client extensions for global JS associated to the page. items: $ref: "#/components/schemas/ClientExtension" type: array @@ -2621,24 +2627,24 @@ components: styleBook: # @review description: - The StyleBook that is applied to the page specification. + The style book that is applied to the page specification. properties: key: # @review description: - The stylebook's key. + The style book's key. type: string name: # @review description: - The stylebook's name. + The style book's name. type: string type: object themeCSSClientExtension: $ref: "#/components/schemas/ClientExtension" # @review description: - The Client Extension for the theme css of a page specification. + The client extension for the theme CSS of a page specification. themeName: # @review description: @@ -2653,12 +2659,12 @@ components: $ref: "#/components/schemas/ClientExtension" # @review description: - The Client Extension for the theme spritemap of a page specification. + The client extension for the theme spritemap of a page specification. type: object SitePage: # @review description: - Represents a site page, which can be of type content or widget. + A page on a site, which can be of type content or widget. properties: availableLanguages: # @review @@ -2712,8 +2718,8 @@ components: $ref: "#/components/schemas/FriendlyUrlHistory" # @review description: - The the history of previously used URLs to the page's rendered content. This field is not - returned by default. It can be requested via nestedFields. + The history of previously used URLs to the page's rendered content. This field is not returned + by default. It can be requested via nestedFields. friendlyUrlPath_i18n: additionalProperties: type: string @@ -2818,7 +2824,7 @@ components: SitePageActionExecutionResult: # @review description: - Represents a definition of an action execution of type page. + The definition of an action execution of type page. properties: itemReference: $ref: "#/components/schemas/ItemExternalReference" @@ -2829,7 +2835,7 @@ components: SitePageFormSubmissionResult: # @review description: - Represents a definition of a submission result of type page. + The definition of a submission result of type page. properties: itemReference: $ref: "#/components/schemas/ItemExternalReference" @@ -2840,7 +2846,7 @@ components: URLActionExecutionResult: # @review description: - Represents a definition of an action execution result of type URL. + The definition of an action execution result of type URL. properties: url: $ref: "#/components/schemas/FragmentInlineValue" @@ -2851,7 +2857,7 @@ components: URLFormSubmissionResult: # @review description: - Represents a definition of a submission result of type URL. + The definition of a submission result of type URL. properties: url: $ref: "#/components/schemas/FragmentInlineValue" @@ -2861,7 +2867,7 @@ components: type: object UtilityPage: description: - Represents a Utility Page. + The definition of a Utility Page. properties: creator: $ref: "../../headless-admin-user/headless-admin-user-impl/rest-openapi.yaml#Creator" @@ -2872,7 +2878,7 @@ components: creatorExternalReferenceCode: # @review description: - The page's creator external reference code. + The utility page's creator external reference code. type: string dateCreated: # @review @@ -2900,12 +2906,12 @@ components: externalReferenceCode: # @review description: - The utility page external reference code. + The utility page's external reference code. type: string name: # @review description: - The utility page name. + The utility page's name. type: string pageSpecifications: # @review @@ -2923,14 +2929,14 @@ components: type: # @review description: - The utility page type. + The utility page's type. enum: [CookiePolicy, CreateAccount, Error, ErrorCode404, ErrorCode500, ForgotPassword, Login, TermsOfUse] type: string utilityPageSettings: $ref: "#/components/schemas/UtilityPageSettings" # @review description: - Settings of the utility page, such as SEO. + Settings of the utility page. uuid: description: A valid external identifier to reference this utility page. @@ -2939,7 +2945,7 @@ components: UtilityPageSEOSettings: # @review description: - Represents settings related with SEO of an utility page. + Settings related with SEO of an utility page. properties: description_i18n: additionalProperties: @@ -2959,7 +2965,7 @@ components: UtilityPageSettings: # @review description: - Represents the settings of an utility page. + The settings of an utility page. properties: seoSettings: $ref: "#/components/schemas/UtilityPageSEOSettings" @@ -2970,7 +2976,7 @@ components: WidgetPageSection: # @review description: - Represents a widget page section. + A widget page section. properties: customizable: # @review @@ -2984,7 +2990,7 @@ components: widgetInstances: # @review description: - A list of the page elements this page element has. + A list of the widget instances within this page section. items: $ref: "#/components/schemas/WidgetPageWidgetInstance" type: array @@ -2995,24 +3001,24 @@ components: customizable: # @review description: - A flag that indicates whether the page is customizable. + A flag that indicates whether the widget page is customizable. type: boolean customizableSectionIds: # @review description: - The ids of the customizable sections. + The IDs of the customizable sections. items: type: string type: array inheritChanges: # @review description: - Whether this widget page will inherit changes made to the associated widget page template + Whether this widget page will inherit changes made to the associated widget page template. type: boolean layoutTemplateId: # @review description: - The identifier of the layout template. + The ID of the layout template. type: string widgetPageTemplateReference: $ref: "#/components/schemas/ItemExternalReference" @@ -3020,12 +3026,15 @@ components: - layoutPageTemplateId # @review description: - Represents the settings of a widget page. + The settings of a widget page. type: object WidgetPageSpecification: allOf: - $ref: "#/components/schemas/BasePageSpecification" - properties: + # @review + description: + The sections of a widget page. widgetPageSections: items: $ref: "#/components/schemas/WidgetPageSection" @@ -3072,12 +3081,12 @@ components: The localized names of the widget page template. # @review description: - Represents a widget page template. + A widget page template. type: object WidgetPageTemplateSettings: # @review description: - Represents the settings of a widget page template. + The settings of a widget page template. properties: layoutTemplateId: # @review @@ -3112,7 +3121,7 @@ components: type: string parentSectionId: description: - The section's id of the widget page or the nested application widget instance this widget + The section's ID of the widget page or the nested application widget instance this widget belongs to. type: string parentWidgetInstanceExternalReferenceCode: @@ -3122,16 +3131,15 @@ components: type: string position: description: - The 0-based position this widget instances occupies with respect to its siblings (0 for - first child, 1 for second child, ...). If not specified when creating a page element the - page element will be added at the last valid position. + The 0-based position this widget instance occupies with respect to its siblings (0 for + first child, 1 for second child, ...). If not specified when creating a widget instance + the widget instance will be added at the last valid position. minimum: 0 type: integer widgetLookAndFeelConfig: # @review description: - The widget instance's look and feel configuration. It applies only to widgets within - SitePages of type WidgetPage or within PageTemplates of type WidgetPageTemplate. + The widget instance's look and feel configuration. items: properties: advancedStylingConfig: @@ -3536,7 +3544,7 @@ components: type: array # @review description: - Represents a Widget Instance in a Widget Page. + A widget instance in a widget page. type: object info: description: @@ -3551,8 +3559,9 @@ openapi: 3.0.1 paths: "/sites/{siteExternalReferenceCode}/display-page-template-folders": get: + # @review description: - Retrieves the display page template folders of the site + Retrieves the display page template folders of the site. operationId: getSiteDisplayPageTemplateFoldersPage parameters: - in: path @@ -3613,8 +3622,9 @@ paths: type: array tags: ["DisplayPageTemplateFolder"] post: + # @review description: - Adds a new display page template folder + Adds a new display page template folder. operationId: postSiteDisplayPageTemplateFolder parameters: - in: path From ef1ddc25426fb343ccfdea341283c80d7f46b984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 18:22:31 +0200 Subject: [PATCH 259/260] LPD-x Update descriptions. --- .../rest-openapi.yaml | 105 +++++++++++++++++- 1 file changed, 99 insertions(+), 6 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index fa7dd82f8f40a8..e93fae7e24e85f 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3700,6 +3700,7 @@ paths: tags: ["DisplayPageTemplateFolder"] "/sites/{siteExternalReferenceCode}/display-page-template-folders/{displayPageTemplateFolderExternalReferenceCode}": delete: + # @review description: Deletes a specific display page template folder of a site. operationId: deleteSiteDisplayPageTemplateFolder @@ -3721,6 +3722,7 @@ paths: application/xml: {} tags: ["DisplayPageTemplateFolder"] get: + # @review description: Retrieves a specific display page template folder of a site. operationId: getSiteDisplayPageTemplateFolder @@ -3760,6 +3762,7 @@ paths: default response tags: ["DisplayPageTemplateFolder"] patch: + # @review description: Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSiteDisplayPageTemplateFolder @@ -3807,6 +3810,7 @@ paths: default response tags: ["DisplayPageTemplateFolder"] put: + # @review description: Updates the display page template folder with the given external reference code, or creates it if it does not exist. @@ -3856,6 +3860,7 @@ paths: tags: ["DisplayPageTemplateFolder"] "/sites/{siteExternalReferenceCode}/display-page-template-folders/{displayPageTemplateFolderExternalReferenceCode}/display-page-templates": get: + # @review description: Retrieves all the display page templates within a display page template folder of a site page. operationId: getSiteDisplayPageTemplateFolderDisplayPageTemplatesPage @@ -3902,6 +3907,7 @@ paths: # @review tags: ["DisplayPageTemplateFolder"] post: + # @review description: Adds a new display page template in draft status to a display page template folder. operationId: postSiteDisplayPageTemplateFolderDisplayPageTemplate @@ -4006,6 +4012,7 @@ paths: tags: ["DisplayPageTemplateFolder"] "/sites/{siteExternalReferenceCode}/display-page-templates": get: + # @review description: Retrieves the display page templates of the site operationId: getSiteDisplayPageTemplatesPage @@ -4068,6 +4075,7 @@ paths: type: array tags: ["DisplayPageTemplate"] post: + # @review description: Adds a new display page template operationId: postSiteDisplayPageTemplate @@ -4145,6 +4153,7 @@ paths: tags: ["DisplayPageTemplate"] "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}": delete: + # @review description: Deletes a specific display page template of a site. operationId: deleteSiteDisplayPageTemplate @@ -4166,6 +4175,7 @@ paths: application/xml: {} tags: ["DisplayPageTemplate"] get: + # @review description: Retrieves a specific display page template of a site. operationId: getSiteDisplayPageTemplate @@ -4205,6 +4215,7 @@ paths: default response tags: ["DisplayPageTemplate"] patch: + # @review description: Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSiteDisplayPageTemplate @@ -4252,6 +4263,7 @@ paths: default response tags: ["DisplayPageTemplate"] put: + # @review description: Updates the display page template with the given external reference code, or creates it if it does not exist. @@ -4301,6 +4313,7 @@ paths: tags: ["DisplayPageTemplate"] "/sites/{siteExternalReferenceCode}/display-page-templates/{displayPageTemplateExternalReferenceCode}/page-specifications": post: + # @review description: Adds a new page specification in draft status to a display page template. operationId: postSiteDisplayPageTemplatePageSpecification @@ -4405,8 +4418,9 @@ paths: tags: ["DisplayPageTemplate"] "/sites/{siteExternalReferenceCode}/fragment-compositions": get: + # @review description: - Retrieves the fragment compositions of the site + Retrieves the fragment compositions of the site. operationId: getSiteFragmentCompositionsPage parameters: - in: path @@ -4461,10 +4475,11 @@ paths: type: array tags: ["FragmentComposition"] post: + # @review description: Adds a new fragment composition. If the page element of the fragment composition does not contain a - "definition" property and contains an externalReferenceCode, the PageElement will be retrieved based on - the externalReferenceCode and used for creating the FragmentComposition. + definition property and contains an external reference code, the page element will be retrieved based on + the externalReferenceCode and used for creating the fragment composition. operationId: postSiteFragmentComposition parameters: - in: path @@ -4507,6 +4522,7 @@ paths: tags: ["FragmentComposition"] "/sites/{siteExternalReferenceCode}/fragment-compositions/{fragmentCompositionExternalReferenceCode}": delete: + # @review description: Deletes a specific fragment composition of a site. operationId: deleteSiteFragmentComposition @@ -4528,6 +4544,7 @@ paths: application/xml: {} tags: ["FragmentComposition"] get: + # @review description: Retrieves a specific fragment composition of a site. operationId: getSiteFragmentComposition @@ -4567,6 +4584,7 @@ paths: default response tags: ["FragmentComposition"] patch: + # @review description: Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSiteFragmentComposition @@ -4614,6 +4632,7 @@ paths: default response tags: ["FragmentComposition"] put: + # @review description: Updates the fragment composition with the given external reference code, or creates it if it does not exist. @@ -4663,8 +4682,9 @@ paths: tags: ["FragmentComposition"] "/sites/{siteExternalReferenceCode}/master-pages": get: + # @review description: - Retrieves the master pages of the site + Retrieves the master pages of the site. operationId: getSiteMasterPagesPage parameters: - in: path @@ -4725,8 +4745,9 @@ paths: type: array tags: ["MasterPage"] post: + # @review description: - Adds a new master page + Adds a new master page. operationId: postSiteMasterPage parameters: - in: path @@ -4802,6 +4823,7 @@ paths: tags: ["MasterPage"] "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}": delete: + # @review description: Deletes a specific master page of a site. operationId: deleteSiteMasterPage @@ -4823,6 +4845,7 @@ paths: application/xml: {} tags: ["MasterPage"] get: + # @review description: Retrieves a specific master page of a site. operationId: getSiteMasterPage @@ -4862,6 +4885,7 @@ paths: default response tags: ["MasterPage"] patch: + # @review description: Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSiteMasterPage @@ -4909,6 +4933,7 @@ paths: default response tags: ["MasterPage"] put: + # @review description: Updates the master page with the given external reference code, or creates it if it does not exist. operationId: putSiteMasterPage @@ -4957,6 +4982,7 @@ paths: tags: ["MasterPage"] "/sites/{siteExternalReferenceCode}/master-pages/{masterPageExternalReferenceCode}/page-specifications": post: + # @review description: Adds a new page specification in draft status to a master page. operationId: postSiteMasterPagePageSpecification @@ -5061,6 +5087,7 @@ paths: tags: ["MasterPage"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}": delete: + # @review description: Deletes a page element within an experience of a specific page specification of a site page within a site. @@ -5083,8 +5110,9 @@ paths: application/xml: {} tags: ["PageElement"] get: + # @review description: - Retrieves page element within an experience of a specific page specification of a site page within a + Retrieves a page element within an experience of a specific page specification of a site page within a site. operationId: getSitePageElement parameters: @@ -5124,6 +5152,7 @@ paths: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] patch: + # @review description: Updates a page element within an experience of a specific page specification of a site page within a site. Updates only the fields received in the request body, leaving any other fields untouched. @@ -5165,6 +5194,7 @@ paths: $ref: "#/components/schemas/PageElement" tags: ["PageElement"] put: + # @review description: Updates a page element within an experience of a specific page specification of a site page within a site. @@ -5207,6 +5237,7 @@ paths: tags: ["PageElement"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/fragment-compositions": post: + # @review description: Adds a new fragment composition under a page element of an experience in a page specification of a site page. If successful, the response will contain the page element in which the fragment composition is @@ -5268,6 +5299,7 @@ paths: tags: ["PageElement"] "/sites/{siteExternalReferenceCode}/page-elements/{pageElementExternalReferenceCode}/page-elements": get: + # @review description: Retrieves all the descendant page elements of a page element within an experience in a page specification of a site page. @@ -5316,6 +5348,7 @@ paths: tags: ["PageElement"] "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}": delete: + # @review description: Deletes an experience of a specific page specification of a site page within a site. The default experience cannot be deleted. @@ -5350,6 +5383,7 @@ paths: application/xml: {} tags: ["PageExperience"] get: + # @review description: Retrieves an experience of a specific page specification of a site page within a site. operationId: getSitePageExperience @@ -5390,6 +5424,7 @@ paths: $ref: "#/components/schemas/PageExperience" tags: ["PageExperience"] patch: + # @review description: Updates an experience of a specific page specification of a site page within a site. Updates only the fields received in the request body, leaving any other fields untouched. @@ -5431,6 +5466,7 @@ paths: $ref: "#/components/schemas/PageExperience" tags: ["PageExperience"] put: + # @review description: Updates an experience of a specific page specification of a site page within a site. operationId: putSitePageExperience @@ -5472,6 +5508,7 @@ paths: tags: ["PageExperience"] "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-elements": get: + # @review description: Retrieves all the page elements within an experience in a page specification of a site page. operationId: getSitePageExperiencePageElementsPage @@ -5517,6 +5554,7 @@ paths: # @review tags: ["PageExperience"] post: + # @review description: Adds a new page element to an experience in a page specification in draft status of a site page. operationId: postSitePageExperiencePageElement @@ -5566,6 +5604,7 @@ paths: tags: ["PageExperience"] "/sites/{siteExternalReferenceCode}/page-experiences/{pageExperienceExternalReferenceCode}/page-rules": get: + # @review description: Retrieves all the page rules within an experience in a page specification of a site page. operationId: getSitePageExperiencePageRulesPage @@ -5611,6 +5650,7 @@ paths: # @review tags: ["PageExperience"] post: + # @review description: Adds a new page rule to an experience in a page specification in draft status of a site page. operationId: postSitePageExperiencePageRule @@ -5659,6 +5699,7 @@ paths: tags: ["PageExperience"] "/sites/{siteExternalReferenceCode}/page-rule-actions/{pageRuleActionExternalReferenceCode}": delete: + # @review description: Deletes a page rule action within a page rule of an experience of a specific page specification of a site page within a site. @@ -5693,6 +5734,7 @@ paths: application/xml: {} tags: ["PageRuleAction"] get: + # @review description: Retrieves a page rule action within a page rule of an experience of a specific page specification of a site page within a site. @@ -5734,6 +5776,7 @@ paths: $ref: "#/components/schemas/PageRuleAction" tags: ["PageRuleAction"] patch: + # @review description: Updates a page rule action within a page rule of an experience of a specific page specification of a site page within a site. Updates only the fields received in the request body, leaving any other fields @@ -5776,6 +5819,7 @@ paths: $ref: "#/components/schemas/PageRuleAction" tags: ["PageRuleAction"] put: + # @review description: Updates a page rule action within a page rule of an experience of a specific page specification of a site page within a site. @@ -5818,6 +5862,7 @@ paths: tags: ["PageRuleAction"] "/sites/{siteExternalReferenceCode}/page-rule-conditions/{pageRuleConditionExternalReferenceCode}": delete: + # @review description: Deletes a page rule condition within a page rule of an experience of a specific page specification of a site page within a site. @@ -5852,6 +5897,7 @@ paths: application/xml: {} tags: ["PageRuleCondition"] get: + # @review description: Retrieves a page rule condition within a page rule of an experience of a specific page specification of a site page within a site. @@ -5893,6 +5939,7 @@ paths: $ref: "#/components/schemas/PageRuleCondition" tags: ["PageRuleCondition"] patch: + # @review description: Updates a page rule condition within a page rule of an experience of a specific page specification of a site page within a site. Updates only the fields received in the request body, leaving any other fields @@ -5935,6 +5982,7 @@ paths: $ref: "#/components/schemas/PageRuleCondition" tags: ["PageRuleCondition"] put: + # @review description: Updates a page rule condition within a page rule of an experience of a specific page specification of a site page within a site. @@ -5977,6 +6025,7 @@ paths: tags: ["PageRuleCondition"] "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}": delete: + # @review description: Deletes a page rule within an experience of a specific page specification of a site page within a site. operationId: deleteSitePageRule @@ -6010,6 +6059,7 @@ paths: application/xml: {} tags: ["PageRule"] get: + # @review description: Retrieves page rule within an experience of a specific page specification of a site page within a site. operationId: getSitePageRule @@ -6050,6 +6100,7 @@ paths: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] patch: + # @review description: Updates a page rule within an experience of a specific page specification of a site page within a site. Updates only the fields received in the request body, leaving any other fields untouched. @@ -6091,6 +6142,7 @@ paths: $ref: "#/components/schemas/PageRule" tags: ["PageRule"] put: + # @review description: Updates a page rule within an experience of a specific page specification of a site page within a site. operationId: putSitePageRule @@ -6132,6 +6184,7 @@ paths: tags: ["PageRule"] "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-actions": get: + # @review description: Retrieves all the page rule action actions within an experience in a page specification of a site page. operationId: getSitePageRulePageRuleActionsPage @@ -6178,6 +6231,7 @@ paths: # @review tags: ["PageRule"] post: + # @review description: Adds a new page rule action to a page rule in an experience in a page specification in draft status of a site page. @@ -6227,6 +6281,7 @@ paths: tags: ["PageRule"] "/sites/{siteExternalReferenceCode}/page-rules/{pageRuleExternalReferenceCode}/page-rule-conditions": get: + # @review description: Retrieves all the page rule condition conditions within an experience in a page specification of a site page. @@ -6274,6 +6329,7 @@ paths: # @review tags: ["PageRule"] post: + # @review description: Adds a new page rule condition to a page rule in an experience in a page specification in draft status of a site page. @@ -6323,6 +6379,7 @@ paths: tags: ["PageRule"] "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}": delete: + # @review description: Deletes a page specification of a site page. operationId: deleteSitePageSpecification @@ -6356,6 +6413,7 @@ paths: application/xml: {} tags: ["PageSpecification"] get: + # @review description: Retrieves a page specification of a site page. operationId: getSitePageSpecification @@ -6396,6 +6454,7 @@ paths: $ref: "#/components/schemas/PageSpecification" tags: ["PageSpecification"] patch: + # @review description: Updates a page specification of a site page. Updates only the fields received in the request body, leaving any other fields untouched. @@ -6437,6 +6496,7 @@ paths: $ref: "#/components/schemas/PageSpecification" tags: ["PageSpecification"] put: + # @review description: Updates a page specification of a site page. operationId: putSitePageSpecification @@ -6478,6 +6538,7 @@ paths: tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}/page-experiences": get: + # @review description: Retrieves all the experiences of a page specification. operationId: getSitePageSpecificationPageExperiencesPage @@ -6520,6 +6581,7 @@ paths: # @review tags: ["PageSpecification"] post: + # @review description: Adds a new experience to a page specification of a site page. operationId: postSitePageSpecificationPageExperience @@ -6569,6 +6631,7 @@ paths: tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-specifications/{pageSpecificationExternalReferenceCode}/publish": post: + # @review description: Publishes a page specification in draft status of a site page. operationId: postSitePageSpecificationPublish @@ -6610,6 +6673,7 @@ paths: tags: ["PageSpecification"] "/sites/{siteExternalReferenceCode}/page-template-sets": get: + # @review description: Retrieves the page template sets of the site operationId: getSitePageTemplateSetsPage @@ -6672,6 +6736,7 @@ paths: type: array tags: ["PageTemplateSet"] post: + # @review description: Adds a new page template set operationId: postSitePageTemplateSet @@ -6749,6 +6814,7 @@ paths: tags: ["PageTemplateSet"] "/sites/{siteExternalReferenceCode}/page-template-sets/{pageTemplateSetExternalReferenceCode}": delete: + # @review description: Deletes a specific page template set of a site. operationId: deleteSitePageTemplateSet @@ -6770,6 +6836,7 @@ paths: application/xml: {} tags: ["PageTemplateSet"] get: + # @review description: Retrieves a specific page template set of a site. operationId: getSitePageTemplateSet @@ -6809,6 +6876,7 @@ paths: default response tags: ["PageTemplateSet"] patch: + # @review description: Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSitePageTemplateSet @@ -6856,6 +6924,7 @@ paths: default response tags: ["PageTemplateSet"] put: + # @review description: Updates the page template set with the given external reference code, or creates it if it does not exist. @@ -6905,6 +6974,7 @@ paths: tags: ["PageTemplateSet"] "/sites/{siteExternalReferenceCode}/page-template-sets/{pageTemplateSetExternalReferenceCode}/page-templates": get: + # @review description: Retrieves all the page templates within a page template set of a site page. operationId: getSitePageTemplateSetPageTemplatesPage @@ -6951,6 +7021,7 @@ paths: # @review tags: ["PageTemplateSet"] post: + # @review description: Adds a new page template in draft status to a page template set. operationId: postSitePageTemplateSetPageTemplate @@ -7055,6 +7126,7 @@ paths: tags: ["PageTemplateSet"] "/sites/{siteExternalReferenceCode}/page-templates": get: + # @review description: Retrieves the page templates of the site operationId: getSitePageTemplatesPage @@ -7117,6 +7189,7 @@ paths: type: array tags: ["PageTemplate"] post: + # @review description: Adds a new page template operationId: postSitePageTemplate @@ -7194,6 +7267,7 @@ paths: tags: ["PageTemplate"] "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}": delete: + # @review description: Deletes a specific page template of a site. operationId: deleteSitePageTemplate @@ -7215,6 +7289,7 @@ paths: application/xml: {} tags: ["PageTemplate"] get: + # @review description: Retrieves a specific page template of a site. operationId: getSitePageTemplate @@ -7254,6 +7329,7 @@ paths: default response tags: ["PageTemplate"] patch: + # @review description: Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSitePageTemplate @@ -7301,6 +7377,7 @@ paths: default response tags: ["PageTemplate"] put: + # @review description: Updates the page template with the given external reference code, or creates it if it does not exist. operationId: putSitePageTemplate @@ -7349,6 +7426,7 @@ paths: tags: ["PageTemplate"] "/sites/{siteExternalReferenceCode}/page-templates/{pageTemplateExternalReferenceCode}/page-specifications": post: + # @review description: Adds a new page specification in draft status to a page template. operationId: postSitePageTemplatePageSpecification @@ -7453,6 +7531,7 @@ paths: tags: ["PageTemplate"] "/sites/{siteExternalReferenceCode}/site-pages": get: + # @review description: Retrieves the public pages of the site operationId: getSiteSitePagesPage @@ -7515,6 +7594,7 @@ paths: type: array tags: ["SitePage"] post: + # @review description: Adds a new site page operationId: postSiteSitePage @@ -7592,6 +7672,7 @@ paths: tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}": delete: + # @review description: Deletes a specific public page of a site. operationId: deleteSiteSitePage @@ -7613,6 +7694,7 @@ paths: application/xml: {} tags: ["SitePage"] get: + # @review description: Retrieves a specific public page of a site. operationId: getSiteSitePage @@ -7652,6 +7734,7 @@ paths: default response tags: ["SitePage"] patch: + # @review description: Updates only the fields received in the request body, leaving any other fields untouched. operationId: patchSiteSitePage @@ -7699,6 +7782,7 @@ paths: default response tags: ["SitePage"] put: + # @review description: Updates the site page with the given external reference code, or creates it if it does not exist. operationId: putSiteSitePage @@ -7747,6 +7831,7 @@ paths: tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/friendly-url-history": get: + # @review description: Retrieves the history of previously used URLs for a page. operationId: getSiteSitePageFriendlyUrlHistory @@ -7787,6 +7872,7 @@ paths: tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/page-specifications": get: + # @review description: Retrieves all the page specifications of a site page. operationId: getSiteSitePagePageSpecificationsPage @@ -7828,6 +7914,7 @@ paths: # @review tags: ["SitePage"] post: + # @review description: Adds a new page specification to a site page. operationId: postSiteSitePagePageSpecification @@ -7931,6 +8018,7 @@ paths: tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/site-pages/{sitePageExternalReferenceCode}/widget-instances": get: + # @review description: Retrieves all the widget instances of a widget page. operationId: getSiteSitePageWidgetInstancesPage @@ -7972,6 +8060,7 @@ paths: # @review tags: ["SitePage"] post: + # @review description: Adds a new widget instance to a widget page. operationId: postSiteSitePageWidgetInstance @@ -8021,6 +8110,7 @@ paths: tags: ["SitePage"] "/sites/{siteExternalReferenceCode}/widget-instances/{widgetInstanceExternalReferenceCode}": delete: + # @review description: Deletes a widget instance of a specific widget page or widget page template within a site. operationId: deleteSiteWidgetInstance @@ -8042,6 +8132,7 @@ paths: application/xml: {} tags: ["WidgetInstance"] get: + # @review description: Retrieves a widget instance of a widget page or widget page template within a site. operationId: getSiteWidgetInstance @@ -8082,6 +8173,7 @@ paths: $ref: "#/components/schemas/WidgetPageWidgetInstance" tags: ["WidgetInstance"] patch: + # @review description: Updates a widget instance of a widget page or widget page template within a site. Updates only the fields received in the request body, leaving any other fields untouched. @@ -8123,6 +8215,7 @@ paths: $ref: "#/components/schemas/WidgetPageWidgetInstance" tags: ["WidgetInstance"] put: + # @review description: Updates a widget instance of a widget page or widget page template within a site. operationId: putSiteWidgetInstance From 04038639f39847a937ec2f5122602b11546b279c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Pulido?= Date: Tue, 18 Jun 2024 18:48:46 +0200 Subject: [PATCH 260/260] LPD-x Fix WidgetPageSpecification --- .../headless-admin-site-impl/rest-openapi.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml index e93fae7e24e85f..d7e711c05357be 100644 --- a/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml +++ b/modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml @@ -3032,10 +3032,10 @@ components: allOf: - $ref: "#/components/schemas/BasePageSpecification" - properties: - # @review - description: - The sections of a widget page. widgetPageSections: + # @review + description: + The sections of a widget page. items: $ref: "#/components/schemas/WidgetPageSection" type: array