diff --git a/.docs/.swagger/api.base.yaml b/.docs/.swagger/api.base.yaml index d5fadcf5971e2ef01ebbef400d52f65f81960e5b..df4d4f97d02b4a3c379c5c967ee01537ab631e97 100644 --- a/.docs/.swagger/api.base.yaml +++ b/.docs/.swagger/api.base.yaml @@ -11,7 +11,7 @@ components: type: http externalDocs: description: Project Website - url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/ + url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.6/ info: contact: email: andreas.rauber@tuwien.ac.at @@ -24,7 +24,7 @@ info: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 title: DBRepo REST API - version: 1.5.2 + version: 1.6.0 openapi: 3.1.0 servers: - description: Test Instance diff --git a/.docs/.swagger/api.yaml b/.docs/.swagger/api.yaml index 98a31728f962e933993d28b43088d6111639b1cf..b99640757acf76ab5b009f68c9b6d8a85d8c183d 100644 --- a/.docs/.swagger/api.yaml +++ b/.docs/.swagger/api.yaml @@ -16,7 +16,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: DBRepo REST API - version: 1.5.2 + version: 1.6.0 servers: - description: Test Instance url: 'https://test.dbrepo.tuwien.ac.at' @@ -24,7 +24,7 @@ servers: url: 'http://localhost' externalDocs: description: Project Website - url: 'https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.5/' + url: 'https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.6/' paths: /api/analyse/datatypes: get: @@ -947,7 +947,7 @@ paths: '202': description: Imported dataset successfully '400': - description: Dataset query is malformed + description: Dataset and/or query are malformed content: application/json: schema: @@ -1178,53 +1178,6 @@ paths: security: - basicAuth: [] - bearerAuth: [] - '/api/database/{databaseId}/table/{tableId}/statistic': - get: - tags: - - table-endpoint - summary: Get table statistic - description: >- - Gets basic statistical properties (min, max, mean, median, std.dev) of - numerical columns of a table with id. - operationId: statistic - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - responses: - '200': - description: Generated table statistic - content: - application/json: - schema: - $ref: '#/components/schemas/TableStatisticDto' - '400': - description: Failed to obtain column statistic - content: - application/json: - schema: - $ref: '#/components/schemas/ApiErrorDto' - '404': - description: Failed to find table or database in metadata database - content: - application/json: - schema: - $ref: '#/components/schemas/ApiErrorDto' - '503': - description: Failed to establish connection with the metadata service - content: - application/json: - schema: - $ref: '#/components/schemas/ApiErrorDto' '/api/database/{databaseId}/table/{tableId}/history': get: tags: @@ -1615,7 +1568,7 @@ paths: description: >- Modifies access of a user with given id to database with given id. Requires role `update-database-access`. - operationId: update_4 + operationId: update_6 parameters: - name: databaseId in: path @@ -2625,15 +2578,13 @@ paths: security: - bearerAuth: [] - basicAuth: [] - '/api/database/{databaseId}/table/{tableId}': + '/api/database/{databaseId}/view/{viewId}': get: tags: - - table-endpoint - summary: Find table - description: >- - Finds a table with id. When the `system` role is present, the endpoint - responds with additional connection metadata in the header. - operationId: findById_2 + - view-endpoint + summary: Get view + description: Gets a view with id in the metadata database. + operationId: find_7 parameters: - name: databaseId in: path @@ -2641,7 +2592,7 @@ paths: schema: type: integer format: int64 - - name: tableId + - name: viewId in: path required: true schema: @@ -2649,20 +2600,20 @@ paths: format: int64 responses: '200': - description: Find table successfully + description: Find view successfully headers: X-Username: description: The authentication username style: simple - X-Table: - description: The table internal name - style: simple Access-Control-Expose-Headers: description: Expose custom headers style: simple X-Type: description: The JDBC connection type style: simple + X-View: + description: The view internal name + style: simple X-Database: description: The database internal name style: simple @@ -2678,27 +2629,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TableDto' + $ref: '#/components/schemas/ViewDto' '403': - description: Access to the database is forbidden + description: Find view is not permitted content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '404': - description: 'Table, database or container could not be found' - content: - application/json: - schema: - $ref: '#/components/schemas/ApiErrorDto' - '502': - description: Failed to establish connection with broker service - content: - application/json: - schema: - $ref: '#/components/schemas/ApiErrorDto' - '503': - description: Failed to obtain queue information from broker service + description: 'Database, view or user could not be found' content: application/json: schema: @@ -2708,13 +2647,12 @@ paths: - basicAuth: [] put: tags: - - table-endpoint - summary: Update statistics + - view-endpoint + summary: Update view description: >- - Updates basic statistical properties (min, max, mean, median, std.dev) - for numerical columns in a table with id. Requires role - `update-table-statistic` - operationId: updateStatistic + 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 parameters: - name: databaseId in: path @@ -2722,23 +2660,39 @@ paths: schema: type: integer format: int64 - - name: tableId + - name: viewId in: path required: true schema: type: integer format: int64 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ViewUpdateDto' + required: true responses: '202': - description: Updated table statistics successfully + description: Update view successfully + content: + '*/*': + schema: + $ref: '#/components/schemas/ViewDto' '400': - description: Failed to map column statistic to known columns + description: Update view query is malformed + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '403': + description: Update not allowed content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '404': - description: Failed to find database/table in metadata database + description: Database or View could not be found content: application/json: schema: @@ -2760,13 +2714,10 @@ paths: - basicAuth: [] delete: tags: - - table-endpoint - summary: Delete table - description: >- - Deletes a table with id. Only the owner of a table can perform this - action (requires role `delete-table`) or anyone can delete a table - (requires role `delete-foreign-table`). - operationId: delete_5 + - view-endpoint + summary: Delete view + description: Deletes a view with id. Requires role `delete-database-view`. + operationId: delete_4 parameters: - name: databaseId in: path @@ -2774,7 +2725,7 @@ paths: schema: type: integer format: int64 - - name: tableId + - name: viewId in: path required: true schema: @@ -2782,21 +2733,31 @@ paths: format: int64 responses: '202': - description: Delete table successfully + description: Delete view successfully + content: + '*/*': + schema: + type: object '400': - description: Delete table query resulted in an invalid query statement + description: Delete view query is malformed content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '403': - description: Access to the database is forbidden + description: Deletion not allowed content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '404': - description: 'Table, database or container could not be found' + description: 'Database, view or user could not be found' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '423': + description: Delete view resulted in an invalid query statement content: application/json: schema: @@ -2816,17 +2777,15 @@ paths: security: - bearerAuth: [] - basicAuth: [] - '/api/database/{databaseId}/table/{tableId}/column/{columnId}': - put: + '/api/database/{databaseId}/table/{tableId}': + get: tags: - table-endpoint - summary: Update semantics + summary: Find table description: >- - Updates column semantics of a table column with id. Only the table owner - with at least *READ* access to the associated database can update the - column semantics (requires role `modify-table-column-semantics`) or - foreign table columns if role `modify-foreign-table-column-semantics`. - operationId: update_3 + Finds a table with id. When the `system` role is present, the endpoint + responds with additional connection metadata in the header. + operationId: findById_2 parameters: - name: databaseId in: path @@ -2840,33 +2799,38 @@ paths: schema: type: integer format: int64 - - name: columnId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ColumnSemanticsUpdateDto' - required: true responses: - '202': - description: Updated column semantics successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ColumnDto' - '400': - description: >- - Update semantic concept query is malformed or update unit of - measurement query is malformed + '200': + description: Find table successfully + headers: + X-Username: + description: The authentication username + style: simple + X-Table: + description: The table internal name + style: simple + Access-Control-Expose-Headers: + description: Expose custom headers + style: simple + X-Type: + description: The JDBC connection type + style: simple + X-Database: + description: The database internal name + style: simple + X-Password: + description: The authentication password + style: simple + X-Host: + description: The database hostname + style: simple + X-Port: + description: The database port number + style: simple content: application/json: schema: - $ref: '#/components/schemas/ApiErrorDto' + $ref: '#/components/schemas/TableDto' '403': description: Access to the database is forbidden content: @@ -2874,19 +2838,19 @@ paths: schema: $ref: '#/components/schemas/ApiErrorDto' '404': - description: Failed to find user/table/database/ontology in metadata database + description: 'Table, database or container could not be found' content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '502': - description: Connection to search service failed + description: Failed to establish connection with broker service content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '503': - description: Failed to save in search service + description: Failed to obtain queue information from broker service content: application/json: schema: @@ -2894,15 +2858,12 @@ paths: security: - bearerAuth: [] - basicAuth: [] - '/api/database/{databaseId}/owner': put: tags: - - database-endpoint - summary: Update database owner - description: >- - Updates the database with id on the owner. Only the database owner can - perform this operation. Requires role `modify-database-owner`. - operationId: transfer + - table-endpoint + summary: Update table + description: Updates a table in the database with id. Requires role `update-table`. + operationId: update_4 parameters: - name: databaseId in: path @@ -2910,33 +2871,39 @@ paths: schema: type: integer format: int64 + - name: tableId + in: path + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: schema: - $ref: '#/components/schemas/DatabaseTransferDto' + $ref: '#/components/schemas/TableUpdateDto' required: true responses: '202': - description: Transfer of ownership was successful + description: Updated the table content: application/json: schema: - $ref: '#/components/schemas/DatabaseDto' + $ref: '#/components/schemas/TableBriefDto' '400': - description: Owner payload is malformed + description: Update table visibility payload is malformed content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '403': - description: Transfer of ownership is not permitted + description: Update table visibility not permitted content: application/json: schema: $ref: '#/components/schemas/ApiErrorDto' '404': - description: Database or user could not be found + description: Table could not be found content: application/json: schema: @@ -2956,16 +2923,15 @@ paths: security: - bearerAuth: [] - basicAuth: [] - '/api/database/{databaseId}/metadata/view': - put: + delete: tags: - - database-endpoint - summary: Update database view schemas + - table-endpoint + summary: Delete table description: >- - Updates the database with id with generated metadata from view that are - not yet known to the database. Only the database owner can perform this - operation. Requires role `find-database`. - operationId: refreshViewMetadata + Deletes a table with id. Only the owner of a table can perform this + action (requires role `delete-table`) or anyone can delete a table + (requires role `delete-foreign-table`). + operationId: delete_5 parameters: - name: databaseId in: path @@ -2973,12 +2939,264 @@ paths: schema: type: integer format: int64 + - name: tableId + in: path + required: true + schema: + type: integer + format: int64 responses: - '200': - description: Refreshed database views metadata - content: - application/json: - schema: + '202': + description: Delete table successfully + '400': + description: Delete table query resulted in an invalid query statement + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '403': + description: Access to the database is forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '404': + description: 'Table, database or container could not be found' + 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: [] + '/api/database/{databaseId}/table/{tableId}/statistic': + put: + tags: + - table-endpoint + summary: Update statistics + description: >- + Updates basic statistical properties (min, max, mean, median, std.dev) + for numerical columns in a table with id. Requires role + `update-table-statistic`. + operationId: updateStatistic + parameters: + - name: databaseId + in: path + required: true + schema: + type: integer + format: int64 + - name: tableId + in: path + required: true + schema: + type: integer + format: int64 + responses: + '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 + 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: [] + '/api/database/{databaseId}/table/{tableId}/column/{columnId}': + put: + tags: + - table-endpoint + summary: Update semantics + description: >- + Updates column semantics of a table column with id. Only the table owner + with at least *READ* access to the associated database can update the + column semantics (requires role `modify-table-column-semantics`) or + foreign table columns if role `modify-foreign-table-column-semantics`. + operationId: update_5 + parameters: + - name: databaseId + in: path + required: true + schema: + type: integer + format: int64 + - name: tableId + in: path + required: true + schema: + type: integer + format: int64 + - name: columnId + in: path + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnSemanticsUpdateDto' + required: true + responses: + '202': + description: Updated column semantics successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnDto' + '400': + description: >- + Update semantic concept query is malformed or update unit of + measurement query is malformed + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '403': + description: Access to the database is forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '404': + description: Failed to find user/table/database/ontology in metadata database + 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: [] + '/api/database/{databaseId}/owner': + put: + tags: + - database-endpoint + summary: Update database owner + description: >- + Updates the database with id on the owner. Only the database owner can + perform this operation. Requires role `modify-database-owner`. + operationId: transfer + parameters: + - name: databaseId + in: path + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseTransferDto' + required: true + responses: + '202': + description: Transfer of ownership was successful + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseDto' + '400': + description: Owner payload is malformed + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '403': + description: Transfer of ownership is not permitted + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorDto' + '404': + description: Database or user could not be found + 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: [] + '/api/database/{databaseId}/metadata/view': + put: + tags: + - database-endpoint + summary: Update database view schemas + description: >- + Updates the database with id with generated metadata from view that are + not yet known to the database. Only the database owner can perform this + operation. Requires role `find-database`. + operationId: refreshViewMetadata + parameters: + - name: databaseId + in: path + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: Refreshed database views metadata + content: + application/json: + schema: $ref: '#/components/schemas/DatabaseDto' '403': description: Refresh view metadata is not permitted @@ -3429,7 +3647,7 @@ paths: schema: type: array items: - $ref: '#/components/schemas/ConceptDto' + type: string application/ld+json: schema: type: array @@ -3533,7 +3751,9 @@ paths: tags: - view-endpoint summary: Create view - description: Creates a view. Requires role `create-database-view`. + description: >- + Creates a view. This can only be performed by the database owner. + Requires role `create-database-view`. operationId: create_6 parameters: - name: databaseId @@ -3968,7 +4188,7 @@ paths: schema: $ref: '#/components/schemas/DatabaseDto' '404': - description: Database or exchange could not be found + description: 'Database, user or exchange could not be found' content: application/json: schema: @@ -3988,139 +4208,7 @@ paths: security: - bearerAuth: [] - basicAuth: [] - '/api/database/{databaseId}/view/{viewId}': - get: - tags: - - view-endpoint - summary: Get view - description: Gets a view with id in the metadata database. - operationId: find_7 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: viewId - in: path - required: true - schema: - type: integer - format: int64 - responses: - '200': - description: Find view successfully - headers: - X-Username: - description: The authentication username - style: simple - Access-Control-Expose-Headers: - description: Expose custom headers - style: simple - X-Type: - description: The JDBC connection type - style: simple - X-View: - description: The view internal name - style: simple - X-Database: - description: The database internal name - style: simple - X-Password: - description: The authentication password - style: simple - X-Host: - description: The database hostname - style: simple - X-Port: - description: The database port number - style: simple - content: - application/json: - schema: - $ref: '#/components/schemas/ViewDto' - '403': - description: Find view is not permitted - content: - 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: [] - delete: - tags: - - view-endpoint - summary: Delete view - description: Deletes a view with id. Requires role `delete-database-view`. - operationId: delete_4 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: viewId - in: path - required: true - schema: - type: integer - format: int64 - responses: - '202': - description: Delete view successfully - content: - '*/*': - schema: - $ref: '#/components/schemas/View' - '400': - description: Delete view query is malformed - content: - application/json: - schema: - $ref: '#/components/schemas/ApiErrorDto' - '403': - description: Deletion not allowed - content: - 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' - '423': - description: Delete view resulted in an invalid query statement - 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: [] - '/api/database/{databaseId}/table/{tableId}/suggest': + '/api/database/{databaseId}/table/{tableId}/suggest': get: tags: - table-endpoint @@ -4665,61 +4753,66 @@ components: persist: type: boolean example: true - CreatorDto: + IdentifierBriefDto: required: - - creator_name + - created_by + - database_id - id + - publication_year + - publisher + - titles + - type type: object properties: id: type: integer format: int64 - firstname: - type: string - example: Josiah - lastname: - type: string - example: Carberry - affiliation: - type: string - example: Brown University - creator_name: - type: string - example: 'Carberry, Josiah' - name_type: - type: string - example: Personal - enum: - - Personal - - Organizational - name_identifier: - type: string - example: 0000-0002-1825-0097 - name_identifier_scheme: + type: type: string - example: ORCID enum: - - ORCID - - ROR - - ISNI - - GRID - name_identifier_scheme_uri: + - database + - subset + - table + - view + titles: + type: array + items: + $ref: '#/components/schemas/IdentifierTitleDto' + doi: type: string - example: 'https://orcid.org/' - affiliation_identifier: + example: 10.1038/nphys1170 + publisher: type: string - example: 'https://ror.org/05gq02987' - affiliation_identifier_scheme: + example: TU Wien + status: type: string - example: ROR enum: - - ROR - - GRID - - ISNI - affiliation_identifier_scheme_uri: + - draft + - published + database_id: + type: integer + format: int64 + example: 1 + query_id: + type: integer + format: int64 + example: 1 + table_id: + type: integer + format: int64 + example: 1 + view_id: + type: integer + format: int64 + example: 1 + publication_year: + type: integer + format: int32 + example: 2022 + created_by: type: string - example: 'https://ror.org/' - IdentifierDescriptionDto: + format: uuid + IdentifierTitleDto: required: - id type: object @@ -4727,9 +4820,9 @@ components: id: type: integer format: int64 - description: + title: type: string - example: 'Air quality reports at Stephansplatz, Vienna' + example: Airquality Demonstrator language: type: string example: en @@ -4920,726 +5013,401 @@ components: - zu type: type: string - example: Abstract enum: - - Abstract - - Methods - - SeriesInformation - - TableOfContents - - TechnicalInfo + - AlternativeTitle + - Subtitle + - TranslatedTitle - Other - IdentifierDto: + QueryDto: required: - - created - - created_by - - creator - - creators - database_id - execution - id - - last_modified - - publication_year - - publisher + - identifiers + - is_persisted + - owner - query - query_hash - query_normalized - - titles - - type type: object properties: id: type: integer format: int64 + owner: + $ref: '#/components/schemas/UserBriefDto' + execution: + type: string + format: date-time + example: '2021-03-12T15:26:21.000Z' + query: + type: string + example: SELECT `id` FROM `air_quality` type: type: string + example: query enum: - - database - - subset - - table + - query - view - titles: + identifiers: type: array items: - $ref: '#/components/schemas/IdentifierTitleDto' - descriptions: - type: array - items: - $ref: '#/components/schemas/IdentifierDescriptionDto' - funders: - type: array - items: - $ref: '#/components/schemas/IdentifierFunderDto' - query: - type: string - example: >- - SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` - = "09:STEF" - execution: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - doi: - type: string - example: 10.1038/nphys1170 - publisher: - type: string - example: TU Wien - creator: - $ref: '#/components/schemas/UserDto' - language: - type: string - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - 'no' - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - licenses: - type: array - items: - $ref: '#/components/schemas/LicenseDto' - creators: - type: array - items: - $ref: '#/components/schemas/CreatorDto' - status: - type: string - enum: - - draft - - published - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' + $ref: '#/components/schemas/IdentifierBriefDto' database_id: type: integer format: int64 - example: 1 - query_id: - type: integer - format: int64 - example: 1 - table_id: - type: integer - format: int64 - example: 1 - view_id: - type: integer - format: int64 - example: 1 query_normalized: type: string - example: >- - SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` - = "09:STEF" - related_identifiers: - type: array - items: - $ref: '#/components/schemas/RelatedIdentifierDto' + example: SELECT `id` FROM `air_quality` query_hash: type: string - description: query hash in sha512 + example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76 + is_persisted: + type: boolean + example: true result_hash: type: string - example: 34fe82cda2c53f13f8d90cfd7a3469e3a939ff311add50dce30d9136397bf8e5 + example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76 result_number: type: integer format: int64 example: 1 - publication_day: + UserBriefDto: + required: + - id + - username + type: object + properties: + id: + type: string + format: uuid + example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 + username: + type: string + description: Only contains lowercase characters + example: jcarberry + name: + type: string + example: Josiah Carberry + orcid: + type: string + example: 0000-0002-1825-0097 + qualified_name: + type: string + example: Josiah Carberry — @jcarberry + given_name: + type: string + example: Josiah + family_name: + type: string + example: Carberry + TupleDto: + required: + - data + type: object + properties: + data: + type: object + additionalProperties: + type: object + ImportDto: + required: + - header + - location + - separator + type: object + properties: + location: + type: string + example: file.csv + header: + type: boolean + description: >- + If true, the first line contains the column names, otherwise it + contains only data + separator: + type: string + example: ',' + quote: + type: string + example: '"' + line_termination: + type: string + example: \r\n + ExecuteStatementDto: + required: + - statement + type: object + properties: + statement: + type: string + example: SELECT `id` FROM `air_quality` + TableHistoryDto: + required: + - event + - timestamp + - total + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-03-12T15:26:21.000Z' + event: + type: string + total: type: integer - format: int32 - example: 15 - publication_month: + format: int64 + example: 1 + TupleDeleteDto: + required: + - keys + type: object + properties: + keys: + type: object + additionalProperties: + type: object + ContainerBriefDto: + required: + - count + - hash + - id + - image + - internal_name + - name + - quota + type: object + properties: + id: + type: integer + format: int64 + hash: + type: string + example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50 + name: + type: string + example: Air Quality + image: + $ref: '#/components/schemas/ImageBriefDto' + quota: type: integer format: int32 - example: 12 - publication_year: + example: 50 + count: type: integer format: int32 - example: 2022 - created_by: + example: 10 + internal_name: type: string - format: uuid - last_modified: + example: air-quality + DatabaseAccessDto: + required: + - type + - user + type: object + properties: + user: + $ref: '#/components/schemas/UserBriefDto' + type: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - IdentifierFunderDto: + enum: + - read + - write_own + - write_all + DatabaseDto: required: - - funder_name + - contact + - container + - exchange_name - id + - internal_name + - is_public + - is_schema_public + - name + - owner type: object properties: id: type: integer format: int64 - funder_name: + name: type: string - example: European Commission - funder_identifier: + example: Air Quality + description: type: string - example: 'http://doi.org/10.13039/501100000780' - funder_identifier_type: + example: Air Quality + tables: + type: array + items: + $ref: '#/components/schemas/TableBriefDto' + views: + type: array + items: + $ref: '#/components/schemas/ViewBriefDto' + container: + $ref: '#/components/schemas/ContainerBriefDto' + accesses: + type: array + items: + $ref: '#/components/schemas/DatabaseAccessDto' + identifiers: + type: array + items: + $ref: '#/components/schemas/IdentifierBriefDto' + subsets: + type: array + items: + $ref: '#/components/schemas/IdentifierBriefDto' + contact: + $ref: '#/components/schemas/UserBriefDto' + owner: + $ref: '#/components/schemas/UserBriefDto' + exchange_name: type: string - example: Crossref Funder ID - enum: - - Crossref Funder ID - - ROR - - GND - - ISNI - - Other - scheme_uri: + example: dbrepo + exchange_type: type: string - example: 'http://doi.org/' - award_number: + example: topic + internal_name: type: string - example: '824087' - award_title: + example: air_quality + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + preview_image: type: string - example: EOSC-Life - IdentifierTitleDto: + ImageBriefDto: required: + - default - id + - jdbc_method + - name + - version type: object properties: id: type: integer format: int64 - title: + name: type: string - example: Airquality Demonstrator - language: + example: mariadb + version: type: string - example: en - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - 'no' - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - type: + example: '10.5' + jdbc_method: type: string - enum: - - AlternativeTitle - - Subtitle - - TranslatedTitle - - Other - LicenseDto: + example: mariadb + default: + type: boolean + example: false + TableBriefDto: required: - - identifier - - uri + - database_id + - id + - internal_name + - is_public + - is_schema_public + - is_versioned + - name + - owned_by type: object properties: - identifier: - type: string - example: MIT - uri: + id: + type: integer + format: int64 + name: type: string - example: 'https://opensource.org/licenses/MIT' + example: Air Quality description: type: string - example: >- - A short and simple permissive license with conditions only requiring - preservation of copyright and license notices. Licensed works, - modifications, and larger works may be distributed under different - terms and without source code. - QueryDto: + example: Air Quality in Austria + database_id: + type: integer + format: int64 + internal_name: + type: string + example: air_quality + is_versioned: + type: boolean + example: true + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + owned_by: + type: string + format: uuid + ViewBriefDto: required: - - created - - creator - database_id - - execution - id - - identifiers - - is_persisted - - last_modified + - internal_name + - name - query - query_hash - - query_normalized type: object properties: id: type: integer format: int64 - creator: - $ref: '#/components/schemas/UserDto' - execution: + name: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' + example: Air Quality query: type: string - example: SELECT `id` FROM `air_quality` - type: - type: string - example: query - enum: - - query - - view - identifiers: - type: array - items: - $ref: '#/components/schemas/IdentifierDto' - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' + example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC database_id: type: integer format: int64 - query_normalized: - type: string - example: SELECT `id` FROM `air_quality` - query_hash: + internal_name: type: string - example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76 - is_persisted: + example: air_quality + is_public: type: boolean example: true - result_hash: - type: string - example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76 - result_number: - type: integer - format: int64 - example: 1 - last_modified: + is_schema_public: + type: boolean + example: true + initial_view: + type: boolean + description: True if it is the default view for the database + example: true + query_hash: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - RelatedIdentifierDto: + example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 + owned_by: + type: string + format: uuid + UserUpdateDto: required: - - id - - relation - - type - - value + - language + - theme type: object properties: - id: - type: integer - format: int64 - value: + firstname: type: string - example: 10.70124/dc4zh-9ce78 - type: + example: Josiah + lastname: type: string - example: DOI - enum: - - DOI - - URL - - URN - - ARK - - arXiv - - bibcode - - EAN13 - - EISSN - - Handle - - IGSN - - ISBN - - ISTC - - LISSN - - LSID - - PMID - - PURL - - UPC - - w3id - relation: + example: Carberry + affiliation: type: string - example: Cites - enum: - - IsCitedBy - - Cites - - IsSupplementTo - - IsSupplementedBy - - IsContinuedBy - - Continues - - IsDescribedBy - - Describes - - HasMetadata - - IsMetadataFor - - HasVersion - - IsVersionOf - - IsNewVersionOf - - IsPreviousVersionOf - - IsPartOf - - HasPart - - IsPublishedIn - - IsReferencedBy - - References - - IsDocumentedBy - - Documents - - IsCompiledBy - - Compiles - - IsVariantFormOf - - IsOriginalFormOf - - IsIdenticalTo - - IsReviewedBy - - Reviews - - IsDerivedFrom - - IsSourceOf - - IsRequiredBy - - Requires - - IsObsoletedBy - - Obsoletes + example: Brown University + orcid: + type: string + example: 0000-0002-1825-0097 + theme: + type: string + example: dark + language: + type: string + example: en UserAttributesDto: required: - language @@ -5687,408 +5455,182 @@ components: family_name: type: string example: Carberry - TupleDto: - required: - - data - type: object - properties: - data: - type: object - additionalProperties: - type: object - ImportDto: + UserPasswordDto: required: - - header - - location - - separator + - password type: object properties: - location: - type: string - example: file.csv - header: - type: boolean - description: >- - If true, the first line contains the column names, otherwise it - contains only data - separator: - type: string - example: ',' - quote: - type: string - example: '"' - line_termination: + password: type: string - example: \r\n - ExecuteStatementDto: + RefreshTokenRequestDto: required: - - statement + - refresh_token type: object properties: - statement: + refresh_token: type: string - example: SELECT `id` FROM `air_quality` - ColumnStatisticDto: - required: - - mean - - median - - std_dev - - val_max - - val_min - type: object - properties: - mean: - type: number - median: - type: number - std_dev: - type: number - val_min: - type: number - val_max: - type: number - TableStatisticDto: + example: refresh_token + TokenDto: required: - - columns + - access_token + - expires_in + - id_token + - not-before-policy + - refresh_expires_in + - refresh_token + - scope + - session_state + - token_type type: object properties: - columns: - type: object - additionalProperties: - $ref: '#/components/schemas/ColumnStatisticDto' - rows: - type: integer - format: int64 - example: 5 - data_length: - type: integer - description: in bytes - format: int64 - example: 16384 - max_data_length: + scope: + type: string + access_token: + type: string + expires_in: type: integer - description: in bytes format: int64 - example: 0 - avg_row_length: + refresh_token: + type: string + refresh_expires_in: type: integer - description: in bytes format: int64 - example: 3276 - TableHistoryDto: - required: - - event - - timestamp - - total - type: object - properties: - timestamp: + id_token: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - event: + session_state: type: string - total: + token_type: + type: string + not-before-policy: type: integer format: int64 - example: 1 - TupleDeleteDto: + OntologyModifyDto: required: - - keys + - prefix + - uri type: object properties: - keys: - type: object - additionalProperties: - type: object - ColumnBriefDto: + uri: + type: string + example: Ontology URI + prefix: + type: string + example: Ontology prefix + sparql_endpoint: + type: string + example: Ontology SPARQL endpoint + rdf_path: + type: string + example: rdf/om-2.0.rdf + OntologyDto: required: - - column_type - - database_id - id - - internal_name - - name - - table_id + - prefix + - rdf + - sparql + - uri type: object properties: id: type: integer format: int64 - name: - type: string - example: date - alias: - type: string - database_id: - type: integer - format: int64 - table_id: - type: integer - format: int64 - internal_name: + uri: type: string - example: mdb_date - column_type: + example: 'http://www.wikidata.org/' + prefix: type: string - example: date - enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - ColumnDto: - required: - - column_type - - database_id - - id - - internal_name - - is_null_allowed - - is_public - - name - - ordinal_position - - table_id - type: object - properties: - id: - type: integer - format: int64 - name: - maxLength: 64 - minLength: 0 - type: string - example: Date - alias: - type: string - size: - type: integer - format: int64 - example: 255 - d: - type: integer - format: int64 - example: 0 - mean: - type: number - example: 45.4 - median: - type: number - example: 51 - concept: - $ref: '#/components/schemas/ConceptDto' - unit: - $ref: '#/components/schemas/UnitDto' - description: - maxLength: 2048 - minLength: 0 - type: string - example: Column comment - enums: - type: array - items: - type: string - sets: - type: array - items: - type: string - database_id: - type: integer - format: int64 - table_id: - type: integer - format: int64 - ordinal_position: - type: integer - format: int32 - example: 0 - internal_name: - maxLength: 64 - minLength: 0 - type: string - example: mdb_date - index_length: - type: integer - format: int64 - length: - type: integer - format: int64 - column_type: - type: string - example: string - enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - data_length: - type: integer - format: int64 - example: 34300 - max_data_length: - type: integer - format: int64 - example: 34300 - num_rows: - type: integer - format: int64 - example: 32 - val_min: - type: number - example: 0 - val_max: - type: number - example: 100 - std_dev: - type: number - example: 5.32 - is_public: + example: wd + sparql: type: boolean example: true - is_null_allowed: + rdf: type: boolean example: false - ConceptDto: + uri_pattern: + type: string + example: 'http://www.wikidata.org/entity/.*' + sparql_endpoint: + type: string + example: 'https://query.wikidata.org/sparql' + rdf_path: + type: string + example: rdf/om-2.0.rdf + BannerMessageUpdateDto: required: - - columns - - created - - id - - uri + - message + - type type: object properties: - id: - type: integer - format: int64 - uri: + type: type: string - name: + enum: + - error + - warning + - info + message: type: string - description: + example: Maintenance starts on 8am on Monday + link: + type: string + example: 'https://example.com' + link_text: type: string - created: + example: More + display_start: type: string format: date-time example: '2021-03-12T15:26:21.000Z' - columns: - type: array - items: - $ref: '#/components/schemas/ColumnBriefDto' - ConstraintsDto: - type: object - properties: - uniques: - type: array - items: - $ref: '#/components/schemas/UniqueDto' - checks: - uniqueItems: true - type: array - items: - type: string - foreign_keys: - type: array - items: - $ref: '#/components/schemas/ForeignKeyDto' - primary_key: - uniqueItems: true - type: array - items: - $ref: '#/components/schemas/PrimaryKeyDto' - ContainerDto: + display_end: + type: string + format: date-time + example: '2021-03-12T15:26:21.000Z' + BannerMessageBriefDto: required: - - count - - created - - host - - id - - image - - internal_name - - name - - quota + - message + - type type: object properties: - id: - type: integer - format: int64 - name: + type: type: string - example: Air Quality - host: + enum: + - error + - warning + - info + message: type: string - port: - type: integer - format: int32 - image: - $ref: '#/components/schemas/ImageDto' - quota: - type: integer - format: int64 - example: 50 - count: - type: integer - format: int64 - example: 10 - created: + example: Maintenance starts on 8am on Monday + link: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - internal_name: + example: 'https://example.com' + link_text: type: string - example: data-db - ui_host: + example: More + ImageChangeDto: + required: + - dialect + - driver_class + - jdbc_method + - registry + type: object + properties: + registry: type: string - ui_port: + example: docker.io/library + defaultPort: + maximum: 65535 + minimum: 1024 type: integer format: int32 + example: 5432 + dialect: + type: string + example: Postgres + driver_class: + type: string + example: org.postgresql.Driver + jdbc_method: + type: string + example: postgresql DataTypeDto: required: - display_name @@ -6147,153 +5689,6 @@ components: type: boolean description: frontend can build this data type example: true - DatabaseAccessDto: - required: - - created - - type - - user - type: object - properties: - user: - $ref: '#/components/schemas/UserDto' - type: - type: string - enum: - - read - - write_own - - write_all - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - DatabaseDto: - required: - - contact - - container - - created - - creator - - exchange_name - - id - - internal_name - - is_public - - name - - owner - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - description: - type: string - example: Air Quality - tables: - type: array - items: - $ref: '#/components/schemas/TableDto' - views: - type: array - items: - $ref: '#/components/schemas/ViewDto' - container: - $ref: '#/components/schemas/ContainerDto' - accesses: - type: array - items: - $ref: '#/components/schemas/DatabaseAccessDto' - identifiers: - type: array - items: - $ref: '#/components/schemas/IdentifierDto' - subsets: - type: array - items: - $ref: '#/components/schemas/IdentifierDto' - creator: - $ref: '#/components/schemas/UserDto' - contact: - $ref: '#/components/schemas/UserDto' - owner: - $ref: '#/components/schemas/UserDto' - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - exchange_name: - type: string - example: dbrepo - exchange_type: - type: string - example: topic - internal_name: - type: string - example: air_quality - is_public: - type: boolean - example: true - preview_image: - type: string - ForeignKeyBriefDto: - type: object - properties: - id: - type: integer - format: int64 - ForeignKeyDto: - required: - - name - - referenced_table - - references - - table - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - references: - type: array - items: - $ref: '#/components/schemas/ForeignKeyReferenceDto' - table: - $ref: '#/components/schemas/TableBriefDto' - referenced_table: - $ref: '#/components/schemas/TableBriefDto' - on_update: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - on_delete: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - ForeignKeyReferenceDto: - required: - - column - - foreign_key - - referenced_column - type: object - properties: - id: - type: integer - format: int64 - column: - $ref: '#/components/schemas/ColumnBriefDto' - foreign_key: - $ref: '#/components/schemas/ForeignKeyBriefDto' - referenced_column: - $ref: '#/components/schemas/ColumnBriefDto' ImageDto: required: - data_types @@ -6361,904 +5756,331 @@ components: display_name: type: string example: XOR - PrimaryKeyDto: + CreatorSaveDto: required: - - column - - table + - creator_name + - id type: object properties: id: type: integer format: int64 - table: - $ref: '#/components/schemas/TableBriefDto' - column: - $ref: '#/components/schemas/ColumnBriefDto' - TableBriefDto: + example: 1 + firstname: + type: string + example: Josiah + lastname: + type: string + example: Carberry + affiliation: + type: string + example: Wesleyan University + creator_name: + type: string + example: 'Carberry, Josiah' + name_type: + type: string + example: Personal + enum: + - Personal + - Organizational + name_identifier: + type: string + example: 0000-0002-1825-0097 + name_identifier_scheme: + type: string + example: ORCID + enum: + - ORCID + - ROR + - ISNI + - GRID + affiliation_identifier: + type: string + example: 'https://ror.org/04d836q62' + affiliation_identifier_scheme: + type: string + example: ROR + enum: + - ROR + - GRID + - ISNI + IdentifierFunderSaveDto: required: - - database_id + - funder_name - id - - internal_name - - is_versioned - - name - - owner type: object properties: id: type: integer format: int64 - name: - type: string - example: Air Quality - description: + example: 1 + funder_name: type: string - example: Air Quality in Austria - owner: - $ref: '#/components/schemas/UserBriefDto' - database_id: - type: integer - format: int64 - internal_name: + example: European Commission + funder_identifier: type: string - example: air_quality - is_versioned: - type: boolean - example: true - TableDto: - required: - - columns - - constraints - - created - - created_by - - creator - - database_id - - id - - internal_name - - is_public - - is_versioned - - name - - owner - - queue_name - - routing_key - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - alias: - type: string - identifiers: - type: array - items: - $ref: '#/components/schemas/IdentifierDto' - creator: - $ref: '#/components/schemas/UserDto' - owner: - $ref: '#/components/schemas/UserDto' - description: - maxLength: 2048 - minLength: 0 - type: string - example: Air Quality in Austria - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - columns: - type: array - items: - $ref: '#/components/schemas/ColumnDto' - constraints: - $ref: '#/components/schemas/ConstraintsDto' - database_id: - type: integer - format: int64 - internal_name: - type: string - example: air_quality - is_versioned: - type: boolean - example: true - created_by: - type: string - format: uuid - queue_name: - type: string - example: air_quality - queue_type: - type: string - example: quorum - routing_key: - type: string - example: dbrepo.1.2 - is_public: - type: boolean - example: true - num_rows: - type: integer - format: int64 - example: 5 - data_length: - type: integer - description: in bytes - format: int64 - example: 16384 - max_data_length: - type: integer - description: in bytes - format: int64 - example: 0 - avg_row_length: - type: integer - description: in bytes - format: int64 - example: 3276 - UniqueDto: - required: - - columns - - id - - name - - table - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - table: - $ref: '#/components/schemas/TableBriefDto' - columns: - type: array - items: - $ref: '#/components/schemas/ColumnDto' - UnitDto: - required: - - columns - - created - - id - - uri - type: object - properties: - id: - type: integer - format: int64 - uri: - type: string - name: - type: string - description: - type: string - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - columns: - type: array - items: - $ref: '#/components/schemas/ColumnBriefDto' - UserBriefDto: - required: - - id - - username - type: object - properties: - id: - type: string - format: uuid - example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 - username: - type: string - description: Only contains lowercase characters - example: jcarberry - name: - type: string - example: Josiah Carberry - orcid: + example: 'http://doi.org/10.13039/501100000780' + funder_identifier_type: type: string - example: 0000-0002-1825-0097 - qualified_name: + example: Crossref Funder ID + enum: + - Crossref Funder ID + - ROR + - GND + - ISNI + - Other + scheme_uri: type: string - example: Josiah Carberry — @jcarberry - given_name: + example: 'http://doi.org/' + award_number: type: string - example: Josiah - family_name: + example: '824087' + award_title: type: string - example: Carberry - ViewColumnDto: + example: EOSC-Life + IdentifierSaveDescriptionDto: required: - - auto_generated - - column_type - - database_id + - description - id - - internal_name - - is_null_allowed - - is_public - - name - - ordinal_position type: object properties: id: type: integer format: int64 - name: - maxLength: 64 - minLength: 0 - type: string - example: Date - size: - type: integer - format: int64 - example: 255 - d: - type: integer - format: int64 - example: 0 - concept: - $ref: '#/components/schemas/ConceptDto' - unit: - $ref: '#/components/schemas/UnitDto' + example: 1 description: - maxLength: 2048 - minLength: 0 - type: string - example: Column comment - database_id: - type: integer - format: int64 - ordinal_position: - type: integer - format: int32 - example: 0 - internal_name: - maxLength: 64 - minLength: 0 type: string - example: mdb_date - auto_generated: - type: boolean - example: false - index_length: - type: integer - format: int64 - length: - type: integer - format: int64 - column_type: + example: 'Air quality reports at Stephansplatz, Vienna' + language: type: string - example: string + example: en enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - is_public: - type: boolean - example: true - is_null_allowed: - type: boolean - example: false - ViewDto: + - ab + - aa + - af + - ak + - sq + - am + - ar + - an + - hy + - as + - av + - ae + - ay + - az + - bm + - ba + - eu + - be + - bn + - bh + - bi + - bs + - br + - bg + - my + - ca + - km + - ch + - ce + - ny + - zh + - cu + - cv + - kw + - co + - cr + - hr + - cs + - da + - dv + - nl + - dz + - en + - eo + - et + - ee + - fo + - fj + - fi + - fr + - ff + - gd + - gl + - lg + - ka + - de + - ki + - el + - kl + - gn + - gu + - ht + - ha + - he + - hz + - hi + - ho + - hu + - is + - io + - ig + - id + - ia + - ie + - iu + - ik + - ga + - it + - ja + - jv + - kn + - kr + - ks + - kk + - rw + - kv + - kg + - ko + - kj + - ku + - ky + - lo + - la + - lv + - lb + - li + - ln + - lt + - lu + - mk + - mg + - ms + - ml + - mt + - gv + - mi + - mr + - mh + - ro + - mn + - na + - nv + - nd + - ng + - ne + - se + - 'no' + - nb + - nn + - ii + - oc + - oj + - or + - om + - os + - pi + - pa + - ps + - fa + - pl + - pt + - qu + - rm + - rn + - ru + - sm + - sg + - sa + - sc + - sr + - sn + - sd + - si + - sk + - sl + - so + - st + - nr + - es + - su + - sw + - ss + - sv + - tl + - ty + - tg + - ta + - tt + - te + - th + - bo + - ti + - to + - ts + - tn + - tr + - tk + - tw + - ug + - uk + - ur + - uz + - ve + - vi + - vo + - wa + - cy + - fy + - wo + - xh + - yi + - yo + - za + - zu + type: + type: string + example: Abstract + enum: + - Abstract + - Methods + - SeriesInformation + - TableOfContents + - TechnicalInfo + - Other + IdentifierSaveDto: required: - - columns - - created - - creator - - database + - creators - database_id - id - - internal_name - - name - - query - - query_hash + - publication_year + - publisher + - titles + - type type: object properties: id: type: integer format: int64 - database: - $ref: '#/components/schemas/DatabaseDto' - name: + example: 1 + type: type: string - example: Air Quality - identifiers: + example: database + enum: + - database + - subset + - table + - view + doi: + type: string + example: 10.1111/11111111 + titles: type: array items: - $ref: '#/components/schemas/IdentifierDto' - query: - type: string - example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - creator: - $ref: '#/components/schemas/UserDto' - columns: - type: array - items: - $ref: '#/components/schemas/ViewColumnDto' - database_id: - type: integer - format: int64 - internal_name: - type: string - example: air_quality - is_public: - type: boolean - example: true - initial_view: - type: boolean - description: True if it is the default view for the database - example: true - query_hash: - type: string - example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 - last_modified: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - UserUpdateDto: - required: - - language - - theme - type: object - properties: - firstname: - type: string - example: Josiah - lastname: - type: string - example: Carberry - affiliation: - type: string - example: Brown University - orcid: - type: string - example: 0000-0002-1825-0097 - theme: - type: string - example: dark - language: - type: string - example: en - UserPasswordDto: - required: - - password - type: object - properties: - password: - type: string - RefreshTokenRequestDto: - required: - - refresh_token - type: object - properties: - refresh_token: - type: string - example: refresh_token - TokenDto: - required: - - access_token - - expires_in - - id_token - - not-before-policy - - refresh_expires_in - - refresh_token - - scope - - session_state - - token_type - type: object - properties: - scope: - type: string - access_token: - type: string - expires_in: - type: integer - format: int64 - refresh_token: - type: string - refresh_expires_in: - type: integer - format: int64 - id_token: - type: string - session_state: - type: string - token_type: - type: string - not-before-policy: - type: integer - format: int64 - OntologyModifyDto: - required: - - prefix - - uri - type: object - properties: - uri: - type: string - example: Ontology URI - prefix: - type: string - example: Ontology prefix - sparql_endpoint: - type: string - example: Ontology SPARQL endpoint - rdf_path: - type: string - example: rdf/om-2.0.rdf - OntologyDto: - required: - - created - - id - - prefix - - rdf - - sparql - - uri - type: object - properties: - id: - type: integer - format: int64 - uri: - type: string - example: 'http://www.wikidata.org/' - prefix: - type: string - example: wd - sparql: - type: boolean - example: true - rdf: - type: boolean - example: false - creator: - $ref: '#/components/schemas/UserBriefDto' - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - uri_pattern: - type: string - example: 'http://www.wikidata.org/entity/.*' - sparql_endpoint: - type: string - example: 'https://query.wikidata.org/sparql' - rdf_path: - type: string - example: rdf/om-2.0.rdf - BannerMessageUpdateDto: - required: - - message - - type - type: object - properties: - type: - type: string - enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: - type: string - example: 'https://example.com' - link_text: - type: string - example: More - display_start: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - display_end: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - BannerMessageBriefDto: - required: - - message - - type - type: object - properties: - type: - type: string - enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: - type: string - example: 'https://example.com' - link_text: - type: string - example: More - ImageChangeDto: - required: - - dialect - - driver_class - - jdbc_method - - registry - type: object - properties: - registry: - type: string - example: docker.io/library - defaultPort: - maximum: 65535 - minimum: 1024 - type: integer - format: int32 - example: 5432 - dialect: - type: string - example: Postgres - driver_class: - type: string - example: org.postgresql.Driver - jdbc_method: - type: string - example: postgresql - CreatorSaveDto: - required: - - creator_name - - id - type: object - properties: - id: - type: integer - format: int64 - example: 1 - firstname: - type: string - example: Josiah - lastname: - type: string - example: Carberry - affiliation: - type: string - example: Wesleyan University - creator_name: - type: string - example: 'Carberry, Josiah' - name_type: - type: string - example: Personal - enum: - - Personal - - Organizational - name_identifier: - type: string - example: 0000-0002-1825-0097 - name_identifier_scheme: - type: string - example: ORCID - enum: - - ORCID - - ROR - - ISNI - - GRID - affiliation_identifier: - type: string - example: 'https://ror.org/04d836q62' - affiliation_identifier_scheme: - type: string - example: ROR - enum: - - ROR - - GRID - - ISNI - IdentifierFunderSaveDto: - required: - - funder_name - - id - type: object - properties: - id: - type: integer - format: int64 - example: 1 - funder_name: - type: string - example: European Commission - funder_identifier: - type: string - example: 'http://doi.org/10.13039/501100000780' - funder_identifier_type: - type: string - example: Crossref Funder ID - enum: - - Crossref Funder ID - - ROR - - GND - - ISNI - - Other - scheme_uri: - type: string - example: 'http://doi.org/' - award_number: - type: string - example: '824087' - award_title: - type: string - example: EOSC-Life - IdentifierSaveDescriptionDto: - required: - - description - - id - type: object - properties: - id: - type: integer - format: int64 - example: 1 - description: - type: string - example: 'Air quality reports at Stephansplatz, Vienna' - language: - type: string - example: en - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - 'no' - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - type: - type: string - example: Abstract - enum: - - Abstract - - Methods - - SeriesInformation - - TableOfContents - - TechnicalInfo - - Other - IdentifierSaveDto: - required: - - creators - - database_id - - id - - publication_year - - publisher - - titles - - type - type: object - properties: - id: - type: integer - format: int64 - example: 1 - type: - type: string - example: database - enum: - - database - - subset - - table - - view - doi: - type: string - example: 10.1111/11111111 - titles: - type: array - items: - $ref: '#/components/schemas/IdentifierSaveTitleDto' - descriptions: + $ref: '#/components/schemas/IdentifierSaveTitleDto' + descriptions: type: array items: $ref: '#/components/schemas/IdentifierSaveDescriptionDto' @@ -7702,6 +6524,25 @@ components: - Subtitle - TranslatedTitle - Other + LicenseDto: + required: + - identifier + - uri + type: object + properties: + identifier: + type: string + example: MIT + uri: + type: string + example: 'https://opensource.org/licenses/MIT' + description: + type: string + example: >- + A short and simple permissive license with conditions only requiring + preservation of copyright and license notices. Licensed works, + modifications, and larger works may be distributed under different + terms and without source code. RelatedIdentifierSaveDto: required: - id @@ -7777,190 +6618,325 @@ components: - Requires - IsObsoletedBy - Obsoletes - DatabaseModifyVisibilityDto: - required: - - is_public - type: object - properties: - is_public: - type: boolean - example: true - ColumnSemanticsUpdateDto: - type: object - properties: - concept_uri: - type: string - unit_uri: - type: string - DatabaseTransferDto: + CreatorDto: required: + - creator_name - id type: object properties: id: + type: integer + format: int64 + firstname: type: string - format: uuid - DatabaseModifyImageDto: - type: object - properties: - key: + example: Josiah + lastname: type: string - UpdateDatabaseAccessDto: - required: - - type - type: object - properties: - type: + example: Carberry + affiliation: type: string - enum: - - read - - write_own - - write_all - SignupRequestDto: - required: - - email - - password - - username - type: object - properties: - username: - pattern: '^[a-z0-9]{3,}$' + example: Brown University + creator_name: type: string - example: user - email: + example: 'Carberry, Josiah' + name_type: type: string - example: user@example.com - password: + example: Personal + enum: + - Personal + - Organizational + name_identifier: type: string - LoginRequestDto: - required: - - password - - username - type: object - properties: - username: + example: 0000-0002-1825-0097 + name_identifier_scheme: type: string - example: user - password: + example: ORCID + enum: + - ORCID + - ROR + - ISNI + - GRID + name_identifier_scheme_uri: type: string - OntologyCreateDto: - required: - - prefix - - uri - type: object - properties: - uri: + example: 'https://orcid.org/' + affiliation_identifier: type: string - example: Ontology URI - prefix: + example: 'https://ror.org/05gq02987' + affiliation_identifier_scheme: type: string - example: Ontology prefix - sparql_endpoint: + example: ROR + enum: + - ROR + - GRID + - ISNI + affiliation_identifier_scheme_uri: type: string - example: Ontology SPARQL endpoint - BannerMessageCreateDto: + example: 'https://ror.org/' + IdentifierDescriptionDto: required: - - message - - type + - id type: object properties: + id: + type: integer + format: int64 + description: + type: string + example: 'Air quality reports at Stephansplatz, Vienna' + language: + type: string + example: en + enum: + - ab + - aa + - af + - ak + - sq + - am + - ar + - an + - hy + - as + - av + - ae + - ay + - az + - bm + - ba + - eu + - be + - bn + - bh + - bi + - bs + - br + - bg + - my + - ca + - km + - ch + - ce + - ny + - zh + - cu + - cv + - kw + - co + - cr + - hr + - cs + - da + - dv + - nl + - dz + - en + - eo + - et + - ee + - fo + - fj + - fi + - fr + - ff + - gd + - gl + - lg + - ka + - de + - ki + - el + - kl + - gn + - gu + - ht + - ha + - he + - hz + - hi + - ho + - hu + - is + - io + - ig + - id + - ia + - ie + - iu + - ik + - ga + - it + - ja + - jv + - kn + - kr + - ks + - kk + - rw + - kv + - kg + - ko + - kj + - ku + - ky + - lo + - la + - lv + - lb + - li + - ln + - lt + - lu + - mk + - mg + - ms + - ml + - mt + - gv + - mi + - mr + - mh + - ro + - mn + - na + - nv + - nd + - ng + - ne + - se + - 'no' + - nb + - nn + - ii + - oc + - oj + - or + - om + - os + - pi + - pa + - ps + - fa + - pl + - pt + - qu + - rm + - rn + - ru + - sm + - sg + - sa + - sc + - sr + - sn + - sd + - si + - sk + - sl + - so + - st + - nr + - es + - su + - sw + - ss + - sv + - tl + - ty + - tg + - ta + - tt + - te + - th + - bo + - ti + - to + - ts + - tn + - tr + - tk + - tw + - ug + - uk + - ur + - uz + - ve + - vi + - vo + - wa + - cy + - fy + - wo + - xh + - yi + - yo + - za + - zu type: type: string + example: Abstract enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: - type: string - example: 'https://example.com' - link_text: - type: string - example: More - display_start: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - display_end: - 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 - type: object - properties: - registry: - type: string - example: docker.io/library - name: - type: string - example: mariadb - version: - type: string - dialect: - type: string - is_default: - type: boolean - example: false - driver_class: - type: string - jdbc_method: - type: string - default_port: - maximum: 65535 - minimum: 1024 - type: integer - format: int32 - IdentifierCreateDto: + - Abstract + - Methods + - SeriesInformation + - TableOfContents + - TechnicalInfo + - Other + IdentifierDto: required: + - created_by - creators - database_id + - execution + - id + - owner - publication_year - publisher + - query + - query_hash + - query_normalized - titles - type type: object properties: + id: + type: integer + format: int64 type: type: string - example: database enum: - database - subset - table - view - doi: - type: string - example: 10.1111/11111111 titles: type: array items: - $ref: '#/components/schemas/IdentifierSaveTitleDto' + $ref: '#/components/schemas/IdentifierTitleDto' descriptions: type: array items: - $ref: '#/components/schemas/IdentifierSaveDescriptionDto' + $ref: '#/components/schemas/IdentifierDescriptionDto' funders: type: array items: - $ref: '#/components/schemas/IdentifierFunderSaveDto' - licenses: - type: array - items: - $ref: '#/components/schemas/LicenseDto' + $ref: '#/components/schemas/IdentifierFunderDto' + query: + type: string + example: >- + SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` + = "09:STEF" + execution: + type: string + format: date-time + example: '2021-03-12T15:26:21.000Z' + doi: + type: string + example: 10.1038/nphys1170 publisher: type: string example: TU Wien + owner: + $ref: '#/components/schemas/UserDto' language: type: string enum: @@ -8148,10 +7124,19 @@ components: - yo - za - zu + licenses: + type: array + items: + $ref: '#/components/schemas/LicenseDto' creators: type: array items: - $ref: '#/components/schemas/CreatorSaveDto' + $ref: '#/components/schemas/CreatorDto' + status: + type: string + enum: + - draft + - published database_id: type: integer format: int64 @@ -8159,12 +7144,34 @@ components: query_id: type: integer format: int64 + example: 1 + table_id: + type: integer + format: int64 + example: 1 view_id: type: integer format: int64 - table_id: + example: 1 + query_normalized: + type: string + example: >- + SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` + = "09:STEF" + related_identifiers: + type: array + items: + $ref: '#/components/schemas/RelatedIdentifierDto' + query_hash: + type: string + description: query hash in sha512 + result_hash: + type: string + example: 34fe82cda2c53f13f8d90cfd7a3469e3a939ff311add50dce30d9136397bf8e5 + result_number: type: integer format: int64 + example: 1 publication_day: type: integer format: int32 @@ -8176,304 +7183,206 @@ components: publication_year: type: integer format: int32 - example: 2022 - related_identifiers: - type: array - items: - $ref: '#/components/schemas/RelatedIdentifierSaveDto' - DatabaseCreateDto: - required: - - container_id - - is_public - - name - type: object - properties: - name: - type: string - example: Air Quality - container_id: - type: integer - format: int64 - example: 1 - is_public: - type: boolean - example: true - ViewCreateDto: - required: - - is_public - - name - - query - type: object - properties: - name: - maxLength: 63 - minLength: 1 - type: string - example: Air Quality - query: - type: string - example: SELECT `id` FROM `air_quality` - is_public: - type: boolean - example: true - ViewBriefDto: + example: 2022 + created_by: + type: string + format: uuid + IdentifierFunderDto: required: - - created - - creator - - database_id + - funder_name - id - - internal_name - - name - - query - - query_hash type: object properties: id: type: integer format: int64 - name: + funder_name: type: string - example: Air Quality - identifier: - $ref: '#/components/schemas/IdentifierDto' - query: + example: European Commission + funder_identifier: type: string - example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC - created: + example: 'http://doi.org/10.13039/501100000780' + funder_identifier_type: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - creator: - $ref: '#/components/schemas/UserDto' - database_id: - type: integer - format: int64 - internal_name: + example: Crossref Funder ID + enum: + - Crossref Funder ID + - ROR + - GND + - ISNI + - Other + scheme_uri: type: string - example: air_quality - is_public: - type: boolean - example: true - initial_view: - type: boolean - description: True if it is the default view for the database - example: true - query_hash: + example: 'http://doi.org/' + award_number: type: string - example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 - last_modified: + example: '824087' + award_title: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - ColumnCreateDto: + example: EOSC-Life + RelatedIdentifierDto: required: - - name - - null_allowed + - id + - relation - type + - value type: object properties: - name: - type: string - example: Date - type: - type: string - example: string - enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - size: - type: integer - format: int64 - example: 255 - d: + id: type: integer format: int64 - example: 0 - description: - maxLength: 2048 - minLength: 0 + value: type: string - example: Formatted as YYYY-MM-dd - 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 - null_allowed: - type: boolean - example: true - concept_uri: + example: 10.70124/dc4zh-9ce78 + type: type: string - unit_uri: + example: DOI + enum: + - DOI + - URL + - URN + - ARK + - arXiv + - bibcode + - EAN13 + - EISSN + - Handle + - IGSN + - ISBN + - ISTC + - LISSN + - LSID + - PMID + - PURL + - UPC + - w3id + relation: type: string - ConstraintsCreateDto: - required: - - checks - - foreign_keys - - primary_key - - uniques - type: object - properties: - uniques: - type: array - items: - type: array - items: - type: string - checks: - uniqueItems: true - type: array - items: - type: string - foreign_keys: - type: array - items: - $ref: '#/components/schemas/ForeignKeyCreateDto' - primary_key: - uniqueItems: true - type: array - items: - type: string - ForeignKeyCreateDto: + example: Cites + enum: + - IsCitedBy + - Cites + - IsSupplementTo + - IsSupplementedBy + - IsContinuedBy + - Continues + - IsDescribedBy + - Describes + - HasMetadata + - IsMetadataFor + - HasVersion + - IsVersionOf + - IsNewVersionOf + - IsPreviousVersionOf + - IsPartOf + - HasPart + - IsPublishedIn + - IsReferencedBy + - References + - IsDocumentedBy + - Documents + - IsCompiledBy + - Compiles + - IsVariantFormOf + - IsOriginalFormOf + - IsIdenticalTo + - IsReviewedBy + - Reviews + - IsDerivedFrom + - IsSourceOf + - IsRequiredBy + - Requires + - IsObsoletedBy + - Obsoletes + DatabaseModifyVisibilityDto: required: - - columns - - referenced_columns - - referenced_table + - is_public + - is_schema_public type: object properties: - columns: - type: array - items: - type: string - referenced_table: - type: string - referenced_columns: - type: array - items: - type: string - on_update: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - on_delete: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - TableCreateDto: + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + ViewUpdateDto: required: - - columns - - constraints - - name + - is_public + - is_schema_public type: object properties: - name: - maxLength: 64 - minLength: 1 - type: string - example: Air Quality - description: - maxLength: 180 - minLength: 0 - type: string - example: Air Quality in Austria - columns: - type: array - items: - $ref: '#/components/schemas/ColumnCreateDto' - constraints: - $ref: '#/components/schemas/ConstraintsCreateDto' - ContainerCreateDto: + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + ColumnBriefDto: required: - - host - - image_id + - column_type + - database_id + - id + - internal_name - name - - privileged_password - - privileged_username - - quota + - table_id type: object properties: + id: + type: integer + format: int64 name: type: string - example: Air Quality - host: + example: date + alias: type: string - description: Hostname of container - port: - type: integer - description: Port of container - format: int32 - quota: + database_id: type: integer format: int64 - example: 50 - image_id: + table_id: type: integer - description: Image ID format: int64 - ui_host: - type: string - ui_port: - type: integer - format: int32 - privileged_username: + internal_name: type: string - description: Username of privileged user - example: root - privileged_password: + example: mdb_date + column_type: type: string - description: Password of privileged user - OntologyBriefDto: + example: date + enum: + - char + - varchar + - binary + - varbinary + - tinyblob + - tinytext + - text + - blob + - mediumtext + - mediumblob + - longtext + - longblob + - enum + - set + - serial + - bit + - tinyint + - bool + - smallint + - mediumint + - int + - bigint + - float + - double + - decimal + - date + - datetime + - timestamp + - time + - year + ConceptDto: required: + - columns - id - - prefix - - rdf - - sparql - uri type: object properties: @@ -8482,863 +7391,515 @@ components: format: int64 uri: type: string - example: 'http://www.wikidata.org/' - prefix: + name: type: string - example: wd - sparql: - type: boolean - example: true - rdf: - type: boolean - example: false - uri_pattern: + description: type: string - example: 'http://www.wikidata.org/entity/.*' - EntityDto: + columns: + type: array + items: + $ref: '#/components/schemas/ColumnBriefDto' + UnitDto: required: - - label + - columns + - id - uri type: object properties: + id: + type: integer + format: int64 uri: type: string - example: 'https://www.wikidata.org/entity/Q1686799' - label: + name: type: string - example: Apache Jena description: type: string - example: open source semantic web framework for Java - OaiListIdentifiersParameters: - type: object - properties: - metadataPrefix: - type: string - from: - type: string - until: - type: string - set: - type: string - resumptionToken: - type: string - fromDate: - type: string - format: date-time - untilDate: - type: string - format: date-time - parametersString: - type: string - BannerMessageDto: + columns: + type: array + items: + $ref: '#/components/schemas/ColumnBriefDto' + ViewColumnDto: required: + - auto_generated + - column_type + - database_id - id - - message - - type + - internal_name + - is_null_allowed + - is_public + - name + - ordinal_position type: object properties: id: type: integer format: int64 - type: - type: string - enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: + name: + maxLength: 64 + minLength: 0 type: string - example: 'https://example.com' - link_text: + example: Date + size: + type: integer + format: int64 + example: 255 + d: + type: integer + format: int64 + example: 0 + concept: + $ref: '#/components/schemas/ConceptDto' + unit: + $ref: '#/components/schemas/UnitDto' + description: + maxLength: 2048 + minLength: 0 type: string - example: More - display_start: + example: Column comment + database_id: + type: integer + format: int64 + ordinal_position: + type: integer + format: int32 + example: 0 + internal_name: + maxLength: 64 + minLength: 0 type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - display_end: + example: mdb_date + auto_generated: + type: boolean + example: false + index_length: + type: integer + format: int64 + length: + type: integer + format: int64 + column_type: type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - ImageBriefDto: + example: string + enum: + - char + - varchar + - binary + - varbinary + - tinyblob + - tinytext + - text + - blob + - mediumtext + - mediumblob + - longtext + - longblob + - enum + - set + - serial + - bit + - tinyint + - bool + - smallint + - mediumint + - int + - bigint + - float + - double + - decimal + - date + - datetime + - timestamp + - time + - year + is_public: + type: boolean + example: true + is_null_allowed: + type: boolean + example: false + ViewDto: required: - - default + - columns + - database + - database_id - id - - jdbc_method + - internal_name - name - - version + - owner + - query + - query_hash type: object properties: id: type: integer format: int64 + database: + $ref: '#/components/schemas/DatabaseDto' name: type: string - example: mariadb - version: + example: Air Quality + identifiers: + type: array + items: + $ref: '#/components/schemas/IdentifierDto' + query: type: string - example: '10.5' - jdbc_method: + example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC + owner: + $ref: '#/components/schemas/UserBriefDto' + columns: + type: array + items: + $ref: '#/components/schemas/ViewColumnDto' + database_id: + type: integer + format: int64 + internal_name: type: string - example: mariadb - default: + example: air_quality + is_public: type: boolean - example: false - LdCreatorDto: + example: true + is_schema_public: + type: boolean + example: true + initial_view: + type: boolean + description: True if it is the default view for the database + example: true + query_hash: + type: string + example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 + TableUpdateDto: required: - - '@type' - - name + - is_public + - is_schema_public type: object properties: - name: - type: string - sameAs: - type: string - givenName: + description: + maxLength: 180 + minLength: 0 type: string - familyName: + example: Air Quality in Austria + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + ColumnSemanticsUpdateDto: + type: object + properties: + concept_uri: type: string - '@type': + unit_uri: type: string - LdDatasetDto: + ColumnDto: required: - - '@context' - - '@type' - - citation - - creator - - description - - hasPart - - identifier + - column_type + - database_id + - id + - internal_name + - is_null_allowed + - is_public - name - - temporalCoverage - - url - - version + - ordinal_position + - table_id type: object properties: + id: + type: integer + format: int64 name: + maxLength: 64 + minLength: 0 type: string - description: + example: Date + alias: type: string - url: + size: + type: integer + format: int64 + example: 255 + d: + type: integer + format: int64 + example: 0 + mean: + type: number + example: 45.4 + median: + type: number + example: 51 + concept: + $ref: '#/components/schemas/ConceptDto' + unit: + $ref: '#/components/schemas/UnitDto' + description: + maxLength: 2048 + minLength: 0 type: string - identifier: + example: Column comment + enums: type: array items: type: string - license: - type: string - creator: - type: array - items: - $ref: '#/components/schemas/LdCreatorDto' - citation: - type: string - hasPart: + sets: type: array items: - $ref: '#/components/schemas/LdDatasetDto' - temporalCoverage: - type: string - version: - type: string - format: date-time - '@context': - type: string - '@type': - type: string - TableColumnEntityDto: - required: - - column_id - - database_id - - table_id - - uri - type: object - properties: - uri: - type: string - example: 'https://www.wikidata.org/entity/Q1686799' - label: - type: string - example: Apache Jena - description: - type: string - example: open source semantic web framework for Java + type: string database_id: type: integer format: int64 - example: 1 table_id: type: integer format: int64 - example: 1 - column_id: + ordinal_position: + type: integer + format: int32 + example: 0 + internal_name: + maxLength: 64 + minLength: 0 + type: string + example: mdb_date + index_length: type: integer format: int64 - example: 1 - ContainerBriefDto: + length: + type: integer + format: int64 + column_type: + type: string + example: string + enum: + - char + - varchar + - binary + - varbinary + - tinyblob + - tinytext + - text + - blob + - mediumtext + - mediumblob + - longtext + - longblob + - enum + - set + - serial + - bit + - tinyint + - bool + - smallint + - mediumint + - int + - bigint + - float + - double + - decimal + - date + - datetime + - timestamp + - time + - year + data_length: + type: integer + format: int64 + example: 34300 + max_data_length: + type: integer + format: int64 + example: 34300 + num_rows: + type: integer + format: int64 + example: 32 + val_min: + type: number + example: 0 + val_max: + type: number + example: 100 + std_dev: + type: number + example: 5.32 + is_public: + type: boolean + example: true + is_null_allowed: + type: boolean + example: false + DatabaseTransferDto: required: - - count - - created - - hash - id - - image - - internal_name - - name - - quota type: object properties: id: - type: integer - format: int64 - hash: - type: string - example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50 - name: - type: string - example: Air Quality - image: - $ref: '#/components/schemas/ImageBriefDto' - quota: - type: integer - format: int32 - example: 50 - count: - type: integer - format: int32 - example: 10 - created: - type: string - format: date-time - example: '2021-03-12T15:26:21.000Z' - internal_name: type: string - example: air-quality - Constraints: + format: uuid + DatabaseModifyImageDto: type: object properties: - uniques: - type: array - items: - $ref: '#/components/schemas/Unique' - foreignKeys: - type: array - items: - $ref: '#/components/schemas/ForeignKey' - checks: - uniqueItems: true - type: array - items: - type: string - primaryKey: - type: array - items: - $ref: '#/components/schemas/PrimaryKey' - Container: + key: + type: string + UpdateDatabaseAccessDto: + required: + - type type: object properties: - id: - type: integer - format: int64 - name: - type: string - internalName: - type: string - host: - type: string - port: - type: integer - format: int32 - uiHost: - type: string - uiPort: - type: integer - format: int32 - quota: - type: integer - format: int32 - uiAdditionalFlags: - type: string - databases: - type: array - items: - $ref: '#/components/schemas/Database' - image: - $ref: '#/components/schemas/ContainerImage' - created: - type: string - format: date-time - lastModified: - type: string - format: date-time - privilegedUsername: - type: string - privilegedPassword: + type: type: string - ContainerImage: + enum: + - read + - write_own + - write_all + SignupRequestDto: + required: + - email + - password + - username type: object properties: - id: - type: integer - format: int64 - name: - type: string - registry: - type: string - version: - type: string - driverClass: - type: string - dialect: - type: string - jdbcMethod: + username: + pattern: '^[a-z0-9]{3,}$' type: string - defaultPort: - type: integer - format: int32 - isDefault: - type: boolean - containers: - type: array - items: - $ref: '#/components/schemas/Container' - created: + example: user + email: type: string - format: date-time - lastModified: + example: user@example.com + password: type: string - format: date-time - dataTypes: - type: array - items: - $ref: '#/components/schemas/DataType' - operators: - type: array - items: - $ref: '#/components/schemas/Operator' - Creator: + LoginRequestDto: + required: + - password + - username type: object properties: - id: - type: integer - format: int64 - firstname: - type: string - lastname: - type: string - creatorName: - type: string - nameType: - type: string - enum: - - PERSONAL - - ORGANIZATIONAL - nameIdentifier: - type: string - nameIdentifierScheme: - type: string - enum: - - ORCID - - ROR - - ISNI - - GRID - nameIdentifierSchemeUri: - type: string - affiliation: - type: string - affiliationIdentifier: - type: string - affiliationIdentifierScheme: - type: string - enum: - - ROR - - GRID - - ISNI - affiliationIdentifierSchemeUri: - type: string - identifier: - $ref: '#/components/schemas/Identifier' - apaName: - type: string - bibtexName: + username: type: string - ieeeName: + example: user + password: type: string - DataType: + OntologyCreateDto: + required: + - prefix + - uri type: object properties: - id: - type: integer - format: int64 - displayName: - type: string - value: - type: string - sizeMin: - type: integer - format: int32 - sizeMax: - type: integer - format: int32 - sizeDefault: - type: integer - format: int32 - sizeRequired: - type: boolean - documentation: + uri: type: string - typeHint: + example: Ontology URI + prefix: type: string - dataHint: + example: Ontology prefix + sparql_endpoint: type: string - quoted: - type: boolean - buildable: - type: boolean - image: - $ref: '#/components/schemas/ContainerImage' - dmin: - type: integer - format: int32 - dmax: - type: integer - format: int32 - ddefault: - type: integer - format: int32 - drequired: - type: boolean - Database: + example: Ontology SPARQL endpoint + BannerMessageCreateDto: + required: + - message + - type type: object properties: - id: - type: integer - format: int64 - createdBy: - type: string - format: uuid - creator: - $ref: '#/components/schemas/User' - ownedBy: - type: string - format: uuid - owner: - $ref: '#/components/schemas/User' - cid: - type: integer - format: int64 - container: - $ref: '#/components/schemas/Container' - name: - type: string - internalName: + type: type: string - exchangeName: + enum: + - error + - warning + - info + message: type: string - description: + example: Maintenance starts on 8am on Monday + link: type: string - contactPerson: + example: 'https://example.com' + link_text: type: string - format: uuid - contact: - $ref: '#/components/schemas/User' - identifiers: - type: array - items: - $ref: '#/components/schemas/Identifier' - subsets: - type: array - items: - $ref: '#/components/schemas/Identifier' - tables: - type: array - items: - $ref: '#/components/schemas/Table' - views: - type: array - items: - $ref: '#/components/schemas/View' - accesses: - type: array - items: - $ref: '#/components/schemas/DatabaseAccess' - isPublic: - type: boolean - image: - type: array - items: - type: string - format: byte - created: + example: More + display_start: type: string format: date-time - lastModified: + example: '2021-03-12T15:26:21.000Z' + display_end: type: string format: date-time - DatabaseAccess: + example: '2021-03-12T15:26:21.000Z' + ImageCreateDto: + required: + - default_port + - dialect + - driver_class + - is_default + - jdbc_method + - name + - registry + - version type: object properties: - huserid: + registry: type: string - format: uuid - user: - $ref: '#/components/schemas/User' - hdbid: - type: integer - format: int64 - database: - $ref: '#/components/schemas/Database' - type: + example: docker.io/library + name: type: string - enum: - - AccessType.READ - - AccessType.WRITE_OWN - - AccessType.WRITE_ALL - created: + example: mariadb + version: type: string - format: date-time - ForeignKey: - type: object - properties: - id: - type: integer - format: int64 - name: + dialect: type: string - table: - $ref: '#/components/schemas/Table' - referencedTable: - $ref: '#/components/schemas/Table' - references: - type: array - items: - $ref: '#/components/schemas/ForeignKeyReference' - onUpdate: + is_default: + type: boolean + example: false + driver_class: type: string - enum: - - ReferenceType.RESTRICT - - ReferenceType.CASCADE - - ReferenceType.SET_NULL - - ReferenceType.NO_ACTION - - ReferenceType.SET_DEFAULT - onDelete: + jdbc_method: type: string - enum: - - ReferenceType.RESTRICT - - ReferenceType.CASCADE - - ReferenceType.SET_NULL - - ReferenceType.NO_ACTION - - ReferenceType.SET_DEFAULT - ForeignKeyReference: - type: object - properties: - id: + default_port: + maximum: 65535 + minimum: 1024 type: integer - format: int64 - foreignKey: - $ref: '#/components/schemas/ForeignKey' - column: - $ref: '#/components/schemas/TableColumn' - referencedColumn: - $ref: '#/components/schemas/TableColumn' - Identifier: + format: int32 + IdentifierCreateDto: + required: + - creators + - database_id + - publication_year + - publisher + - titles + - type type: object properties: - id: - type: integer - format: int64 - queryId: - type: integer - format: int64 - tableId: - type: integer - format: int64 - viewId: - type: integer - format: int64 - creators: - type: array - items: - $ref: '#/components/schemas/Creator' - publisher: - type: string - status: - type: string - enum: - - DRAFT - - PUBLISHED - language: + type: type: string + example: database enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - 'no' - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu + - database + - subset + - table + - view + doi: + type: string + example: 10.1111/11111111 titles: type: array items: - $ref: '#/components/schemas/IdentifierTitle' + $ref: '#/components/schemas/IdentifierSaveTitleDto' descriptions: type: array items: - $ref: '#/components/schemas/IdentifierDescription' + $ref: '#/components/schemas/IdentifierSaveDescriptionDto' funders: type: array items: - $ref: '#/components/schemas/IdentifierFunder' + $ref: '#/components/schemas/IdentifierFunderSaveDto' licenses: type: array items: - $ref: '#/components/schemas/License' - type: - type: string - enum: - - DATABASE - - SUBSET - - TABLE - - VIEW - query: - type: string - queryNormalized: - type: string - queryHash: - type: string - resultHash: - type: string - execution: - type: string - format: date-time - resultNumber: - type: integer - format: int64 - publicationYear: - type: integer - format: int32 - publicationMonth: - type: integer - format: int32 - publicationDay: - type: integer - format: int32 - database: - $ref: '#/components/schemas/Database' - relatedIdentifiers: - type: array - items: - $ref: '#/components/schemas/RelatedIdentifier' - doi: - type: string - createdBy: - type: string - format: uuid - creator: - $ref: '#/components/schemas/User' - created: - type: string - format: date-time - lastModified: - type: string - format: date-time - IdentifierDescription: - type: object - properties: - id: - type: integer - format: int64 - description: - type: string - descriptionType: + $ref: '#/components/schemas/LicenseDto' + publisher: type: string - enum: - - Abstract - - Methods - - SeriesInformation - - TableOfContents - - TechnicalInfo - - Other + example: TU Wien language: type: string enum: @@ -9526,670 +8087,717 @@ components: - yo - za - zu - identifier: - $ref: '#/components/schemas/Identifier' - IdentifierFunder: + creators: + type: array + items: + $ref: '#/components/schemas/CreatorSaveDto' + database_id: + type: integer + format: int64 + example: 1 + query_id: + type: integer + format: int64 + view_id: + type: integer + format: int64 + table_id: + type: integer + format: int64 + publication_day: + type: integer + format: int32 + example: 15 + publication_month: + type: integer + format: int32 + example: 12 + publication_year: + type: integer + format: int32 + example: 2022 + related_identifiers: + type: array + items: + $ref: '#/components/schemas/RelatedIdentifierSaveDto' + DatabaseCreateDto: + required: + - container_id + - is_public + - is_schema_public + - name type: object properties: - id: + name: + type: string + example: Air Quality + container_id: type: integer format: int64 - funderName: + example: 1 + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + ViewCreateDto: + required: + - is_public + - is_schema_public + - name + - query + type: object + properties: + name: + maxLength: 63 + minLength: 1 + type: string + example: Air Quality + query: type: string - funderIdentifier: + example: SELECT `id` FROM `air_quality` + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + ColumnCreateDto: + required: + - name + - null_allowed + - type + type: object + properties: + name: type: string - funderIdentifierType: + example: Date + type: type: string + example: string enum: - - CROSSREF_FUNDER_ID - - ROR - - GND - - ISNI - - OTHER - schemeUri: + - char + - varchar + - binary + - varbinary + - tinyblob + - tinytext + - text + - blob + - mediumtext + - mediumblob + - longtext + - longblob + - enum + - set + - serial + - bit + - tinyint + - bool + - smallint + - mediumint + - int + - bigint + - float + - double + - decimal + - date + - datetime + - timestamp + - time + - year + size: + type: integer + format: int64 + example: 255 + d: + type: integer + format: int64 + example: 0 + description: + maxLength: 2048 + minLength: 0 + type: string + example: Formatted as YYYY-MM-dd + 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 + null_allowed: + type: boolean + example: true + concept_uri: + type: string + unit_uri: + type: string + ConstraintsCreateDto: + required: + - checks + - foreign_keys + - primary_key + - uniques + type: object + properties: + uniques: + type: array + items: + type: array + items: + type: string + checks: + uniqueItems: true + type: array + items: + type: string + foreign_keys: + type: array + items: + $ref: '#/components/schemas/ForeignKeyCreateDto' + primary_key: + uniqueItems: true + type: array + items: + type: string + ForeignKeyCreateDto: + required: + - columns + - referenced_columns + - referenced_table + type: object + properties: + columns: + type: array + items: + type: string + referenced_table: type: string - awardNumber: + referenced_columns: + type: array + items: + type: string + on_update: type: string - awardTitle: + enum: + - restrict + - cascade + - set_null + - no_action + - set_default + on_delete: type: string - identifier: - $ref: '#/components/schemas/Identifier' - IdentifierTitle: + enum: + - restrict + - cascade + - set_null + - no_action + - set_default + TableCreateDto: + required: + - columns + - constraints + - is_public + - is_schema_public + - name type: object properties: - id: - type: integer - format: int64 - title: - type: string - titleType: + name: + maxLength: 64 + minLength: 1 type: string - enum: - - AlternativeTitle - - Subtitle - - TranslatedTitle - - Other - language: + example: Air Quality + description: + maxLength: 180 + minLength: 0 type: string - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - 'no' - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - identifier: - $ref: '#/components/schemas/Identifier' - License: + example: Air Quality in Austria + columns: + type: array + items: + $ref: '#/components/schemas/ColumnCreateDto' + constraints: + $ref: '#/components/schemas/ConstraintsCreateDto' + is_public: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + ContainerCreateDto: + required: + - host + - image_id + - name + - privileged_password + - privileged_username + - quota type: object properties: - identifier: + name: type: string - uri: + example: Air Quality + host: + type: string + description: Hostname of container + port: + type: integer + description: Port of container + format: int32 + quota: + type: integer + format: int64 + example: 50 + image_id: + type: integer + description: Image ID + format: int64 + ui_host: + type: string + ui_port: + type: integer + format: int32 + privileged_username: type: string - description: + description: Username of privileged user + example: root + privileged_password: type: string - Operator: + description: Password of privileged user + ContainerDto: + required: + - count + - host + - id + - image + - internal_name + - name + - port + - quota type: object properties: id: type: integer format: int64 - displayName: - type: string - value: + name: type: string - documentation: + example: Air Quality + host: type: string + port: + type: integer + format: int32 image: - $ref: '#/components/schemas/ContainerImage' - PrimaryKey: - type: object - properties: - id: + $ref: '#/components/schemas/ImageDto' + quota: type: integer format: int64 - table: - $ref: '#/components/schemas/Table' - column: - $ref: '#/components/schemas/TableColumn' - RelatedIdentifier: - type: object - properties: - id: + example: 50 + count: type: integer format: int64 - value: - type: string - type: + example: 10 + internal_name: type: string - enum: - - DOI - - URL - - URN - - ARK - - arXiv - - bibcode - - EAN13 - - EISSN - - Handle - - IGSN - - ISBN - - ISTC - - LISSN - - LSID - - PMID - - PURL - - UPC - - w3id - relation: + example: data-db + ui_host: type: string - enum: - - IsCitedBy - - Cites - - IsSupplementTo - - IsSupplementedBy - - IsContinuedBy - - Continues - - IsDescribedBy - - Describes - - HasMetadata - - IsMetadataFor - - HasVersion - - IsVersionOf - - IsNewVersionOf - - IsPreviousVersionOf - - IsPartOf - - HasPart - - IsPublishedIn - - IsReferencedBy - - References - - IsDocumentedBy - - Documents - - IsCompiledBy - - Compiles - - IsVariantFormOf - - IsOriginalFormOf - - IsIdenticalTo - - IsReviewedBy - - Reviews - - IsDerivedFrom - - IsSourceOf - - IsRequiredBy - - Requires - - IsObsoletedBy - - Obsoletes - identifier: - $ref: '#/components/schemas/Identifier' - Table: + ui_port: + type: integer + format: int32 + OntologyBriefDto: + required: + - id + - prefix + - rdf + - sparql + - uri type: object properties: id: type: integer format: int64 - tdbid: - type: integer - format: int64 - createdBy: + uri: type: string - format: uuid - creator: - $ref: '#/components/schemas/User' - ownedBy: + example: 'http://www.wikidata.org/' + prefix: type: string - format: uuid - owner: - $ref: '#/components/schemas/User' - name: + example: wd + sparql: + type: boolean + example: true + rdf: + type: boolean + example: false + uri_pattern: type: string - internalName: + example: 'http://www.wikidata.org/entity/.*' + EntityDto: + required: + - label + - uri + type: object + properties: + uri: type: string - queueName: + example: 'https://www.wikidata.org/entity/Q1686799' + label: type: string + example: Apache Jena description: type: string - database: - $ref: '#/components/schemas/Database' - identifiers: - type: array - items: - $ref: '#/components/schemas/Identifier' - constraints: - $ref: '#/components/schemas/Constraints' - isVersioned: - type: boolean - numRows: - type: integer - format: int64 - dataLength: - type: integer - format: int64 - maxDataLength: - type: integer - format: int64 - avgRowLength: - type: integer - format: int64 - columns: - type: array - items: - $ref: '#/components/schemas/TableColumn' - created: + example: open source semantic web framework for Java + OaiListIdentifiersParameters: + type: object + properties: + metadataPrefix: + type: string + from: + type: string + until: + type: string + set: + type: string + resumptionToken: + type: string + parametersString: + type: string + fromDate: type: string format: date-time - lastModified: + untilDate: type: string format: date-time - TableColumn: + BannerMessageDto: + required: + - id + - message + - type type: object properties: id: type: integer format: int64 - table: - $ref: '#/components/schemas/Table' - name: - type: string - internalName: + type: type: string - description: + enum: + - error + - warning + - info + message: type: string - indexLength: - type: integer - format: int64 - alias: + example: Maintenance starts on 8am on Monday + link: type: string - columnType: + example: 'https://example.com' + link_text: type: string - enum: - - TableColumnType.CHAR - - TableColumnType.VARCHAR - - TableColumnType.BINARY - - TableColumnType.VARBINARY - - TableColumnType.TINYBLOB - - TableColumnType.TINYTEXT - - TableColumnType.TEXT - - TableColumnType.BLOB - - TableColumnType.MEDIUMTEXT - - TableColumnType.MEDIUMBLOB - - TableColumnType.LONGTEXT - - TableColumnType.LONGBLOB - - TableColumnType.ENUM - - TableColumnType.SET - - TableColumnType.SERIAL - - TableColumnType.BIT - - TableColumnType.TINYINT - - TableColumnType.BOOL - - TableColumnType.SMALLINT - - TableColumnType.MEDIUMINT - - TableColumnType.INT - - TableColumnType.BIGINT - - TableColumnType.FLOAT - - TableColumnType.DOUBLE - - TableColumnType.DECIMAL - - TableColumnType.DATE - - TableColumnType.DATETIME - - TableColumnType.TIMESTAMP - - TableColumnType.TIME - - TableColumnType.YEAR - length: - type: integer - format: int64 - isNullAllowed: - type: boolean - ordinalPosition: - type: integer - format: int32 - created: + example: More + display_start: type: string format: date-time - concept: - $ref: '#/components/schemas/TableColumnConcept' - unit: - $ref: '#/components/schemas/TableColumnUnit' - enums: - type: array - items: - type: string - sets: - type: array - items: - type: string - size: - type: integer - format: int64 - d: - type: integer - format: int64 - min: - type: number - max: - type: number - mean: - type: number - median: - type: number - stdDev: - type: number - lastModified: + example: '2021-03-12T15:26:21.000Z' + display_end: type: string format: date-time - TableColumnConcept: + example: '2021-03-12T15:26:21.000Z' + LdCreatorDto: + required: + - '@type' + - name + type: object + properties: + name: + type: string + sameAs: + type: string + givenName: + type: string + familyName: + type: string + '@type': + type: string + LdDatasetDto: + required: + - '@context' + - '@type' + - citation + - creator + - description + - hasPart + - identifier + - name + - temporalCoverage + - url + - version type: object properties: - id: - type: integer - format: int64 - uri: - type: string name: type: string description: type: string - created: + url: type: string - format: date-time - columns: + identifier: type: array items: - $ref: '#/components/schemas/TableColumn' - TableColumnUnit: - type: object - properties: - id: - type: integer - format: int64 - uri: + type: string + license: type: string - name: + creator: + type: array + items: + $ref: '#/components/schemas/LdCreatorDto' + citation: type: string - description: + hasPart: + type: array + items: + $ref: '#/components/schemas/LdDatasetDto' + temporalCoverage: type: string - created: + version: type: string format: date-time - columns: + '@context': + type: string + '@type': + type: string + ConstraintsDto: + type: object + properties: + uniques: + type: array + items: + $ref: '#/components/schemas/UniqueDto' + checks: + uniqueItems: true + type: array + items: + type: string + foreign_keys: + type: array + items: + $ref: '#/components/schemas/ForeignKeyDto' + primary_key: + uniqueItems: true type: array items: - $ref: '#/components/schemas/TableColumn' - Unique: + $ref: '#/components/schemas/PrimaryKeyDto' + ForeignKeyBriefDto: type: object properties: id: type: integer format: int64 - name: - type: string - table: - $ref: '#/components/schemas/Table' - columns: - type: array - items: - $ref: '#/components/schemas/TableColumn' - User: + ForeignKeyDto: + required: + - name + - referenced_table + - references + - table type: object properties: id: + type: integer + format: int64 + name: type: string - format: uuid - username: - type: string - firstname: - type: string - lastname: - type: string - email: - type: string - orcid: - type: string - affiliation: - type: string - language: - type: string - accesses: + references: type: array items: - $ref: '#/components/schemas/DatabaseAccess' - theme: + $ref: '#/components/schemas/ForeignKeyReferenceDto' + table: + $ref: '#/components/schemas/TableBriefDto' + referenced_table: + $ref: '#/components/schemas/TableBriefDto' + on_update: type: string - mariadbPassword: + enum: + - restrict + - cascade + - set_null + - no_action + - set_default + on_delete: type: string - View: + enum: + - restrict + - cascade + - set_null + - no_action + - set_default + ForeignKeyReferenceDto: + required: + - column + - foreign_key + - referenced_column + type: object + properties: + id: + type: integer + format: int64 + column: + $ref: '#/components/schemas/ColumnBriefDto' + foreign_key: + $ref: '#/components/schemas/ForeignKeyBriefDto' + referenced_column: + $ref: '#/components/schemas/ColumnBriefDto' + PrimaryKeyDto: + required: + - column + - table type: object properties: id: type: integer format: int64 - vdbid: + table: + $ref: '#/components/schemas/TableBriefDto' + column: + $ref: '#/components/schemas/ColumnBriefDto' + TableDto: + required: + - columns + - constraints + - database_id + - id + - internal_name + - is_public + - is_schema_public + - is_versioned + - name + - owner + - queue_name + - routing_key + type: object + properties: + id: type: integer format: int64 - createdBy: - type: string - format: uuid - creator: - $ref: '#/components/schemas/User' name: type: string - internalName: - type: string - isPublic: - type: boolean - isInitialView: - type: boolean - query: - type: string - queryHash: + example: Air Quality + alias: type: string identifiers: type: array items: - $ref: '#/components/schemas/Identifier' - database: - $ref: '#/components/schemas/Database' + $ref: '#/components/schemas/IdentifierDto' + owner: + $ref: '#/components/schemas/UserBriefDto' + description: + maxLength: 2048 + minLength: 0 + type: string + example: Air Quality in Austria columns: type: array items: - $ref: '#/components/schemas/ViewColumn' - created: + $ref: '#/components/schemas/ColumnDto' + constraints: + $ref: '#/components/schemas/ConstraintsDto' + database_id: + type: integer + format: int64 + internal_name: type: string - format: date-time - lastModified: + example: air_quality + is_versioned: + type: boolean + example: true + is_schema_public: + type: boolean + example: true + queue_name: type: string - format: date-time - ViewColumn: + example: air_quality + queue_type: + type: string + example: quorum + routing_key: + type: string + example: dbrepo.1.2 + is_public: + type: boolean + example: true + num_rows: + type: integer + format: int64 + example: 5 + data_length: + type: integer + description: in bytes + format: int64 + example: 16384 + max_data_length: + type: integer + description: in bytes + format: int64 + example: 0 + avg_row_length: + type: integer + description: in bytes + format: int64 + example: 3276 + UniqueDto: + required: + - columns + - id + - name + - table type: object properties: id: type: integer format: int64 - view: - $ref: '#/components/schemas/View' name: type: string - internalName: + table: + $ref: '#/components/schemas/TableBriefDto' + columns: + type: array + items: + $ref: '#/components/schemas/ColumnDto' + TableColumnEntityDto: + required: + - column_id + - database_id + - table_id + - uri + type: object + properties: + uri: + type: string + example: 'https://www.wikidata.org/entity/Q1686799' + label: type: string - columnType: + example: Apache Jena + description: type: string - enum: - - TableColumnType.CHAR - - TableColumnType.VARCHAR - - TableColumnType.BINARY - - TableColumnType.VARBINARY - - TableColumnType.TINYBLOB - - TableColumnType.TINYTEXT - - TableColumnType.TEXT - - TableColumnType.BLOB - - TableColumnType.MEDIUMTEXT - - TableColumnType.MEDIUMBLOB - - TableColumnType.LONGTEXT - - TableColumnType.LONGBLOB - - TableColumnType.ENUM - - TableColumnType.SET - - TableColumnType.SERIAL - - TableColumnType.BIT - - TableColumnType.TINYINT - - TableColumnType.BOOL - - TableColumnType.SMALLINT - - TableColumnType.MEDIUMINT - - TableColumnType.INT - - TableColumnType.BIGINT - - TableColumnType.FLOAT - - TableColumnType.DOUBLE - - TableColumnType.DECIMAL - - TableColumnType.DATE - - TableColumnType.DATETIME - - TableColumnType.TIMESTAMP - - TableColumnType.TIME - - TableColumnType.YEAR - isNullAllowed: - type: boolean - ordinalPosition: + example: open source semantic web framework for Java + database_id: type: integer - format: int32 - size: + format: int64 + example: 1 + table_id: type: integer format: int64 - d: + example: 1 + column_id: type: integer format: int64 + example: 1 IndexDto: properties: results: diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java index f99b906a84c3fc43ac186bf642bef7bcb909f95f..4191726dd9a5b10cf26055bbe91c323c73e75450 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java @@ -693,7 +693,8 @@ public class TableEndpoint extends AbstractEndpoint { @GetMapping("/{tableId}/statistic") @Observed(name = "dbrepo_table_statistic") @Operation(summary = "Get table statistic", - description = "Gets basic statistical properties (min, max, mean, median, std.dev) of numerical columns of a table with id.") + description = "Gets basic statistical properties (min, max, mean, median, std.dev) of numerical columns of a table with id.", + hidden = true) @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Generated table statistic",