diff --git a/.gitignore b/.gitignore index 42c9379022..a02b11ed4c 100644 --- a/.gitignore +++ b/.gitignore @@ -54,7 +54,8 @@ env/ venv/ # exclude generated openapi -docs/03-endpoints/generated-openapi/*.yml +docs/03-endpoints/generated-openapi/* +!docs/03-endpoints/generated-openapi/openapi-admin-api.yml # exclude test reports generated by xunit-viewer /index.html diff --git a/docs/03-endpoints/api-admin/index.md b/docs/03-endpoints/api-admin/index.md new file mode 100644 index 0000000000..2a16d7376f --- /dev/null +++ b/docs/03-endpoints/api-admin/index.md @@ -0,0 +1 @@ +[OAD(./docs/03-endpoints/generated-openapi/openapi-admin-api.yml)] diff --git a/docs/03-endpoints/generated-openapi/openapi-admin-api.yml b/docs/03-endpoints/generated-openapi/openapi-admin-api.yml new file mode 100644 index 0000000000..fdb88fd5cd --- /dev/null +++ b/docs/03-endpoints/generated-openapi/openapi-admin-api.yml @@ -0,0 +1,4851 @@ +openapi: 3.1.0 +info: + title: webapi-admin-api + version: v30.8.2-37-g3decf23-dirty-doc-integrate-admin-openapi-in-docs-DEV-3381 +servers: +- url: http://localhost:3333 + description: Local development server +- url: https://api.dasch.swiss + description: Production server +paths: + /admin/groups: + get: + tags: + - Admin Groups + description: Returns all groups. + operationId: getAdminGroups + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GroupsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + post: + tags: + - Admin Groups + description: Creates a new group. + operationId: postAdminGroups + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GroupCreateRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GroupGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/groups/{groupIri}: + get: + tags: + - Admin Groups + description: Returns a single group identified by IRI. + operationId: getAdminGroupsGroupiri + parameters: + - name: groupIri + in: path + description: The IRI of a group. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/groups/00FF/gNdJSNYrTDu2lGpPUs94nQ + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GroupGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + put: + tags: + - Admin Groups + description: Updates a group. + operationId: putAdminGroupsGroupiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: groupIri + in: path + description: The IRI of a group. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/groups/00FF/gNdJSNYrTDu2lGpPUs94nQ + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GroupUpdateRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GroupGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + delete: + tags: + - Admin Groups + description: Deletes a group by changing its status to 'false'. + operationId: deleteAdminGroupsGroupiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: groupIri + in: path + description: The IRI of a group. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/groups/00FF/gNdJSNYrTDu2lGpPUs94nQ + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GroupGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/groups/{groupIri}/members: + get: + tags: + - Admin Groups + description: Returns all members of a single group. + operationId: getAdminGroupsGroupiriMembers + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: groupIri + in: path + description: The IRI of a group. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/groups/00FF/gNdJSNYrTDu2lGpPUs94nQ + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GroupMembersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists: + get: + tags: + - Admin Lists + description: Get all lists or all lists belonging to a project. + operationId: getAdminLists + parameters: + - name: projectIri + in: query + description: The (optional) IRI of the project. + required: false + schema: + type: string + example: http://rdfh.ch/projects/0042 + responses: + '200': + description: Contains the list of all root nodes of each found list. + content: + application/json: + schema: + $ref: '#/components/schemas/ListsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + post: + tags: + - Admin Lists + operationId: postAdminLists + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListCreateRootNodeRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ListGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists/{p1}/name: + put: + tags: + - Admin Lists + operationId: putAdminListsP1Name + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListChangeNameRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NodeInfoGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists/{p1}/labels: + put: + tags: + - Admin Lists + operationId: putAdminListsP1Labels + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListChangeLabelsRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NodeInfoGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists/{p1}/comments: + put: + tags: + - Admin Lists + operationId: putAdminListsP1Comments + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListChangeCommentsRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NodeInfoGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists/{p1}/position: + put: + tags: + - Admin Lists + operationId: putAdminListsP1Position + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListChangePositionRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NodePositionChangeResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists/{p1}: + get: + tags: + - Admin Lists + description: Returns a list node, root or child, with children (if exist). + operationId: getAdminListsP1 + parameters: + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ListItemGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + put: + tags: + - Admin Lists + operationId: putAdminListsP1 + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListChangeRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NodeInfoGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + delete: + tags: + - Admin Lists + operationId: deleteAdminListsP1 + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ListItemDeleteResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists/comments/{p1}: + delete: + tags: + - Admin Lists + operationId: deleteAdminListsCommentsP1 + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ListNodeCommentsDeleteResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/lists/{p1}/info: + get: + tags: + - Admin Lists + description: Returns basic information about a list node, root or child, w/o + children (if exist). + operationId: getAdminListsP1Info + parameters: + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NodeInfoGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/lists/candelete/{p1}: + get: + tags: + - Admin Lists + description: Checks if a list can be deleted (none of its nodes is used in data). + operationId: getAdminListsCandeleteP1 + parameters: + - name: p1 + in: path + description: The IRI of the list. + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CanDeleteListResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/maintenance/{action-name}: + post: + tags: + - Admin Maintenance + operationId: postAdminMaintenanceAction-name + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: action-name + in: path + description: | + The name of the maintenance action to be executed. + Maintenance actions are executed asynchronously in the background. + required: true + schema: + type: string + example: fix-top-left-dimensions + requestBody: + description: | + The optional parameters as json for the maintenance action. + May be required by certain actions. + content: + application/json: + schema: + $ref: '#/components/schemas/Json' + required: false + responses: + '202': + description: '' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/ap: + post: + tags: + - Admin Permissions + description: Create a new administrative permission + operationId: postAdminPermissionsAp + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAdministrativePermissionAPIRequestADM' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AdministrativePermissionCreateResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/ap/{projectIri}: + get: + tags: + - Admin Permissions + description: Get all administrative permissions for a project. + operationId: getAdminPermissionsApProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AdministrativePermissionsForProjectGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/ap/{projectIri}/{groupIri}: + get: + tags: + - Admin Permissions + description: Get all administrative permissions for a project and a group. + operationId: getAdminPermissionsApProjectiriGroupiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + - name: groupIri + in: path + description: The IRI of a group. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/groups/00FF/gNdJSNYrTDu2lGpPUs94nQ + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AdministrativePermissionGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/doap/{projectIri}: + get: + tags: + - Admin Permissions + description: Get all default object access permissions for a project. + operationId: getAdminPermissionsDoapProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/DefaultObjectAccessPermissionsForProjectGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/{projectIri}: + get: + tags: + - Admin Permissions + description: Get all permissions for a project. + operationId: getAdminPermissionsProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionsForProjectGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/{permissionIri}: + delete: + tags: + - Admin Permissions + description: Delete an permission. + operationId: deleteAdminPermissionsPermissioniri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: permissionIri + in: path + description: The IRI of a permission. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/permissions/00FF/Mck2xJDjQ_Oimi_9z4aFaA + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionDeleteResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/doap: + post: + tags: + - Admin Permissions + description: Create a new default object access permission + operationId: postAdminPermissionsDoap + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDefaultObjectAccessPermissionAPIRequestADM' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/DefaultObjectAccessPermissionCreateResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/{permissionIri}/group: + put: + tags: + - Admin Permissions + description: Update a permission's group + operationId: putAdminPermissionsPermissioniriGroup + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: permissionIri + in: path + description: The IRI of a permission. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/permissions/00FF/Mck2xJDjQ_Oimi_9z4aFaA + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePermissionGroupApiRequestADM' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/{permissionIri}/hasPermissions: + put: + tags: + - Admin Permissions + description: Update a permission's set of hasPermissions + operationId: putAdminPermissionsPermissioniriHaspermissions + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: permissionIri + in: path + description: The IRI of a permission. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/permissions/00FF/Mck2xJDjQ_Oimi_9z4aFaA + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePermissionHasPermissionsApiRequestADM' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/{permissionIri}/resourceClass: + put: + tags: + - Admin Permissions + description: Update a permission's resource class + operationId: putAdminPermissionsPermissioniriResourceclass + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: permissionIri + in: path + description: The IRI of a permission. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/permissions/00FF/Mck2xJDjQ_Oimi_9z4aFaA + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePermissionResourceClassApiRequestADM' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/permissions/{permissionIri}/property: + put: + tags: + - Admin Permissions + description: Update a permission's property + operationId: putAdminPermissionsPermissioniriProperty + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: permissionIri + in: path + description: The IRI of a permission. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/permissions/00FF/Mck2xJDjQ_Oimi_9z4aFaA + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePermissionPropertyApiRequestADM' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects: + get: + tags: + - Admin Projects + description: Returns all projects. + operationId: getAdminProjects + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectsGetResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + post: + tags: + - Admin Projects + description: Creates a new project. + operationId: postAdminProjects + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectCreateRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectOperationResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/iri/{projectIri}: + get: + tags: + - Admin Projects + description: Returns a single project identified by the IRI. + operationId: getAdminProjectsIriProjectiri + parameters: + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectGetResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + put: + tags: + - Admin Projects + description: Updates a project identified by the IRI. + operationId: putAdminProjectsIriProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectUpdateRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectOperationResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + delete: + tags: + - Admin Projects + description: Deletes a project identified by the IRI. + operationId: deleteAdminProjectsIriProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectOperationResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/iri/{projectIri}/RestrictedViewSettings: + get: + tags: + - Admin Projects + description: Returns the project's restricted view settings identified by the + IRI. + operationId: getAdminProjectsIriProjectiriRestrictedviewsettings + parameters: + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectRestrictedViewSettingsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + post: + tags: + - Admin Projects + description: Sets the project's restricted view settings identified by the IRI. + operationId: postAdminProjectsIriProjectiriRestrictedviewsettings + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + requestBody: + description: |- + Set how all still image resources of a projects should be displayed when viewed as restricted. + This can be either a size restriction or a watermark. + For that, we support two of the (IIIF size)[https://iiif.io/api/image/3.0/#42-size] forms: + * `!d,d` The returned image is scaled so that the width and height of the returned image are not greater than d, while maintaining the aspect ratio. + * `pct:n` The width and height of the returned image is scaled to n percent of the width and height of the original image. 1<= n <= 100. + + If the watermark is set to `true`, the returned image will be watermarked, otherwise the default size !128,128 is set. + + It is only possible to set either the size or the watermark, not both at the same time. + content: + application/json: + schema: + $ref: '#/components/schemas/SetRestrictedViewRequest' + example: + size: '!128,128' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/RestrictedViewResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortcode/{projectShortcode}: + get: + tags: + - Admin Projects + description: Returns a single project identified by the shortcode. + operationId: getAdminProjectsShortcodeProjectshortcode + parameters: + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectGetResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/projects/shortcode/{projectShortcode}/RestrictedViewSettings: + get: + tags: + - Admin Projects + description: Returns the project's restricted view settings identified by the + shortcode. + operationId: getAdminProjectsShortcodeProjectshortcodeRestrictedviewsettings + parameters: + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectRestrictedViewSettingsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + post: + tags: + - Admin Projects + description: Sets the project's restricted view settings identified by the shortcode. + operationId: postAdminProjectsShortcodeProjectshortcodeRestrictedviewsettings + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + requestBody: + description: |- + Set how all still image resources of a projects should be displayed when viewed as restricted. + This can be either a size restriction or a watermark. + For that, we support two of the (IIIF size)[https://iiif.io/api/image/3.0/#42-size] forms: + * `!d,d` The returned image is scaled so that the width and height of the returned image are not greater than d, while maintaining the aspect ratio. + * `pct:n` The width and height of the returned image is scaled to n percent of the width and height of the original image. 1<= n <= 100. + + If the watermark is set to `true`, the returned image will be watermarked, otherwise the default size !128,128 is set. + + It is only possible to set either the size or the watermark, not both at the same time. + content: + application/json: + schema: + $ref: '#/components/schemas/SetRestrictedViewRequest' + example: + size: '!128,128' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/RestrictedViewResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortname/{projectShortname}: + get: + tags: + - Admin Projects + description: Returns a single project identified by the shortname. + operationId: getAdminProjectsShortnameProjectshortname + parameters: + - name: projectShortname + in: path + description: The shortname of a project. + required: true + schema: + type: string + example: someShortname + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectGetResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/projects/shortname/{projectShortname}/RestrictedViewSettings: + get: + tags: + - Admin Projects + description: Returns the project's restricted view settings identified by the + shortname. + operationId: getAdminProjectsShortnameProjectshortnameRestrictedviewsettings + parameters: + - name: projectShortname + in: path + description: The shortname of a project. + required: true + schema: + type: string + example: someShortname + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectRestrictedViewSettingsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/projects/Keywords: + get: + tags: + - Admin Projects + description: Returns all unique keywords for all projects as a list. + operationId: getAdminProjectsKeywords + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectsKeywordsGetResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/projects/iri/{projectIri}/Keywords: + get: + tags: + - Admin Projects + description: Returns all keywords for a single project. + operationId: getAdminProjectsIriProjectiriKeywords + parameters: + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectKeywordsGetResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/projects/iri/{projectIri}/AllData: + get: + tags: + - Admin Projects + description: Returns all ontologies, data, and configuration belonging to a + project identified by the IRI. + operationId: getAdminProjectsIriProjectiriAlldata + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + headers: + Content-Disposition: + required: true + schema: + type: string + Content-Type: + required: true + schema: + type: string + content: + application/octet-stream: + schema: + type: string + format: binary + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/iri/{projectIri}/admin-members: + get: + tags: + - Admin Projects + operationId: getAdminProjectsIriProjectiriAdmin-members + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectAdminMembersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/iri/{projectIri}/members: + get: + tags: + - Admin Projects + description: Returns all project members of a project identified by the IRI. + operationId: getAdminProjectsIriProjectiriMembers + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectMembersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortcode/{projectShortcode}/admin-members: + get: + tags: + - Admin Projects + description: Returns all admin members of a project identified by the shortcode. + operationId: getAdminProjectsShortcodeProjectshortcodeAdmin-members + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectAdminMembersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortcode/{projectShortcode}/members: + get: + tags: + - Admin Projects + description: Returns all project members of a project identified by the shortcode. + operationId: getAdminProjectsShortcodeProjectshortcodeMembers + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectMembersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortname/{projectShortname}/admin-members: + get: + tags: + - Admin Projects + description: Returns all admin members of a project identified by the shortname. + operationId: getAdminProjectsShortnameProjectshortnameAdmin-members + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortname + in: path + description: The shortname of a project. + required: true + schema: + type: string + example: someShortname + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectAdminMembersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortname/{projectShortname}/members: + get: + tags: + - Admin Projects + description: Returns all project members of a project identified by the shortname. + operationId: getAdminProjectsShortnameProjectshortnameMembers + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortname + in: path + description: The shortname of a project. + required: true + schema: + type: string + example: someShortname + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectMembersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/export: + get: + tags: + - Admin Projects + description: Lists existing exports of all projects. + operationId: getAdminProjectsExport + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProjectExportInfoResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortcode/{projectShortcode}/export: + post: + tags: + - Admin Projects + description: Trigger an export of a project identified by the shortcode. + operationId: postAdminProjectsShortcodeProjectshortcodeExport + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + responses: + '202': + description: '' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/projects/shortcode/{projectShortcode}/import: + post: + tags: + - Admin Projects + description: Trigger an import of a project identified by the shortcode. + operationId: postAdminProjectsShortcodeProjectshortcodeImport + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectImportResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/store/ResetTriplestoreContent: + get: + tags: + - Admin Store + description: Resets the content of the triplestore, only available if configuration + `allowReloadOverHttp` is set to `true`. + operationId: getAdminStoreResettriplestorecontent + parameters: + - name: prependDefaults + in: query + description: Prepend defaults to the data objects. + required: false + schema: + type: boolean + default: true + requestBody: + description: RDF data objects to load into the triplestore, uses defaults + if not present. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RdfDataObject' + required: false + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/MessageResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/users/iri/{userIri}/project-memberships: + get: + tags: + - Admin Users + description: Returns the user's project memberships for a user identified by + their IRI. + operationId: getAdminUsersIriUseririProject-memberships + parameters: + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserProjectMembershipsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/users/iri/{userIri}/project-admin-memberships: + get: + tags: + - Admin Users + description: Returns the user's project admin memberships for a user identified + by their IRI. + operationId: getAdminUsersIriUseririProject-admin-memberships + parameters: + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserProjectAdminMembershipsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/users/iri/{userIri}/group-memberships: + get: + tags: + - Admin Users + description: Returns the user's group memberships for a user identified by their + IRI. + operationId: getAdminUsersIriUseririGroup-memberships + parameters: + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupMembershipsGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + /admin/users: + get: + tags: + - Admin Users + description: Returns all users. + operationId: getAdminUsers + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + post: + tags: + - Admin Users + description: Create a new user. + operationId: postAdminUsers + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreateRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}: + get: + tags: + - Admin Users + description: Returns a user identified by their IRI. + operationId: getAdminUsersIriUseriri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + delete: + tags: + - Admin Users + description: Delete a user identified by IRI (change status to false). + operationId: deleteAdminUsersIriUseriri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/email/{email}: + get: + tags: + - Admin Users + description: Returns a user identified by their Email. + operationId: getAdminUsersEmailEmail + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: email + in: path + description: The user email. Must be URL-encoded. + required: true + schema: + type: string + example: jane@example.com + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/username/{username}: + get: + tags: + - Admin Users + description: Returns a user identified by their Username. + operationId: getAdminUsersUsernameUsername + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: username + in: path + description: The user name. Must be URL-encoded. + required: true + schema: + type: string + example: JaneDoe + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}/project-memberships/{projectIri}: + post: + tags: + - Admin Users + description: Add a user to a project identified by IRI. + operationId: postAdminUsersIriUseririProject-membershipsProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + delete: + tags: + - Admin Users + description: Remove a user from a project membership identified by IRI. + operationId: deleteAdminUsersIriUseririProject-membershipsProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}/project-admin-memberships/{projectIri}: + post: + tags: + - Admin Users + description: Add a user as an admin to a project identified by IRI. + operationId: postAdminUsersIriUseririProject-admin-membershipsProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + delete: + tags: + - Admin Users + description: Remove a user form an admin project membership identified by IRI. + operationId: deleteAdminUsersIriUseririProject-admin-membershipsProjectiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + - name: projectIri + in: path + description: The IRI of a project. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/projects/0001 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}/group-memberships/{groupIri}: + post: + tags: + - Admin Users + description: Add a user to a group identified by IRI. + operationId: postAdminUsersIriUseririGroup-membershipsGroupiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + - name: groupIri + in: path + description: The IRI of a group. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/groups/00FF/gNdJSNYrTDu2lGpPUs94nQ + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + delete: + tags: + - Admin Users + description: Remove a user form an group membership identified by IRI. + operationId: deleteAdminUsersIriUseririGroup-membershipsGroupiri + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + - name: groupIri + in: path + description: The IRI of a group. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/groups/00FF/gNdJSNYrTDu2lGpPUs94nQ + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}/BasicUserInformation: + put: + tags: + - Admin Users + description: Update a user's basic information identified by IRI. + operationId: putAdminUsersIriUseririBasicuserinformation + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BasicUserInformationChangeRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}/Password: + put: + tags: + - Admin Users + description: Change a user's password identified by IRI. + operationId: putAdminUsersIriUseririPassword + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordChangeRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}/Status: + put: + tags: + - Admin Users + description: Change a user's status identified by IRI. + operationId: putAdminUsersIriUseririStatus + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusChangeRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/users/iri/{userIri}/SystemAdmin: + put: + tags: + - Admin Users + description: Change a user's SystemAdmin status identified by IRI. + operationId: putAdminUsersIriUseririSystemadmin + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: userIri + in: path + description: The user IRI. Must be URL-encoded. + required: true + schema: + type: string + example: http://rdfh.ch/users/-oKc5S4xSQ2E_50W0o1sFw + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SystemAdminChangeRequest' + required: true + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UserResponseADM' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] + /admin/files/{projectShortcode}/{filename}: + get: + tags: + - Admin Files + description: Returns the permission code and the project's restricted view settings + for a given shortcode and filename. + operationId: getAdminFilesProjectshortcodeFilename + parameters: + - name: KnoraAuthenticationMFYGSLTEMFZWG2BOON3WS43THI2DIMY9 + in: cookie + required: false + schema: + type: string + - name: projectShortcode + in: path + description: The shortcode of a project. Must be a 4 digit hexadecimal String. + required: true + schema: + type: string + example: '0001' + - name: filename + in: path + required: true + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionCodeAndProjectRestrictedViewSettings' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/GravsearchException' + '401': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BadCredentialsException' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenException' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundException' + security: + - httpAuth: [] + - httpAuth1: [] +components: + schemas: + Active: + type: object + AdministrativePermissionADM: + required: + - iri + - forProject + - forGroup + type: object + properties: + iri: + type: string + forProject: + type: string + forGroup: + type: string + hasPermissions: + type: array + items: + $ref: '#/components/schemas/PermissionADM' + AdministrativePermissionCreateResponseADM: + required: + - administrativePermission + type: object + properties: + administrativePermission: + $ref: '#/components/schemas/AdministrativePermissionADM' + AdministrativePermissionGetResponseADM: + required: + - administrativePermission + type: object + properties: + administrativePermission: + $ref: '#/components/schemas/AdministrativePermissionADM' + AdministrativePermissionsForProjectGetResponseADM: + type: object + properties: + administrativePermissions: + type: array + items: + $ref: '#/components/schemas/AdministrativePermissionADM' + Arr: + type: object + properties: + elements: + type: array + items: + $ref: '#/components/schemas/Json' + BadCredentialsException: + required: + - message + type: object + properties: + message: + type: string + BadRequestException: + required: + - message + type: object + properties: + message: + type: string + BasicUserInformationChangeRequest: + type: object + properties: + username: + type: string + email: + type: string + givenName: + type: string + familyName: + type: string + lang: + type: string + Bool: + required: + - value + type: object + properties: + value: + type: boolean + CanDeleteListResponseADM: + required: + - listIri + - canDeleteList + type: object + properties: + listIri: + type: string + canDeleteList: + type: boolean + CanJoin: + type: object + CannotJoin: + type: object + ChangePermissionGroupApiRequestADM: + required: + - forGroup + type: object + properties: + forGroup: + type: string + ChangePermissionHasPermissionsApiRequestADM: + type: object + properties: + hasPermissions: + type: array + items: + $ref: '#/components/schemas/PermissionADM' + ChangePermissionPropertyApiRequestADM: + required: + - forProperty + type: object + properties: + forProperty: + type: string + ChangePermissionResourceClassApiRequestADM: + required: + - forResourceClass + type: object + properties: + forResourceClass: + type: string + ChildNodeDeleteResponseADM: + required: + - node + type: object + properties: + node: + $ref: '#/components/schemas/ListNodeADM' + ChildNodeInfoGetResponseADM: + required: + - nodeinfo + type: object + properties: + nodeinfo: + $ref: '#/components/schemas/ListChildNodeInfoADM' + Comments: + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/StringLiteralV21' + CreateAdministrativePermissionAPIRequestADM: + required: + - forProject + - forGroup + type: object + properties: + id: + type: string + forProject: + type: string + forGroup: + type: string + hasPermissions: + type: array + items: + $ref: '#/components/schemas/PermissionADM' + CreateDefaultObjectAccessPermissionAPIRequestADM: + required: + - forProject + type: object + properties: + id: + type: string + forProject: + type: string + forGroup: + type: string + forResourceClass: + type: string + forProperty: + type: string + hasPermissions: + type: array + items: + $ref: '#/components/schemas/PermissionADM' + DefaultObjectAccessPermissionADM: + required: + - iri + - forProject + type: object + properties: + iri: + type: string + forProject: + type: string + forGroup: + type: string + forResourceClass: + type: string + forProperty: + type: string + hasPermissions: + type: array + items: + $ref: '#/components/schemas/PermissionADM' + DefaultObjectAccessPermissionCreateResponseADM: + required: + - defaultObjectAccessPermission + type: object + properties: + defaultObjectAccessPermission: + $ref: '#/components/schemas/DefaultObjectAccessPermissionADM' + DefaultObjectAccessPermissionGetResponseADM: + required: + - defaultObjectAccessPermission + type: object + properties: + defaultObjectAccessPermission: + $ref: '#/components/schemas/DefaultObjectAccessPermissionADM' + DefaultObjectAccessPermissionsForProjectGetResponseADM: + type: object + properties: + defaultObjectAccessPermissions: + type: array + items: + $ref: '#/components/schemas/DefaultObjectAccessPermissionADM' + DuplicateValueException: + required: + - message + type: object + properties: + message: + type: string + ForbiddenException: + required: + - message + type: object + properties: + message: + type: string + GravsearchException: + required: + - message + type: object + properties: + message: + type: string + Group: + required: + - id + - name + - project + - status + - selfjoin + type: object + properties: + id: + type: string + name: + type: string + descriptions: + type: array + items: + $ref: '#/components/schemas/StringLiteralV2' + project: + $ref: '#/components/schemas/ProjectADM' + status: + type: boolean + selfjoin: + type: boolean + GroupCreateRequest: + required: + - name + - descriptions + - project + - status + - selfjoin + type: object + properties: + id: + type: string + name: + type: string + descriptions: + type: array + items: + $ref: '#/components/schemas/StringLiteralV21' + project: + type: string + status: + type: boolean + selfjoin: + type: boolean + GroupGetResponseADM: + required: + - group + type: object + properties: + group: + $ref: '#/components/schemas/Group' + GroupMembersGetResponseADM: + type: object + properties: + members: + type: array + items: + $ref: '#/components/schemas/User' + GroupUpdateRequest: + type: object + properties: + name: + type: string + descriptions: + type: array + items: + $ref: '#/components/schemas/StringLiteralV21' + status: + type: boolean + selfjoin: + type: boolean + GroupsGetResponseADM: + type: object + properties: + groups: + type: array + items: + $ref: '#/components/schemas/Group' + Inactive: + type: object + Json: + oneOf: + - $ref: '#/components/schemas/Arr' + - $ref: '#/components/schemas/Bool' + - $ref: '#/components/schemas/Null' + - $ref: '#/components/schemas/Num' + - $ref: '#/components/schemas/Obj' + - $ref: '#/components/schemas/Str' + Labels: + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/StringLiteralV21' + ListADM: + required: + - listinfo + type: object + properties: + listinfo: + $ref: '#/components/schemas/ListRootNodeInfoADM' + children: + type: array + items: + $ref: '#/components/schemas/ListChildNodeADM' + ListChangeCommentsRequest: + required: + - comments + type: object + properties: + comments: + $ref: '#/components/schemas/Comments' + ListChangeLabelsRequest: + required: + - labels + type: object + properties: + labels: + $ref: '#/components/schemas/Labels' + ListChangeNameRequest: + required: + - name + type: object + properties: + name: + type: string + ListChangePositionRequest: + required: + - position + - parentNodeIri + type: object + properties: + position: + type: integer + format: int32 + parentNodeIri: + type: string + ListChangeRequest: + required: + - listIri + - projectIri + type: object + properties: + listIri: + type: string + projectIri: + type: string + hasRootNode: + type: string + position: + type: integer + format: int32 + name: + type: string + labels: + $ref: '#/components/schemas/Labels' + comments: + $ref: '#/components/schemas/Comments' + ListChildNodeADM: + required: + - id + - labels + - comments + - position + - hasRootNode + type: object + properties: + id: + type: string + name: + type: string + labels: + $ref: '#/components/schemas/StringLiteralSequenceV2' + comments: + $ref: '#/components/schemas/StringLiteralSequenceV2' + position: + type: integer + format: int32 + hasRootNode: + type: string + children: + type: array + items: + $ref: '#/components/schemas/ListChildNodeADM' + ListChildNodeInfoADM: + required: + - id + - labels + - comments + - position + - hasRootNode + type: object + properties: + id: + type: string + name: + type: string + labels: + $ref: '#/components/schemas/StringLiteralSequenceV2' + comments: + $ref: '#/components/schemas/StringLiteralSequenceV2' + position: + type: integer + format: int32 + hasRootNode: + type: string + ListCreateRootNodeRequest: + required: + - comments + - labels + - projectIri + type: object + properties: + id: + type: string + comments: + $ref: '#/components/schemas/Comments' + labels: + $ref: '#/components/schemas/Labels' + name: + type: string + projectIri: + type: string + ListDeleteResponseADM: + required: + - iri + - deleted + type: object + properties: + iri: + type: string + deleted: + type: boolean + ListGetResponseADM: + required: + - list + type: object + properties: + list: + $ref: '#/components/schemas/ListADM' + ListItemDeleteResponseADM: + oneOf: + - $ref: '#/components/schemas/ChildNodeDeleteResponseADM' + - $ref: '#/components/schemas/ListDeleteResponseADM' + ListItemGetResponseADM: + oneOf: + - $ref: '#/components/schemas/ListGetResponseADM' + - $ref: '#/components/schemas/ListNodeGetResponseADM' + ListNodeADM: + oneOf: + - $ref: '#/components/schemas/ListChildNodeADM' + - $ref: '#/components/schemas/ListRootNodeADM' + ListNodeCommentsDeleteResponseADM: + required: + - nodeIri + - commentsDeleted + type: object + properties: + nodeIri: + type: string + commentsDeleted: + type: boolean + ListNodeGetResponseADM: + required: + - node + type: object + properties: + node: + $ref: '#/components/schemas/NodeADM' + ListNodeInfoADM: + oneOf: + - $ref: '#/components/schemas/ListChildNodeInfoADM' + - $ref: '#/components/schemas/ListRootNodeInfoADM' + ListRootNodeADM: + required: + - id + - projectIri + - labels + - comments + type: object + properties: + id: + type: string + projectIri: + type: string + name: + type: string + labels: + $ref: '#/components/schemas/StringLiteralSequenceV2' + comments: + $ref: '#/components/schemas/StringLiteralSequenceV2' + children: + type: array + items: + $ref: '#/components/schemas/ListChildNodeADM' + ListRootNodeInfoADM: + required: + - id + - projectIri + - labels + - comments + type: object + properties: + id: + type: string + projectIri: + type: string + name: + type: string + labels: + $ref: '#/components/schemas/StringLiteralSequenceV2' + comments: + $ref: '#/components/schemas/StringLiteralSequenceV2' + ListsGetResponseADM: + type: object + properties: + lists: + type: array + items: + $ref: '#/components/schemas/ListNodeInfoADM' + Map_Seq_String: + type: object + additionalProperties: + type: array + items: + type: string + Map_Set_PermissionADM: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/PermissionADM' + MessageResponse: + required: + - message + type: object + properties: + message: + type: string + NodeADM: + required: + - nodeinfo + type: object + properties: + nodeinfo: + $ref: '#/components/schemas/ListChildNodeInfoADM' + children: + type: array + items: + $ref: '#/components/schemas/ListChildNodeADM' + NodeInfoGetResponseADM: + oneOf: + - $ref: '#/components/schemas/ChildNodeInfoGetResponseADM' + - $ref: '#/components/schemas/RootNodeInfoGetResponseADM' + NodePositionChangeResponseADM: + required: + - node + type: object + properties: + node: + $ref: '#/components/schemas/ListNodeADM' + NotFoundException: + required: + - message + type: object + properties: + message: + type: string + 'Null': + type: object + Num: + required: + - value + type: object + properties: + value: + type: number + Obj: + type: object + properties: + fields: + type: array + items: + $ref: '#/components/schemas/Tuple2_String_Json' + PasswordChangeRequest: + required: + - requesterPassword + - newPassword + type: object + properties: + requesterPassword: + type: string + newPassword: + type: string + PermissionADM: + required: + - name + type: object + properties: + name: + type: string + additionalInformation: + type: string + permissionCode: + type: integer + format: int32 + PermissionCodeAndProjectRestrictedViewSettings: + required: + - permissionCode + type: object + properties: + permissionCode: + type: integer + format: int32 + restrictedViewSettings: + $ref: '#/components/schemas/ProjectRestrictedViewSettingsADM' + PermissionDeleteResponseADM: + required: + - permissionIri + - deleted + type: object + properties: + permissionIri: + type: string + deleted: + type: boolean + PermissionGetResponseADM: + oneOf: + - $ref: '#/components/schemas/AdministrativePermissionGetResponseADM' + - $ref: '#/components/schemas/DefaultObjectAccessPermissionGetResponseADM' + PermissionInfoADM: + required: + - iri + - permissionType + type: object + properties: + iri: + type: string + permissionType: + type: string + PermissionsDataADM: + required: + - groupsPerProject + - administrativePermissionsPerProject + type: object + properties: + groupsPerProject: + $ref: '#/components/schemas/Map_Seq_String' + administrativePermissionsPerProject: + $ref: '#/components/schemas/Map_Set_PermissionADM' + PermissionsForProjectGetResponseADM: + type: object + properties: + allPermissions: + type: array + items: + $ref: '#/components/schemas/PermissionInfoADM' + ProjectADM: + required: + - id + - shortname + - shortcode + - status + - selfjoin + type: object + properties: + id: + type: string + shortname: + type: string + shortcode: + type: string + longname: + type: string + description: + type: array + items: + $ref: '#/components/schemas/StringLiteralV21' + keywords: + type: array + items: + type: string + logo: + type: string + ontologies: + type: array + items: + type: string + status: + type: boolean + selfjoin: + type: boolean + ProjectAdminMembersGetResponseADM: + type: object + properties: + members: + type: array + items: + $ref: '#/components/schemas/User' + ProjectCreateRequest: + required: + - shortname + - shortcode + - status + - selfjoin + type: object + properties: + id: + type: string + shortname: + type: string + shortcode: + type: string + longname: + type: string + description: + type: array + items: + required: + - value + type: object + properties: + value: + type: string + language: + type: string + keywords: + type: array + items: + type: string + logo: + type: string + status: + $ref: '#/components/schemas/Status' + selfjoin: + $ref: '#/components/schemas/SelfJoin' + ProjectExportInfoResponse: + required: + - projectShortname + - location + type: object + properties: + projectShortname: + type: string + location: + type: string + ProjectGetResponse: + required: + - project + type: object + properties: + project: + $ref: '#/components/schemas/ProjectADM' + ProjectImportResponse: + required: + - location + type: object + properties: + location: + type: string + ProjectKeywordsGetResponse: + type: object + properties: + keywords: + type: array + items: + type: string + ProjectMembersGetResponseADM: + type: object + properties: + members: + type: array + items: + $ref: '#/components/schemas/User' + ProjectOperationResponseADM: + required: + - project + type: object + properties: + project: + $ref: '#/components/schemas/ProjectADM' + ProjectRestrictedViewSettingsADM: + required: + - watermark + type: object + properties: + size: + type: string + watermark: + type: boolean + ProjectRestrictedViewSettingsGetResponseADM: + required: + - settings + type: object + properties: + settings: + $ref: '#/components/schemas/ProjectRestrictedViewSettingsADM' + ProjectUpdateRequest: + type: object + properties: + shortname: + type: string + longname: + type: string + description: + type: array + items: + required: + - value + type: object + properties: + value: + type: string + language: + type: string + keywords: + type: array + items: + type: string + logo: + type: string + status: + $ref: '#/components/schemas/Status' + selfjoin: + $ref: '#/components/schemas/SelfJoin' + ProjectsGetResponse: + type: object + properties: + projects: + type: array + items: + $ref: '#/components/schemas/ProjectADM' + ProjectsKeywordsGetResponse: + type: object + properties: + keywords: + type: array + items: + type: string + RdfDataObject: + required: + - path + - name + type: object + properties: + path: + type: string + name: + type: string + RestrictedViewResponse: + type: object + properties: + size: + $ref: '#/components/schemas/Size' + watermark: + $ref: '#/components/schemas/Watermark' + RootNodeInfoGetResponseADM: + required: + - listinfo + type: object + properties: + listinfo: + $ref: '#/components/schemas/ListRootNodeInfoADM' + SelfJoin: + oneOf: + - $ref: '#/components/schemas/CanJoin' + - $ref: '#/components/schemas/CannotJoin' + SetRestrictedViewRequest: + type: object + properties: + size: + $ref: '#/components/schemas/Size' + watermark: + $ref: '#/components/schemas/Watermark' + Size: + required: + - value + type: object + properties: + value: + type: string + Status: + oneOf: + - $ref: '#/components/schemas/Active' + - $ref: '#/components/schemas/Inactive' + StatusChangeRequest: + required: + - status + type: object + properties: + status: + type: boolean + Str: + required: + - value + type: object + properties: + value: + type: string + StringLiteralSequenceV2: + type: object + properties: + stringLiterals: + type: array + items: + $ref: '#/components/schemas/StringLiteralV2' + StringLiteralV2: + required: + - value + type: object + properties: + value: + type: string + language: + type: string + StringLiteralV21: + required: + - value + type: object + properties: + value: + type: string + language: + type: string + SystemAdminChangeRequest: + required: + - systemAdmin + type: object + properties: + systemAdmin: + type: boolean + Tuple2_String_Json: + required: + - _1 + - _2 + type: object + properties: + _1: + type: string + _2: + $ref: '#/components/schemas/Json' + User: + required: + - id + - username + - email + - givenName + - familyName + - status + - lang + - permissions + type: object + properties: + id: + type: string + username: + type: string + email: + type: string + givenName: + type: string + familyName: + type: string + status: + type: boolean + lang: + type: string + password: + type: string + groups: + type: array + items: + $ref: '#/components/schemas/Group' + projects: + type: array + items: + $ref: '#/components/schemas/ProjectADM' + permissions: + $ref: '#/components/schemas/PermissionsDataADM' + UserCreateRequest: + required: + - username + - email + - givenName + - familyName + - password + - status + - lang + - systemAdmin + type: object + properties: + id: + type: string + username: + type: string + email: + type: string + givenName: + type: string + familyName: + type: string + password: + type: string + status: + type: boolean + lang: + type: string + systemAdmin: + type: boolean + UserGroupMembershipsGetResponseADM: + type: object + properties: + groups: + type: array + items: + $ref: '#/components/schemas/Group' + UserProjectAdminMembershipsGetResponseADM: + type: object + properties: + projects: + type: array + items: + $ref: '#/components/schemas/ProjectADM' + UserProjectMembershipsGetResponseADM: + type: object + properties: + projects: + type: array + items: + $ref: '#/components/schemas/ProjectADM' + UserResponseADM: + required: + - user + type: object + properties: + user: + $ref: '#/components/schemas/User' + UsersGetResponseADM: + type: object + properties: + users: + type: array + items: + $ref: '#/components/schemas/User' + ValidationException: + required: + - msg + type: object + properties: + msg: + type: string + Watermark: + required: + - value + type: object + properties: + value: + type: boolean + securitySchemes: + httpAuth: + type: http + scheme: bearer + httpAuth1: + type: http + scheme: basic diff --git a/docs/css/mkdocsoad-v1.0.2.css b/docs/css/mkdocsoad-v1.0.2.css new file mode 100644 index 0000000000..2b43bb620b --- /dev/null +++ b/docs/css/mkdocsoad-v1.0.2.css @@ -0,0 +1,1614 @@ +/** + * All CSS for the neoteroi-mkdocs extensions. + * + * https://github.com/Neoteroi/mkdocs-plugins +**/ +:root { + --nt-color-0: #CD853F; + --nt-color-1: #B22222; + --nt-color-2: #000080; + --nt-color-3: #4B0082; + --nt-color-4: #3CB371; + --nt-color-5: #D2B48C; + --nt-color-6: #FF00FF; + --nt-color-7: #98FB98; + --nt-color-8: #FFEBCD; + --nt-color-9: #2E8B57; + --nt-color-10: #6A5ACD; + --nt-color-11: #48D1CC; + --nt-color-12: #FFA500; + --nt-color-13: #F4A460; + --nt-color-14: #A52A2A; + --nt-color-15: #FFE4C4; + --nt-color-16: #FF4500; + --nt-color-17: #AFEEEE; + --nt-color-18: #FA8072; + --nt-color-19: #2F4F4F; + --nt-color-20: #FFDAB9; + --nt-color-21: #BC8F8F; + --nt-color-22: #FFC0CB; + --nt-color-23: #00FA9A; + --nt-color-24: #F0FFF0; + --nt-color-25: #FFFACD; + --nt-color-26: #F5F5F5; + --nt-color-27: #FF6347; + --nt-color-28: #FFFFF0; + --nt-color-29: #7FFFD4; + --nt-color-30: #E9967A; + --nt-color-31: #7B68EE; + --nt-color-32: #FFF8DC; + --nt-color-33: #0000CD; + --nt-color-34: #D2691E; + --nt-color-35: #708090; + --nt-color-36: #5F9EA0; + --nt-color-37: #008080; + --nt-color-38: #008000; + --nt-color-39: #FFE4E1; + --nt-color-40: #FFFF00; + --nt-color-41: #FFFAF0; + --nt-color-42: #DCDCDC; + --nt-color-43: #ADFF2F; + --nt-color-44: #ADD8E6; + --nt-color-45: #8B008B; + --nt-color-46: #7FFF00; + --nt-color-47: #800000; + --nt-color-48: #20B2AA; + --nt-color-49: #556B2F; + --nt-color-50: #778899; + --nt-color-51: #E6E6FA; + --nt-color-52: #FFFAFA; + --nt-color-53: #FF7F50; + --nt-color-54: #FF0000; + --nt-color-55: #F5DEB3; + --nt-color-56: #008B8B; + --nt-color-57: #66CDAA; + --nt-color-58: #808000; + --nt-color-59: #FAF0E6; + --nt-color-60: #00BFFF; + --nt-color-61: #C71585; + --nt-color-62: #00FFFF; + --nt-color-63: #8B4513; + --nt-color-64: #F0F8FF; + --nt-color-65: #FAEBD7; + --nt-color-66: #8B0000; + --nt-color-67: #4682B4; + --nt-color-68: #F0E68C; + --nt-color-69: #BDB76B; + --nt-color-70: #A0522D; + --nt-color-71: #FAFAD2; + --nt-color-72: #FFD700; + --nt-color-73: #DEB887; + --nt-color-74: #E0FFFF; + --nt-color-75: #8A2BE2; + --nt-color-76: #32CD32; + --nt-color-77: #87CEFA; + --nt-color-78: #00CED1; + --nt-color-79: #696969; + --nt-color-80: #DDA0DD; + --nt-color-81: #EE82EE; + --nt-color-82: #FFB6C1; + --nt-color-83: #8FBC8F; + --nt-color-84: #D8BFD8; + --nt-color-85: #9400D3; + --nt-color-86: #A9A9A9; + --nt-color-87: #FFFFE0; + --nt-color-88: #FFF5EE; + --nt-color-89: #FFF0F5; + --nt-color-90: #FFDEAD; + --nt-color-91: #800080; + --nt-color-92: #B0E0E6; + --nt-color-93: #9932CC; + --nt-color-94: #DAA520; + --nt-color-95: #F0FFFF; + --nt-color-96: #40E0D0; + --nt-color-97: #00FF7F; + --nt-color-98: #006400; + --nt-color-99: #808080; + --nt-color-100: #87CEEB; + --nt-color-101: #0000FF; + --nt-color-102: #6495ED; + --nt-color-103: #FDF5E6; + --nt-color-104: #B8860B; + --nt-color-105: #BA55D3; + --nt-color-106: #C0C0C0; + --nt-color-107: #000000; + --nt-color-108: #F08080; + --nt-color-109: #B0C4DE; + --nt-color-110: #00008B; + --nt-color-111: #6B8E23; + --nt-color-112: #FFE4B5; + --nt-color-113: #FFA07A; + --nt-color-114: #9ACD32; + --nt-color-115: #FFFFFF; + --nt-color-116: #F5F5DC; + --nt-color-117: #90EE90; + --nt-color-118: #1E90FF; + --nt-color-119: #7CFC00; + --nt-color-120: #FF69B4; + --nt-color-121: #F8F8FF; + --nt-color-122: #F5FFFA; + --nt-color-123: #00FF00; + --nt-color-124: #D3D3D3; + --nt-color-125: #DB7093; + --nt-color-126: #DA70D6; + --nt-color-127: #FF1493; + --nt-color-128: #228B22; + --nt-color-129: #FFEFD5; + --nt-color-130: #4169E1; + --nt-color-131: #191970; + --nt-color-132: #9370DB; + --nt-color-133: #483D8B; + --nt-color-134: #FF8C00; + --nt-color-135: #EEE8AA; + --nt-color-136: #CD5C5C; + --nt-color-137: #DC143C; +} + +:root { + --nt-group-0-main: #000000; + --nt-group-0-dark: #FFFFFF; + --nt-group-0-light: #000000; + --nt-group-0-main-bg: #F44336; + --nt-group-0-dark-bg: #BA000D; + --nt-group-0-light-bg: #FF7961; + --nt-group-1-main: #000000; + --nt-group-1-dark: #FFFFFF; + --nt-group-1-light: #000000; + --nt-group-1-main-bg: #E91E63; + --nt-group-1-dark-bg: #B0003A; + --nt-group-1-light-bg: #FF6090; + --nt-group-2-main: #FFFFFF; + --nt-group-2-dark: #FFFFFF; + --nt-group-2-light: #000000; + --nt-group-2-main-bg: #9C27B0; + --nt-group-2-dark-bg: #6A0080; + --nt-group-2-light-bg: #D05CE3; + --nt-group-3-main: #FFFFFF; + --nt-group-3-dark: #FFFFFF; + --nt-group-3-light: #000000; + --nt-group-3-main-bg: #673AB7; + --nt-group-3-dark-bg: #320B86; + --nt-group-3-light-bg: #9A67EA; + --nt-group-4-main: #FFFFFF; + --nt-group-4-dark: #FFFFFF; + --nt-group-4-light: #000000; + --nt-group-4-main-bg: #3F51B5; + --nt-group-4-dark-bg: #002984; + --nt-group-4-light-bg: #757DE8; + --nt-group-5-main: #000000; + --nt-group-5-dark: #FFFFFF; + --nt-group-5-light: #000000; + --nt-group-5-main-bg: #2196F3; + --nt-group-5-dark-bg: #0069C0; + --nt-group-5-light-bg: #6EC6FF; + --nt-group-6-main: #000000; + --nt-group-6-dark: #FFFFFF; + --nt-group-6-light: #000000; + --nt-group-6-main-bg: #03A9F4; + --nt-group-6-dark-bg: #007AC1; + --nt-group-6-light-bg: #67DAFF; + --nt-group-7-main: #000000; + --nt-group-7-dark: #000000; + --nt-group-7-light: #000000; + --nt-group-7-main-bg: #00BCD4; + --nt-group-7-dark-bg: #008BA3; + --nt-group-7-light-bg: #62EFFF; + --nt-group-8-main: #000000; + --nt-group-8-dark: #FFFFFF; + --nt-group-8-light: #000000; + --nt-group-8-main-bg: #009688; + --nt-group-8-dark-bg: #00675B; + --nt-group-8-light-bg: #52C7B8; + --nt-group-9-main: #000000; + --nt-group-9-dark: #FFFFFF; + --nt-group-9-light: #000000; + --nt-group-9-main-bg: #4CAF50; + --nt-group-9-dark-bg: #087F23; + --nt-group-9-light-bg: #80E27E; + --nt-group-10-main: #000000; + --nt-group-10-dark: #000000; + --nt-group-10-light: #000000; + --nt-group-10-main-bg: #8BC34A; + --nt-group-10-dark-bg: #5A9216; + --nt-group-10-light-bg: #BEF67A; + --nt-group-11-main: #000000; + --nt-group-11-dark: #000000; + --nt-group-11-light: #000000; + --nt-group-11-main-bg: #CDDC39; + --nt-group-11-dark-bg: #99AA00; + --nt-group-11-light-bg: #FFFF6E; + --nt-group-12-main: #000000; + --nt-group-12-dark: #000000; + --nt-group-12-light: #000000; + --nt-group-12-main-bg: #FFEB3B; + --nt-group-12-dark-bg: #C8B900; + --nt-group-12-light-bg: #FFFF72; + --nt-group-13-main: #000000; + --nt-group-13-dark: #000000; + --nt-group-13-light: #000000; + --nt-group-13-main-bg: #FFC107; + --nt-group-13-dark-bg: #C79100; + --nt-group-13-light-bg: #FFF350; + --nt-group-14-main: #000000; + --nt-group-14-dark: #000000; + --nt-group-14-light: #000000; + --nt-group-14-main-bg: #FF9800; + --nt-group-14-dark-bg: #C66900; + --nt-group-14-light-bg: #FFC947; + --nt-group-15-main: #000000; + --nt-group-15-dark: #FFFFFF; + --nt-group-15-light: #000000; + --nt-group-15-main-bg: #FF5722; + --nt-group-15-dark-bg: #C41C00; + --nt-group-15-light-bg: #FF8A50; + --nt-group-16-main: #FFFFFF; + --nt-group-16-dark: #FFFFFF; + --nt-group-16-light: #000000; + --nt-group-16-main-bg: #795548; + --nt-group-16-dark-bg: #4B2C20; + --nt-group-16-light-bg: #A98274; + --nt-group-17-main: #000000; + --nt-group-17-dark: #FFFFFF; + --nt-group-17-light: #000000; + --nt-group-17-main-bg: #9E9E9E; + --nt-group-17-dark-bg: #707070; + --nt-group-17-light-bg: #CFCFCF; + --nt-group-18-main: #000000; + --nt-group-18-dark: #FFFFFF; + --nt-group-18-light: #000000; + --nt-group-18-main-bg: #607D8B; + --nt-group-18-dark-bg: #34515E; + --nt-group-18-light-bg: #8EACBB; +} + +.nt-pastello { + --nt-group-0-main: #000000; + --nt-group-0-dark: #000000; + --nt-group-0-light: #000000; + --nt-group-0-main-bg: #EF9A9A; + --nt-group-0-dark-bg: #BA6B6C; + --nt-group-0-light-bg: #FFCCCB; + --nt-group-1-main: #000000; + --nt-group-1-dark: #000000; + --nt-group-1-light: #000000; + --nt-group-1-main-bg: #F48FB1; + --nt-group-1-dark-bg: #BF5F82; + --nt-group-1-light-bg: #FFC1E3; + --nt-group-2-main: #000000; + --nt-group-2-dark: #000000; + --nt-group-2-light: #000000; + --nt-group-2-main-bg: #CE93D8; + --nt-group-2-dark-bg: #9C64A6; + --nt-group-2-light-bg: #FFC4FF; + --nt-group-3-main: #000000; + --nt-group-3-dark: #000000; + --nt-group-3-light: #000000; + --nt-group-3-main-bg: #B39DDB; + --nt-group-3-dark-bg: #836FA9; + --nt-group-3-light-bg: #E6CEFF; + --nt-group-4-main: #000000; + --nt-group-4-dark: #000000; + --nt-group-4-light: #000000; + --nt-group-4-main-bg: #9FA8DA; + --nt-group-4-dark-bg: #6F79A8; + --nt-group-4-light-bg: #D1D9FF; + --nt-group-5-main: #000000; + --nt-group-5-dark: #000000; + --nt-group-5-light: #000000; + --nt-group-5-main-bg: #90CAF9; + --nt-group-5-dark-bg: #5D99C6; + --nt-group-5-light-bg: #C3FDFF; + --nt-group-6-main: #000000; + --nt-group-6-dark: #000000; + --nt-group-6-light: #000000; + --nt-group-6-main-bg: #81D4FA; + --nt-group-6-dark-bg: #4BA3C7; + --nt-group-6-light-bg: #B6FFFF; + --nt-group-7-main: #000000; + --nt-group-7-dark: #000000; + --nt-group-7-light: #000000; + --nt-group-7-main-bg: #80DEEA; + --nt-group-7-dark-bg: #4BACB8; + --nt-group-7-light-bg: #B4FFFF; + --nt-group-8-main: #000000; + --nt-group-8-dark: #000000; + --nt-group-8-light: #000000; + --nt-group-8-main-bg: #80CBC4; + --nt-group-8-dark-bg: #4F9A94; + --nt-group-8-light-bg: #B2FEF7; + --nt-group-9-main: #000000; + --nt-group-9-dark: #000000; + --nt-group-9-light: #000000; + --nt-group-9-main-bg: #A5D6A7; + --nt-group-9-dark-bg: #75A478; + --nt-group-9-light-bg: #D7FFD9; + --nt-group-10-main: #000000; + --nt-group-10-dark: #000000; + --nt-group-10-light: #000000; + --nt-group-10-main-bg: #C5E1A5; + --nt-group-10-dark-bg: #94AF76; + --nt-group-10-light-bg: #F8FFD7; + --nt-group-11-main: #000000; + --nt-group-11-dark: #000000; + --nt-group-11-light: #000000; + --nt-group-11-main-bg: #E6EE9C; + --nt-group-11-dark-bg: #B3BC6D; + --nt-group-11-light-bg: #FFFFCE; + --nt-group-12-main: #000000; + --nt-group-12-dark: #000000; + --nt-group-12-light: #000000; + --nt-group-12-main-bg: #FFF59D; + --nt-group-12-dark-bg: #CBC26D; + --nt-group-12-light-bg: #FFFFCF; + --nt-group-13-main: #000000; + --nt-group-13-dark: #000000; + --nt-group-13-light: #000000; + --nt-group-13-main-bg: #FFE082; + --nt-group-13-dark-bg: #CAAE53; + --nt-group-13-light-bg: #FFFFB3; + --nt-group-14-main: #000000; + --nt-group-14-dark: #000000; + --nt-group-14-light: #000000; + --nt-group-14-main-bg: #FFCC80; + --nt-group-14-dark-bg: #CA9B52; + --nt-group-14-light-bg: #FFFFB0; + --nt-group-15-main: #000000; + --nt-group-15-dark: #000000; + --nt-group-15-light: #000000; + --nt-group-15-main-bg: #FFAB91; + --nt-group-15-dark-bg: #C97B63; + --nt-group-15-light-bg: #FFDDC1; + --nt-group-16-main: #000000; + --nt-group-16-dark: #000000; + --nt-group-16-light: #000000; + --nt-group-16-main-bg: #BCAAA4; + --nt-group-16-dark-bg: #8C7B75; + --nt-group-16-light-bg: #EFDCD5; + --nt-group-17-main: #000000; + --nt-group-17-dark: #000000; + --nt-group-17-light: #000000; + --nt-group-17-main-bg: #EEEEEE; + --nt-group-17-dark-bg: #BCBCBC; + --nt-group-17-light-bg: #FFFFFF; + --nt-group-18-main: #000000; + --nt-group-18-dark: #000000; + --nt-group-18-light: #000000; + --nt-group-18-main-bg: #B0BEC5; + --nt-group-18-dark-bg: #808E95; + --nt-group-18-light-bg: #E2F1F8; +} + +.nt-group-0 .nt-plan-group-summary, +.nt-group-0 .nt-timeline-dot { + color: var(--nt-group-0-dark); + background-color: var(--nt-group-0-dark-bg); +} +.nt-group-0 .period { + color: var(--nt-group-0-main); + background-color: var(--nt-group-0-main-bg); +} + +.nt-group-1 .nt-plan-group-summary, +.nt-group-1 .nt-timeline-dot { + color: var(--nt-group-1-dark); + background-color: var(--nt-group-1-dark-bg); +} +.nt-group-1 .period { + color: var(--nt-group-1-main); + background-color: var(--nt-group-1-main-bg); +} + +.nt-group-2 .nt-plan-group-summary, +.nt-group-2 .nt-timeline-dot { + color: var(--nt-group-2-dark); + background-color: var(--nt-group-2-dark-bg); +} +.nt-group-2 .period { + color: var(--nt-group-2-main); + background-color: var(--nt-group-2-main-bg); +} + +.nt-group-3 .nt-plan-group-summary, +.nt-group-3 .nt-timeline-dot { + color: var(--nt-group-3-dark); + background-color: var(--nt-group-3-dark-bg); +} +.nt-group-3 .period { + color: var(--nt-group-3-main); + background-color: var(--nt-group-3-main-bg); +} + +.nt-group-4 .nt-plan-group-summary, +.nt-group-4 .nt-timeline-dot { + color: var(--nt-group-4-dark); + background-color: var(--nt-group-4-dark-bg); +} +.nt-group-4 .period { + color: var(--nt-group-4-main); + background-color: var(--nt-group-4-main-bg); +} + +.nt-group-5 .nt-plan-group-summary, +.nt-group-5 .nt-timeline-dot { + color: var(--nt-group-5-dark); + background-color: var(--nt-group-5-dark-bg); +} +.nt-group-5 .period { + color: var(--nt-group-5-main); + background-color: var(--nt-group-5-main-bg); +} + +.nt-group-6 .nt-plan-group-summary, +.nt-group-6 .nt-timeline-dot { + color: var(--nt-group-6-dark); + background-color: var(--nt-group-6-dark-bg); +} +.nt-group-6 .period { + color: var(--nt-group-6-main); + background-color: var(--nt-group-6-main-bg); +} + +.nt-group-7 .nt-plan-group-summary, +.nt-group-7 .nt-timeline-dot { + color: var(--nt-group-7-dark); + background-color: var(--nt-group-7-dark-bg); +} +.nt-group-7 .period { + color: var(--nt-group-7-main); + background-color: var(--nt-group-7-main-bg); +} + +.nt-group-8 .nt-plan-group-summary, +.nt-group-8 .nt-timeline-dot { + color: var(--nt-group-8-dark); + background-color: var(--nt-group-8-dark-bg); +} +.nt-group-8 .period { + color: var(--nt-group-8-main); + background-color: var(--nt-group-8-main-bg); +} + +.nt-group-9 .nt-plan-group-summary, +.nt-group-9 .nt-timeline-dot { + color: var(--nt-group-9-dark); + background-color: var(--nt-group-9-dark-bg); +} +.nt-group-9 .period { + color: var(--nt-group-9-main); + background-color: var(--nt-group-9-main-bg); +} + +.nt-group-10 .nt-plan-group-summary, +.nt-group-10 .nt-timeline-dot { + color: var(--nt-group-10-dark); + background-color: var(--nt-group-10-dark-bg); +} +.nt-group-10 .period { + color: var(--nt-group-10-main); + background-color: var(--nt-group-10-main-bg); +} + +.nt-group-11 .nt-plan-group-summary, +.nt-group-11 .nt-timeline-dot { + color: var(--nt-group-11-dark); + background-color: var(--nt-group-11-dark-bg); +} +.nt-group-11 .period { + color: var(--nt-group-11-main); + background-color: var(--nt-group-11-main-bg); +} + +.nt-group-12 .nt-plan-group-summary, +.nt-group-12 .nt-timeline-dot { + color: var(--nt-group-12-dark); + background-color: var(--nt-group-12-dark-bg); +} +.nt-group-12 .period { + color: var(--nt-group-12-main); + background-color: var(--nt-group-12-main-bg); +} + +.nt-group-13 .nt-plan-group-summary, +.nt-group-13 .nt-timeline-dot { + color: var(--nt-group-13-dark); + background-color: var(--nt-group-13-dark-bg); +} +.nt-group-13 .period { + color: var(--nt-group-13-main); + background-color: var(--nt-group-13-main-bg); +} + +.nt-group-14 .nt-plan-group-summary, +.nt-group-14 .nt-timeline-dot { + color: var(--nt-group-14-dark); + background-color: var(--nt-group-14-dark-bg); +} +.nt-group-14 .period { + color: var(--nt-group-14-main); + background-color: var(--nt-group-14-main-bg); +} + +.nt-group-15 .nt-plan-group-summary, +.nt-group-15 .nt-timeline-dot { + color: var(--nt-group-15-dark); + background-color: var(--nt-group-15-dark-bg); +} +.nt-group-15 .period { + color: var(--nt-group-15-main); + background-color: var(--nt-group-15-main-bg); +} + +.nt-group-16 .nt-plan-group-summary, +.nt-group-16 .nt-timeline-dot { + color: var(--nt-group-16-dark); + background-color: var(--nt-group-16-dark-bg); +} +.nt-group-16 .period { + color: var(--nt-group-16-main); + background-color: var(--nt-group-16-main-bg); +} + +.nt-group-17 .nt-plan-group-summary, +.nt-group-17 .nt-timeline-dot { + color: var(--nt-group-17-dark); + background-color: var(--nt-group-17-dark-bg); +} +.nt-group-17 .period { + color: var(--nt-group-17-main); + background-color: var(--nt-group-17-main-bg); +} + +.nt-group-18 .nt-plan-group-summary, +.nt-group-18 .nt-timeline-dot { + color: var(--nt-group-18-dark); + background-color: var(--nt-group-18-dark-bg); +} +.nt-group-18 .period { + color: var(--nt-group-18-main); + background-color: var(--nt-group-18-main-bg); +} + +/** + * Extra CSS file for MkDocs and the neoteroi.timeline extension. + * + * https://github.com/Neoteroi/mkdocs-plugins +**/ +.nt-error { + border: 2px dashed darkred; + padding: 0 1rem; + background: #faf9ba; + color: darkred; +} + +.nt-timeline { + margin-top: 30px; +} +.nt-timeline .nt-timeline-title { + font-size: 1.1rem; + margin-top: 0; +} +.nt-timeline .nt-timeline-sub-title { + margin-top: 0; +} +.nt-timeline .nt-timeline-content { + font-size: 0.8rem; + border-bottom: 2px dashed #ccc; + padding-bottom: 1.2rem; +} +.nt-timeline.horizontal .nt-timeline-items { + flex-direction: row; + overflow-x: scroll; +} +.nt-timeline.horizontal .nt-timeline-items > div { + min-width: 400px; + margin-right: 50px; +} +.nt-timeline.horizontal.reverse .nt-timeline-items { + flex-direction: row-reverse; +} +.nt-timeline.horizontal.center .nt-timeline-before { + background-image: linear-gradient(rgba(252, 70, 107, 0) 0%, rgb(252, 70, 107) 100%); + background-repeat: no-repeat; + background-size: 100% 2px; + background-position: 0 center; +} +.nt-timeline.horizontal.center .nt-timeline-after { + background-image: linear-gradient(180deg, rgb(252, 70, 107) 0%, rgba(252, 70, 107, 0) 100%); + background-repeat: no-repeat; + background-size: 100% 2px; + background-position: 0 center; +} +.nt-timeline.horizontal.center .nt-timeline-items { + background-image: radial-gradient(circle, rgb(63, 94, 251) 0%, rgb(252, 70, 107) 100%); + background-repeat: no-repeat; + background-size: 100% 2px; + background-position: 0 center; +} +.nt-timeline.horizontal .nt-timeline-dot { + left: 50%; +} +.nt-timeline.horizontal .nt-timeline-dot:not(.bigger) { + top: calc(50% - 4px); +} +.nt-timeline.horizontal .nt-timeline-dot.bigger { + top: calc(50% - 15px); +} +.nt-timeline.vertical .nt-timeline-items { + flex-direction: column; +} +.nt-timeline.vertical.reverse .nt-timeline-items { + flex-direction: column-reverse; +} +.nt-timeline.vertical.center .nt-timeline-before { + background: linear-gradient(rgba(252, 70, 107, 0) 0%, rgb(252, 70, 107) 100%) no-repeat center/2px 100%; +} +.nt-timeline.vertical.center .nt-timeline-after { + background: linear-gradient(rgb(252, 70, 107) 0%, rgba(252, 70, 107, 0) 100%) no-repeat center/2px 100%; +} +.nt-timeline.vertical.center .nt-timeline-items { + background: radial-gradient(circle, rgb(63, 94, 251) 0%, rgb(252, 70, 107) 100%) no-repeat center/2px 100%; +} +.nt-timeline.vertical.center .nt-timeline-dot { + left: calc(50% - 10px); +} +.nt-timeline.vertical.center .nt-timeline-dot:not(.bigger) { + top: 10px; +} +.nt-timeline.vertical.center .nt-timeline-dot.bigger { + left: calc(50% - 20px); +} +.nt-timeline.vertical.left { + padding-left: 100px; +} +.nt-timeline.vertical.left .nt-timeline-item { + padding-left: 70px; +} +.nt-timeline.vertical.left .nt-timeline-sub-title { + left: -100px; + width: 100px; +} +.nt-timeline.vertical.left .nt-timeline-before { + background: linear-gradient(rgba(252, 70, 107, 0) 0%, rgb(252, 70, 107) 100%) no-repeat 30px/2px 100%; +} +.nt-timeline.vertical.left .nt-timeline-after { + background: linear-gradient(rgb(252, 70, 107) 0%, rgba(252, 70, 107, 0) 100%) no-repeat 30px/2px 100%; +} +.nt-timeline.vertical.left .nt-timeline-items { + background: radial-gradient(circle, rgb(63, 94, 251) 0%, rgb(252, 70, 107) 100%) no-repeat 30px/2px 100%; +} +.nt-timeline.vertical.left .nt-timeline-dot { + left: 21px; + top: 8px; +} +.nt-timeline.vertical.left .nt-timeline-dot.bigger { + top: 0px; + left: 10px; +} +.nt-timeline.vertical.right { + padding-right: 100px; +} +.nt-timeline.vertical.right .nt-timeline-sub-title { + right: -100px; + text-align: left; + width: 100px; +} +.nt-timeline.vertical.right .nt-timeline-item { + padding-right: 70px; +} +.nt-timeline.vertical.right .nt-timeline-before { + background: linear-gradient(rgba(252, 70, 107, 0) 0%, rgb(252, 70, 107) 100%) no-repeat calc(100% - 30px)/2px 100%; +} +.nt-timeline.vertical.right .nt-timeline-after { + background: linear-gradient(rgb(252, 70, 107) 0%, rgba(252, 70, 107, 0) 100%) no-repeat calc(100% - 30px)/2px 100%; +} +.nt-timeline.vertical.right .nt-timeline-items { + background: radial-gradient(circle, rgb(63, 94, 251) 0%, rgb(252, 70, 107) 100%) no-repeat calc(100% - 30px)/2px 100%; +} +.nt-timeline.vertical.right .nt-timeline-dot { + right: 21px; + top: 8px; +} +.nt-timeline.vertical.right .nt-timeline-dot.bigger { + top: 10px; + right: 10px; +} + +.nt-timeline-items { + display: flex; + position: relative; +} +.nt-timeline-items > div { + min-height: 100px; + padding-top: 2px; + padding-bottom: 20px; +} + +.nt-timeline-before { + content: ""; + height: 15px; +} + +.nt-timeline-after { + content: ""; + height: 60px; + margin-bottom: 20px; +} + +.nt-timeline-sub-title { + position: absolute; + width: 50%; + top: 4px; + font-size: 18px; + color: var(--nt-color-50); +} + +[data-md-color-scheme=slate] .nt-timeline-sub-title { + color: var(--nt-color-51); +} + +.nt-timeline-item { + position: relative; +} + +.nt-timeline.vertical.center:not(.alternate) .nt-timeline-item { + padding-left: calc(50% + 40px); +} +.nt-timeline.vertical.center:not(.alternate) .nt-timeline-item .nt-timeline-sub-title { + left: 0; + padding-right: 40px; + text-align: right; +} +.nt-timeline.vertical.center.alternate .nt-timeline-item:nth-child(odd) { + padding-left: calc(50% + 40px); +} +.nt-timeline.vertical.center.alternate .nt-timeline-item:nth-child(odd) .nt-timeline-sub-title { + left: 0; + padding-right: 40px; + text-align: right; +} +.nt-timeline.vertical.center.alternate .nt-timeline-item:nth-child(even) { + text-align: right; + padding-right: calc(50% + 40px); +} +.nt-timeline.vertical.center.alternate .nt-timeline-item:nth-child(even) .nt-timeline-sub-title { + right: 0; + padding-left: 40px; + text-align: left; +} + +.nt-timeline-dot { + position: relative; + width: 20px; + height: 20px; + border-radius: 100%; + background-color: #fc5b5b; + position: absolute; + top: 0px; + z-index: 2; + display: flex; + justify-content: center; + align-items: center; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border: 3px solid white; +} +.nt-timeline-dot:not(.bigger) .icon { + font-size: 10px; +} +.nt-timeline-dot.bigger { + width: 40px; + height: 40px; + padding: 3px; +} +.nt-timeline-dot .icon { + color: white; + position: relative; + top: 1px; +} + +/* Fix for webkit (Chrome, Safari) */ +@supports not (-moz-appearance: none) { + /* + This fix is necessary, for some reason, to render the timeline properly + inside `details` elements used by pymdownx. Firefox doesn't need this fix, + it renders elements properly. + */ + details .nt-timeline.vertical.center.alternate .nt-timeline-item:nth-child(odd) .nt-timeline-sub-title, +details .nt-timeline.vertical.center:not(.alternate) .nt-timeline-item .nt-timeline-sub-title { + left: -40px; + } + details .nt-timeline.vertical.center.alternate .nt-timeline-item:nth-child(even) .nt-timeline-sub-title { + right: -40px; + } + details .nt-timeline.vertical.center .nt-timeline-dot { + left: calc(50% - 12px); + } + details .nt-timeline-dot.bigger { + font-size: 1rem !important; + } +} +/* default colors */ +.nt-timeline-item:nth-child(0) .nt-timeline-dot { + background-color: var(--nt-color-0); +} + +.nt-timeline-item:nth-child(1) .nt-timeline-dot { + background-color: var(--nt-color-1); +} + +.nt-timeline-item:nth-child(2) .nt-timeline-dot { + background-color: var(--nt-color-2); +} + +.nt-timeline-item:nth-child(3) .nt-timeline-dot { + background-color: var(--nt-color-3); +} + +.nt-timeline-item:nth-child(4) .nt-timeline-dot { + background-color: var(--nt-color-4); +} + +.nt-timeline-item:nth-child(5) .nt-timeline-dot { + background-color: var(--nt-color-5); +} + +.nt-timeline-item:nth-child(6) .nt-timeline-dot { + background-color: var(--nt-color-6); +} + +.nt-timeline-item:nth-child(7) .nt-timeline-dot { + background-color: var(--nt-color-7); +} + +.nt-timeline-item:nth-child(8) .nt-timeline-dot { + background-color: var(--nt-color-8); +} + +.nt-timeline-item:nth-child(9) .nt-timeline-dot { + background-color: var(--nt-color-9); +} + +.nt-timeline-item:nth-child(10) .nt-timeline-dot { + background-color: var(--nt-color-10); +} + +.nt-timeline-item:nth-child(11) .nt-timeline-dot { + background-color: var(--nt-color-11); +} + +.nt-timeline-item:nth-child(12) .nt-timeline-dot { + background-color: var(--nt-color-12); +} + +.nt-timeline-item:nth-child(13) .nt-timeline-dot { + background-color: var(--nt-color-13); +} + +.nt-timeline-item:nth-child(14) .nt-timeline-dot { + background-color: var(--nt-color-14); +} + +.nt-timeline-item:nth-child(15) .nt-timeline-dot { + background-color: var(--nt-color-15); +} + +.nt-timeline-item:nth-child(16) .nt-timeline-dot { + background-color: var(--nt-color-16); +} + +.nt-timeline-item:nth-child(17) .nt-timeline-dot { + background-color: var(--nt-color-17); +} + +.nt-timeline-item:nth-child(18) .nt-timeline-dot { + background-color: var(--nt-color-18); +} + +.nt-timeline-item:nth-child(19) .nt-timeline-dot { + background-color: var(--nt-color-19); +} + +.nt-timeline-item:nth-child(20) .nt-timeline-dot { + background-color: var(--nt-color-20); +} + +/** + * Extra CSS for the neoteroi.projects.gantt extension. + * + * https://github.com/Neoteroi/mkdocs-plugins +**/ +:root { + --nt-scrollbar-color: #2751b0; + --nt-plan-actions-height: 24px; + --nt-units-background: #ff9800; + --nt-months-background: #2751b0; + --nt-plan-vertical-line-color: #a3a3a3ad; +} + +.nt-pastello { + --nt-scrollbar-color: #9fb8f4; + --nt-units-background: #f5dc82; + --nt-months-background: #5b7fd1; +} + +[data-md-color-scheme=slate] { + --nt-units-background: #003773; +} +[data-md-color-scheme=slate] .nt-pastello { + --nt-units-background: #3f4997; +} + +.nt-plan-root { + min-height: 200px; + scrollbar-width: 20px; + scrollbar-color: var(--nt-scrollbar-color); + display: flex; +} +.nt-plan-root ::-webkit-scrollbar { + width: 20px; +} +.nt-plan-root ::-webkit-scrollbar-track { + box-shadow: inset 0 0 5px grey; + border-radius: 10px; +} +.nt-plan-root ::-webkit-scrollbar-thumb { + background: var(--nt-scrollbar-color); + border-radius: 10px; +} +.nt-plan-root .nt-plan { + flex: 80%; +} +.nt-plan-root.no-groups .nt-plan-periods { + padding-left: 0; +} +.nt-plan-root.no-groups .nt-plan-group-summary { + display: none; +} +.nt-plan-root .nt-timeline-dot.bigger { + top: -10px; +} +.nt-plan-root .nt-timeline-dot.bigger[title] { + cursor: help; +} + +.nt-plan { + white-space: nowrap; + overflow-x: auto; + display: flex; +} +.nt-plan .ug-timeline-dot { + left: 368px; + top: -8px; + cursor: help; +} + +.months { + display: flex; +} + +.month { + flex: auto; + display: inline-block; + box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.14) 0px 2px 2px 0px, rgba(0, 0, 0, 0.12) 0px 1px 5px 0px inset; + background-color: var(--nt-months-background); + color: white; + text-transform: uppercase; + font-family: Roboto, Helvetica, Arial, sans-serif; + padding: 2px 5px; + font-size: 12px; + border: 1px solid #000; + width: 150px; + border-radius: 8px; +} + +.nt-plan-group-activities { + flex: auto; + position: relative; +} + +.nt-vline { + border-left: 1px dashed var(--nt-plan-vertical-line-color); + height: 100%; + left: 0; + position: absolute; + margin-left: -0.5px; + top: 0; + -webkit-transition: all 0.5s linear !important; + -moz-transition: all 0.5s linear !important; + -ms-transition: all 0.5s linear !important; + -o-transition: all 0.5s linear !important; + transition: all 0.5s linear !important; + z-index: -2; +} + +.nt-plan-activity { + display: flex; + margin: 2px 0; + background-color: rgba(187, 187, 187, 0.2509803922); +} + +.actions { + height: var(--nt-plan-actions-height); +} + +.actions { + position: relative; +} + +.period { + display: inline-block; + height: var(--nt-plan-actions-height); + width: 120px; + position: absolute; + left: 0px; + background: #1da1f2; + border-radius: 5px; + transition: all 0.5s; + cursor: help; + -webkit-transition: width 1s ease-in-out; + -moz-transition: width 1s ease-in-out; + -o-transition: width 1s ease-in-out; + transition: width 1s ease-in-out; +} +.period .nt-tooltip { + display: none; + top: 30px; + position: relative; + padding: 1rem; + text-align: center; + font-size: 12px; +} +.period:hover .nt-tooltip { + display: inline-block; +} + +.period-0 { + left: 340px; + visibility: visible; + background-color: rgb(69, 97, 101); +} + +.period-1 { + left: 40px; + visibility: visible; + background-color: green; +} + +.period-2 { + left: 120px; + visibility: visible; + background-color: pink; + width: 80px; +} + +.period-3 { + left: 190px; + visibility: visible; + background-color: darkred; + width: 150px; +} + +.weeks > span, +.days > span { + height: 25px; +} + +.weeks > span { + display: inline-block; + margin: 0; + padding: 0; + font-weight: bold; +} +.weeks > span .week-text { + font-size: 10px; + position: absolute; + display: inline-block; + padding: 3px 4px; +} + +.days { + z-index: -2; + position: relative; +} + +.day-text { + font-size: 10px; + position: absolute; + display: inline-block; + padding: 3px 4px; +} + +.period span { + font-size: 12px; + vertical-align: top; + margin-left: 4px; + color: black; + background: rgba(255, 255, 255, 0.6588235294); + border-radius: 6px; + padding: 0 4px; +} + +.weeks, +.days { + height: 20px; + display: flex; + box-sizing: content-box; +} + +.months { + display: flex; +} + +.week, +.day { + height: 20px; + position: relative; + border: 1; + flex: auto; + border: 2px solid white; + border-radius: 4px; + background-color: var(--nt-units-background); + cursor: help; +} + +.years { + display: flex; +} + +.year { + text-align: center; + border-right: 1px solid var(--nt-plan-vertical-line-color); + font-weight: bold; +} +.year:first-child { + border-left: 1px solid var(--nt-plan-vertical-line-color); +} +.year:first-child:last-child { + width: 100%; +} + +.quarters { + display: flex; +} + +.quarter { + width: 12.5%; + text-align: center; + border-right: 1px solid var(--nt-plan-vertical-line-color); + font-weight: bold; +} +.quarter:first-child { + border-left: 1px solid var(--nt-plan-vertical-line-color); +} + +.nt-plan-group { + margin: 20px 0; + position: relative; +} + +.nt-plan-group { + display: flex; +} + +.nt-plan-group-summary { + background: #2751b0; + width: 150px; + white-space: normal; + padding: 0.1rem 0.5rem; + border-radius: 5px; + color: #fff; + z-index: 3; +} +.nt-plan-group-summary p { + margin: 0; + padding: 0; + font-size: 0.6rem; + color: #fff; +} + +.nt-plan-group-summary, +.month, +.period, +.week, +.day, +.nt-tooltip { + border: 3px solid white; + box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 0.2), 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} + +.nt-plan-periods { + padding-left: 150px; +} + +.months { + z-index: 2; + position: relative; +} + +.weeks { + position: relative; + top: -2px; + z-index: 0; +} + +.month, +.quarter, +.year, +.week, +.day, +.nt-tooltip { + font-family: Roboto, Helvetica, Arial, sans-serif; + box-sizing: border-box; +} + +.nt-cards.nt-grid { + display: grid; + grid-auto-columns: 1fr; + gap: 0.5rem; + max-width: 100vw; + overflow-x: auto; + padding: 1px; +} +.nt-cards.nt-grid.cols-1 { + grid-template-columns: repeat(1, 1fr); +} +.nt-cards.nt-grid.cols-2 { + grid-template-columns: repeat(2, 1fr); +} +.nt-cards.nt-grid.cols-3 { + grid-template-columns: repeat(3, 1fr); +} +.nt-cards.nt-grid.cols-4 { + grid-template-columns: repeat(4, 1fr); +} +.nt-cards.nt-grid.cols-5 { + grid-template-columns: repeat(5, 1fr); +} +.nt-cards.nt-grid.cols-6 { + grid-template-columns: repeat(6, 1fr); +} + +@media only screen and (max-width: 400px) { + .nt-cards.nt-grid { + grid-template-columns: repeat(1, 1fr) !important; + } +} +.nt-card { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.nt-card:hover { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.24), 0 3px 1px -2px rgba(0, 0, 0, 0.3), 0 1px 5px 0 rgba(0, 0, 0, 0.22); +} + +[data-md-color-scheme=slate] .nt-card { + box-shadow: 0 2px 2px 0 rgba(4, 40, 33, 0.14), 0 3px 1px -2px rgba(40, 86, 94, 0.47), 0 1px 5px 0 rgba(139, 252, 255, 0.64); +} +[data-md-color-scheme=slate] .nt-card:hover { + box-shadow: 0 2px 2px 0 rgba(0, 255, 206, 0.14), 0 3px 1px -2px rgba(33, 156, 177, 0.47), 0 1px 5px 0 rgba(96, 251, 255, 0.64); +} + +.nt-card > a { + color: var(--md-default-fg-color); +} + +.nt-card > a > div { + cursor: pointer; +} + +.nt-card { + padding: 5px; + margin-bottom: 0.5rem; +} + +.nt-card-title { + font-size: 1rem; + font-weight: bold; + margin: 4px 0 8px 0; + line-height: 22px; +} + +.nt-card-content { + padding: 0.4rem 0.8rem 0.8rem 0.8rem; +} + +.nt-card-text { + font-size: 14px; + padding: 0; + margin: 0; +} + +.nt-card .nt-card-image { + text-align: center; + border-radius: 2px; + background-position: center center; + background-size: cover; + background-repeat: no-repeat; + min-height: 120px; +} + +.nt-card .nt-card-image.tags img { + margin-top: 12px; +} + +.nt-card .nt-card-image img { + height: 105px; + margin-top: 5px; +} + +.nt-card a:hover, +.nt-card a:focus { + color: var(--md-accent-fg-color); +} + +.nt-card h2 { + margin: 0; +} + +/** + * Extra CSS file recommended for MkDocs and neoteroi.spantable extension. + * + * https://github.com/Neoteroi/mkdocs-plugins +**/ +.span-table-wrapper table { + border-collapse: collapse; + margin-bottom: 2rem; + border-radius: 0.1rem; +} + +.span-table td, +.span-table th { + padding: 0.2rem; + background-color: var(--md-default-bg-color); + font-size: 0.64rem; + max-width: 100%; + overflow: auto; + touch-action: auto; + border-top: 0.05rem solid var(--md-typeset-table-color); + padding: 0.9375em 1.25em; + vertical-align: top; +} + +.span-table tr:first-child td { + font-weight: 700; + min-width: 5rem; + padding: 0.9375em 1.25em; + vertical-align: top; +} + +.span-table td:first-child { + border-left: 0.05rem solid var(--md-typeset-table-color); +} + +.span-table td:last-child { + border-right: 0.05rem solid var(--md-typeset-table-color); +} + +.span-table tr:last-child { + border-bottom: 0.05rem solid var(--md-typeset-table-color); +} + +.span-table [colspan], +.span-table [rowspan] { + font-weight: bold; + border: 0.05rem solid var(--md-typeset-table-color); +} + +.span-table tr:not(:first-child):hover td:not([colspan]):not([rowspan]), +.span-table td[colspan]:hover, +.span-table td[rowspan]:hover { + background-color: rgba(0, 0, 0, 0.035); + box-shadow: 0 0.05rem 0 var(--md-default-bg-color) inset; + transition: background-color 125ms; +} + +.nt-contribs { + margin-top: 2rem; + font-size: small; + border-top: 1px dotted lightgray; + padding-top: 0.5rem; +} +.nt-contribs .nt-contributors { + padding-top: 0.5rem; + display: flex; + flex-wrap: wrap; +} +.nt-contribs .nt-contributor { + background: lightgrey; + background-size: cover; + width: 40px; + height: 40px; + border-radius: 100%; + margin: 0 6px 6px 0; + cursor: help; + opacity: 0.7; +} +.nt-contribs .nt-contributor:hover { + opacity: 1; +} +.nt-contribs .nt-contributors-title { + font-style: italic; + margin-bottom: 0; +} +.nt-contribs .nt-initials { + text-transform: uppercase; + font-size: 20px; + text-align: center; + width: 40px; + height: 40px; + display: inline-block; + vertical-align: middle; + position: relative; + top: 4px; + color: inherit; + font-weight: bold; +} +.nt-contribs .nt-group-0 { + background-color: var(--nt-color-0); +} +.nt-contribs .nt-group-1 { + background-color: var(--nt-color-1); +} +.nt-contribs .nt-group-2 { + background-color: var(--nt-color-2); +} +.nt-contribs .nt-group-3 { + background-color: var(--nt-color-3); +} +.nt-contribs .nt-group-4 { + background-color: var(--nt-color-4); +} +.nt-contribs .nt-group-5 { + background-color: var(--nt-color-5); +} +.nt-contribs .nt-group-6 { + background-color: var(--nt-color-6); +} +.nt-contribs .nt-group-7 { + color: #000; + background-color: var(--nt-color-7); +} +.nt-contribs .nt-group-8 { + color: #000; + background-color: var(--nt-color-8); +} +.nt-contribs .nt-group-9 { + background-color: var(--nt-color-9); +} +.nt-contribs .nt-group-10 { + background-color: var(--nt-color-10); +} +.nt-contribs .nt-group-11 { + background-color: var(--nt-color-11); +} +.nt-contribs .nt-group-12 { + background-color: var(--nt-color-12); +} +.nt-contribs .nt-group-13 { + background-color: var(--nt-color-13); +} +.nt-contribs .nt-group-14 { + background-color: var(--nt-color-14); +} +.nt-contribs .nt-group-15 { + color: #000; + background-color: var(--nt-color-15); +} +.nt-contribs .nt-group-16 { + background-color: var(--nt-color-16); +} +.nt-contribs .nt-group-17 { + color: #000; + background-color: var(--nt-color-17); +} +.nt-contribs .nt-group-18 { + background-color: var(--nt-color-18); +} +.nt-contribs .nt-group-19 { + background-color: var(--nt-color-19); +} +.nt-contribs .nt-group-20 { + color: #000; + background-color: var(--nt-color-20); +} +.nt-contribs .nt-group-21 { + color: #000; + background-color: var(--nt-color-21); +} +.nt-contribs .nt-group-22 { + color: #000; + background-color: var(--nt-color-22); +} +.nt-contribs .nt-group-23 { + color: #000; + background-color: var(--nt-color-23); +} +.nt-contribs .nt-group-24 { + color: #000; + background-color: var(--nt-color-24); +} +.nt-contribs .nt-group-25 { + color: #000; + background-color: var(--nt-color-25); +} +.nt-contribs .nt-group-26 { + color: #000; + background-color: var(--nt-color-26); +} +.nt-contribs .nt-group-27 { + background-color: var(--nt-color-27); +} +.nt-contribs .nt-group-28 { + color: #000; + background-color: var(--nt-color-28); +} +.nt-contribs .nt-group-29 { + color: #000; + background-color: var(--nt-color-29); +} +.nt-contribs .nt-group-30 { + background-color: var(--nt-color-30); +} +.nt-contribs .nt-group-31 { + background-color: var(--nt-color-31); +} +.nt-contribs .nt-group-32 { + color: #000; + background-color: var(--nt-color-32); +} +.nt-contribs .nt-group-33 { + background-color: var(--nt-color-33); +} +.nt-contribs .nt-group-34 { + background-color: var(--nt-color-34); +} +.nt-contribs .nt-group-35 { + background-color: var(--nt-color-35); +} +.nt-contribs .nt-group-36 { + background-color: var(--nt-color-36); +} +.nt-contribs .nt-group-37 { + background-color: var(--nt-color-37); +} +.nt-contribs .nt-group-38 { + background-color: var(--nt-color-38); +} +.nt-contribs .nt-group-39 { + color: #000; + background-color: var(--nt-color-39); +} +.nt-contribs .nt-group-40 { + color: #000; + background-color: var(--nt-color-40); +} +.nt-contribs .nt-group-41 { + color: #000; + background-color: var(--nt-color-41); +} +.nt-contribs .nt-group-42 { + color: #000; + background-color: var(--nt-color-42); +} +.nt-contribs .nt-group-43 { + color: #000; + background-color: var(--nt-color-43); +} +.nt-contribs .nt-group-44 { + color: #000; + background-color: var(--nt-color-44); +} +.nt-contribs .nt-group-45 { + background-color: var(--nt-color-45); +} +.nt-contribs .nt-group-46 { + color: #000; + background-color: var(--nt-color-46); +} +.nt-contribs .nt-group-47 { + background-color: var(--nt-color-47); +} +.nt-contribs .nt-group-48 { + background-color: var(--nt-color-48); +} +.nt-contribs .nt-group-49 { + background-color: var(--nt-color-49); +} diff --git a/docs/requirements.txt b/docs/requirements.txt index 36cda0c313..82443ad8f8 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -3,3 +3,6 @@ mkdocs-material mkdocs-monorepo-plugin mkdocs-include-markdown-plugin mkdocs-git-revision-date-plugin +mike==1.1.2 +neoteroi-mkdocs==1.0.2 + diff --git a/justfile b/justfile index 7a804ad3d2..0373b4fe91 100644 --- a/justfile +++ b/justfile @@ -8,15 +8,6 @@ alias dog := docs-openapi-generate alias ssl := stack-start-latest alias stop := stack-stop -# Generate the OpenApi in {{openapiDir}} yml from the tapir endpoints -docs-openapi-generate: - # The generated files are stored in the docs/03-endpoints/generated-openapi directory - # You can specify the directory where the files are stored by setting the openapiDir variable - # e.g. `just openapiDir=/tmp/openapi docs-openapi-generate` - mkdir -p {{ openapiDir }} - rm {{ openapiDir }}/*.yml >> /dev/null 2>&1 || true - ./sbtx "webapi/runMain org.knora.webapi.slice.common.api.DocsGenerator {{ openapiDir }}" - # Start stack stack-start: @echo "Starting Stack" @@ -56,3 +47,29 @@ stack-destroy: [confirm] stack-init-test: && stack-start make init-db-test + +## Documentation + +# Generate the OpenApi in {{openapiDir}} yml from the tapir endpoints +docs-openapi-generate: + # The generated files are stored in the docs/03-endpoints/generated-openapi directory + # You can specify the directory where the files are stored by setting the openapiDir variable + # e.g. `just openapiDir=/tmp/openapi docs-openapi-generate` + mkdir -p {{ openapiDir }} + rm {{ openapiDir }}/*.yml >> /dev/null 2>&1 || true + ./sbtx "webapi/runMain org.knora.webapi.slice.common.api.DocsGenerator {{ openapiDir }}" + +docs-install-requirements: + pip3 install -r docs/requirements.txt + +docs-clean: + rm -rf site/ + +docs-build-dependent: docs-openapi-generate + make -C docs graphvizfigures + +docs-serve: docs-build-dependent + mkdocs serve + +docs-build: docs-build-dependent + mkdocs build diff --git a/mkdocs.yml b/mkdocs.yml index 13756cd864..23e8672191 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -38,6 +38,7 @@ nav: - Lists Endpoint: 03-endpoints/api-admin/lists.md - Permissions Endpoint: 03-endpoints/api-admin/permissions.md - Stores Endpoint: 03-endpoints/api-admin/stores.md + - OpenApi Documentation: 03-endpoints/api-admin/index.md - Util API: - Version: 03-endpoints/api-util/version.md - Instrumentation API: @@ -111,6 +112,8 @@ plugins: - include-markdown - search - git-revision-date + - neoteroi.mkdocsoad: + use_pymdownx: true theme: name: material @@ -129,3 +132,8 @@ markdown_extensions: format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.tasklist: custom_checkbox: true + - pymdownx.tabbed: + alternate_style: true + +extra_css: + - css/mkdocsoad-v1.0.2.css diff --git a/webapi/src/main/scala/org/knora/webapi/slice/common/api/DocsGenerator.scala b/webapi/src/main/scala/org/knora/webapi/slice/common/api/DocsGenerator.scala index 76fd044649..f82250750b 100644 --- a/webapi/src/main/scala/org/knora/webapi/slice/common/api/DocsGenerator.scala +++ b/webapi/src/main/scala/org/knora/webapi/slice/common/api/DocsGenerator.scala @@ -60,7 +60,7 @@ object DocsGenerator extends ZIOAppDefault { adminEndpoints <- ZIO.serviceWith[AdminApiEndpoints](_.endpoints) v2Endpoints <- ZIO.serviceWith[ApiV2Endpoints](_.endpoints) path = Path(args.headOption.getOrElse("/tmp")) - filesWritten <- writeToFile(adminEndpoints, path, "maintenance") <*> writeToFile(v2Endpoints, path, "v2") + filesWritten <- writeToFile(adminEndpoints, path, "admin-api") <*> writeToFile(v2Endpoints, path, "v2") _ <- ZIO.logInfo(s"Wrote $filesWritten") } yield 0 }.provideSome[ZIOAppArgs](