From 32785c7785b25fca1d77d838a6b3ae272a9d0f47 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:27:18 -0400 Subject: [PATCH 1/8] Cleanup comments and other misc updates. --- .../ogcapi-records-1-building-blocks.yaml | 69 ++++----- .../ogcapi-records-1-example-all-in-one.yaml | 47 ++++--- ...s-1-example-ref-buildingblocks-bundle.yaml | 23 +-- ...api-records-1-example-ref-schema-repo.yaml | 131 +++++++++--------- .../schemas/catalogCommonProperties.yaml | 9 +- core/openapi/schemas/collection.yaml | 3 +- .../schemas/recordCommonProperties.yaml | 3 - core/openapi/schemas/recordGeoJSON.yaml | 26 ++-- core/openapi/schemas/recordJSON.yaml | 18 +-- core/openapi/schemas/time.yaml | 1 + 10 files changed, 155 insertions(+), 175 deletions(-) diff --git a/core/openapi/ogcapi-records-1-building-blocks.yaml b/core/openapi/ogcapi-records-1-building-blocks.yaml index 9343c25b..13a1996b 100644 --- a/core/openapi/ogcapi-records-1-building-blocks.yaml +++ b/core/openapi/ogcapi-records-1-building-blocks.yaml @@ -1,16 +1,12 @@ -openapi: 3.1.0 +openapi: 3.0.3 info: title: "Building Blocks specified in OGC API - Features - Part 1: Core" description: |- - Common components used in the - [OGC standard "OGC API - Records - Part 1: Core"](https://docs.opengeospatial.org/is/20-004r1/20-004r1.html). - - OGC API - Records - Part 1: Core 1.0 is an OGC Standard. + Common components used in the [OGC standard "OGC API - Records - Part 1: Core"](https://docs.opengeospatial.org/is/20-004r1/20-004r1.html). + OGC API - Records - Part 1: Core is an OGC Standard. Copyright (c) 2019 Open Geospatial Consortium. To obtain additional rights of use, visit https://www.ogc.org/about-ogc/policies. - - This document is also available on - [OGC](https://schemas.opengis.net/ogcapi/records/part1/1.0/openapi/ogcapi-records-1.yaml). + This document is also available on [OGC](https://schemas.opengis.net/ogcapi/records/part1/1.0/openapi/ogcapi-records-1-building-blocks.yaml). version: '1.0.0' contact: name: Panagiotis Vretanos @@ -174,7 +170,8 @@ components: key work but all the swagger validators tried complained about it. type: string - const: Collection + enum: + - Collection conformsTo: type: array description: |- @@ -263,18 +260,6 @@ components: enum: - record - catalog - collection: - allOf: - - $ref: '#/components/schemas/catalog' - - type: object - properties: - itemType: - description: |- - For a collection of records, the itemType is - fixed to "record". - type: string - enum: - - record contact: type: object description: |- @@ -525,6 +510,17 @@ components: Most recent date on which the resource pointed to by the link was changed. format: date-time + link: + type: object + allOf: + - $ref: '#/components/schemas/linkBase' + - type: object + required: + - href + properties: + href: + type: string + format: uri linkTemplate: allOf: - $ref: '#/components/schemas/linkBase' @@ -553,17 +549,6 @@ components: JSON Schema fragment and can thus include things like the data type of the variable, enumerations, minimum values, maximum values, etc. - link: - type: object - allOf: - - $ref: '#/components/schemas/linkBase' - - type: object - required: - - href - properties: - href: - type: string - format: uri recordCollectionGeoJSON: allOf: - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/featureCollectionGeoJSON.yaml' @@ -699,25 +684,20 @@ components: enum: - Feature time: - oneOf: - - type: "null" - - $ref: '#/components/schemas/time' + $ref: '#/components/schemas/time' geometry: - oneOf: - - type: "null" - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/geometryGeoJSON.yaml' + $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/geometryGeoJSON.yaml' conformsTo: + type: array description: |- The extensions/conformance classes used in this record. - type: array items: type: string properties: - oneOf: - - type: "null" - - allOf: - - type: object - - $ref: '#/components/schemas/recordCommonProperties' + nullable: true + allOf: + - type: object + - $ref: '#/components/schemas/recordCommonProperties' links: type: array items: @@ -798,6 +778,7 @@ components: enumerating the list of schemes in the queryable's schema definition. time: + nullable: true type: object properties: date: diff --git a/core/openapi/ogcapi-records-1-example-all-in-one.yaml b/core/openapi/ogcapi-records-1-example-all-in-one.yaml index 4c807821..3353df51 100644 --- a/core/openapi/ogcapi-records-1-example-all-in-one.yaml +++ b/core/openapi/ogcapi-records-1-example-all-in-one.yaml @@ -4,17 +4,20 @@ info: version: '1.0.0' description: |- This is a sample OpenAPI definition that conforms to the conformance - classes "Core", "GeoJSON", "HTML" and "OpenAPI 3.0" of the draft - standard "OGC API - Records - Part 1: Core". + classes of the "OGC API - Records - Part 1: Core" standard: - This example is a generic OGC API - Records definition that uses path - parameters to describe all record collections and all records. - The generic OpenAPI definition does not provide any details on the - collections or the record content. This information is only available - from accessing the record collection resources. + * Searchable Catalog + * Searchable Catalog - Sorting + * Local Resources Catalog + * Local Resources Catalog - Query Parameters + * Local Resources Catalog - Sorting + * OpenAPI 3.0 - There is [another example](ogcapi-records-1-example2.yaml) - that specifies each collection explicitly. + This example is a generic definition that uses path parameters to + describe all catalogs and records. The generic OpenAPI definition + does not provide any details on the catalogs or the record content. + This information is only available by accessing the catalog and its + records. contact: name: CubeWerx Inc. email: pvretano@cubewerx.com @@ -376,9 +379,9 @@ components: enum: - Collection conformsTo: + type: array description: |- The extensions/conformance classes used in this collection. - type: array items: type: string recordsArrayName: @@ -414,7 +417,7 @@ components: items: $ref: '#/components/schemas/linkTemplate' defaultSortOrder: - $ref: '#/components/schemas/defaultSortOrder' + $ref: '#/components/schemas/defaultSortOrder' schemes: type: array description: |- @@ -713,6 +716,17 @@ components: Most recent date on which the resource pointed to by the link was changed. format: date-time + link: + type: object + allOf: + - $ref: '#/components/schemas/linkBase' + - type: object + required: + - href + properties: + href: + type: string + format: uri linkTemplate: allOf: - $ref: '#/components/schemas/linkBase' @@ -741,17 +755,6 @@ components: JSON Schema fragment and can thus include things like the data type of the variable, enumerations, minimum values, maximum values, etc. - link: - type: object - allOf: - - $ref: '#/components/schemas/linkBase' - - type: object - required: - - href - properties: - href: - type: string - format: uri recordCollectionGeoJSON: allOf: - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/featureCollectionGeoJSON.yaml' diff --git a/core/openapi/ogcapi-records-1-example-ref-buildingblocks-bundle.yaml b/core/openapi/ogcapi-records-1-example-ref-buildingblocks-bundle.yaml index 25ff6b8b..63d935b7 100644 --- a/core/openapi/ogcapi-records-1-example-ref-buildingblocks-bundle.yaml +++ b/core/openapi/ogcapi-records-1-example-ref-buildingblocks-bundle.yaml @@ -1,20 +1,23 @@ -openapi: 3.1.0 +openapi: 3.0.3 info: title: "OGC API - Records - Part 1: Core" version: '1.0.0' description: |- This is a sample OpenAPI definition that conforms to the conformance - classes "Core", "GeoJSON", "HTML" and "OpenAPI 3.0" of the draft - standard "OGC API - Records - Part 1: Core". + classes of the "OGC API - Records - Part 1: Core" standard: - This example is a generic OGC API - Records definition that uses path - parameters to describe all record collections and all records. - The generic OpenAPI definition does not provide any details on the - collections or the record content. This information is only available - from accessing the record collection resources. + * Searchable Catalog + * Searchable Catalog - Sorting + * Local Resources Catalog + * Local Resources Catalog - Query Parameters + * Local Resources Catalog - Sorting + * OpenAPI 3.0 - There is [another example](ogcapi-records-1-example2.yaml) - that specifies each collection explicitly. + This example is a generic definition that uses path parameters to + describe all catalogs and records. The generic OpenAPI definition + does not provide any details on the catalogs or the record content. + This information is only available by accessing the catalog and its + records. contact: name: CubeWerx Inc. email: pvretano@cubewerx.com diff --git a/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml b/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml index bdb7702d..48eb586c 100644 --- a/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml +++ b/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml @@ -1,20 +1,23 @@ -openapi: 3.1.0 +openapi: 3.0.3 info: title: "OGC API - Records - Part 1: Core" version: '1.0.0' description: |- This is a sample OpenAPI definition that conforms to the conformance - classes "Core", "GeoJSON", "HTML" and "OpenAPI 3.0" of the draft - standard "OGC API - Records - Part 1: Core". + classes of the "OGC API - Records - Part 1: Core" standard: - This example is a generic OGC API - Records definition that uses path - parameters to describe all record collections and all records. - The generic OpenAPI definition does not provide any details on the - collections or the record content. This information is only available - from accessing the record collection resources. - - There is [another example](ogcapi-records-1-example2.yaml) - that specifies each collection explicitly. + * Searchable Catalog + * Searchable Catalog - Sorting + * Local Resources Catalog + * Local Resources Catalog - Query Parameters + * Local Resources Catalog - Sorting + * OpenAPI 3.0 + + This example is a generic definition that uses path parameters to + describe all catalogs and records. The generic OpenAPI definition + does not provide any details on the catalogs or the record content. + This information is only available by accessing the catalog and its + records. contact: name: CubeWerx Inc. email: pvretano@cubewerx.com @@ -61,13 +64,13 @@ paths: operationId: getLandingPage responses: '200': - $ref: 'responses/LandingPage.yaml' + $ref: './responses/LandingPage.yaml' '4XX': - $ref: 'responses/BadRequest.yaml' + $ref: './responses/BadRequest.yaml' '406': - $ref: 'responses/NotAcceptable.yaml' + $ref: './responses/NotAcceptable.yaml' '5XX': - $ref: 'responses/ServerError.yaml' + $ref: './responses/ServerError.yaml' '/conformance': get: tags: @@ -79,13 +82,13 @@ paths: operationId: getConformanceDeclaration responses: '200': - $ref: 'responses/ConformanceDeclaration.yaml' + $ref: './responses/ConformanceDeclaration.yaml' '4XX': - $ref: 'responses/BadRequest.yaml' + $ref: './responses/BadRequest.yaml' '406': - $ref: 'responses/NotAcceptable.yaml' + $ref: './responses/NotAcceptable.yaml' '5XX': - $ref: 'responses/ServerError.yaml' + $ref: './responses/ServerError.yaml' '/collections': get: tags: @@ -96,13 +99,13 @@ paths: operationId: getCollections responses: '200': - $ref: 'responses/Catalogs.yaml' + $ref: './responses/Catalogs.yaml' '4XX': - $ref: 'responses/BadRequest.yaml' + $ref: './responses/BadRequest.yaml' '406': - $ref: 'responses/NotAcceptable.yaml' + $ref: './responses/NotAcceptable.yaml' '500': - $ref: 'responses/ServerError.yaml' + $ref: './responses/ServerError.yaml' '/collections/{catalogId}': get: tags: @@ -113,26 +116,26 @@ paths: Fetch a detailed description of the catalog with id `catalogId`. operationId: describeCollection parameters: - - $ref: 'parameters/catalogId.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/bbox.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/datetime.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/limit.yaml' - - $ref: 'parameters/q.yaml' - - $ref: 'parameters/type.yaml' - - $ref: 'parameters/externalIds.yaml' - - $ref: 'parameters/ids.yaml' - - $ref: 'parameters/sortby.yaml' + - $ref: './parameters/catalogId.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/bbox.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/datetime.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/limit.yaml' + - $ref: './parameters/q.yaml' + - $ref: './parameters/type.yaml' + - $ref: './parameters/externalIds.yaml' + - $ref: './parameters/ids.yaml' + - $ref: './parameters/sortby.yaml' responses: '200': - $ref: 'responses/Catalog.yaml' + $ref: './responses/Catalog.yaml' '4XX': - $ref: 'responses/BadRequest.yaml' + $ref: './responses/BadRequest.yaml' '404': - $ref: 'responses/NotFound.yaml' + $ref: './responses/NotFound.yaml' '406': - $ref: 'responses/NotAcceptable.yaml' + $ref: './responses/NotAcceptable.yaml' '5XX': - $ref: 'responses/ServerError.yaml' + $ref: './responses/ServerError.yaml' '/collections/{catalogId}/sortables': get: tags: @@ -144,18 +147,18 @@ paths: response. operationId: getSortables parameters: - - $ref: 'parameters/catalogId.yaml' + - $ref: './parameters/catalogId.yaml' responses: '200': - $ref: 'responses/Sortables.yaml' + $ref: './responses/Sortables.yaml' '4XX': - $ref: 'responses/BadRequest.yaml' + $ref: './responses/BadRequest.yaml' '404': - $ref: 'responses/NotFound.yaml' + $ref: './responses/NotFound.yaml' '406': - $ref: 'responses/NotAcceptable.yaml' + $ref: './responses/NotAcceptable.yaml' '5XX': - $ref: 'responses/ServerError.yaml' + $ref: './responses/ServerError.yaml' '/collections/{catalogId}/items': get: tags: @@ -171,26 +174,26 @@ paths: Use content negotiation to request HTML or GeoJSON. operationId: getRecords parameters: - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/bbox.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/datetime.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/limit.yaml' - - $ref: 'parameters/catalogId.yaml' - - $ref: 'parameters/q.yaml' - - $ref: 'parameters/type.yaml' - - $ref: 'parameters/externalIds.yaml' - - $ref: 'parameters/ids.yaml' - - $ref: 'parameters/sortby.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/bbox.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/datetime.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/limit.yaml' + - $ref: './parameters/catalogId.yaml' + - $ref: './parameters/q.yaml' + - $ref: './parameters/type.yaml' + - $ref: './parameters/externalIds.yaml' + - $ref: './parameters/ids.yaml' + - $ref: './parameters/sortby.yaml' responses: '200': - $ref: 'responses/Records.yaml' + $ref: './responses/Records.yaml' '4XX': - $ref: 'responses/BadRequest.yaml' + $ref: './responses/BadRequest.yaml' '404': - $ref: 'responses/NotFound.yaml' + $ref: './responses/NotFound.yaml' '406': - $ref: 'responses/NotAcceptable.yaml' + $ref: './responses/NotAcceptable.yaml' '5XX': - $ref: 'responses/ServerError.yaml' + $ref: './responses/ServerError.yaml' '/collections/{catalogId}/items/{recordId}': get: tags: @@ -203,19 +206,19 @@ paths: Use content negotiation to request HTML or GeoJSON. operationId: getRecord parameters: - - $ref: 'parameters/catalogId.yaml' - - $ref: 'parameters/recordId.yaml' + - $ref: './parameters/catalogId.yaml' + - $ref: './parameters/recordId.yaml' responses: '200': - $ref: 'responses/Record.yaml' + $ref: './responses/Record.yaml' '4XX': - $ref: 'responses/BadRequest.yaml' + $ref: './responses/BadRequest.yaml' '404': - $ref: 'responses/NotFound.yaml' + $ref: './responses/NotFound.yaml' '406': - $ref: 'responses/NotAcceptable.yaml' + $ref: './responses/NotAcceptable.yaml' '5XX': - $ref: 'responses/ServerError.yaml' + $ref: './responses/ServerError.yaml' components: securitySchemes: openIdConnect: diff --git a/core/openapi/schemas/catalogCommonProperties.yaml b/core/openapi/schemas/catalogCommonProperties.yaml index 1196d459..156a2146 100644 --- a/core/openapi/schemas/catalogCommonProperties.yaml +++ b/core/openapi/schemas/catalogCommonProperties.yaml @@ -10,11 +10,12 @@ allOf: Fixed to "Collection" for collections of records and/or subordinate catalogs. type: string - const: Collection + enum: + - Collection conformsTo: - type: array description: |- The extensions/conformance classes used in this collection. + type: array items: type: string recordsArrayName: @@ -32,13 +33,13 @@ allOf: type: string default: records records: - type: array description: |- An array of records that are part of this catalog that are encoded in-line within the catalog object. The items schema is intentionally general (i.e. object) to accomodate records that have been extended beyond the core record schema. + type: array items: type: object links: @@ -49,6 +50,8 @@ allOf: type: array items: $ref: 'linkTemplate.yaml' + defaultSortOrder: + $ref: 'defaultSortOrder.yaml' schemes: type: array description: |- diff --git a/core/openapi/schemas/collection.yaml b/core/openapi/schemas/collection.yaml index 8f7a18be..e0fe15e5 100644 --- a/core/openapi/schemas/collection.yaml +++ b/core/openapi/schemas/collection.yaml @@ -8,4 +8,5 @@ allOf: For a collection of records, the itemType is fixed to "record". type: string - const: record + enum: + - record diff --git a/core/openapi/schemas/recordCommonProperties.yaml b/core/openapi/schemas/recordCommonProperties.yaml index 7720d7b1..d1ab6602 100644 --- a/core/openapi/schemas/recordCommonProperties.yaml +++ b/core/openapi/schemas/recordCommonProperties.yaml @@ -44,9 +44,6 @@ properties: items: $ref: 'theme.yaml' language: - description: |- - The language used for textual values in this - record representation. $ref: 'language.yaml' languages: type: array diff --git a/core/openapi/schemas/recordGeoJSON.yaml b/core/openapi/schemas/recordGeoJSON.yaml index 97304f95..b2b62c2b 100644 --- a/core/openapi/schemas/recordGeoJSON.yaml +++ b/core/openapi/schemas/recordGeoJSON.yaml @@ -7,22 +7,19 @@ required: - properties properties: id: - type: - - string - - integer + oneOf: + - type: string + - type: integer description: |- A unique identifier of the catalog record. type: type: string - const: Feature + enum: + - Feature time: - oneOf: - - type: "null" - - $ref: 'time.yaml' + $ref: 'time.yaml' geometry: - oneOf: - - type: "null" - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/geometryGeoJSON.yaml' + $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/geometryGeoJSON.yaml' conformsTo: type: array description: |- @@ -30,11 +27,10 @@ properties: items: type: string properties: - oneOf: - - type: "null" - - allOf: - - type: object - - $ref: 'recordCommonProperties.yaml' + nullable: true + allOf: + - type: object + - $ref: 'recordCommonProperties.yaml' links: type: array items: diff --git a/core/openapi/schemas/recordJSON.yaml b/core/openapi/schemas/recordJSON.yaml index 539b568f..34c855f0 100644 --- a/core/openapi/schemas/recordJSON.yaml +++ b/core/openapi/schemas/recordJSON.yaml @@ -7,23 +7,15 @@ allOf: - id properties: id: - type: string description: |- The unique identifier for this record. - time: - description: |- - A characteristic time or time interval associated - with the resource that this record described. oneOf: - - type: "null" - - $ref: 'time.yaml' + - type: string + - type: integer + time: + $ref: 'time.yaml' geometry: - description: |- - A characteristic spatial extent association with - the resource that this record described. - oneOf: - - type: "null" - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/geometryGeoJSON.yaml' + $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/geometryGeoJSON.yaml' conformsTo: type: array description: |- diff --git a/core/openapi/schemas/time.yaml b/core/openapi/schemas/time.yaml index c98f1b62..7aab73cd 100644 --- a/core/openapi/schemas/time.yaml +++ b/core/openapi/schemas/time.yaml @@ -1,4 +1,5 @@ --- +nullable: true type: object properties: date: From 35fbe6ace5479134ef19f9ba7c8504741d7a0c33 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:29:36 -0400 Subject: [PATCH 2/8] Typo fix. --- .../ogcapi-records-1-building-blocks.yaml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/core/openapi/ogcapi-records-1-building-blocks.yaml b/core/openapi/ogcapi-records-1-building-blocks.yaml index 13a1996b..9eabd899 100644 --- a/core/openapi/ogcapi-records-1-building-blocks.yaml +++ b/core/openapi/ogcapi-records-1-building-blocks.yaml @@ -510,17 +510,6 @@ components: Most recent date on which the resource pointed to by the link was changed. format: date-time - link: - type: object - allOf: - - $ref: '#/components/schemas/linkBase' - - type: object - required: - - href - properties: - href: - type: string - format: uri linkTemplate: allOf: - $ref: '#/components/schemas/linkBase' @@ -549,6 +538,17 @@ components: JSON Schema fragment and can thus include things like the data type of the variable, enumerations, minimum values, maximum values, etc. + link: + type: object + allOf: + - $ref: '#/components/schemas/linkBase' + - type: object + required: + - href + properties: + href: + type: string + format: uri recordCollectionGeoJSON: allOf: - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/featureCollectionGeoJSON.yaml' From ff331e6d3867d16421113a7873e65ed94ffe30e5 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:31:32 -0400 Subject: [PATCH 3/8] Fix indent. --- core/openapi/ogcapi-records-1-example-all-in-one.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/openapi/ogcapi-records-1-example-all-in-one.yaml b/core/openapi/ogcapi-records-1-example-all-in-one.yaml index 3353df51..c2fd8627 100644 --- a/core/openapi/ogcapi-records-1-example-all-in-one.yaml +++ b/core/openapi/ogcapi-records-1-example-all-in-one.yaml @@ -417,7 +417,7 @@ components: items: $ref: '#/components/schemas/linkTemplate' defaultSortOrder: - $ref: '#/components/schemas/defaultSortOrder' + $ref: '#/components/schemas/defaultSortOrder' schemes: type: array description: |- From 9ccd2b234f35cf4f83f68ac555f1476da856979a Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:32:55 -0400 Subject: [PATCH 4/8] Fix typo. --- .../ogcapi-records-1-example-all-in-one.yaml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/core/openapi/ogcapi-records-1-example-all-in-one.yaml b/core/openapi/ogcapi-records-1-example-all-in-one.yaml index c2fd8627..2e9e8c8e 100644 --- a/core/openapi/ogcapi-records-1-example-all-in-one.yaml +++ b/core/openapi/ogcapi-records-1-example-all-in-one.yaml @@ -716,16 +716,6 @@ components: Most recent date on which the resource pointed to by the link was changed. format: date-time - link: - type: object - allOf: - - $ref: '#/components/schemas/linkBase' - - type: object - required: - - href - properties: - href: - type: string format: uri linkTemplate: allOf: @@ -755,6 +745,16 @@ components: JSON Schema fragment and can thus include things like the data type of the variable, enumerations, minimum values, maximum values, etc. + link: + type: object + allOf: + - $ref: '#/components/schemas/linkBase' + - type: object + required: + - href + properties: + href: + type: string recordCollectionGeoJSON: allOf: - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/featureCollectionGeoJSON.yaml' From 8a38bc4759753296d4949ddf8a23eed74fc1c71d Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:36:28 -0400 Subject: [PATCH 5/8] Fix typo. --- core/openapi/ogcapi-records-1-example-all-in-one.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/openapi/ogcapi-records-1-example-all-in-one.yaml b/core/openapi/ogcapi-records-1-example-all-in-one.yaml index 2e9e8c8e..a334c817 100644 --- a/core/openapi/ogcapi-records-1-example-all-in-one.yaml +++ b/core/openapi/ogcapi-records-1-example-all-in-one.yaml @@ -716,7 +716,6 @@ components: Most recent date on which the resource pointed to by the link was changed. format: date-time - format: uri linkTemplate: allOf: - $ref: '#/components/schemas/linkBase' @@ -755,6 +754,7 @@ components: properties: href: type: string + format: uri recordCollectionGeoJSON: allOf: - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/featureCollectionGeoJSON.yaml' From 6be03675016584a451eaa94e8e1ad92e79cd5a84 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:37:47 -0400 Subject: [PATCH 6/8] Fix typo. --- ...api-records-1-example-ref-schema-repo.yaml | 94 +++++++++---------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml b/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml index 48eb586c..54c3a9a8 100644 --- a/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml +++ b/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml @@ -64,13 +64,13 @@ paths: operationId: getLandingPage responses: '200': - $ref: './responses/LandingPage.yaml' + $ref: 'responses/LandingPage.yaml' '4XX': - $ref: './responses/BadRequest.yaml' + $ref: 'responses/BadRequest.yaml' '406': - $ref: './responses/NotAcceptable.yaml' + $ref: 'responses/NotAcceptable.yaml' '5XX': - $ref: './responses/ServerError.yaml' + $ref: 'responses/ServerError.yaml' '/conformance': get: tags: @@ -82,13 +82,13 @@ paths: operationId: getConformanceDeclaration responses: '200': - $ref: './responses/ConformanceDeclaration.yaml' + $ref: 'responses/ConformanceDeclaration.yaml' '4XX': - $ref: './responses/BadRequest.yaml' + $ref: 'responses/BadRequest.yaml' '406': - $ref: './responses/NotAcceptable.yaml' + $ref: 'responses/NotAcceptable.yaml' '5XX': - $ref: './responses/ServerError.yaml' + $ref: 'responses/ServerError.yaml' '/collections': get: tags: @@ -99,13 +99,13 @@ paths: operationId: getCollections responses: '200': - $ref: './responses/Catalogs.yaml' + $ref: 'responses/Catalogs.yaml' '4XX': - $ref: './responses/BadRequest.yaml' + $ref: 'responses/BadRequest.yaml' '406': - $ref: './responses/NotAcceptable.yaml' + $ref: 'responses/NotAcceptable.yaml' '500': - $ref: './responses/ServerError.yaml' + $ref: 'responses/ServerError.yaml' '/collections/{catalogId}': get: tags: @@ -116,26 +116,26 @@ paths: Fetch a detailed description of the catalog with id `catalogId`. operationId: describeCollection parameters: - - $ref: './parameters/catalogId.yaml' + - $ref: 'parameters/catalogId.yaml' - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/bbox.yaml' - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/datetime.yaml' - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/limit.yaml' - - $ref: './parameters/q.yaml' - - $ref: './parameters/type.yaml' - - $ref: './parameters/externalIds.yaml' - - $ref: './parameters/ids.yaml' - - $ref: './parameters/sortby.yaml' + - $ref: 'parameters/q.yaml' + - $ref: 'parameters/type.yaml' + - $ref: 'parameters/externalIds.yaml' + - $ref: 'parameters/ids.yaml' + - $ref: 'parameters/sortby.yaml' responses: '200': - $ref: './responses/Catalog.yaml' + $ref: 'responses/Catalog.yaml' '4XX': - $ref: './responses/BadRequest.yaml' + $ref: 'responses/BadRequest.yaml' '404': - $ref: './responses/NotFound.yaml' + $ref: 'responses/NotFound.yaml' '406': - $ref: './responses/NotAcceptable.yaml' + $ref: 'responses/NotAcceptable.yaml' '5XX': - $ref: './responses/ServerError.yaml' + $ref: 'responses/ServerError.yaml' '/collections/{catalogId}/sortables': get: tags: @@ -147,18 +147,18 @@ paths: response. operationId: getSortables parameters: - - $ref: './parameters/catalogId.yaml' + - $ref: 'parameters/catalogId.yaml' responses: '200': - $ref: './responses/Sortables.yaml' + $ref: 'responses/Sortables.yaml' '4XX': - $ref: './responses/BadRequest.yaml' + $ref: 'responses/BadRequest.yaml' '404': - $ref: './responses/NotFound.yaml' + $ref: 'responses/NotFound.yaml' '406': - $ref: './responses/NotAcceptable.yaml' + $ref: 'responses/NotAcceptable.yaml' '5XX': - $ref: './responses/ServerError.yaml' + $ref: 'responses/ServerError.yaml' '/collections/{catalogId}/items': get: tags: @@ -177,23 +177,23 @@ paths: - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/bbox.yaml' - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/datetime.yaml' - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/limit.yaml' - - $ref: './parameters/catalogId.yaml' - - $ref: './parameters/q.yaml' - - $ref: './parameters/type.yaml' - - $ref: './parameters/externalIds.yaml' - - $ref: './parameters/ids.yaml' - - $ref: './parameters/sortby.yaml' + - $ref: 'parameters/catalogId.yaml' + - $ref: 'parameters/q.yaml' + - $ref: 'parameters/type.yaml' + - $ref: 'parameters/externalIds.yaml' + - $ref: 'parameters/ids.yaml' + - $ref: 'parameters/sortby.yaml' responses: '200': - $ref: './responses/Records.yaml' + $ref: 'responses/Records.yaml' '4XX': - $ref: './responses/BadRequest.yaml' + $ref: 'responses/BadRequest.yaml' '404': - $ref: './responses/NotFound.yaml' + $ref: 'responses/NotFound.yaml' '406': - $ref: './responses/NotAcceptable.yaml' + $ref: 'responses/NotAcceptable.yaml' '5XX': - $ref: './responses/ServerError.yaml' + $ref: 'responses/ServerError.yaml' '/collections/{catalogId}/items/{recordId}': get: tags: @@ -206,19 +206,19 @@ paths: Use content negotiation to request HTML or GeoJSON. operationId: getRecord parameters: - - $ref: './parameters/catalogId.yaml' - - $ref: './parameters/recordId.yaml' + - $ref: 'parameters/catalogId.yaml' + - $ref: 'parameters/recordId.yaml' responses: '200': - $ref: './responses/Record.yaml' + $ref: 'responses/Record.yaml' '4XX': - $ref: './responses/BadRequest.yaml' + $ref: 'responses/BadRequest.yaml' '404': - $ref: './responses/NotFound.yaml' + $ref: 'responses/NotFound.yaml' '406': - $ref: './responses/NotAcceptable.yaml' + $ref: 'responses/NotAcceptable.yaml' '5XX': - $ref: './responses/ServerError.yaml' + $ref: 'responses/ServerError.yaml' components: securitySchemes: openIdConnect: From b8dfa9ba651ceaa75003dd72780b49658fa14b89 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:39:20 -0400 Subject: [PATCH 7/8] Fix typo. --- .../ogcapi-records-1-example-ref-schema-repo.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml b/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml index 54c3a9a8..ea05bcaa 100644 --- a/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml +++ b/core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml @@ -117,9 +117,9 @@ paths: operationId: describeCollection parameters: - $ref: 'parameters/catalogId.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/bbox.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/datetime.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/limit.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/bbox.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/datetime.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/limit.yaml' - $ref: 'parameters/q.yaml' - $ref: 'parameters/type.yaml' - $ref: 'parameters/externalIds.yaml' @@ -174,9 +174,9 @@ paths: Use content negotiation to request HTML or GeoJSON. operationId: getRecords parameters: - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/bbox.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/datetime.yaml' - - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/./parameters/limit.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/bbox.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/datetime.yaml' + - $ref: 'https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/parameters/limit.yaml' - $ref: 'parameters/catalogId.yaml' - $ref: 'parameters/q.yaml' - $ref: 'parameters/type.yaml' From e85ecc83df4f5522fc430f6a62b8b0cb466cb340 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Wed, 14 May 2025 21:42:44 -0400 Subject: [PATCH 8/8] Fix typos. --- core/openapi/schemas/catalogCommonProperties.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/openapi/schemas/catalogCommonProperties.yaml b/core/openapi/schemas/catalogCommonProperties.yaml index 156a2146..6a7d617d 100644 --- a/core/openapi/schemas/catalogCommonProperties.yaml +++ b/core/openapi/schemas/catalogCommonProperties.yaml @@ -13,9 +13,9 @@ allOf: enum: - Collection conformsTo: + type: array description: |- The extensions/conformance classes used in this collection. - type: array items: type: string recordsArrayName: @@ -33,13 +33,13 @@ allOf: type: string default: records records: + type: array description: |- An array of records that are part of this catalog that are encoded in-line within the catalog object. The items schema is intentionally general (i.e. object) to accomodate records that have been extended beyond the core record schema. - type: array items: type: object links: