diff --git a/.docs/.openapi/api-data.yaml b/.docs/.openapi/api-data.yaml index 1f83f8ec5e0360e900eb6c562872bfdf8a7a047c..b653ecb413734baa1190137bc921ef4e77c45077 100644 --- a/.docs/.openapi/api-data.yaml +++ b/.docs/.openapi/api-data.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.1 +openapi: 3.1.0 info: title: Database Repository Data Service API description: Service that manages the data @@ -63,20 +63,35 @@ paths: schema: type: string responses: - "406": - description: Failed to format data + "200": + description: Retrieved view data + headers: + Access-Control-Expose-Headers: + description: Expose `X-Count` custom header + required: true + style: simple + schema: + type: string + X-Count: + description: Number of rows + required: true + style: simple + schema: + type: integer + format: int64 content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "409": - description: View schema could not be mapped + type: string + text/csv: {} + "400": + description: Request pagination is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to establish connection with the metadata service + "403": + description: Not allowed to retrieve view data content: application/json: schema: @@ -87,30 +102,20 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Request pagination is malformed + "406": + description: Failed to format data content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Retrieved view data - headers: - Access-Control-Expose-Headers: - description: Expose `X-Count` custom header - required: true - style: simple - X-Count: - description: Number of rows - required: true - style: simple + "409": + description: View schema could not be mapped content: application/json: schema: - type: string - text/csv: {} - "403": - description: Not allowed to retrieve view data + $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: @@ -162,20 +167,35 @@ paths: schema: type: string responses: - "406": - description: Failed to format data + "200": + description: Retrieved view data + headers: + Access-Control-Expose-Headers: + description: Expose `X-Count` custom header + required: true + style: simple + schema: + type: string + X-Count: + description: Number of rows + required: true + style: simple + schema: + type: integer + format: int64 content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "409": - description: View schema could not be mapped + type: string + text/csv: {} + "400": + description: Request pagination is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to establish connection with the metadata service + "403": + description: Not allowed to retrieve view data content: application/json: schema: @@ -186,30 +206,20 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Request pagination is malformed + "406": + description: Failed to format data content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Retrieved view data - headers: - Access-Control-Expose-Headers: - description: Expose `X-Count` custom header - required: true - style: simple - X-Count: - description: Number of rows - required: true - style: simple + "409": + description: View schema could not be mapped content: application/json: schema: - type: string - text/csv: {} - "403": - description: Not allowed to retrieve view data + $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: @@ -264,52 +274,57 @@ paths: schema: type: string responses: - "406": - description: Failed to format data + "200": + description: Get table data + headers: + Access-Control-Expose-Headers: + description: Expose `X-Count` custom header + required: true + style: simple + schema: + type: string + X-Count: + description: Number of rows + required: true + style: simple + schema: + type: integer + format: int64 content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to establish connection with the metadata service + type: string + text/csv: {} + "400": + description: Request pagination or table data select query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find table in metadata database + "403": + description: Not allowed to get table data content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not allowed to get table data + "404": + description: Failed to find table in metadata database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Request pagination or table data select query is malformed + "406": + description: Failed to format data content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Get table data - headers: - Access-Control-Expose-Headers: - description: Expose `X-Count` custom header - required: true - style: simple - X-Count: - description: Number of rows - required: true - style: simple + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: - type: string - text/csv: {} + $ref: "#/components/schemas/ApiErrorDto" security: - basicAuth: [] - bearerAuth: [] @@ -346,28 +361,28 @@ paths: $ref: "#/components/schemas/TupleUpdateDto" required: true responses: - "503": - description: Failed to establish connection with the metadata service + "202": + description: Updated table data + "400": + description: Request pagination or table data select query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find table in metadata database + "403": + description: Update table data not allowed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Update table data not allowed + "404": + description: Failed to find table in metadata database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated table data - "400": - description: Request pagination or table data select query is malformed + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: @@ -408,30 +423,30 @@ paths: $ref: "#/components/schemas/TupleDto" required: true responses: - "503": - description: Failed to establish connection with the metadata service or - storage service + "201": + description: Created table data + "400": + description: Request pagination or table data select query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find table in metadata database or blob in storage - service + "403": + description: Create table data not allowed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created table data - "400": - description: Request pagination or table data select query is malformed + "404": + description: Failed to find table in metadata database or blob in storage + service content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Create table data not allowed + "503": + description: Failed to establish connection with the metadata service or + storage service content: application/json: schema: @@ -472,14 +487,16 @@ paths: $ref: "#/components/schemas/TupleDeleteDto" required: true responses: - "403": - description: Delete table data not allowed + "202": + description: Deleted table data + "400": + description: Request pagination or table data select query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to establish connection with the metadata service + "403": + description: Delete table data not allowed content: application/json: schema: @@ -490,10 +507,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Deleted table data - "400": - description: Request pagination or table data select query is malformed + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: @@ -547,52 +562,57 @@ paths: schema: type: string responses: - "406": - description: Failed to format data + "200": + description: Get table data + headers: + Access-Control-Expose-Headers: + description: Expose `X-Count` custom header + required: true + style: simple + schema: + type: string + X-Count: + description: Number of rows + required: true + style: simple + schema: + type: integer + format: int64 content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to establish connection with the metadata service + type: string + text/csv: {} + "400": + description: Request pagination or table data select query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find table in metadata database + "403": + description: Not allowed to get table data content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not allowed to get table data + "404": + description: Failed to find table in metadata database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Request pagination or table data select query is malformed + "406": + description: Failed to format data content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Get table data - headers: - Access-Control-Expose-Headers: - description: Expose `X-Count` custom header - required: true - style: simple - X-Count: - description: Number of rows - required: true - style: simple + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: - type: string - text/csv: {} + $ref: "#/components/schemas/ApiErrorDto" security: - basicAuth: [] - bearerAuth: [] @@ -643,24 +663,6 @@ paths: type: integer format: int64 responses: - "403": - description: Not allowed to retrieve subset data - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "406": - description: Failed to format data - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to communicate with database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "200": description: Retrieved subset data headers: @@ -668,21 +670,43 @@ paths: description: Reverse proxy exposing of custom headers required: true style: simple + schema: + type: string X-Count: description: Number of rows style: simple + schema: + type: string + format: uuid X-Id: description: The subset id required: true style: simple + schema: + type: string + format: uuid X-Headers: description: The list of headers separated by comma style: simple + schema: + type: string content: application/json: schema: type: string text/csv: {} + "400": + description: Invalid pagination + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" + "403": + description: Not allowed to retrieve subset data + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" "404": description: Failed to find database in metadata database or query in query store of the data database @@ -690,8 +714,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Invalid pagination + "406": + description: Failed to format data + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to communicate with database content: application/json: schema: @@ -745,24 +775,6 @@ paths: type: integer format: int64 responses: - "403": - description: Not allowed to retrieve subset data - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "406": - description: Failed to format data - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to communicate with database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "200": description: Retrieved subset data headers: @@ -770,21 +782,43 @@ paths: description: Reverse proxy exposing of custom headers required: true style: simple + schema: + type: string X-Count: description: Number of rows style: simple + schema: + type: string + format: uuid X-Id: description: The subset id required: true style: simple + schema: + type: string + format: uuid X-Headers: description: The list of headers separated by comma style: simple + schema: + type: string content: application/json: schema: type: string text/csv: {} + "400": + description: Invalid pagination + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" + "403": + description: Not allowed to retrieve subset data + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" "404": description: Failed to find database in metadata database or query in query store of the data database @@ -792,8 +826,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Invalid pagination + "406": + description: Failed to format data + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to communicate with database content: application/json: schema: @@ -840,27 +880,27 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to communicate with database + "403": + description: Not allowed to persist subset content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "417": - description: Failed to persist subset + "404": + description: Failed to find database in metadata database or query in query + store of the data database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not allowed to persist subset + "417": + description: Failed to persist subset content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database in metadata database or query in query - store of the data database + "503": + description: Failed to communicate with database content: application/json: schema: @@ -880,13 +920,13 @@ paths: content: application/json: schema: - required: - - file type: object properties: file: type: string format: binary + required: + - file required: true responses: "201": @@ -941,14 +981,14 @@ paths: responses: "202": description: Imported dataset successfully - "403": - description: Import table dataset not allowed + "400": + description: Dataset and/or query are malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to establish connection with the metadata service + "403": + description: Import table dataset not allowed content: application/json: schema: @@ -959,8 +999,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Dataset and/or query are malformed + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: @@ -1000,12 +1040,6 @@ paths: type: array items: $ref: "#/components/schemas/QueryDto" - "503": - description: Failed to communicate with database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "403": description: Not allowed to find subsets content: @@ -1019,6 +1053,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to communicate with database + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - basicAuth: [] - bearerAuth: [] @@ -1063,51 +1103,51 @@ paths: $ref: "#/components/schemas/SubsetDto" required: true responses: - "417": - description: Failed to insert query into query store of data database + "201": + description: Created subset content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" + type: string "400": description: Malformed select query content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "406": - description: Failed to format data + "403": + description: Not allowed to find subset content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "501": - description: Failed to execute query as it contains non-supported keywords + "404": + description: Failed to find database in metadata database or query in query + store of the data database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to communicate with database + "406": + description: Failed to format data content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not allowed to find subset + "417": + description: Failed to insert query into query store of data database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created subset + "501": + description: Failed to execute query as it contains non-supported keywords content: application/json: schema: - type: string - "404": - description: Failed to find database in metadata database or query in query - store of the data database + $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to communicate with database content: application/json: schema: @@ -1152,26 +1192,26 @@ paths: type: array items: $ref: "#/components/schemas/TableHistoryDto" - "503": - description: Failed to establish connection with the metadata service + "400": + description: "Invalid pagination size request, must be > 0" content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find table history in data database + "403": + description: Find table history not allowed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: "Invalid pagination size request, must be > 0" + "404": + description: Failed to find table history in data database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Find table history not allowed + "503": + description: Failed to establish connection with the metadata service content: application/json: schema: @@ -1210,27 +1250,28 @@ paths: type: string format: date-time responses: - "400": - description: Malformed select query + "200": + description: Found subset content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to communicate with database + $ref: "#/components/schemas/QueryDto" + text/csv: {} + "400": + description: Malformed select query content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found subset + "403": + description: Not allowed to find subset content: application/json: schema: - $ref: "#/components/schemas/QueryDto" - text/csv: {} - "403": - description: Not allowed to find subset + $ref: "#/components/schemas/ApiErrorDto" + "404": + description: Failed to find database in metadata database or query in query + store of the data database content: application/json: schema: @@ -1241,9 +1282,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database in metadata database or query in query - store of the data database + "503": + description: Failed to communicate with database content: application/json: schema: @@ -1254,15 +1294,10 @@ paths: components: schemas: ApiErrorDto: - required: - - code - - message - - status type: object properties: status: type: string - example: NOT_FOUND enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS @@ -1333,46 +1368,44 @@ components: - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED + example: NOT_FOUND message: type: string example: Error message code: type: string example: error.service.code - TupleUpdateDto: required: - - data - - keys + - code + - message + - status + TupleUpdateDto: type: object properties: data: type: object additionalProperties: type: object - example: - key: value example: key: value keys: type: object additionalProperties: type: object - example: - id: 1 example: id: 1 - QueryPersistDto: required: - - persist + - data + - keys + QueryPersistDto: type: object properties: persist: type: boolean example: true - CreatorBriefDto: required: - - creator_name - - id + - persist + CreatorBriefDto: type: object properties: id: @@ -1387,43 +1420,35 @@ components: example: "Carberry, Josiah" name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID affiliation_identifier: type: string example: https://ror.org/05gq02987 affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI - IdentifierBriefDto: + example: ROR required: - - creators - - database_id - - descriptions + - creator_name - id - - owned_by - - publication_year - - publisher - - status - - titles - - type + IdentifierBriefDto: type: object properties: id: @@ -1432,12 +1457,12 @@ components: example: b97cd56b-66ca-4354-9e6c-f47210cfaaec type: type: string - example: database enum: - database - subset - table - view + example: database creators: type: array items: @@ -1458,10 +1483,10 @@ components: example: TU Wien status: type: string - example: draft enum: - draft - published + example: draft database_id: type: string format: uuid @@ -1469,12 +1494,15 @@ components: query_id: type: string format: uuid + example: 1 table_id: type: string format: uuid + example: 1 view_id: type: string format: uuid + example: 1 publication_year: type: integer format: int32 @@ -1483,9 +1511,18 @@ components: type: string format: uuid example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5 - IdentifierDescriptionDto: required: + - creators + - database_id + - descriptions - id + - owned_by + - publication_year + - publisher + - status + - titles + - type + IdentifierDescriptionDto: type: object properties: id: @@ -1497,7 +1534,6 @@ components: example: "Air quality reports at Stephansplatz, Vienna" language: type: string - example: en enum: - ab - aa @@ -1683,9 +1719,9 @@ components: - yo - za - zu + example: en type: type: string - example: Abstract enum: - Abstract - Methods @@ -1693,9 +1729,10 @@ components: - TableOfContents - TechnicalInfo - Other - IdentifierTitleDto: + example: Abstract required: - id + IdentifierTitleDto: type: object properties: id: @@ -1707,7 +1744,6 @@ components: example: Airquality Demonstrator language: type: string - example: en enum: - ab - aa @@ -1893,6 +1929,7 @@ components: - yo - za - zu + example: en type: type: string enum: @@ -1900,17 +1937,9 @@ components: - Subtitle - TranslatedTitle - Other - QueryDto: required: - - database_id - - execution - id - - identifiers - - is_persisted - - owner - - query - - query_hash - - query_normalized + QueryDto: type: object properties: id: @@ -1928,10 +1957,10 @@ components: example: SELECT `id` FROM `air_quality` type: type: string - example: query enum: - query - view + example: query identifiers: type: array items: @@ -1956,10 +1985,17 @@ components: type: integer format: int64 example: 1 - UserBriefDto: required: + - database_id + - execution - id - - username + - identifiers + - is_persisted + - owner + - query + - query_hash + - query_normalized + UserBriefDto: type: object properties: id: @@ -1985,10 +2021,10 @@ components: family_name: type: string example: Carberry - CreatorDto: required: - - creator_name - id + - username + CreatorDto: type: object properties: id: @@ -2009,21 +2045,21 @@ components: example: "Carberry, Josiah" name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID name_identifier_scheme_uri: type: string example: https://orcid.org/ @@ -2032,18 +2068,18 @@ components: example: https://ror.org/05gq02987 affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI + example: ROR affiliation_identifier_scheme_uri: type: string example: https://ror.org/ - EnumDto: required: + - creator_name - id - - value + EnumDto: type: object properties: id: @@ -2052,27 +2088,11 @@ components: example: 5343bb3d-14d3-4eb7-a86f-b8fc553cb315 value: type: string - example: "3" - description: "enum values, only considered when type = ENUM" - IdentifierDto: + example: 3 required: - - creators - - database_id - - descriptions - - funders - id - - language - - licenses - - links - - owner - - publication_year - - publisher - - query - - query_hash - - query_normalized - - status - - titles - - type + - value + IdentifierDto: type: object properties: id: @@ -2083,12 +2103,12 @@ components: $ref: "#/components/schemas/LinksDto" type: type: string - example: database enum: - database - subset - table - view + example: database titles: type: array items: @@ -2314,22 +2334,26 @@ components: $ref: "#/components/schemas/CreatorDto" status: type: string - example: draft enum: - draft - published + example: draft database_id: type: string format: uuid + example: null query_id: type: string format: uuid + example: null table_id: type: string format: uuid + example: null view_id: type: string format: uuid + example: null query_normalized: type: string example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\ @@ -2360,10 +2384,25 @@ components: type: integer format: int32 example: 2022 - IdentifierFunderDto: required: - - funder_name + - creators + - database_id + - descriptions + - funders - id + - language + - licenses + - links + - owner + - publication_year + - publisher + - query + - query_hash + - query_normalized + - status + - titles + - type + IdentifierFunderDto: type: object properties: id: @@ -2378,26 +2417,26 @@ components: example: http://doi.org/10.13039/501100000780 funder_identifier_type: type: string - example: Crossref Funder ID enum: - Crossref Funder ID - ROR - GND - ISNI - Other + example: Crossref Funder ID scheme_uri: type: string example: http://doi.org/ award_number: type: string - example: "824087" + example: 824087 award_title: type: string example: EOSC-Life - LicenseDto: required: - - identifier - - uri + - funder_name + - id + LicenseDto: type: object properties: identifier: @@ -2412,10 +2451,10 @@ components: \ preservation of copyright and license notices. Licensed works, modifications,\ \ and larger works may be distributed under different terms and without\ \ source code." - LinksDto: required: - - self - - self_html + - identifier + - uri + LinksDto: type: object properties: self: @@ -2430,12 +2469,10 @@ components: dashboard_html: type: string example: http://example.com/d/defi2baxqawaod - RelatedIdentifierDto: required: - - id - - relation - - type - - value + - self + - self_html + RelatedIdentifierDto: type: object properties: id: @@ -2447,7 +2484,6 @@ components: example: 10.70124/dc4zh-9ce78 type: type: string - example: DOI enum: - DOI - URL @@ -2467,9 +2503,9 @@ components: - PURL - UPC - w3id + example: DOI relation: type: string - example: Cites enum: - IsCitedBy - Cites @@ -2505,10 +2541,13 @@ components: - Requires - IsObsoletedBy - Obsoletes - SetDto: + example: Cites required: - id + - relation + - type - value + SetDto: type: object properties: id: @@ -2517,17 +2556,11 @@ components: example: 7eb4eded-bacc-4a91-84db-a9ae6ddafda7 value: type: string - example: "3" - description: "enum values, only considered when type = ENUM" - ViewColumnDto: + example: 3 required: - - database_id - id - - internal_name - - is_null_allowed - - name - - ord - - type + - value + ViewColumnDto: type: object properties: id: @@ -2535,10 +2568,10 @@ components: format: uuid example: 6aec3a91-2e0b-4e92-a16a-9c3c5e892da1 name: - maxLength: 64 - minLength: 0 type: string example: Given Name + maxLength: 64 + minLength: 0 size: type: integer format: int64 @@ -2548,10 +2581,10 @@ components: format: int64 example: 0 description: - maxLength: 2048 - minLength: 0 type: string example: Column comment + maxLength: 2048 + minLength: 0 enums: type: array description: "enum values, only considered when type = ENUM" @@ -2571,10 +2604,10 @@ components: format: int32 example: 0 internal_name: - maxLength: 64 - minLength: 0 type: string example: given_name + maxLength: 64 + minLength: 0 index_length: type: integer format: int64 @@ -2585,7 +2618,6 @@ components: example: 255 type: type: string - example: varchar enum: - char - varchar @@ -2617,21 +2649,19 @@ components: - timestamp - time - year + example: varchar is_null_allowed: type: boolean example: false - ViewDto: required: - - columns - - created - database_id - id - - identifiers - internal_name + - is_null_allowed - name - - owner - - query - - query_hash + - ord + - type + ViewDto: type: object properties: id: @@ -2657,9 +2687,11 @@ components: created: type: string format: date-time + example: 2022-01-01 08:00:00.000 last_retrieved: type: string format: date-time + example: 2025-01-23T12:09:01 database_id: type: string format: uuid @@ -2680,24 +2712,29 @@ components: query_hash: type: string example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 - TupleDto: required: - - data + - columns + - created + - database_id + - id + - identifiers + - internal_name + - name + - owner + - query + - query_hash + TupleDto: type: object properties: data: type: object additionalProperties: type: object - example: - key: value example: key: value - ImportDto: required: - - header - - location - - separator + - data + ImportDto: type: object properties: location: @@ -2717,24 +2754,23 @@ components: line_termination: type: string example: \r\n - FilterDto: required: - - column_id - - operator_id - - type - - value + - header + - location + - separator + FilterDto: type: object properties: type: type: string - example: where enum: - where - or - and + example: where value: type: string - example: "1" + example: 1 column_id: type: string format: uuid @@ -2743,25 +2779,27 @@ components: type: string format: uuid example: 67c5b54d-2eb0-4f42-8dc1-a504562e9f32 - OrderDto: required: - column_id + - operator_id + - type + - value + OrderDto: type: object properties: direction: type: string - example: asc enum: - asc - desc + example: asc column_id: type: string format: uuid example: e891ba86-0258-41a6-a8d9-ff58bc10b618 - SubsetDto: required: - - columns - - table_id + - column_id + SubsetDto: type: object properties: columns: @@ -2779,15 +2817,20 @@ components: type: array items: $ref: "#/components/schemas/OrderDto" - table_id: + datasource_id: type: string format: uuid example: f7df2a7d-4ade-4c78-97b0-7c744d0893c7 - TableHistoryDto: + datasource_type: + type: string + enum: + - table + - view required: - - event - - timestamp - - total + - columns + - datasource_id + - datasource_type + TableHistoryDto: type: object properties: timestamp: @@ -2796,27 +2839,29 @@ components: example: 2021-03-12T15:26:21Z event: type: string - example: INSERT enum: - insert - delete + example: INSERT total: type: integer format: int64 example: 1 - TupleDeleteDto: required: - - keys + - event + - timestamp + - total + TupleDeleteDto: type: object properties: keys: type: object additionalProperties: type: object - example: - id: 1 example: id: 1 + required: + - keys securitySchemes: basicAuth: type: http diff --git a/.docs/.openapi/api-metadata.yaml b/.docs/.openapi/api-metadata.yaml index 2b0f9a5412f10d40efc316462d1bcfb595a2964c..345b4c0efa56964b2bee6f4a4c6e1d66a4286dd4 100644 --- a/.docs/.openapi/api-metadata.yaml +++ b/.docs/.openapi/api-metadata.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.1 +openapi: 3.1.0 info: title: Database Repository Metadata Service API description: Service that manages the metadata @@ -36,24 +36,24 @@ paths: type: string format: uuid responses: - "404": - description: User was not found + "200": + description: Found user content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" + $ref: "#/components/schemas/UserDto" "403": description: Find user is not permitted content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found user + "404": + description: User was not found content: application/json: schema: - $ref: "#/components/schemas/UserDto" + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -77,18 +77,12 @@ paths: $ref: "#/components/schemas/UserUpdateDto" required: true responses: - "503": - description: Failed to modify user at auth service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database/user in metadata database + "202": + description: Modified user information content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" + $ref: "#/components/schemas/UserDto" "400": description: Modify user query is malformed content: @@ -101,12 +95,18 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Modified user information + "404": + description: Failed to find database/user in metadata database content: application/json: schema: - $ref: "#/components/schemas/UserDto" + $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to modify user at auth service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -127,24 +127,24 @@ paths: type: string format: uuid responses: - "404": - description: User was not found + "200": + description: Found user content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" + $ref: "#/components/schemas/UserDto" "403": description: Find user is not permitted content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found user + "404": + description: User was not found content: application/json: schema: - $ref: "#/components/schemas/UserDto" + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -171,10 +171,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of databases required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -186,7 +191,7 @@ paths: - database-endpoint summary: Create database description: Creates a database in the container with id. Requires roles `create-database`. - operationId: create_4 + operationId: create requestBody: content: application/json: @@ -194,39 +199,39 @@ paths: $ref: "#/components/schemas/CreateDatabaseDto" required: true responses: - "404": - description: Failed to fin container/user/database in metadata database + "201": + description: Created a new database content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + $ref: "#/components/schemas/DatabaseBriefDto" + "400": + description: Database create query is malformed or image is not supported content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "409": - description: Query store could not be created + "403": + description: Database create permission is missing or grant permissions + at broker service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Database create query is malformed or image is not supported + "404": + description: Failed to fin container/user/database in metadata database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "423": - description: Database quota exceeded + "409": + description: Query store could not be created content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Database create permission is missing or grant permissions - at broker service failed + "423": + description: Database quota exceeded content: application/json: schema: @@ -237,12 +242,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created a new database + "503": + description: Failed to save in search service content: application/json: schema: - $ref: "#/components/schemas/DatabaseBriefDto" + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -268,10 +273,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of databases required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -309,14 +319,14 @@ paths: application/json: schema: $ref: "#/components/schemas/DatabaseAccessDto" - "404": - description: Database not found + "403": + description: No access to this database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: No access to this database + "404": + description: Database not found content: application/json: schema: @@ -330,7 +340,7 @@ paths: summary: Modify access description: Modifies access of a user with given id to database with given id. Requires role `update-database-access`. - operationId: update_5 + operationId: update parameters: - name: databaseId in: path @@ -351,21 +361,14 @@ paths: $ref: "#/components/schemas/CreateAccessDto" required: true responses: - "502": - description: Access could not be updated due to connection error in the - data service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" + "202": + description: Modified access "400": description: Modify access query or database connection is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Modified access "403": description: Modify access not permitted when no access is granted in the first place @@ -379,6 +382,13 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "502": + description: Access could not be updated due to connection error in the + data service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" "503": description: Access could not be updated in the data service content: @@ -394,7 +404,7 @@ paths: summary: Give access description: Give a user with given id access to some database with given id. Requires role `create-database-access`. - operationId: create_7 + operationId: create_1 parameters: - name: databaseId in: path @@ -421,32 +431,32 @@ paths: application/json: schema: $ref: "#/components/schemas/DatabaseAccessDto" - "403": - description: Failed giving access + "400": + description: Granting access query or database connection is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Database or user not found + "403": + description: Failed giving access content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Access could not be created in the data service + "404": + description: Database or user not found content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Granting access query or database connection is malformed + "502": + description: Access could not be created due to connection error content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Access could not be created due to connection error + "503": + description: Access could not be created in the data service content: application/json: schema: @@ -475,34 +485,34 @@ paths: type: string format: uuid responses: + "202": + description: Deleted access "400": description: Modify access query or database connection is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "User, database with access was not found" + "403": + description: Revoke of access not permitted as no access was found content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Access could not be revoked in the data service + "404": + description: "User, database with access was not found" content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Deleted access - "403": - description: Revoke of access not permitted as no access was found + "502": + description: Access could not be created due to connection error content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Access could not be created due to connection error + "503": + description: Access could not be revoked in the data service content: application/json: schema: @@ -540,14 +550,14 @@ paths: application/json: schema: $ref: "#/components/schemas/DatabaseAccessDto" - "404": - description: Database not found + "403": + description: No access to this database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: No access to this database + "404": + description: Database not found content: application/json: schema: @@ -587,7 +597,7 @@ paths: - ontology-endpoint summary: Update ontology description: Updates an ontology with id. Requires role `update-ontology`. - operationId: update + operationId: update_1 parameters: - name: ontologyId in: path @@ -650,7 +660,7 @@ paths: - message-endpoint summary: Update message description: Updates a message with id. Requires role `update-maintenance-message`. - operationId: update_1 + operationId: update_2 parameters: - name: messageId in: path @@ -665,18 +675,18 @@ paths: $ref: "#/components/schemas/BannerMessageUpdateDto" required: true responses: - "404": - description: Could not find message - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "202": description: Updated message content: application/json: schema: $ref: "#/components/schemas/BannerMessageBriefDto" + "404": + description: Could not find message + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -722,25 +732,25 @@ paths: type: string format: uuid responses: - "404": - description: Image could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "200": description: Found image content: application/json: schema: $ref: "#/components/schemas/ImageDto" + "404": + description: Image could not be found + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" put: tags: - image-endpoint summary: Update image description: Updates container image in the metadata database. Requires role `modify-image`. - operationId: update_2 + operationId: update_3 parameters: - name: imageId in: path @@ -755,18 +765,18 @@ paths: $ref: "#/components/schemas/ImageChangeDto" required: true responses: - "404": - description: Image could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "202": description: Updated image successfully content: application/json: schema: $ref: "#/components/schemas/ImageDto" + "404": + description: Image could not be found + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -803,7 +813,7 @@ paths: summary: Find identifier description: Finds an identifier with id. The response format depends on the HTTP `Accept` header set on the request. - operationId: find_7 + operationId: find_5 parameters: - name: identifierId in: path @@ -817,33 +827,53 @@ paths: schema: type: string responses: - "406": - description: Failed to find acceptable representation + "200": + description: Found identifier successfully + content: + application/json: + schema: + $ref: "#/components/schemas/IdentifierDto" + application/ld+json: + schema: + $ref: "#/components/schemas/LdDatasetDto" + text/xml: {} + text/bibliography: {} + text/bibliography; style=apa: {} + text/bibliography; style=ieee: {} + text/bibliography; style=bibtex: {} + "400": + description: "Identifier could not be exported, the requested style is not\ + \ known" content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "409": - description: Exported resource was not found + "403": + description: Not allowed to view identifier content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "410": - description: Failed to retrieve from S3 endpoint + "404": + description: Identifier could not be found content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: "Identifier could not be exported, the requested style is not\ - \ known" + "406": + description: Failed to find acceptable representation content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Identifier could not be found + "409": + description: Exported resource was not found + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" + "410": + description: Failed to retrieve from S3 endpoint content: application/json: schema: @@ -854,28 +884,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found identifier successfully - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierDto" - application/ld+json: - schema: - $ref: "#/components/schemas/LdDatasetDto" - text/xml: {} - text/bibliography: {} - text/bibliography; style=apa: {} - text/bibliography; style=ieee: {} - text/bibliography; style=bibtex: {} - "403": - description: Not allowed to view identifier - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to find in data service + "503": + description: Failed to find in data service content: application/json: schema: @@ -909,12 +919,6 @@ paths: application/json: schema: $ref: "#/components/schemas/IdentifierDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "400": description: Identifier form contains invalid request data content: @@ -927,14 +931,20 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "404": + description: "Failed to find database, table or view" + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" "502": description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Failed to find database, table or view" + "503": + description: Failed to save in search service content: application/json: schema: @@ -956,32 +966,32 @@ paths: type: string format: uuid responses: - "404": - description: Identifier or database could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" + "202": + description: Deleted identifier "403": description: Deleting identifier not permitted content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to delete in search service + "404": + description: Identifier or database could not be found content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Deleted identifier "502": description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to delete in search service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1001,12 +1011,12 @@ paths: type: string format: uuid responses: - "503": - description: Failed to save in search service + "202": + description: Published identifier content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" + $ref: "#/components/schemas/IdentifierDto" "400": description: Identifier form contains invalid request data content: @@ -1019,24 +1029,24 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed + "404": + description: "Failed to find database, table or view" content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Failed to find database, table or view" + "502": + description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Published identifier + "503": + description: Failed to save in search service content: application/json: schema: - $ref: "#/components/schemas/IdentifierDto" + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1068,8 +1078,8 @@ paths: application/json: schema: $ref: "#/components/schemas/DatabaseBriefDto" - "503": - description: Failed to save in search service + "400": + description: The visibility payload is malformed content: application/json: schema: @@ -1086,14 +1096,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: The visibility payload is malformed + "502": + description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed + "503": + description: Failed to save in search service content: application/json: schema: @@ -1107,7 +1117,7 @@ paths: - view-endpoint summary: Get view description: Gets a view with id in the metadata database. - operationId: find_8 + operationId: find_6 parameters: - name: databaseId in: path @@ -1122,12 +1132,6 @@ paths: type: string format: uuid responses: - "404": - description: "Database, view or user could not be found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "200": description: Find view successfully content: @@ -1140,6 +1144,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "404": + description: "Database, view or user could not be found" + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1149,7 +1159,7 @@ paths: summary: Update view description: Updates a view with id. This can only be performed by the view owner or database owner. Requires role `create-database-view`. - operationId: update_3 + operationId: update_4 parameters: - name: databaseId in: path @@ -1170,6 +1180,12 @@ paths: $ref: "#/components/schemas/ViewUpdateDto" required: true responses: + "202": + description: Update view successfully + content: + '*/*': + schema: + $ref: "#/components/schemas/ViewBriefDto" "400": description: Update view query is malformed content: @@ -1182,30 +1198,24 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "404": description: Database or View could not be found content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Update view successfully - content: - '*/*': - schema: - $ref: "#/components/schemas/ViewBriefDto" "502": description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to save in search service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1229,20 +1239,20 @@ paths: type: string format: uuid responses: - "403": - description: Deletion not allowed + "202": + description: Delete view successfully + "400": + description: Delete view query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + "403": + description: Deletion not allowed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Delete view successfully "404": description: "Database, view or user could not be found" content: @@ -1255,14 +1265,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Delete view query is malformed + "502": + description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed + "503": + description: Failed to save in search service content: application/json: schema: @@ -1279,7 +1289,7 @@ paths: \ is `false`), then the user needs to have at least read access and the role\ \ `find-table`. When the `system` role is present, the endpoint responds with\ \ additional connection metadata in the header." - operationId: findById_2 + operationId: findById_1 parameters: - name: databaseId in: path @@ -1294,6 +1304,12 @@ paths: type: string format: uuid responses: + "200": + description: Find table successfully + content: + application/json: + schema: + $ref: "#/components/schemas/TableDto" "403": description: Access to the database is forbidden content: @@ -1306,12 +1322,6 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Find table successfully - content: - application/json: - schema: - $ref: "#/components/schemas/TableDto" security: - bearerAuth: [] - basicAuth: [] @@ -1320,7 +1330,7 @@ paths: - table-endpoint summary: Update table description: Updates a table in the database with id. Requires role `update-table`. - operationId: update_4 + operationId: update_5 parameters: - name: databaseId in: path @@ -1341,38 +1351,38 @@ paths: $ref: "#/components/schemas/TableUpdateDto" required: true responses: - "400": - description: Update table visibility payload is malformed + "202": + description: Updated the table content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + $ref: "#/components/schemas/TableBriefDto" + "400": + description: Update table visibility payload is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated the table + "403": + description: Update table visibility not permitted content: application/json: schema: - $ref: "#/components/schemas/TableBriefDto" + $ref: "#/components/schemas/ApiErrorDto" "404": description: Table could not be found content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Update table visibility not permitted + "502": + description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed + "503": + description: Failed to save in search service content: application/json: schema: @@ -1402,8 +1412,10 @@ paths: type: string format: uuid responses: - "503": - description: Failed to save in search service + "202": + description: Delete table successfully + "400": + description: Delete table query resulted in an invalid query statement content: application/json: schema: @@ -1420,16 +1432,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Delete table successfully - "400": - description: Delete table query resulted in an invalid query statement + "502": + description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed + "503": + description: Failed to save in search service content: application/json: schema: @@ -1460,20 +1470,22 @@ paths: type: string format: uuid responses: - "403": - description: Not the owner + "202": + description: Updated table statistics successfully + "400": + description: Failed to map column statistic to known columns content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database/table in metadata database + "403": + description: Not the owner content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + "404": + description: Failed to find database/table in metadata database content: application/json: schema: @@ -1484,10 +1496,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated table statistics successfully - "400": - description: Failed to map column statistic to known columns + "503": + description: Failed to save in search service content: application/json: schema: @@ -1531,12 +1541,6 @@ paths: $ref: "#/components/schemas/ColumnSemanticsUpdateDto" required: true responses: - "404": - description: Failed to find user/table/database/ontology in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "202": description: Updated column semantics successfully content: @@ -1550,14 +1554,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + "403": + description: Access to the database is forbidden content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Access to the database is forbidden + "404": + description: Failed to find user/table/database/ontology in metadata database content: application/json: schema: @@ -1568,6 +1572,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to save in search service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1593,20 +1603,14 @@ paths: $ref: "#/components/schemas/DatabaseTransferDto" required: true responses: - "403": - description: Transfer of ownership is not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "202": description: Transfer of ownership was successful content: application/json: schema: $ref: "#/components/schemas/DatabaseBriefDto" - "503": - description: Failed to save in search service + "400": + description: Owner payload is malformed content: application/json: schema: @@ -1617,8 +1621,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Owner payload is malformed + "403": + description: Transfer of ownership is not permitted content: application/json: schema: @@ -1629,6 +1633,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to save in search service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1649,24 +1659,18 @@ paths: type: string format: uuid responses: - "403": - description: Refresh view metadata is not permitted + "200": + description: Refreshed database views metadata content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + $ref: "#/components/schemas/DatabaseBriefDto" + "403": + description: Refresh view metadata is not permitted content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Refreshed database views metadata - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" "404": description: Failed to find database in metadata database content: @@ -1679,6 +1683,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to save in search service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1699,14 +1709,14 @@ paths: type: string format: uuid responses: - "503": - description: Failed to save in search service + "200": + description: Refreshed database tables metadata content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database in metadata database + $ref: "#/components/schemas/DatabaseBriefDto" + "400": + description: Failed to parse payload at search service content: application/json: schema: @@ -1717,24 +1727,24 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed + "404": + description: Failed to find database in metadata database content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Failed to parse payload at search service + "502": + description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Refreshed database tables metadata + "503": + description: Failed to save in search service content: application/json: schema: - $ref: "#/components/schemas/DatabaseBriefDto" + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1753,21 +1763,19 @@ paths: type: string format: uuid responses: + "200": + description: View of image was successful + content: + '*/*': + schema: + type: string + format: byte "404": description: Database or user could not be found content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: View of image was successful - content: - '*/*': - schema: - type: array - items: - type: string - format: byte security: - bearerAuth: [] - basicAuth: [] @@ -1792,20 +1800,20 @@ paths: $ref: "#/components/schemas/DatabaseModifyImageDto" required: true responses: - "404": - description: Database could not be found + "202": + description: Modify of image was successful content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + $ref: "#/components/schemas/DatabaseBriefDto" + "403": + description: Modify of image is not permitted content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Modify of image is not permitted + "404": + description: Database could not be found content: application/json: schema: @@ -1822,12 +1830,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Modify of image was successful + "503": + description: Failed to save in search service content: application/json: schema: - $ref: "#/components/schemas/DatabaseBriefDto" + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -1859,14 +1867,14 @@ paths: application/json: schema: $ref: "#/components/schemas/DatabaseBriefDto" - "404": - description: Database could not be found + "400": + description: Malformed payload content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + "404": + description: Database could not be found content: application/json: schema: @@ -1877,8 +1885,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Malformed payload + "503": + description: Failed to save in search service content: application/json: schema: @@ -1892,7 +1900,7 @@ paths: - ontology-endpoint summary: List ontologies description: Lists all ontologies known to the metadata database. - operationId: findAll_2 + operationId: findAll responses: "200": description: List ontologies @@ -1907,7 +1915,7 @@ paths: - ontology-endpoint summary: Create ontology description: Creates an ontology in the metadata database. Requires role `create-ontology`. - operationId: create + operationId: create_2 requestBody: content: application/json: @@ -1955,7 +1963,7 @@ paths: - message-endpoint summary: Create message description: Creates a message in the metadata database. Requires role `create-maintenance-message`. - operationId: create_1 + operationId: create_3 requestBody: content: application/json: @@ -1978,7 +1986,7 @@ paths: - image-endpoint summary: List images description: Lists all container images known to the metadata database. - operationId: findAll_3 + operationId: findAll_1 responses: "200": description: List images @@ -1994,7 +2002,7 @@ paths: summary: Create image description: Creates a container image in the metadata database. Requires role `create-image`. - operationId: create_2 + operationId: create_4 requestBody: content: application/json: @@ -2008,14 +2016,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ImageDto" - "409": - description: Image already exists + "400": + description: Image specification is invalid content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Image specification is invalid + "409": + description: Image already exists content: application/json: schema: @@ -2029,7 +2037,7 @@ paths: - identifier-endpoint summary: List identifiers description: Lists all identifiers known to the metadata database - operationId: findAll_4 + operationId: findAll_2 parameters: - name: type in: query @@ -2086,7 +2094,9 @@ paths: schema: type: array items: - type: string + type: array + items: + $ref: "#/components/schemas/IdentifierBriefDto" application/ld+json: schema: type: array @@ -2100,7 +2110,7 @@ paths: can only be created for objects the user has at least *READ* access in the associated database (requires role `create-identifier`) or for any object in any database (requires role `create-foreign-identifier`). - operationId: create_3 + operationId: create_5 requestBody: content: application/json: @@ -2114,12 +2124,6 @@ paths: application/json: schema: $ref: "#/components/schemas/IdentifierDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "400": description: Identifier form contains invalid request data content: @@ -2132,14 +2136,20 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "404": + description: "Failed to find database, table or view" + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" "502": description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Failed to find database, table or view" + "503": + description: Failed to save in search service content: application/json: schema: @@ -2153,7 +2163,7 @@ paths: - view-endpoint summary: List views description: Lists views known to the metadata database. - operationId: findAll_5 + operationId: findAll_3 parameters: - name: databaseId in: path @@ -2162,12 +2172,6 @@ paths: type: string format: uuid responses: - "404": - description: Database or user could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "200": description: Find views successfully content: @@ -2176,6 +2180,12 @@ paths: type: array items: $ref: "#/components/schemas/ViewBriefDto" + "404": + description: Database or user could not be found + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -2185,7 +2195,7 @@ paths: summary: Create view description: Creates a view. This can only be performed by the database owner. Requires role `create-database-view`. - operationId: create_5 + operationId: create_6 parameters: - name: databaseId in: path @@ -2200,20 +2210,20 @@ paths: $ref: "#/components/schemas/CreateViewDto" required: true responses: - "403": - description: Credentials missing + "201": + description: Create view successfully content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" - "409": - description: View exists with name + $ref: "#/components/schemas/ViewBriefDto" + "400": + description: Create view query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service + "403": + description: Credentials missing content: application/json: schema: @@ -2224,14 +2234,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Create view successfully + "409": + description: View exists with name content: application/json: schema: - $ref: "#/components/schemas/ViewBriefDto" - "400": - description: Create view query is malformed + $ref: "#/components/schemas/ApiErrorDto" + "423": + description: Create view resulted in an invalid query statement content: application/json: schema: @@ -2242,8 +2252,8 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "423": - description: Create view resulted in an invalid query statement + "503": + description: Failed to save in search service content: application/json: schema: @@ -2259,7 +2269,7 @@ paths: description: "Lists all tables known to the metadata database. When a database\ \ has a hidden schema (i.e. when `is_schema_public` is `false`), then the\ \ user needs to have at least read access and the role `list-tables`." - operationId: list_4 + operationId: list_3 parameters: - name: databaseId in: path @@ -2276,14 +2286,14 @@ paths: type: array items: $ref: "#/components/schemas/TableBriefDto" - "404": - description: Database could not be found + "403": + description: List tables not permitted content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: List tables not permitted + "404": + description: Database could not be found content: application/json: schema: @@ -2296,7 +2306,7 @@ paths: - table-endpoint summary: Create table description: Creates a table in the database with id. Requires role `create-table`. - operationId: create_6 + operationId: create_7 parameters: - name: databaseId in: path @@ -2317,18 +2327,6 @@ paths: application/json: schema: $ref: "#/components/schemas/TableBriefDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "409": - description: Create table conflicts with existing table name - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "400": description: Create table query is malformed content: @@ -2347,12 +2345,24 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "409": + description: Create table conflicts with existing table name + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" "502": description: Connection to search service failed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "503": + description: Failed to save in search service + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -2362,7 +2372,7 @@ paths: - container-endpoint summary: List containers description: List all containers in the metadata database. - operationId: findAll_6 + operationId: findAll_4 parameters: - name: limit in: query @@ -2392,8 +2402,14 @@ paths: $ref: "#/components/schemas/CreateContainerDto" required: true responses: - "404": - description: Container image or user could not be found + "201": + description: Created a new container + content: + application/json: + schema: + $ref: "#/components/schemas/ContainerDto" + "400": + description: Container payload malformed content: application/json: schema: @@ -2404,24 +2420,18 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created a new container + "404": + description: Container image or user could not be found content: application/json: schema: - $ref: "#/components/schemas/ContainerDto" + $ref: "#/components/schemas/ApiErrorDto" "409": description: Container name already exists content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Container payload malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -2433,7 +2443,7 @@ paths: description: "Lists users known to the metadata database. Internal users are\ \ omitted from the result list. If the optional query parameter `username`\ \ is present, the result list can be filtered by matching this exact username." - operationId: findAll + operationId: findAll_5 parameters: - name: username in: query @@ -2455,7 +2465,7 @@ paths: - unit-endpoint summary: List units description: Lists units known to the metadata database. - operationId: findAll_1 + operationId: findAll_6 responses: "200": description: Find all semantic units @@ -2472,7 +2482,7 @@ paths: summary: Find entities description: Finds semantic entities by label or uri in an ontology with id. Requires role `execute-semantic-query`. - operationId: find_5 + operationId: find_7 parameters: - name: ontologyId in: path @@ -2499,26 +2509,26 @@ paths: type: array items: $ref: "#/components/schemas/EntityDto" - "417": - description: Generated query or uri is malformed + "400": + description: Filter params are invalid content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "422": - description: Ontology does not have rdf or sparql endpoint + "404": + description: Could not find ontology content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Could not find ontology + "417": + description: Generated query or uri is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Filter params are invalid + "422": + description: Ontology does not have rdf or sparql endpoint content: application/json: schema: @@ -2531,7 +2541,7 @@ paths: tags: - metadata-endpoint summary: Get record - operationId: identify_1_1_1_1 + operationId: identify parameters: - name: verb in: query @@ -2544,14 +2554,16 @@ paths: "200": description: List containers content: - text/xml: {} + text/xml: + schema: + type: string /api/message/message/{messageId}: get: tags: - message-endpoint summary: Find message description: Finds a message with id in the metadata database. - operationId: find_6 + operationId: find_8 parameters: - name: messageId in: path @@ -2578,7 +2590,7 @@ paths: - license-endpoint summary: List licenses description: Lists licenses known to the metadata database. - operationId: list_3 + operationId: list_4 responses: "200": description: List of licenses @@ -2621,7 +2633,7 @@ paths: - database-endpoint summary: Find database description: Finds a database with id. - operationId: findById_1 + operationId: findById_2 parameters: - name: databaseId in: path @@ -2630,24 +2642,24 @@ paths: type: string format: uuid responses: - "404": - description: Database could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "200": description: Database found successfully headers: X-Username: description: The authentication username style: simple + schema: + type: string Access-Control-Expose-Headers: description: Expose custom headers style: simple + schema: + type: string X-Password: description: The authentication password style: simple + schema: + type: string content: application/json: schema: @@ -2658,6 +2670,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "404": + description: Database could not be found + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" security: - bearerAuth: [] - basicAuth: [] @@ -2683,40 +2701,40 @@ paths: type: string format: uuid responses: - "404": - description: Failed to find database/table in metadata database + "200": + description: Suggested table semantics successfully content: application/json: schema: - $ref: "#/components/schemas/ApiErrorDto" + type: array + items: + $ref: "#/components/schemas/EntityDto" "400": description: Failed to parse statistic in search service content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "417": - description: Generated query is malformed + "403": + description: Not the table owner. content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Suggested table semantics successfully + "404": + description: Failed to find database/table in metadata database content: application/json: schema: - type: array - items: - $ref: "#/components/schemas/EntityDto" - "422": - description: Ontology does not have rdf or sparql endpoint + $ref: "#/components/schemas/ApiErrorDto" + "417": + description: Generated query is malformed content: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not the table owner. + "422": + description: Ontology does not have rdf or sparql endpoint content: application/json: schema: @@ -2751,12 +2769,6 @@ paths: type: string format: uuid responses: - "404": - description: Failed to find database/table in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" "200": description: Suggested table column semantics successfully content: @@ -2771,6 +2783,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ApiErrorDto" + "404": + description: Failed to find database/table in metadata database + content: + application/json: + schema: + $ref: "#/components/schemas/ApiErrorDto" "422": description: Ontology does not have rdf or sparql endpoint content: @@ -2856,16 +2874,65 @@ paths: $ref: "#/components/schemas/ConceptDto" components: schemas: - ApiErrorDto: + UserAttributesDto: + type: object + properties: + theme: + type: string + example: light + orcid: + type: string + example: https://orcid.org/0000-0002-1825-0097 + affiliation: + type: string + example: Brown University + language: + type: string + example: en required: - - code - - message - - status + - language + - theme + UserDto: + type: object + properties: + id: + type: string + format: uuid + example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 + name: + type: string + example: Josiah Carberry + username: + type: string + example: username + password: + type: string + example: p4ssw0rd + attributes: + $ref: "#/components/schemas/UserAttributesDto" + last_retrieved: + type: string + format: date-time + example: 2025-01-23T12:09:01 + qualified_name: + type: string + example: Josiah Carberry — @jcarberry + given_name: + type: string + example: Josiah + family_name: + type: string + example: Carberry + required: + - attributes + - id + - password + - username + ApiErrorDto: type: object properties: status: type: string - example: NOT_FOUND enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS @@ -2936,69 +3003,18 @@ components: - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED + example: NOT_FOUND message: type: string example: Error message code: type: string example: error.service.code - UserAttributesDto: required: - - language - - theme - type: object - properties: - theme: - type: string - example: light - orcid: - type: string - example: https://orcid.org/0000-0002-1825-0097 - affiliation: - type: string - example: Brown University - language: - type: string - example: en - UserDto: - required: - - attributes - - id - - password - - username - type: object - properties: - id: - type: string - format: uuid - example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 - name: - type: string - example: Josiah Carberry - username: - type: string - example: username - password: - type: string - example: p4ssw0rd - attributes: - $ref: "#/components/schemas/UserAttributesDto" - last_retrieved: - type: string - format: date-time - qualified_name: - type: string - example: Josiah Carberry — @jcarberry - given_name: - type: string - example: Josiah - family_name: - type: string - example: Carberry + - code + - message + - status CreatorBriefDto: - required: - - creator_name - - id type: object properties: id: @@ -3013,41 +3029,35 @@ components: example: "Carberry, Josiah" name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID affiliation_identifier: type: string example: https://ror.org/05gq02987 affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI - DatabaseBriefDto: + example: ROR required: - - contact + - creator_name - id - - identifiers - - internal_name - - is_public - - is_schema_public - - name - - owner_id + DatabaseBriefDto: type: object properties: id: @@ -3081,18 +3091,16 @@ components: example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5 preview_image: type: string - IdentifierBriefDto: required: - - creators - - database_id - - descriptions + - contact - id - - owned_by - - publication_year - - publisher - - status - - titles - - type + - identifiers + - internal_name + - is_public + - is_schema_public + - name + - owner_id + IdentifierBriefDto: type: object properties: id: @@ -3101,12 +3109,12 @@ components: example: b97cd56b-66ca-4354-9e6c-f47210cfaaec type: type: string - example: database enum: - database - subset - table - view + example: database creators: type: array items: @@ -3127,10 +3135,10 @@ components: example: TU Wien status: type: string - example: draft enum: - draft - published + example: draft database_id: type: string format: uuid @@ -3138,12 +3146,15 @@ components: query_id: type: string format: uuid + example: 1 table_id: type: string format: uuid + example: 1 view_id: type: string format: uuid + example: 1 publication_year: type: integer format: int32 @@ -3152,9 +3163,18 @@ components: type: string format: uuid example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5 - IdentifierDescriptionDto: required: + - creators + - database_id + - descriptions - id + - owned_by + - publication_year + - publisher + - status + - titles + - type + IdentifierDescriptionDto: type: object properties: id: @@ -3166,7 +3186,6 @@ components: example: "Air quality reports at Stephansplatz, Vienna" language: type: string - example: en enum: - ab - aa @@ -3352,9 +3371,9 @@ components: - yo - za - zu + example: en type: type: string - example: Abstract enum: - Abstract - Methods @@ -3362,9 +3381,10 @@ components: - TableOfContents - TechnicalInfo - Other - IdentifierTitleDto: + example: Abstract required: - id + IdentifierTitleDto: type: object properties: id: @@ -3376,7 +3396,6 @@ components: example: Airquality Demonstrator language: type: string - example: en enum: - ab - aa @@ -3562,6 +3581,7 @@ components: - yo - za - zu + example: en type: type: string enum: @@ -3569,10 +3589,9 @@ components: - Subtitle - TranslatedTitle - Other - UserBriefDto: required: - id - - username + UserBriefDto: type: object properties: id: @@ -3598,25 +3617,25 @@ components: family_name: type: string example: Carberry - DatabaseAccessDto: required: - - type - - user + - id + - username + DatabaseAccessDto: type: object properties: user: $ref: "#/components/schemas/UserBriefDto" type: type: string - example: read enum: - read - write_own - write_all - UserUpdateDto: + example: read required: - - language - - theme + - type + - user + UserUpdateDto: type: object properties: firstname: @@ -3637,10 +3656,10 @@ components: language: type: string example: en - OntologyModifyDto: required: - - prefix - - uri + - language + - theme + OntologyModifyDto: type: object properties: uri: @@ -3655,13 +3674,10 @@ components: rdf_path: type: string example: rdf/om-2.0.rdf - OntologyDto: required: - - id - prefix - - rdf - - sparql - uri + OntologyDto: type: object properties: id: @@ -3689,10 +3705,13 @@ components: rdf_path: type: string example: rdf/om-2.0.rdf - BannerMessageUpdateDto: required: - - message - - type + - id + - prefix + - rdf + - sparql + - uri + BannerMessageUpdateDto: type: object properties: type: @@ -3718,10 +3737,10 @@ components: type: string format: date-time example: 2021-03-12T15:26:21Z - BannerMessageBriefDto: required: - message - type + BannerMessageBriefDto: type: object properties: type: @@ -3739,23 +3758,21 @@ components: link_text: type: string example: More - ImageChangeDto: required: - - dialect - - driver_class - - jdbc_method - - registry + - message + - type + ImageChangeDto: type: object properties: registry: type: string example: docker.io/library defaultPort: - maximum: 65535 - minimum: 1024 type: integer format: int32 example: 5432 + maximum: 65535 + minimum: 1024 dialect: type: string example: Postgres @@ -3765,14 +3782,12 @@ components: jdbc_method: type: string example: postgresql - DataTypeDto: required: - - display_name - - documentation - - id - - is_buildable - - is_quoted - - value + - dialect + - driver_class + - jdbc_method + - registry + DataTypeDto: type: object properties: id: @@ -3828,14 +3843,14 @@ components: type: boolean description: frontend can build this data type example: true - ImageDto: required: - - data_types - - default + - display_name + - documentation - id - - name - - operators - - version + - is_buildable + - is_quoted + - value + ImageDto: type: object properties: id: @@ -3847,7 +3862,7 @@ components: example: mariadb version: type: string - example: "10.5" + example: 10.5 operators: type: array items: @@ -3859,12 +3874,14 @@ components: type: array items: $ref: "#/components/schemas/DataTypeDto" - OperatorDto: required: - - display_name - - documentation + - data_types + - default - id - - value + - name + - operators + - version + OperatorDto: type: object properties: id: @@ -3880,15 +3897,12 @@ components: display_name: type: string example: XOR - IdentifierSaveDto: required: - - creators - - database_id + - display_name + - documentation - id - - publication_year - - publisher - - titles - - type + - value + IdentifierSaveDto: type: object properties: id: @@ -3897,12 +3911,12 @@ components: example: 68e11675-1e0f-4d24-a6d9-887ad1c4445d type: type: string - example: database enum: - database - subset - table - view + example: database doi: type: string example: 10.1111/11111111 @@ -4119,15 +4133,19 @@ components: database_id: type: string format: uuid + example: null query_id: type: string format: uuid + example: null view_id: type: string format: uuid + example: null table_id: type: string format: uuid + example: null publication_day: type: integer format: int32 @@ -4144,10 +4162,15 @@ components: type: array items: $ref: "#/components/schemas/SaveRelatedIdentifierDto" - LicenseDto: required: - - identifier - - uri + - creators + - database_id + - id + - publication_year + - publisher + - titles + - type + LicenseDto: type: object properties: identifier: @@ -4162,10 +4185,10 @@ components: \ preservation of copyright and license notices. Licensed works, modifications,\ \ and larger works may be distributed under different terms and without\ \ source code." - SaveIdentifierCreatorDto: required: - - creator_name - - id + - identifier + - uri + SaveIdentifierCreatorDto: type: object properties: id: @@ -4186,35 +4209,35 @@ components: example: "Carberry, Josiah" name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID affiliation_identifier: type: string example: https://ror.org/04d836q62 affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI - SaveIdentifierDescriptionDto: + example: ROR required: - - description + - creator_name - id + SaveIdentifierDescriptionDto: type: object properties: id: @@ -4226,7 +4249,6 @@ components: example: "Air quality reports at Stephansplatz, Vienna" language: type: string - example: en enum: - ab - aa @@ -4412,9 +4434,9 @@ components: - yo - za - zu + example: en type: type: string - example: Abstract enum: - Abstract - Methods @@ -4422,10 +4444,11 @@ components: - TableOfContents - TechnicalInfo - Other - SaveIdentifierFunderDto: + example: Abstract required: - - funder_name + - description - id + SaveIdentifierFunderDto: type: object properties: id: @@ -4440,26 +4463,26 @@ components: example: http://doi.org/10.13039/501100000780 funder_identifier_type: type: string - example: Crossref Funder ID enum: - Crossref Funder ID - ROR - GND - ISNI - Other + example: Crossref Funder ID scheme_uri: type: string example: http://doi.org/ award_number: type: string - example: "824087" + example: 824087 award_title: type: string example: EOSC-Life - SaveIdentifierTitleDto: required: + - funder_name - id - - title + SaveIdentifierTitleDto: type: object properties: id: @@ -4471,7 +4494,6 @@ components: example: Airquality Demonstrator language: type: string - example: en enum: - ab - aa @@ -4657,20 +4679,19 @@ components: - yo - za - zu + example: en type: type: string - example: Subtitle enum: - AlternativeTitle - Subtitle - TranslatedTitle - Other - SaveRelatedIdentifierDto: + example: Subtitle required: - id - - relation - - type - - value + - title + SaveRelatedIdentifierDto: type: object properties: id: @@ -4682,7 +4703,6 @@ components: example: 10.70124/dc4zh-9ce78 type: type: string - example: DOI enum: - DOI - URL @@ -4702,9 +4722,9 @@ components: - PURL - UPC - w3id + example: DOI relation: type: string - example: Cites enum: - IsCitedBy - Cites @@ -4740,10 +4760,13 @@ components: - Requires - IsObsoletedBy - Obsoletes - CreatorDto: + example: Cites required: - - creator_name - id + - relation + - type + - value + CreatorDto: type: object properties: id: @@ -4764,21 +4787,21 @@ components: example: "Carberry, Josiah" name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID name_identifier_scheme_uri: type: string example: https://orcid.org/ @@ -4787,33 +4810,18 @@ components: example: https://ror.org/05gq02987 affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI + example: ROR affiliation_identifier_scheme_uri: type: string example: https://ror.org/ - IdentifierDto: required: - - creators - - database_id - - descriptions - - funders + - creator_name - id - - language - - licenses - - links - - owner - - publication_year - - publisher - - query - - query_hash - - query_normalized - - status - - titles - - type + IdentifierDto: type: object properties: id: @@ -4824,12 +4832,12 @@ components: $ref: "#/components/schemas/LinksDto" type: type: string - example: database enum: - database - subset - table - view + example: database titles: type: array items: @@ -5055,22 +5063,26 @@ components: $ref: "#/components/schemas/CreatorDto" status: type: string - example: draft enum: - draft - published + example: draft database_id: type: string format: uuid + example: null query_id: type: string format: uuid + example: null table_id: type: string format: uuid + example: null view_id: type: string format: uuid + example: null query_normalized: type: string example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\ @@ -5101,10 +5113,25 @@ components: type: integer format: int32 example: 2022 - IdentifierFunderDto: required: - - funder_name + - creators + - database_id + - descriptions + - funders - id + - language + - licenses + - links + - owner + - publication_year + - publisher + - query + - query_hash + - query_normalized + - status + - titles + - type + IdentifierFunderDto: type: object properties: id: @@ -5119,26 +5146,26 @@ components: example: http://doi.org/10.13039/501100000780 funder_identifier_type: type: string - example: Crossref Funder ID enum: - Crossref Funder ID - ROR - GND - ISNI - Other + example: Crossref Funder ID scheme_uri: type: string example: http://doi.org/ award_number: type: string - example: "824087" + example: 824087 award_title: type: string example: EOSC-Life - LinksDto: required: - - self - - self_html + - funder_name + - id + LinksDto: type: object properties: self: @@ -5153,12 +5180,10 @@ components: dashboard_html: type: string example: http://example.com/d/defi2baxqawaod - RelatedIdentifierDto: required: - - id - - relation - - type - - value + - self + - self_html + RelatedIdentifierDto: type: object properties: id: @@ -5170,7 +5195,6 @@ components: example: 10.70124/dc4zh-9ce78 type: type: string - example: DOI enum: - DOI - URL @@ -5190,9 +5214,9 @@ components: - PURL - UPC - w3id + example: DOI relation: type: string - example: Cites enum: - IsCitedBy - Cites @@ -5228,11 +5252,13 @@ components: - Requires - IsObsoletedBy - Obsoletes + example: Cites + required: + - id + - relation + - type + - value DatabaseModifyVisibilityDto: - required: - - is_dashboard_enabled - - is_public - - is_schema_public type: object properties: is_public: @@ -5244,10 +5270,11 @@ components: is_dashboard_enabled: type: boolean example: true - ViewUpdateDto: required: + - is_dashboard_enabled - is_public - is_schema_public + ViewUpdateDto: type: object properties: is_public: @@ -5256,14 +5283,10 @@ components: is_schema_public: type: boolean example: true - ViewBriefDto: required: - - database_id - - id - - internal_name - - name - - query - - query_hash + - is_public + - is_schema_public + ViewBriefDto: type: object properties: id: @@ -5300,33 +5323,31 @@ components: type: string format: uuid example: ac750fcf-ea02-4fce-85ac-d73857e18b35 - TableUpdateDto: required: - - is_public - - is_schema_public + - database_id + - id + - internal_name + - name + - query + - query_hash + TableUpdateDto: type: object properties: description: - maxLength: 180 - minLength: 0 type: string example: Air Quality in Austria + maxLength: 180 + minLength: 0 is_public: type: boolean example: true is_schema_public: type: boolean example: true - TableBriefDto: required: - - database_id - - id - - internal_name - is_public - is_schema_public - - is_versioned - - name - - owned_by + TableBriefDto: type: object properties: id: @@ -5359,6 +5380,15 @@ components: type: string format: uuid example: 78337b80-5699-45db-8111-cec86439ab6b + required: + - database_id + - id + - internal_name + - is_public + - is_schema_public + - is_versioned + - name + - owned_by ColumnSemanticsUpdateDto: type: object properties: @@ -5367,15 +5397,6 @@ components: unit_uri: type: string ColumnDto: - required: - - database_id - - id - - internal_name - - is_null_allowed - - name - - ord - - table_id - - type type: object properties: id: @@ -5383,10 +5404,10 @@ components: format: uuid example: a453e444-e00d-41ca-902c-11e9c54b39f1 name: - maxLength: 64 - minLength: 0 type: string example: Given Name + maxLength: 64 + minLength: 0 alias: type: string example: firstname @@ -5409,10 +5430,10 @@ components: unit: $ref: "#/components/schemas/UnitBriefDto" description: - maxLength: 2048 - minLength: 0 type: string example: Column comment + maxLength: 2048 + minLength: 0 enums: type: array description: "enum values, only considered when type = ENUM" @@ -5436,10 +5457,10 @@ components: format: int32 example: 0 internal_name: - maxLength: 64 - minLength: 0 type: string example: given_name + maxLength: 64 + minLength: 0 index_length: type: integer format: int64 @@ -5450,7 +5471,6 @@ components: example: 255 type: type: string - example: varchar enum: - char - varchar @@ -5482,6 +5502,7 @@ components: - timestamp - time - year + example: varchar data_length: type: integer format: int64 @@ -5506,10 +5527,16 @@ components: is_null_allowed: type: boolean example: false - ConceptBriefDto: required: + - database_id - id - - uri + - internal_name + - is_null_allowed + - name + - ord + - table_id + - type + ConceptBriefDto: type: object properties: id: @@ -5526,10 +5553,10 @@ components: type: string example: "name typically used to differentiate people from the same family,\ \ clan, or other social group who have a common last name" - EnumDto: required: - id - - value + - uri + EnumDto: type: object properties: id: @@ -5538,12 +5565,11 @@ components: example: 5343bb3d-14d3-4eb7-a86f-b8fc553cb315 value: type: string - example: "3" - description: "enum values, only considered when type = ENUM" - SetDto: + example: 3 required: - id - value + SetDto: type: object properties: id: @@ -5552,12 +5578,11 @@ components: example: 7eb4eded-bacc-4a91-84db-a9ae6ddafda7 value: type: string - example: "3" - description: "enum values, only considered when type = ENUM" - UnitBriefDto: + example: 3 required: - id - - uri + - value + UnitBriefDto: type: object properties: id: @@ -5573,42 +5598,42 @@ components: description: type: string example: "subjective magnitude of value, meaning, or purpose" - DatabaseTransferDto: required: - id + - uri + DatabaseTransferDto: type: object properties: id: type: string format: uuid + required: + - id DatabaseModifyImageDto: type: object properties: key: type: string DatabaseModifyDashboardDto: - required: - - uid type: object properties: uid: type: string - CreateAccessDto: required: - - type + - uid + CreateAccessDto: type: object properties: type: type: string - example: read enum: - read - write_own - write_all - OntologyCreateDto: + example: read required: - - prefix - - uri + - type + OntologyCreateDto: type: object properties: uri: @@ -5620,10 +5645,10 @@ components: sparql_endpoint: type: string example: Ontology SPARQL endpoint - BannerMessageCreateDto: required: - - message - - type + - prefix + - uri + BannerMessageCreateDto: type: object properties: type: @@ -5649,16 +5674,10 @@ components: type: string format: date-time example: 2021-03-12T15:26:21Z - ImageCreateDto: required: - - default_port - - dialect - - driver_class - - is_default - - jdbc_method - - name - - registry - - version + - message + - type + ImageCreateDto: type: object properties: registry: @@ -5679,28 +5698,30 @@ components: jdbc_method: type: string default_port: - maximum: 65535 - minimum: 1024 type: integer format: int32 - CreateIdentifierDto: + maximum: 65535 + minimum: 1024 required: - - creators - - database_id - - publication_year - - publisher - - titles - - type + - default_port + - dialect + - driver_class + - is_default + - jdbc_method + - name + - registry + - version + CreateIdentifierDto: type: object properties: type: type: string - example: database enum: - database - subset - table - view + example: database doi: type: string example: 10.1111/11111111 @@ -5921,12 +5942,15 @@ components: query_id: type: string format: uuid + example: null view_id: type: string format: uuid + example: null table_id: type: string format: uuid + example: null publication_day: type: integer format: int32 @@ -5943,12 +5967,14 @@ components: type: array items: $ref: "#/components/schemas/SaveRelatedIdentifierDto" - CreateDatabaseDto: required: - - container_id - - is_public - - is_schema_public - - name + - creators + - database_id + - publication_year + - publisher + - titles + - type + CreateDatabaseDto: type: object properties: name: @@ -5964,19 +5990,19 @@ components: is_schema_public: type: boolean example: true - CreateViewDto: required: + - container_id - is_public - is_schema_public - name - - query + CreateViewDto: type: object properties: name: - maxLength: 63 - minLength: 1 type: string example: Air Quality + maxLength: 63 + minLength: 1 query: $ref: "#/components/schemas/SubsetDto" is_public: @@ -5985,24 +6011,24 @@ components: is_schema_public: type: boolean example: true - FilterDto: required: - - column_id - - operator_id - - type - - value + - is_public + - is_schema_public + - name + - query + FilterDto: type: object properties: type: type: string - example: where enum: - where - or - and + example: where value: type: string - example: "1" + example: 1 column_id: type: string format: uuid @@ -6011,25 +6037,27 @@ components: type: string format: uuid example: 67c5b54d-2eb0-4f42-8dc1-a504562e9f32 - OrderDto: required: - column_id + - operator_id + - type + - value + OrderDto: type: object properties: direction: type: string - example: asc enum: - asc - desc + example: asc column_id: type: string format: uuid example: e891ba86-0258-41a6-a8d9-ff58bc10b618 - SubsetDto: required: - - columns - - table_id + - column_id + SubsetDto: type: object properties: columns: @@ -6047,15 +6075,20 @@ components: type: array items: $ref: "#/components/schemas/OrderDto" - table_id: + datasource_id: type: string format: uuid example: f7df2a7d-4ade-4c78-97b0-7c744d0893c7 - CreateForeignKeyDto: + datasource_type: + type: string + enum: + - table + - view required: - columns - - referenced_columns - - referenced_table + - datasource_id + - datasource_type + CreateForeignKeyDto: type: object properties: columns: @@ -6064,7 +6097,6 @@ components: - id items: type: string - example: "[\"id\"]" referenced_table: type: string example: sensor @@ -6074,30 +6106,29 @@ components: - other_id items: type: string - example: "[\"other_id\"]" on_update: type: string - example: cascade enum: - restrict - cascade - set_null - no_action - set_default + example: cascade on_delete: type: string - example: cascade enum: - restrict - cascade - set_null - no_action - set_default - CreateTableColumnDto: + example: cascade required: - - name - - null_allowed - - type + - columns + - referenced_columns + - referenced_table + CreateTableColumnDto: type: object properties: name: @@ -6105,7 +6136,6 @@ components: example: Date type: type: string - example: varchar enum: - char - varchar @@ -6137,6 +6167,7 @@ components: - timestamp - time - year + example: varchar size: type: integer format: int64 @@ -6146,22 +6177,20 @@ components: format: int64 example: 0 description: - maxLength: 2048 - minLength: 0 type: string example: Formatted as YYYY-MM-dd + maxLength: 2048 + minLength: 0 enums: type: array description: "enum values, only considered when type = ENUM" items: type: string - description: "enum values, only considered when type = ENUM" sets: type: array description: "set values, only considered when type = SET" items: type: string - description: "set values, only considered when type = SET" index_length: type: integer format: int64 @@ -6172,12 +6201,11 @@ components: type: string unit_uri: type: string - CreateTableConstraintsDto: required: - - checks - - foreign_keys - - primary_key - - uniques + - name + - null_allowed + - type + CreateTableConstraintsDto: type: object properties: uniques: @@ -6187,38 +6215,37 @@ components: items: type: string checks: - uniqueItems: true type: array items: type: string + uniqueItems: true foreign_keys: type: array items: $ref: "#/components/schemas/CreateForeignKeyDto" primary_key: - uniqueItems: true type: array items: type: string - CreateTableDto: + uniqueItems: true required: - - columns - - constraints - - is_public - - is_schema_public - - name + - checks + - foreign_keys + - primary_key + - uniques + CreateTableDto: type: object properties: name: - maxLength: 64 - minLength: 1 type: string example: Air Quality + maxLength: 64 + minLength: 1 description: - maxLength: 180 - minLength: 0 type: string example: Air Quality in Austria + maxLength: 180 + minLength: 0 columns: type: array items: @@ -6231,14 +6258,13 @@ components: is_schema_public: type: boolean example: true - CreateContainerDto: required: - - host - - image_id + - columns + - constraints + - is_public + - is_schema_public - name - - privileged_password - - privileged_username - - quota + CreateContainerDto: type: object properties: name: @@ -6250,8 +6276,8 @@ components: example: data-db2 port: type: integer - description: Port of container format: int32 + description: Port of container example: 3306 quota: type: integer @@ -6259,8 +6285,8 @@ components: example: 50 image_id: type: string - description: Image ID format: uuid + description: Image ID example: 2360f3c4-85e0-4fac-a7c6-73b296b9dde2 ui_host: type: string @@ -6277,13 +6303,14 @@ components: type: string description: Password of privileged user example: dbrepo - ContainerDto: required: - - count - - id - - image - - internal_name + - host + - image_id - name + - privileged_password + - privileged_username + - quota + ContainerDto: type: object properties: id: @@ -6312,17 +6339,17 @@ components: last_retrieved: type: string format: date-time + example: 2025-01-23T12:09:01 internal_name: type: string example: air_quality - ColumnBriefDto: required: - - database_id + - count - id + - image - internal_name - name - - table_id - - type + ColumnBriefDto: type: object properties: id: @@ -6330,10 +6357,10 @@ components: format: uuid example: a453e444-e00d-41ca-902c-11e9c54b39f1 name: - maxLength: 64 - minLength: 0 type: string example: Given Name + maxLength: 64 + minLength: 0 alias: type: string example: firstname @@ -6346,13 +6373,12 @@ components: format: uuid example: bfffa915-a547-4466-9c65-ddc0d38fdb08 internal_name: - maxLength: 64 - minLength: 0 type: string example: given_name + maxLength: 64 + minLength: 0 type: type: string - example: varchar enum: - char - varchar @@ -6384,11 +6410,15 @@ components: - timestamp - time - year - UnitDto: + example: varchar required: - - columns + - database_id - id - - uri + - internal_name + - name + - table_id + - type + UnitDto: type: object properties: id: @@ -6405,13 +6435,11 @@ components: type: array items: $ref: "#/components/schemas/ColumnBriefDto" - OntologyBriefDto: required: + - columns - id - - prefix - - rdf - - sparql - uri + OntologyBriefDto: type: object properties: id: @@ -6433,10 +6461,13 @@ components: uri_pattern: type: string example: http://www.wikidata.org/entity/.* - EntityDto: required: - - label + - id + - prefix + - rdf + - sparql - uri + EntityDto: type: object properties: uri: @@ -6448,6 +6479,9 @@ components: description: type: string example: open source semantic web framework for Java + required: + - label + - uri OaiListIdentifiersParameters: type: object properties: @@ -6470,10 +6504,6 @@ components: type: string format: date-time BannerMessageDto: - required: - - id - - message - - type type: object properties: id: @@ -6482,11 +6512,11 @@ components: example: ae3f795b-a3da-4ebe-bdc4-21a8ce631e6f type: type: string - example: WARNING enum: - error - warning - info + example: WARNING message: type: string example: Maintenance starts on 8am on Monday @@ -6504,12 +6534,11 @@ components: type: string format: date-time example: 2021-03-12T15:26:21Z - ImageBriefDto: required: - - default - id - - name - - version + - message + - type + ImageBriefDto: type: object properties: id: @@ -6521,14 +6550,16 @@ components: example: mariadb version: type: string - example: "10.5" + example: 10.5 default: type: boolean example: false - LdCreatorDto: required: - - '@type' + - default + - id - name + - version + LdCreatorDto: type: object properties: name: @@ -6541,19 +6572,10 @@ components: type: string '@type': type: string - LdDatasetDto: required: - - '@context' - '@type' - - citation - - creator - - description - - hasPart - - identifier - name - - temporalCoverage - - url - - version + LdDatasetDto: type: object properties: name: @@ -6587,15 +6609,19 @@ components: type: string '@type': type: string - ViewColumnDto: required: - - database_id - - id - - internal_name - - is_null_allowed + - '@context' + - '@type' + - citation + - creator + - description + - hasPart + - identifier - name - - ord - - type + - temporalCoverage + - url + - version + ViewColumnDto: type: object properties: id: @@ -6603,10 +6629,10 @@ components: format: uuid example: 6aec3a91-2e0b-4e92-a16a-9c3c5e892da1 name: - maxLength: 64 - minLength: 0 type: string example: Given Name + maxLength: 64 + minLength: 0 size: type: integer format: int64 @@ -6616,10 +6642,10 @@ components: format: int64 example: 0 description: - maxLength: 2048 - minLength: 0 type: string example: Column comment + maxLength: 2048 + minLength: 0 enums: type: array description: "enum values, only considered when type = ENUM" @@ -6639,10 +6665,10 @@ components: format: int32 example: 0 internal_name: - maxLength: 64 - minLength: 0 type: string example: given_name + maxLength: 64 + minLength: 0 index_length: type: integer format: int64 @@ -6653,7 +6679,6 @@ components: example: 255 type: type: string - example: varchar enum: - char - varchar @@ -6685,21 +6710,19 @@ components: - timestamp - time - year + example: varchar is_null_allowed: type: boolean example: false - ViewDto: required: - - columns - - created - database_id - id - - identifiers - internal_name + - is_null_allowed - name - - owner - - query - - query_hash + - ord + - type + ViewDto: type: object properties: id: @@ -6725,9 +6748,11 @@ components: created: type: string format: date-time + example: 2022-01-01 08:00:00.000 last_retrieved: type: string format: date-time + example: 2025-01-23T12:09:01 database_id: type: string format: uuid @@ -6748,6 +6773,17 @@ components: query_hash: type: string example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 + required: + - columns + - created + - database_id + - id + - identifiers + - internal_name + - name + - owner + - query + - query_hash ConstraintsDto: type: object properties: @@ -6756,22 +6792,21 @@ components: items: $ref: "#/components/schemas/UniqueDto" checks: - uniqueItems: true type: array example: - value > 1 items: type: string - example: "[\"value > 1\"]" + uniqueItems: true foreign_keys: type: array items: $ref: "#/components/schemas/ForeignKeyDto" primary_key: - uniqueItems: true type: array items: $ref: "#/components/schemas/PrimaryKeyDto" + uniqueItems: true ForeignKeyBriefDto: type: object properties: @@ -6780,11 +6815,6 @@ components: format: uuid example: f2b740ec-0b13-4d07-88a9-529d354bba6a ForeignKeyDto: - required: - - name - - referenced_table - - references - - table type: object properties: id: @@ -6804,27 +6834,28 @@ components: $ref: "#/components/schemas/TableBriefDto" on_update: type: string - example: restrict enum: - restrict - cascade - set_null - no_action - set_default + example: restrict on_delete: type: string - example: restrict enum: - restrict - cascade - set_null - no_action - set_default - ForeignKeyReferenceDto: + example: restrict required: - - column - - foreign_key - - referenced_column + - name + - referenced_table + - references + - table + ForeignKeyReferenceDto: type: object properties: id: @@ -6837,10 +6868,11 @@ components: $ref: "#/components/schemas/ForeignKeyBriefDto" referenced_column: $ref: "#/components/schemas/ColumnBriefDto" - PrimaryKeyDto: required: - column - - table + - foreign_key + - referenced_column + PrimaryKeyDto: type: object properties: id: @@ -6851,21 +6883,10 @@ components: $ref: "#/components/schemas/TableBriefDto" column: $ref: "#/components/schemas/ColumnBriefDto" - TableDto: required: - - columns - - constraints - - created - - database_id - - id - - internal_name - - is_public - - is_schema_public - - is_versioned - - name - - owner - - queue_name - - routing_key + - column + - table + TableDto: type: object properties: id: @@ -6885,10 +6906,10 @@ components: owner: $ref: "#/components/schemas/UserBriefDto" description: - maxLength: 2048 - minLength: 0 type: string example: Air Quality in Austria + maxLength: 2048 + minLength: 0 columns: type: array items: @@ -6898,9 +6919,11 @@ components: created: type: string format: date-time + example: 2022-01-01 08:00:00.000 last_retrieved: type: string format: date-time + example: 2025-01-23T12:09:01 database_id: type: string format: uuid @@ -6932,25 +6955,34 @@ components: example: 5 data_length: type: integer - description: in bytes format: int64 + description: in bytes example: 16384 max_data_length: type: integer - description: in bytes format: int64 + description: in bytes example: 0 avg_row_length: type: integer - description: in bytes format: int64 + description: in bytes example: 3276 - UniqueDto: required: - columns + - constraints + - created + - database_id - id + - internal_name + - is_public + - is_schema_public + - is_versioned - name - - table + - owner + - queue_name + - routing_key + UniqueDto: type: object properties: id: @@ -6966,12 +6998,12 @@ components: type: array items: $ref: "#/components/schemas/ColumnBriefDto" - TableColumnEntityDto: required: - - column_id - - database_id - - table_id - - uri + - columns + - id + - name + - table + TableColumnEntityDto: type: object properties: uri: @@ -6995,15 +7027,12 @@ components: type: string format: uuid example: 297860e3-3b29-451c-ae8a-a85ed5941018 - ContainerBriefDto: required: - - count - - hash - - id - - image - - internal_name - - name - - quota + - column_id + - database_id + - table_id + - uri + ContainerBriefDto: type: object properties: id: @@ -7029,11 +7058,15 @@ components: internal_name: type: string example: air-quality - ConceptDto: required: - - columns + - count + - hash - id - - uri + - image + - internal_name + - name + - quota + ConceptDto: type: object properties: id: @@ -7050,6 +7083,10 @@ components: type: array items: $ref: "#/components/schemas/ColumnBriefDto" + required: + - columns + - id + - uri securitySchemes: basicAuth: type: http diff --git a/.docs/.openapi/api.yaml b/.docs/.openapi/api.yaml index ddd66dbbd7055faad0cc28a95c9f885965d922f0..bdbfe6909e4880c775266e2f91583a4eeaed1c74 100644 --- a/.docs/.openapi/api.yaml +++ b/.docs/.openapi/api.yaml @@ -199,10 +199,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of rows required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -299,10 +304,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of rows required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -402,10 +412,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of rows required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -689,10 +704,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of rows required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -787,16 +807,26 @@ paths: description: Reverse proxy exposing of custom headers required: true style: simple + schema: + type: string X-Count: description: Number of rows style: simple + schema: + type: string + format: uuid X-Id: description: The subset id required: true style: simple + schema: + type: string + format: uuid X-Headers: description: The list of headers separated by comma style: simple + schema: + type: string content: application/json: schema: @@ -892,16 +922,26 @@ paths: description: Reverse proxy exposing of custom headers required: true style: simple + schema: + type: string X-Count: description: Number of rows style: simple + schema: + type: string + format: uuid X-Id: description: The subset id required: true style: simple + schema: + type: string + format: uuid X-Headers: description: The list of headers separated by comma style: simple + schema: + type: string content: application/json: schema: @@ -1023,13 +1063,13 @@ paths: content: application/json: schema: - required: - - file type: object properties: file: type: string format: binary + required: + - file required: true responses: '201': @@ -1558,10 +1598,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of databases required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -1575,7 +1620,7 @@ paths: description: >- Creates a database in the container with id. Requires roles `create-database`. - operationId: create_4 + operationId: create1 requestBody: content: application/json: @@ -1659,10 +1704,15 @@ paths: description: Expose `X-Count` custom header required: true style: simple + schema: + type: string X-Count: description: Number of databases required: true style: simple + schema: + type: integer + format: int64 content: application/json: schema: @@ -1723,7 +1773,7 @@ paths: description: >- Modifies access of a user with given id to database with given id. Requires role `update-database-access`. - operationId: update_5 + operationId: update parameters: - name: databaseId in: path @@ -1790,7 +1840,7 @@ paths: description: >- Give a user with given id access to some database with given id. Requires role `create-database-access`. - operationId: create_7 + operationId: create_11 parameters: - name: databaseId in: path @@ -1985,7 +2035,7 @@ paths: - ontology-endpoint summary: Update ontology description: Updates an ontology with id. Requires role `update-ontology`. - operationId: update + operationId: update_1 parameters: - name: ontologyId in: path @@ -2048,7 +2098,7 @@ paths: - message-endpoint summary: Update message description: Updates a message with id. Requires role `update-maintenance-message`. - operationId: update_1 + operationId: update_2 parameters: - name: messageId in: path @@ -2139,7 +2189,7 @@ paths: description: >- Updates container image in the metadata database. Requires role `modify-image`. - operationId: update_2 + operationId: update_3 parameters: - name: imageId in: path @@ -2204,7 +2254,7 @@ paths: description: >- Finds an identifier with id. The response format depends on the HTTP `Accept` header set on the request. - operationId: find_7 + operationId: find_5 parameters: - name: identifierId in: path @@ -2510,7 +2560,7 @@ paths: - view-endpoint summary: Get view description: Gets a view with id in the metadata database. - operationId: find_8 + operationId: find_6 parameters: - name: databaseId in: path @@ -2553,7 +2603,7 @@ paths: description: >- Updates a view with id. This can only be performed by the view owner or database owner. Requires role `create-database-view`. - operationId: update_3 + operationId: update_4 parameters: - name: databaseId in: path @@ -2684,7 +2734,7 @@ paths: `false`), then the user needs to have at least read access and the role `find-table`. When the `system` role is present, the endpoint responds with additional connection metadata in the header. - operationId: findById_2 + operationId: findById_1 parameters: - name: databaseId in: path @@ -2725,7 +2775,7 @@ paths: - table-endpoint summary: Update table description: Updates a table in the database with id. Requires role `update-table`. - operationId: update_4 + operationId: update_5 parameters: - name: databaseId in: path @@ -3170,10 +3220,8 @@ paths: content: '*/*': schema: - type: array - items: - type: string - format: byte + type: string + format: byte '404': description: Database or user could not be found content: @@ -3306,7 +3354,7 @@ paths: - ontology-endpoint summary: List ontologies description: Lists all ontologies known to the metadata database. - operationId: findAll_2 + operationId: findAll responses: '200': description: List ontologies @@ -3323,7 +3371,7 @@ paths: description: >- Creates an ontology in the metadata database. Requires role `create-ontology`. - operationId: create1 + operationId: create_2 requestBody: content: application/json: @@ -3374,7 +3422,7 @@ paths: description: >- Creates a message in the metadata database. Requires role `create-maintenance-message`. - operationId: create_11 + operationId: create_3 requestBody: content: application/json: @@ -3397,7 +3445,7 @@ paths: - image-endpoint summary: List images description: Lists all container images known to the metadata database. - operationId: findAll_3 + operationId: findAll_1 responses: '200': description: List images @@ -3414,7 +3462,7 @@ paths: description: >- Creates a container image in the metadata database. Requires role `create-image`. - operationId: create_2 + operationId: create_4 requestBody: content: application/json: @@ -3449,7 +3497,7 @@ paths: - identifier-endpoint summary: List identifiers description: Lists all identifiers known to the metadata database - operationId: findAll_4 + operationId: findAll_2 parameters: - name: type in: query @@ -3506,7 +3554,9 @@ paths: schema: type: array items: - type: string + type: array + items: + $ref: '#/components/schemas/IdentifierBriefDto' application/ld+json: schema: type: array @@ -3521,7 +3571,7 @@ paths: can only be created for objects the user has at least *READ* access in the associated database (requires role `create-identifier`) or for any object in any database (requires role `create-foreign-identifier`). - operationId: create_3 + operationId: create_5 requestBody: content: application/json: @@ -3574,7 +3624,7 @@ paths: - view-endpoint summary: List views description: Lists views known to the metadata database. - operationId: findAll_5 + operationId: findAll_3 parameters: - name: databaseId in: path @@ -3607,7 +3657,7 @@ paths: description: >- Creates a view. This can only be performed by the database owner. Requires role `create-database-view`. - operationId: create_5 + operationId: create_6 parameters: - name: databaseId in: path @@ -3682,7 +3732,7 @@ paths: Lists all tables known to the metadata database. When a database has a hidden schema (i.e. when `is_schema_public` is `false`), then the user needs to have at least read access and the role `list-tables`. - operationId: list_4 + operationId: list_3 parameters: - name: databaseId in: path @@ -3719,7 +3769,7 @@ paths: - table-endpoint summary: Create table description: Creates a table in the database with id. Requires role `create-table`. - operationId: create_6 + operationId: create_7 parameters: - name: databaseId in: path @@ -3785,7 +3835,7 @@ paths: - container-endpoint summary: List containers description: List all containers in the metadata database. - operationId: findAll_6 + operationId: findAll_4 parameters: - name: limit in: query @@ -3860,7 +3910,7 @@ paths: from the result list. If the optional query parameter `username` is present, the result list can be filtered by matching this exact username. - operationId: findAll + operationId: findAll_5 parameters: - name: username in: query @@ -3882,7 +3932,7 @@ paths: - unit-endpoint summary: List units description: Lists units known to the metadata database. - operationId: findAll_1 + operationId: findAll_6 responses: '200': description: Find all semantic units @@ -3900,7 +3950,7 @@ paths: description: >- Finds semantic entities by label or uri in an ontology with id. Requires role `execute-semantic-query`. - operationId: find_5 + operationId: find_7 parameters: - name: ontologyId in: path @@ -3959,7 +4009,7 @@ paths: tags: - metadata-endpoint summary: Get record - operationId: identify_1_1_1_1 + operationId: identify parameters: - name: verb in: query @@ -3972,14 +4022,16 @@ paths: '200': description: List containers content: - text/xml: {} + text/xml: + schema: + type: string '/api/message/message/{messageId}': get: tags: - message-endpoint summary: Find message description: Finds a message with id in the metadata database. - operationId: find_6 + operationId: find_8 parameters: - name: messageId in: path @@ -4006,7 +4058,7 @@ paths: - license-endpoint summary: List licenses description: Lists licenses known to the metadata database. - operationId: list_3 + operationId: list_4 responses: '200': description: List of licenses @@ -4050,7 +4102,7 @@ paths: - database-endpoint summary: Find database description: Finds a database with id. - operationId: findById_1 + operationId: findById_2 parameters: - name: databaseId in: path @@ -4065,12 +4117,18 @@ paths: X-Username: description: The authentication username style: simple + schema: + type: string Access-Control-Expose-Headers: description: Expose custom headers style: simple + schema: + type: string X-Password: description: The authentication password style: simple + schema: + type: string content: application/json: schema: @@ -4537,15 +4595,10 @@ components: - keys type: object ApiErrorDto: - required: - - code - - message - - status type: object properties: status: type: string - example: NOT_FOUND enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS @@ -4616,46 +4669,44 @@ components: - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED + example: NOT_FOUND message: type: string example: Error message code: type: string example: error.service.code - TupleUpdateDto: required: - - data - - keys + - code + - message + - status + TupleUpdateDto: type: object properties: data: type: object additionalProperties: type: object - example: - key: value example: key: value keys: type: object additionalProperties: type: object - example: - id: 1 example: id: 1 - QueryPersistDto: required: - - persist + - data + - keys + QueryPersistDto: type: object properties: persist: type: boolean example: true - CreatorBriefDto: required: - - creator_name - - id + - persist + CreatorBriefDto: type: object properties: id: @@ -4670,43 +4721,35 @@ components: example: 'Carberry, Josiah' name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID affiliation_identifier: type: string example: 'https://ror.org/05gq02987' affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI - IdentifierBriefDto: + example: ROR required: - - creators - - database_id - - descriptions + - creator_name - id - - owned_by - - publication_year - - publisher - - status - - titles - - type + IdentifierBriefDto: type: object properties: id: @@ -4715,12 +4758,12 @@ components: example: b97cd56b-66ca-4354-9e6c-f47210cfaaec type: type: string - example: database enum: - database - subset - table - view + example: database creators: type: array items: @@ -4741,10 +4784,10 @@ components: example: TU Wien status: type: string - example: draft enum: - draft - published + example: draft database_id: type: string format: uuid @@ -4752,12 +4795,15 @@ components: query_id: type: string format: uuid + example: 1 table_id: type: string format: uuid + example: 1 view_id: type: string format: uuid + example: 1 publication_year: type: integer format: int32 @@ -4766,9 +4812,18 @@ components: type: string format: uuid example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5 - IdentifierDescriptionDto: required: + - creators + - database_id + - descriptions - id + - owned_by + - publication_year + - publisher + - status + - titles + - type + IdentifierDescriptionDto: type: object properties: id: @@ -4780,7 +4835,6 @@ components: example: 'Air quality reports at Stephansplatz, Vienna' language: type: string - example: en enum: - ab - aa @@ -4966,9 +5020,9 @@ components: - yo - za - zu + example: en type: type: string - example: Abstract enum: - Abstract - Methods @@ -4976,9 +5030,10 @@ components: - TableOfContents - TechnicalInfo - Other - IdentifierTitleDto: + example: Abstract required: - id + IdentifierTitleDto: type: object properties: id: @@ -4990,7 +5045,6 @@ components: example: Airquality Demonstrator language: type: string - example: en enum: - ab - aa @@ -5176,6 +5230,7 @@ components: - yo - za - zu + example: en type: type: string enum: @@ -5183,17 +5238,9 @@ components: - Subtitle - TranslatedTitle - Other - QueryDto: required: - - database_id - - execution - id - - identifiers - - is_persisted - - owner - - query - - query_hash - - query_normalized + QueryDto: type: object properties: id: @@ -5211,10 +5258,10 @@ components: example: SELECT `id` FROM `air_quality` type: type: string - example: query enum: - query - view + example: query identifiers: type: array items: @@ -5239,10 +5286,17 @@ components: type: integer format: int64 example: 1 - UserBriefDto: required: + - database_id + - execution - id - - username + - identifiers + - is_persisted + - owner + - query + - query_hash + - query_normalized + UserBriefDto: type: object properties: id: @@ -5268,10 +5322,10 @@ components: family_name: type: string example: Carberry - CreatorDto: required: - - creator_name - id + - username + CreatorDto: type: object properties: id: @@ -5292,21 +5346,21 @@ components: example: 'Carberry, Josiah' name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID name_identifier_scheme_uri: type: string example: 'https://orcid.org/' @@ -5315,18 +5369,18 @@ components: example: 'https://ror.org/05gq02987' affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI + example: ROR affiliation_identifier_scheme_uri: type: string example: 'https://ror.org/' - EnumDto: required: + - creator_name - id - - value + EnumDto: type: object properties: id: @@ -5335,27 +5389,11 @@ components: example: 5343bb3d-14d3-4eb7-a86f-b8fc553cb315 value: type: string - example: '3' - description: 'enum values, only considered when type = ENUM' - IdentifierDto: + example: 3 required: - - creators - - database_id - - descriptions - - funders - id - - language - - licenses - - links - - owner - - publication_year - - publisher - - query - - query_hash - - query_normalized - - status - - titles - - type + - value + IdentifierDto: type: object properties: id: @@ -5366,12 +5404,12 @@ components: $ref: '#/components/schemas/LinksDto' type: type: string - example: database enum: - database - subset - table - view + example: database titles: type: array items: @@ -5598,22 +5636,26 @@ components: $ref: '#/components/schemas/CreatorDto' status: type: string - example: draft enum: - draft - published + example: draft database_id: type: string format: uuid + example: null query_id: type: string format: uuid + example: null table_id: type: string format: uuid + example: null view_id: type: string format: uuid + example: null query_normalized: type: string example: >- @@ -5645,10 +5687,25 @@ components: type: integer format: int32 example: 2022 - IdentifierFunderDto: required: - - funder_name - - id + - creators + - database_id + - descriptions + - funders + - id + - language + - licenses + - links + - owner + - publication_year + - publisher + - query + - query_hash + - query_normalized + - status + - titles + - type + IdentifierFunderDto: type: object properties: id: @@ -5663,26 +5720,26 @@ components: example: 'http://doi.org/10.13039/501100000780' funder_identifier_type: type: string - example: Crossref Funder ID enum: - Crossref Funder ID - ROR - GND - ISNI - Other + example: Crossref Funder ID scheme_uri: type: string example: 'http://doi.org/' award_number: type: string - example: '824087' + example: 824087 award_title: type: string example: EOSC-Life - LicenseDto: required: - - identifier - - uri + - funder_name + - id + LicenseDto: type: object properties: identifier: @@ -5698,10 +5755,10 @@ components: preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code. - LinksDto: required: - - self - - self_html + - identifier + - uri + LinksDto: type: object properties: self: @@ -5716,12 +5773,10 @@ components: dashboard_html: type: string example: 'http://example.com/d/defi2baxqawaod' - RelatedIdentifierDto: required: - - id - - relation - - type - - value + - self + - self_html + RelatedIdentifierDto: type: object properties: id: @@ -5733,7 +5788,6 @@ components: example: 10.70124/dc4zh-9ce78 type: type: string - example: DOI enum: - DOI - URL @@ -5753,9 +5807,9 @@ components: - PURL - UPC - w3id + example: DOI relation: type: string - example: Cites enum: - IsCitedBy - Cites @@ -5791,10 +5845,13 @@ components: - Requires - IsObsoletedBy - Obsoletes - SetDto: + example: Cites required: - id + - relation + - type - value + SetDto: type: object properties: id: @@ -5803,17 +5860,11 @@ components: example: 7eb4eded-bacc-4a91-84db-a9ae6ddafda7 value: type: string - example: '3' - description: 'enum values, only considered when type = ENUM' - ViewColumnDto: + example: 3 required: - - database_id - id - - internal_name - - is_null_allowed - - name - - ord - - type + - value + ViewColumnDto: type: object properties: id: @@ -5821,10 +5872,10 @@ components: format: uuid example: 6aec3a91-2e0b-4e92-a16a-9c3c5e892da1 name: - maxLength: 64 - minLength: 0 type: string example: Given Name + maxLength: 64 + minLength: 0 size: type: integer format: int64 @@ -5834,10 +5885,10 @@ components: format: int64 example: 0 description: - maxLength: 2048 - minLength: 0 type: string example: Column comment + maxLength: 2048 + minLength: 0 enums: type: array description: 'enum values, only considered when type = ENUM' @@ -5857,10 +5908,10 @@ components: format: int32 example: 0 internal_name: - maxLength: 64 - minLength: 0 type: string example: given_name + maxLength: 64 + minLength: 0 index_length: type: integer format: int64 @@ -5871,7 +5922,6 @@ components: example: 255 type: type: string - example: varchar enum: - char - varchar @@ -5903,21 +5953,19 @@ components: - timestamp - time - year + example: varchar is_null_allowed: type: boolean example: false - ViewDto: required: - - columns - - created - database_id - id - - identifiers - internal_name + - is_null_allowed - name - - owner - - query - - query_hash + - ord + - type + ViewDto: type: object properties: id: @@ -5943,9 +5991,11 @@ components: created: type: string format: date-time + example: '2022-01-01T08:00:00.000Z' last_retrieved: type: string format: date-time + example: '2025-01-23T12:09:01.000Z' database_id: type: string format: uuid @@ -5966,24 +6016,29 @@ components: query_hash: type: string example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 - TupleDto: required: - - data + - columns + - created + - database_id + - id + - identifiers + - internal_name + - name + - owner + - query + - query_hash + TupleDto: type: object properties: data: type: object additionalProperties: type: object - example: - key: value example: key: value - ImportDto: required: - - header - - location - - separator + - data + ImportDto: type: object properties: location: @@ -6004,24 +6059,23 @@ components: line_termination: type: string example: \r\n - FilterDto: required: - - column_id - - operator_id - - type - - value + - header + - location + - separator + FilterDto: type: object properties: type: type: string - example: where enum: - where - or - and + example: where value: type: string - example: '1' + example: 1 column_id: type: string format: uuid @@ -6030,25 +6084,27 @@ components: type: string format: uuid example: 67c5b54d-2eb0-4f42-8dc1-a504562e9f32 - OrderDto: required: - column_id + - operator_id + - type + - value + OrderDto: type: object properties: direction: type: string - example: asc enum: - asc - desc + example: asc column_id: type: string format: uuid example: e891ba86-0258-41a6-a8d9-ff58bc10b618 - SubsetDto: required: - - columns - - table_id + - column_id + SubsetDto: type: object properties: columns: @@ -6066,15 +6122,20 @@ components: type: array items: $ref: '#/components/schemas/OrderDto' - table_id: + datasource_id: type: string format: uuid example: f7df2a7d-4ade-4c78-97b0-7c744d0893c7 - TableHistoryDto: + datasource_type: + type: string + enum: + - table + - view required: - - event - - timestamp - - total + - columns + - datasource_id + - datasource_type + TableHistoryDto: type: object properties: timestamp: @@ -6083,31 +6144,30 @@ components: example: '2021-03-12T15:26:21.000Z' event: type: string - example: INSERT enum: - insert - delete + example: INSERT total: type: integer format: int64 example: 1 - TupleDeleteDto: required: - - keys + - event + - timestamp + - total + TupleDeleteDto: type: object properties: keys: type: object additionalProperties: type: object - example: - id: 1 example: id: 1 - UserAttributesDto: required: - - language - - theme + - keys + UserAttributesDto: type: object properties: theme: @@ -6122,12 +6182,10 @@ components: language: type: string example: en - UserDto: required: - - attributes - - id - - password - - username + - language + - theme + UserDto: type: object properties: id: @@ -6148,6 +6206,7 @@ components: last_retrieved: type: string format: date-time + example: '2025-01-23T12:09:01.000Z' qualified_name: type: string example: Josiah Carberry — @jcarberry @@ -6157,16 +6216,12 @@ components: family_name: type: string example: Carberry - DatabaseBriefDto: required: - - contact + - attributes - id - - identifiers - - internal_name - - is_public - - is_schema_public - - name - - owner_id + - password + - username + DatabaseBriefDto: type: object properties: id: @@ -6200,25 +6255,31 @@ components: example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5 preview_image: type: string - DatabaseAccessDto: required: - - type - - user + - contact + - id + - identifiers + - internal_name + - is_public + - is_schema_public + - name + - owner_id + DatabaseAccessDto: type: object properties: user: $ref: '#/components/schemas/UserBriefDto' type: type: string - example: read enum: - read - write_own - write_all - UserUpdateDto: + example: read required: - - language - - theme + - type + - user + UserUpdateDto: type: object properties: firstname: @@ -6239,10 +6300,10 @@ components: language: type: string example: en - OntologyModifyDto: required: - - prefix - - uri + - language + - theme + OntologyModifyDto: type: object properties: uri: @@ -6257,13 +6318,10 @@ components: rdf_path: type: string example: rdf/om-2.0.rdf - OntologyDto: required: - - id - prefix - - rdf - - sparql - uri + OntologyDto: type: object properties: id: @@ -6291,10 +6349,13 @@ components: rdf_path: type: string example: rdf/om-2.0.rdf - BannerMessageUpdateDto: required: - - message - - type + - id + - prefix + - rdf + - sparql + - uri + BannerMessageUpdateDto: type: object properties: type: @@ -6320,10 +6381,10 @@ components: type: string format: date-time example: '2021-03-12T15:26:21.000Z' - BannerMessageBriefDto: required: - message - type + BannerMessageBriefDto: type: object properties: type: @@ -6341,23 +6402,21 @@ components: link_text: type: string example: More - ImageChangeDto: required: - - dialect - - driver_class - - jdbc_method - - registry + - message + - type + ImageChangeDto: type: object properties: registry: type: string example: docker.io/library defaultPort: - maximum: 65535 - minimum: 1024 type: integer format: int32 example: 5432 + maximum: 65535 + minimum: 1024 dialect: type: string example: Postgres @@ -6367,14 +6426,12 @@ components: jdbc_method: type: string example: postgresql - DataTypeDto: required: - - display_name - - documentation - - id - - is_buildable - - is_quoted - - value + - dialect + - driver_class + - jdbc_method + - registry + DataTypeDto: type: object properties: id: @@ -6430,14 +6487,14 @@ components: type: boolean description: frontend can build this data type example: true - ImageDto: required: - - data_types - - default + - display_name + - documentation - id - - name - - operators - - version + - is_buildable + - is_quoted + - value + ImageDto: type: object properties: id: @@ -6449,7 +6506,7 @@ components: example: mariadb version: type: string - example: '10.5' + example: 10.5 operators: type: array items: @@ -6461,15 +6518,17 @@ components: type: array items: $ref: '#/components/schemas/DataTypeDto' - OperatorDto: required: - - display_name - - documentation + - data_types + - default - id - - value - type: object - properties: - id: + - name + - operators + - version + OperatorDto: + type: object + properties: + id: type: string format: uuid example: 816f55d5-1098-4f60-a4af-c8121c04dccf @@ -6482,15 +6541,12 @@ components: display_name: type: string example: XOR - IdentifierSaveDto: required: - - creators - - database_id + - display_name + - documentation - id - - publication_year - - publisher - - titles - - type + - value + IdentifierSaveDto: type: object properties: id: @@ -6499,12 +6555,12 @@ components: example: 68e11675-1e0f-4d24-a6d9-887ad1c4445d type: type: string - example: database enum: - database - subset - table - view + example: database doi: type: string example: 10.1111/11111111 @@ -6721,15 +6777,19 @@ components: database_id: type: string format: uuid + example: null query_id: type: string format: uuid + example: null view_id: type: string format: uuid + example: null table_id: type: string format: uuid + example: null publication_day: type: integer format: int32 @@ -6746,10 +6806,15 @@ components: type: array items: $ref: '#/components/schemas/SaveRelatedIdentifierDto' - SaveIdentifierCreatorDto: required: - - creator_name + - creators + - database_id - id + - publication_year + - publisher + - titles + - type + SaveIdentifierCreatorDto: type: object properties: id: @@ -6770,35 +6835,35 @@ components: example: 'Carberry, Josiah' name_type: type: string - example: Personal enum: - Personal - Organizational + example: Personal name_identifier: type: string example: 0000-0002-1825-0097 name_identifier_scheme: type: string - example: ORCID enum: - ORCID - ROR - ISNI - GRID + example: ORCID affiliation_identifier: type: string example: 'https://ror.org/04d836q62' affiliation_identifier_scheme: type: string - example: ROR enum: - ROR - GRID - ISNI - SaveIdentifierDescriptionDto: + example: ROR required: - - description + - creator_name - id + SaveIdentifierDescriptionDto: type: object properties: id: @@ -6810,7 +6875,6 @@ components: example: 'Air quality reports at Stephansplatz, Vienna' language: type: string - example: en enum: - ab - aa @@ -6996,9 +7060,9 @@ components: - yo - za - zu + example: en type: type: string - example: Abstract enum: - Abstract - Methods @@ -7006,10 +7070,11 @@ components: - TableOfContents - TechnicalInfo - Other - SaveIdentifierFunderDto: + example: Abstract required: - - funder_name + - description - id + SaveIdentifierFunderDto: type: object properties: id: @@ -7024,26 +7089,26 @@ components: example: 'http://doi.org/10.13039/501100000780' funder_identifier_type: type: string - example: Crossref Funder ID enum: - Crossref Funder ID - ROR - GND - ISNI - Other + example: Crossref Funder ID scheme_uri: type: string example: 'http://doi.org/' award_number: type: string - example: '824087' + example: 824087 award_title: type: string example: EOSC-Life - SaveIdentifierTitleDto: required: + - funder_name - id - - title + SaveIdentifierTitleDto: type: object properties: id: @@ -7055,7 +7120,6 @@ components: example: Airquality Demonstrator language: type: string - example: en enum: - ab - aa @@ -7241,20 +7305,19 @@ components: - yo - za - zu + example: en type: type: string - example: Subtitle enum: - AlternativeTitle - Subtitle - TranslatedTitle - Other - SaveRelatedIdentifierDto: + example: Subtitle required: - id - - relation - - type - - value + - title + SaveRelatedIdentifierDto: type: object properties: id: @@ -7266,7 +7329,6 @@ components: example: 10.70124/dc4zh-9ce78 type: type: string - example: DOI enum: - DOI - URL @@ -7286,9 +7348,9 @@ components: - PURL - UPC - w3id + example: DOI relation: type: string - example: Cites enum: - IsCitedBy - Cites @@ -7324,11 +7386,13 @@ components: - Requires - IsObsoletedBy - Obsoletes - DatabaseModifyVisibilityDto: + example: Cites required: - - is_dashboard_enabled - - is_public - - is_schema_public + - id + - relation + - type + - value + DatabaseModifyVisibilityDto: type: object properties: is_public: @@ -7340,10 +7404,11 @@ components: is_dashboard_enabled: type: boolean example: true - ViewUpdateDto: required: + - is_dashboard_enabled - is_public - is_schema_public + ViewUpdateDto: type: object properties: is_public: @@ -7352,14 +7417,10 @@ components: is_schema_public: type: boolean example: true - ViewBriefDto: required: - - database_id - - id - - internal_name - - name - - query - - query_hash + - is_public + - is_schema_public + ViewBriefDto: type: object properties: id: @@ -7396,33 +7457,31 @@ components: type: string format: uuid example: ac750fcf-ea02-4fce-85ac-d73857e18b35 - TableUpdateDto: required: - - is_public - - is_schema_public + - database_id + - id + - internal_name + - name + - query + - query_hash + TableUpdateDto: type: object properties: description: - maxLength: 180 - minLength: 0 type: string example: Air Quality in Austria + maxLength: 180 + minLength: 0 is_public: type: boolean example: true is_schema_public: type: boolean example: true - TableBriefDto: required: - - database_id - - id - - internal_name - is_public - is_schema_public - - is_versioned - - name - - owned_by + TableBriefDto: type: object properties: id: @@ -7455,6 +7514,15 @@ components: type: string format: uuid example: 78337b80-5699-45db-8111-cec86439ab6b + required: + - database_id + - id + - internal_name + - is_public + - is_schema_public + - is_versioned + - name + - owned_by ColumnSemanticsUpdateDto: type: object properties: @@ -7463,15 +7531,6 @@ components: unit_uri: type: string ColumnDto: - required: - - database_id - - id - - internal_name - - is_null_allowed - - name - - ord - - table_id - - type type: object properties: id: @@ -7479,10 +7538,10 @@ components: format: uuid example: a453e444-e00d-41ca-902c-11e9c54b39f1 name: - maxLength: 64 - minLength: 0 type: string example: Given Name + maxLength: 64 + minLength: 0 alias: type: string example: firstname @@ -7505,10 +7564,10 @@ components: unit: $ref: '#/components/schemas/UnitBriefDto' description: - maxLength: 2048 - minLength: 0 type: string example: Column comment + maxLength: 2048 + minLength: 0 enums: type: array description: 'enum values, only considered when type = ENUM' @@ -7532,10 +7591,10 @@ components: format: int32 example: 0 internal_name: - maxLength: 64 - minLength: 0 type: string example: given_name + maxLength: 64 + minLength: 0 index_length: type: integer format: int64 @@ -7546,7 +7605,6 @@ components: example: 255 type: type: string - example: varchar enum: - char - varchar @@ -7578,6 +7636,7 @@ components: - timestamp - time - year + example: varchar data_length: type: integer format: int64 @@ -7602,10 +7661,16 @@ components: is_null_allowed: type: boolean example: false - ConceptBriefDto: required: + - database_id - id - - uri + - internal_name + - is_null_allowed + - name + - ord + - table_id + - type + ConceptBriefDto: type: object properties: id: @@ -7623,10 +7688,10 @@ components: example: >- name typically used to differentiate people from the same family, clan, or other social group who have a common last name - UnitBriefDto: required: - id - uri + UnitBriefDto: type: object properties: id: @@ -7642,42 +7707,42 @@ components: description: type: string example: 'subjective magnitude of value, meaning, or purpose' - DatabaseTransferDto: required: - id + - uri + DatabaseTransferDto: type: object properties: id: type: string format: uuid + required: + - id DatabaseModifyImageDto: type: object properties: key: type: string DatabaseModifyDashboardDto: - required: - - uid type: object properties: uid: type: string - CreateAccessDto: required: - - type + - uid + CreateAccessDto: type: object properties: type: type: string - example: read enum: - read - write_own - write_all - OntologyCreateDto: + example: read required: - - prefix - - uri + - type + OntologyCreateDto: type: object properties: uri: @@ -7689,10 +7754,10 @@ components: sparql_endpoint: type: string example: Ontology SPARQL endpoint - BannerMessageCreateDto: required: - - message - - type + - prefix + - uri + BannerMessageCreateDto: type: object properties: type: @@ -7718,16 +7783,10 @@ components: type: string format: date-time example: '2021-03-12T15:26:21.000Z' - ImageCreateDto: required: - - default_port - - dialect - - driver_class - - is_default - - jdbc_method - - name - - registry - - version + - message + - type + ImageCreateDto: type: object properties: registry: @@ -7748,28 +7807,30 @@ components: jdbc_method: type: string default_port: - maximum: 65535 - minimum: 1024 type: integer format: int32 - CreateIdentifierDto: + maximum: 65535 + minimum: 1024 required: - - creators - - database_id - - publication_year - - publisher - - titles - - type + - default_port + - dialect + - driver_class + - is_default + - jdbc_method + - name + - registry + - version + CreateIdentifierDto: type: object properties: type: type: string - example: database enum: - database - subset - table - view + example: database doi: type: string example: 10.1111/11111111 @@ -7990,12 +8051,15 @@ components: query_id: type: string format: uuid + example: null view_id: type: string format: uuid + example: null table_id: type: string format: uuid + example: null publication_day: type: integer format: int32 @@ -8012,12 +8076,14 @@ components: type: array items: $ref: '#/components/schemas/SaveRelatedIdentifierDto' - CreateDatabaseDto: required: - - container_id - - is_public - - is_schema_public - - name + - creators + - database_id + - publication_year + - publisher + - titles + - type + CreateDatabaseDto: type: object properties: name: @@ -8033,19 +8099,19 @@ components: is_schema_public: type: boolean example: true - CreateViewDto: required: + - container_id - is_public - is_schema_public - name - - query + CreateViewDto: type: object properties: name: - maxLength: 63 - minLength: 1 type: string example: Air Quality + maxLength: 63 + minLength: 1 query: $ref: '#/components/schemas/SubsetDto' is_public: @@ -8054,11 +8120,12 @@ components: is_schema_public: type: boolean example: true - CreateForeignKeyDto: required: - - columns - - referenced_columns - - referenced_table + - is_public + - is_schema_public + - name + - query + CreateForeignKeyDto: type: object properties: columns: @@ -8067,7 +8134,6 @@ components: - id items: type: string - example: '["id"]' referenced_table: type: string example: sensor @@ -8077,30 +8143,29 @@ components: - other_id items: type: string - example: '["other_id"]' on_update: type: string - example: cascade enum: - restrict - cascade - set_null - no_action - set_default + example: cascade on_delete: type: string - example: cascade enum: - restrict - cascade - set_null - no_action - set_default - CreateTableColumnDto: + example: cascade required: - - name - - null_allowed - - type + - columns + - referenced_columns + - referenced_table + CreateTableColumnDto: type: object properties: name: @@ -8108,7 +8173,6 @@ components: example: Date type: type: string - example: varchar enum: - char - varchar @@ -8140,6 +8204,7 @@ components: - timestamp - time - year + example: varchar size: type: integer format: int64 @@ -8149,22 +8214,20 @@ components: format: int64 example: 0 description: - maxLength: 2048 - minLength: 0 type: string example: Formatted as YYYY-MM-dd + maxLength: 2048 + minLength: 0 enums: type: array description: 'enum values, only considered when type = ENUM' items: type: string - description: 'enum values, only considered when type = ENUM' sets: type: array description: 'set values, only considered when type = SET' items: type: string - description: 'set values, only considered when type = SET' index_length: type: integer format: int64 @@ -8175,12 +8238,11 @@ components: type: string unit_uri: type: string - CreateTableConstraintsDto: required: - - checks - - foreign_keys - - primary_key - - uniques + - name + - null_allowed + - type + CreateTableConstraintsDto: type: object properties: uniques: @@ -8190,38 +8252,37 @@ components: items: type: string checks: - uniqueItems: true type: array items: type: string + uniqueItems: true foreign_keys: type: array items: $ref: '#/components/schemas/CreateForeignKeyDto' primary_key: - uniqueItems: true type: array items: type: string - CreateTableDto: + uniqueItems: true required: - - columns - - constraints - - is_public - - is_schema_public - - name + - checks + - foreign_keys + - primary_key + - uniques + CreateTableDto: type: object properties: name: - maxLength: 64 - minLength: 1 type: string example: Air Quality + maxLength: 64 + minLength: 1 description: - maxLength: 180 - minLength: 0 type: string example: Air Quality in Austria + maxLength: 180 + minLength: 0 columns: type: array items: @@ -8234,14 +8295,13 @@ components: is_schema_public: type: boolean example: true - CreateContainerDto: required: - - host - - image_id + - columns + - constraints + - is_public + - is_schema_public - name - - privileged_password - - privileged_username - - quota + CreateContainerDto: type: object properties: name: @@ -8253,8 +8313,8 @@ components: example: data-db2 port: type: integer - description: Port of container format: int32 + description: Port of container example: 3306 quota: type: integer @@ -8262,8 +8322,8 @@ components: example: 50 image_id: type: string - description: Image ID format: uuid + description: Image ID example: 2360f3c4-85e0-4fac-a7c6-73b296b9dde2 ui_host: type: string @@ -8280,13 +8340,14 @@ components: type: string description: Password of privileged user example: dbrepo - ContainerDto: required: - - count - - id - - image - - internal_name + - host + - image_id - name + - privileged_password + - privileged_username + - quota + ContainerDto: type: object properties: id: @@ -8315,17 +8376,17 @@ components: last_retrieved: type: string format: date-time + example: '2025-01-23T12:09:01.000Z' internal_name: type: string example: air_quality - ColumnBriefDto: required: - - database_id + - count - id + - image - internal_name - name - - table_id - - type + ColumnBriefDto: type: object properties: id: @@ -8333,10 +8394,10 @@ components: format: uuid example: a453e444-e00d-41ca-902c-11e9c54b39f1 name: - maxLength: 64 - minLength: 0 type: string example: Given Name + maxLength: 64 + minLength: 0 alias: type: string example: firstname @@ -8349,13 +8410,12 @@ components: format: uuid example: bfffa915-a547-4466-9c65-ddc0d38fdb08 internal_name: - maxLength: 64 - minLength: 0 type: string example: given_name + maxLength: 64 + minLength: 0 type: type: string - example: varchar enum: - char - varchar @@ -8387,11 +8447,15 @@ components: - timestamp - time - year - UnitDto: + example: varchar required: - - columns + - database_id - id - - uri + - internal_name + - name + - table_id + - type + UnitDto: type: object properties: id: @@ -8408,13 +8472,11 @@ components: type: array items: $ref: '#/components/schemas/ColumnBriefDto' - OntologyBriefDto: required: + - columns - id - - prefix - - rdf - - sparql - uri + OntologyBriefDto: type: object properties: id: @@ -8436,10 +8498,13 @@ components: uri_pattern: type: string example: 'http://www.wikidata.org/entity/.*' - EntityDto: required: - - label + - id + - prefix + - rdf + - sparql - uri + EntityDto: type: object properties: uri: @@ -8451,6 +8516,9 @@ components: description: type: string example: open source semantic web framework for Java + required: + - label + - uri OaiListIdentifiersParameters: type: object properties: @@ -8473,10 +8541,6 @@ components: type: string format: date-time BannerMessageDto: - required: - - id - - message - - type type: object properties: id: @@ -8485,11 +8549,11 @@ components: example: ae3f795b-a3da-4ebe-bdc4-21a8ce631e6f type: type: string - example: WARNING enum: - error - warning - info + example: WARNING message: type: string example: Maintenance starts on 8am on Monday @@ -8507,12 +8571,11 @@ components: type: string format: date-time example: '2021-03-12T15:26:21.000Z' - ImageBriefDto: required: - - default - id - - name - - version + - message + - type + ImageBriefDto: type: object properties: id: @@ -8524,14 +8587,16 @@ components: example: mariadb version: type: string - example: '10.5' + example: 10.5 default: type: boolean example: false - LdCreatorDto: required: - - '@type' + - default + - id - name + - version + LdCreatorDto: type: object properties: name: @@ -8544,19 +8609,10 @@ components: type: string '@type': type: string - LdDatasetDto: required: - - '@context' - '@type' - - citation - - creator - - description - - hasPart - - identifier - name - - temporalCoverage - - url - - version + LdDatasetDto: type: object properties: name: @@ -8590,6 +8646,18 @@ components: type: string '@type': type: string + required: + - '@context' + - '@type' + - citation + - creator + - description + - hasPart + - identifier + - name + - temporalCoverage + - url + - version ConstraintsDto: type: object properties: @@ -8598,22 +8666,21 @@ components: items: $ref: '#/components/schemas/UniqueDto' checks: - uniqueItems: true type: array example: - value > 1 items: type: string - example: '["value > 1"]' + uniqueItems: true foreign_keys: type: array items: $ref: '#/components/schemas/ForeignKeyDto' primary_key: - uniqueItems: true type: array items: $ref: '#/components/schemas/PrimaryKeyDto' + uniqueItems: true ForeignKeyBriefDto: type: object properties: @@ -8622,11 +8689,6 @@ components: format: uuid example: f2b740ec-0b13-4d07-88a9-529d354bba6a ForeignKeyDto: - required: - - name - - referenced_table - - references - - table type: object properties: id: @@ -8646,27 +8708,28 @@ components: $ref: '#/components/schemas/TableBriefDto' on_update: type: string - example: restrict enum: - restrict - cascade - set_null - no_action - set_default + example: restrict on_delete: type: string - example: restrict enum: - restrict - cascade - set_null - no_action - set_default - ForeignKeyReferenceDto: + example: restrict required: - - column - - foreign_key - - referenced_column + - name + - referenced_table + - references + - table + ForeignKeyReferenceDto: type: object properties: id: @@ -8679,10 +8742,11 @@ components: $ref: '#/components/schemas/ForeignKeyBriefDto' referenced_column: $ref: '#/components/schemas/ColumnBriefDto' - PrimaryKeyDto: required: - column - - table + - foreign_key + - referenced_column + PrimaryKeyDto: type: object properties: id: @@ -8693,21 +8757,10 @@ components: $ref: '#/components/schemas/TableBriefDto' column: $ref: '#/components/schemas/ColumnBriefDto' - TableDto: required: - - columns - - constraints - - created - - database_id - - id - - internal_name - - is_public - - is_schema_public - - is_versioned - - name - - owner - - queue_name - - routing_key + - column + - table + TableDto: type: object properties: id: @@ -8727,10 +8780,10 @@ components: owner: $ref: '#/components/schemas/UserBriefDto' description: - maxLength: 2048 - minLength: 0 type: string example: Air Quality in Austria + maxLength: 2048 + minLength: 0 columns: type: array items: @@ -8740,9 +8793,11 @@ components: created: type: string format: date-time + example: '2022-01-01T08:00:00.000Z' last_retrieved: type: string format: date-time + example: '2025-01-23T12:09:01.000Z' database_id: type: string format: uuid @@ -8774,25 +8829,34 @@ components: example: 5 data_length: type: integer - description: in bytes format: int64 + description: in bytes example: 16384 max_data_length: type: integer - description: in bytes format: int64 + description: in bytes example: 0 avg_row_length: type: integer - description: in bytes format: int64 + description: in bytes example: 3276 - UniqueDto: required: - columns + - constraints + - created + - database_id - id + - internal_name + - is_public + - is_schema_public + - is_versioned - name - - table + - owner + - queue_name + - routing_key + UniqueDto: type: object properties: id: @@ -8808,12 +8872,12 @@ components: type: array items: $ref: '#/components/schemas/ColumnBriefDto' - TableColumnEntityDto: required: - - column_id - - database_id - - table_id - - uri + - columns + - id + - name + - table + TableColumnEntityDto: type: object properties: uri: @@ -8837,15 +8901,12 @@ components: type: string format: uuid example: 297860e3-3b29-451c-ae8a-a85ed5941018 - ContainerBriefDto: required: - - count - - hash - - id - - image - - internal_name - - name - - quota + - column_id + - database_id + - table_id + - uri + ContainerBriefDto: type: object properties: id: @@ -8871,11 +8932,15 @@ components: internal_name: type: string example: air-quality - ConceptDto: required: - - columns + - count + - hash - id - - uri + - image + - internal_name + - name + - quota + ConceptDto: type: object properties: id: @@ -8892,6 +8957,10 @@ components: type: array items: $ref: '#/components/schemas/ColumnBriefDto' + required: + - columns + - id + - uri IndexDto: properties: results: diff --git a/helm/dbrepo/charts/seaweedfs-4.2.1.tgz b/helm/dbrepo/charts/seaweedfs-4.2.1.tgz index 7f69402d276c85098aaaa89cdbdc47047c6a58aa..3b21c83737040745d9723e6662e83b1cdef9966e 100644 Binary files a/helm/dbrepo/charts/seaweedfs-4.2.1.tgz and b/helm/dbrepo/charts/seaweedfs-4.2.1.tgz differ