commit 9bfa1e39a1918c0eef3410c28ff12e12663ece79
Author: Jaroslav Hrubý <hrubyj@students.zcu.cz>
Date:   Sun Apr 24 19:33:31 2022 +0200

    Document assigning implemented

diff --git a/webapp/api/api.ts b/webapp/api/api.ts
index 89c8e56..ce1f3d8 100644
--- a/webapp/api/api.ts
+++ b/webapp/api/api.ts
@@ -5,346 +5,361 @@
  * KIV/ASWI ZČU Plzeň, 2022
  *
  * The version of the OpenAPI document: 0.1.1
- * 
+ *
  *
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
  * https://openapi-generator.tech
  * Do not edit the class manually.
  */
 
-
 import { Configuration } from './configuration';
 import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
 // Some imports not used depending on template conditions
 // @ts-ignore
-import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';
+import {
+    DUMMY_BASE_URL,
+    assertParamExists,
+    setApiKeyToObject,
+    setBasicAuthToObject,
+    setBearerAuthToObject,
+    setOAuthToObject,
+    setSearchParams,
+    serializeDataIfNeeded,
+    toPathString,
+    createRequestFunction,
+} from './common';
 // @ts-ignore
-import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';
+import {
+    BASE_PATH,
+    COLLECTION_FORMATS,
+    RequestArgs,
+    BaseAPI,
+    RequiredError,
+} from './base';
 
 /**
- * 
+ *
  * @export
  * @interface AnnotationInfo
  */
 export interface AnnotationInfo {
     /**
-     * 
+     *
      * @type {string}
      * @memberof AnnotationInfo
      */
-    'sourceDocumentContent'?: string | null;
+    sourceDocumentContent?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof AnnotationInfo
      */
-    'documentToRender'?: string | null;
+    documentToRender?: string | null;
     /**
-     * 
+     *
      * @type {Array<number>}
      * @memberof AnnotationInfo
      */
-    'tagStartPositions'?: Array<number> | null;
+    tagStartPositions?: Array<number> | null;
     /**
-     * 
+     *
      * @type {Array<number>}
      * @memberof AnnotationInfo
      */
-    'tagLengths'?: Array<number> | null;
+    tagLengths?: Array<number> | null;
     /**
-     * 
+     *
      * @type {EState}
      * @memberof AnnotationInfo
      */
-    'state'?: EState;
+    state?: EState;
     /**
-     * 
+     *
      * @type {EDocumentType}
      * @memberof AnnotationInfo
      */
-    'type'?: EDocumentType;
+    type?: EDocumentType;
     /**
-     * 
+     *
      * @type {string}
      * @memberof AnnotationInfo
      */
-    'note'?: string | null;
+    note?: string | null;
     /**
-     * 
+     *
      * @type {Array<TagInstanceInfo>}
      * @memberof AnnotationInfo
      */
-    'tagInstances'?: Array<TagInstanceInfo> | null;
+    tagInstances?: Array<TagInstanceInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface AnnotationInstanceAddRequest
  */
 export interface AnnotationInstanceAddRequest {
     /**
-     * 
+     *
      * @type {number}
      * @memberof AnnotationInstanceAddRequest
      */
-    'position'?: number;
+    position?: number;
     /**
-     * 
+     *
      * @type {number}
      * @memberof AnnotationInstanceAddRequest
      */
-    'length'?: number;
+    length?: number;
     /**
-     * 
+     *
      * @type {ETagType}
      * @memberof AnnotationInstanceAddRequest
      */
-    'type'?: ETagType;
+    type?: ETagType;
     /**
-     * 
+     *
      * @type {string}
      * @memberof AnnotationInstanceAddRequest
      */
-    'id'?: string;
+    id?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof AnnotationInstanceAddRequest
      */
-    'instanceId'?: string | null;
+    instanceId?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface AnnotationListInfo
  */
 export interface AnnotationListInfo {
     /**
-     * 
+     *
      * @type {string}
      * @memberof AnnotationListInfo
      */
-    'documentName'?: string | null;
+    documentName?: string | null;
     /**
-     * 
+     *
      * @type {EState}
      * @memberof AnnotationListInfo
      */
-    'state'?: EState;
+    state?: EState;
     /**
-     * 
+     *
      * @type {string}
      * @memberof AnnotationListInfo
      */
-    'annotationId'?: string;
+    annotationId?: string;
 }
 /**
- * 
+ *
  * @export
  * @interface AnnotationListResponse
  */
 export interface AnnotationListResponse {
     /**
-     * 
+     *
      * @type {Array<AnnotationListInfo>}
      * @memberof AnnotationListResponse
      */
-    'annotations'?: Array<AnnotationListInfo> | null;
+    annotations?: Array<AnnotationListInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface AnnotationsAddRequest
  */
 export interface AnnotationsAddRequest {
     /**
-     * 
+     *
      * @type {Array<string>}
      * @memberof AnnotationsAddRequest
      */
-    'userIdList'?: Array<string> | null;
+    userIdList?: Array<string> | null;
     /**
-     * 
+     *
      * @type {Array<string>}
      * @memberof AnnotationsAddRequest
      */
-    'documentIdList'?: Array<string> | null;
+    documentIdList?: Array<string> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface ClientInfo
  */
 export interface ClientInfo {
     /**
-     * 
+     *
      * @type {boolean}
      * @memberof ClientInfo
      */
-    'isLogged'?: boolean;
+    isLogged?: boolean;
     /**
-     * 
+     *
      * @type {User}
      * @memberof ClientInfo
      */
-    'loggedUser'?: User;
+    loggedUser?: User;
     /**
-     * 
+     *
      * @type {string}
      * @memberof ClientInfo
      */
-    'ip'?: string | null;
+    ip?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface DocumentAddInfo
  */
 export interface DocumentAddInfo {
     /**
-     * 
+     *
      * @type {string}
      * @memberof DocumentAddInfo
      */
-    'name'?: string | null;
+    name?: string | null;
     /**
-     * 
+     *
      * @type {EAddDocumentFormat}
      * @memberof DocumentAddInfo
      */
-    'format'?: EAddDocumentFormat;
+    format?: EAddDocumentFormat;
     /**
-     * 
+     *
      * @type {string}
      * @memberof DocumentAddInfo
      */
-    'content'?: string | null;
+    content?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface DocumentAddRequest
  */
 export interface DocumentAddRequest {
     /**
-     * 
+     *
      * @type {Array<DocumentAddInfo>}
      * @memberof DocumentAddRequest
      */
-    'documents'?: Array<DocumentAddInfo> | null;
+    documents?: Array<DocumentAddInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface DocumentListInfo
  */
 export interface DocumentListInfo {
+    key?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof DocumentListInfo
      */
-    'id'?: string;
+    id?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof DocumentListInfo
      */
-    'name'?: string | null;
+    name?: string | null;
     /**
-     * 
+     *
      * @type {number}
      * @memberof DocumentListInfo
      */
-    'length'?: number;
+    length?: number;
     /**
-     * 
+     *
      * @type {number}
      * @memberof DocumentListInfo
      */
-    'requiredAnnotations'?: number;
+    requiredAnnotations?: number;
     /**
-     * 
+     *
      * @type {Array<UserInfo>}
      * @memberof DocumentListInfo
      */
-    'annotatingUsers'?: Array<UserInfo> | null;
+    annotatingUsers?: Array<UserInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface DocumentListResponse
  */
 export interface DocumentListResponse {
     /**
-     * 
+     *
      * @type {number}
      * @memberof DocumentListResponse
      */
-    'totalCount'?: number;
+    totalCount?: number;
     /**
-     * 
+     *
      * @type {number}
      * @memberof DocumentListResponse
      */
-    'pageCount'?: number;
+    pageCount?: number;
     /**
-     * 
+     *
      * @type {number}
      * @memberof DocumentListResponse
      */
-    'pageIndex'?: number;
+    pageIndex?: number;
     /**
-     * 
+     *
      * @type {Array<DocumentListInfo>}
      * @memberof DocumentListResponse
      */
-    'documents'?: Array<DocumentListInfo> | null;
+    documents?: Array<DocumentListInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @enum {string}
  */
 
 export const EAddDocumentFormat = {
     Zip: 'ZIP',
-    Textfile: 'TEXTFILE'
+    Textfile: 'TEXTFILE',
 } as const;
 
-export type EAddDocumentFormat = typeof EAddDocumentFormat[keyof typeof EAddDocumentFormat];
-
+export type EAddDocumentFormat =
+    typeof EAddDocumentFormat[keyof typeof EAddDocumentFormat];
 
 /**
- * 
+ *
  * @export
  * @enum {string}
  */
 
 export const EDocumentType = {
     Html: 'HTML',
-    Text: 'TEXT'
+    Text: 'TEXT',
 } as const;
 
 export type EDocumentType = typeof EDocumentType[keyof typeof EDocumentType];
 
-
 /**
- * 
+ *
  * @export
  * @enum {string}
  */
 
 export const ERole = {
     Annotator: 'ANNOTATOR',
-    Administrator: 'ADMINISTRATOR'
+    Administrator: 'ADMINISTRATOR',
 } as const;
 
 export type ERole = typeof ERole[keyof typeof ERole];
 
-
 /**
- * 
+ *
  * @export
  * @enum {string}
  */
@@ -352,78 +367,76 @@ export type ERole = typeof ERole[keyof typeof ERole];
 export const EState = {
     Done: 'DONE',
     InProgress: 'IN_PROGRESS',
-    New: 'NEW'
+    New: 'NEW',
 } as const;
 
 export type EState = typeof EState[keyof typeof EState];
 
-
 /**
- * 
+ *
  * @export
  * @enum {string}
  */
 
 export const ETagType = {
     Tag: 'TAG',
-    Subtag: 'SUBTAG'
+    Subtag: 'SUBTAG',
 } as const;
 
 export type ETagType = typeof ETagType[keyof typeof ETagType];
 
-
 /**
- * 
+ *
  * @export
  * @interface LoginRequest
  */
 export interface LoginRequest {
     /**
-     * 
+     *
      * @type {string}
      * @memberof LoginRequest
      */
-    'username'?: string | null;
+    username?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof LoginRequest
      */
-    'password'?: string | null;
+    password?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface LoginResponse
  */
 export interface LoginResponse {
     /**
-     * 
+     *
      * @type {boolean}
      * @memberof LoginResponse
      */
-    'ok'?: boolean;
+    ok?: boolean;
     /**
-     * 
+     *
      * @type {string}
      * @memberof LoginResponse
      */
-    'token'?: string | null;
+    token?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof LoginResponse
      */
-    'expiration'?: string;
+    expiration?: string;
     /**
-     * 
+     *
      * @type {ERole}
      * @memberof LoginResponse
      */
-    'role'?: ERole;
+    role?: ERole;
 }
 /**
- * 
+ *
  * @export
  * @interface ProblemDetails
  */
@@ -431,301 +444,302 @@ export interface ProblemDetails {
     [key: string]: any | any;
 
     /**
-     * 
+     *
      * @type {string}
      * @memberof ProblemDetails
      */
-    'type'?: string | null;
+    type?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof ProblemDetails
      */
-    'title'?: string | null;
+    title?: string | null;
     /**
-     * 
+     *
      * @type {number}
      * @memberof ProblemDetails
      */
-    'status'?: number | null;
+    status?: number | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof ProblemDetails
      */
-    'detail'?: string | null;
+    detail?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof ProblemDetails
      */
-    'instance'?: string | null;
+    instance?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface SubTagInfo
  */
 export interface SubTagInfo {
     /**
-     * 
+     *
      * @type {string}
      * @memberof SubTagInfo
      */
-    'id'?: string;
+    id?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof SubTagInfo
      */
-    'name'?: string | null;
+    name?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof SubTagInfo
      */
-    'description'?: string | null;
+    description?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface TagCategoryInfo
  */
 export interface TagCategoryInfo {
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagCategoryInfo
      */
-    'id'?: string;
+    id?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagCategoryInfo
      */
-    'name'?: string | null;
+    name?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagCategoryInfo
      */
-    'description'?: string | null;
+    description?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagCategoryInfo
      */
-    'color'?: string | null;
+    color?: string | null;
     /**
-     * 
+     *
      * @type {Array<TagInfo>}
      * @memberof TagCategoryInfo
      */
-    'tags'?: Array<TagInfo> | null;
+    tags?: Array<TagInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface TagInfo
  */
 export interface TagInfo {
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInfo
      */
-    'id'?: string;
+    id?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInfo
      */
-    'name'?: string | null;
+    name?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInfo
      */
-    'description'?: string | null;
+    description?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInfo
      */
-    'color'?: string | null;
+    color?: string | null;
     /**
-     * 
+     *
      * @type {Array<SubTagInfo>}
      * @memberof TagInfo
      */
-    'subTags'?: Array<SubTagInfo> | null;
+    subTags?: Array<SubTagInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface TagInstanceInfo
  */
 export interface TagInstanceInfo {
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'occurenceId'?: string;
+    occurenceId?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'tagName'?: string | null;
+    tagName?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'tagId'?: string;
+    tagId?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'tagCategoryName'?: string | null;
+    tagCategoryName?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'tagCategoryId'?: string;
+    tagCategoryId?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'subTagName'?: string | null;
+    subTagName?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'subTagId'?: string | null;
+    subTagId?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'instance'?: string;
+    instance?: string;
     /**
-     * 
+     *
      * @type {number}
      * @memberof TagInstanceInfo
      */
-    'position'?: number;
+    position?: number;
     /**
-     * 
+     *
      * @type {number}
      * @memberof TagInstanceInfo
      */
-    'length'?: number;
+    length?: number;
     /**
-     * 
+     *
      * @type {string}
      * @memberof TagInstanceInfo
      */
-    'note'?: string | null;
+    note?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface TagTreeResponse
  */
 export interface TagTreeResponse {
     /**
-     * 
+     *
      * @type {Array<TagCategoryInfo>}
      * @memberof TagTreeResponse
      */
-    'tagCategories'?: Array<TagCategoryInfo> | null;
+    tagCategories?: Array<TagCategoryInfo> | null;
 }
 /**
- * 
+ *
  * @export
  * @interface User
  */
 export interface User {
     /**
-     * 
+     *
      * @type {string}
      * @memberof User
      */
-    'id'?: string;
+    id?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof User
      */
-    'username'?: string | null;
+    username?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof User
      */
-    'name'?: string | null;
+    name?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof User
      */
-    'surname'?: string | null;
+    surname?: string | null;
     /**
-     * 
+     *
      * @type {ERole}
      * @memberof User
      */
-    'role'?: ERole;
+    role?: ERole;
 }
 /**
- * 
+ *
  * @export
  * @interface UserInfo
  */
 export interface UserInfo {
+    key?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof UserInfo
      */
-    'id'?: string;
+    id?: string;
     /**
-     * 
+     *
      * @type {string}
      * @memberof UserInfo
      */
-    'username'?: string | null;
+    username?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof UserInfo
      */
-    'name'?: string | null;
+    name?: string | null;
     /**
-     * 
+     *
      * @type {string}
      * @memberof UserInfo
      */
-    'surname'?: string | null;
+    surname?: string | null;
 }
 /**
- * 
+ *
  * @export
  * @interface UserList
  */
 export interface UserList {
     /**
-     * 
+     *
      * @type {Array<UserInfo>}
      * @memberof UserList
      */
-    'users'?: Array<UserInfo> | null;
+    users?: Array<UserInfo> | null;
 }
 
 /**
@@ -735,16 +749,21 @@ export interface UserList {
 export const AnnotationApiAxiosParamCreator = function (configuration?: Configuration) {
     return {
         /**
-         * 
-         * @param {string} annotationId 
+         *
+         * @param {string} annotationId
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationAnnotationIdGet: async (annotationId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        annotationAnnotationIdGet: async (
+            annotationId: string,
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             // verify required parameter 'annotationId' is not null or undefined
-            assertParamExists('annotationAnnotationIdGet', 'annotationId', annotationId)
-            const localVarPath = `/annotation/{annotationId}`
-                .replace(`{${"annotationId"}}`, encodeURIComponent(String(annotationId)));
+            assertParamExists('annotationAnnotationIdGet', 'annotationId', annotationId);
+            const localVarPath = `/annotation/{annotationId}`.replace(
+                `{${'annotationId'}}`,
+                encodeURIComponent(String(annotationId))
+            );
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
             let baseOptions;
@@ -752,15 +771,18 @@ export const AnnotationApiAxiosParamCreator = function (configuration?: Configur
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
@@ -768,20 +790,32 @@ export const AnnotationApiAxiosParamCreator = function (configuration?: Configur
             };
         },
         /**
-         * 
-         * @param {string} annotationId 
-         * @param {string} occurenceId 
+         *
+         * @param {string} annotationId
+         * @param {string} occurenceId
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationAnnotationIdOccurenceIdDelete: async (annotationId: string, occurenceId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        annotationAnnotationIdOccurenceIdDelete: async (
+            annotationId: string,
+            occurenceId: string,
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             // verify required parameter 'annotationId' is not null or undefined
-            assertParamExists('annotationAnnotationIdOccurenceIdDelete', 'annotationId', annotationId)
+            assertParamExists(
+                'annotationAnnotationIdOccurenceIdDelete',
+                'annotationId',
+                annotationId
+            );
             // verify required parameter 'occurenceId' is not null or undefined
-            assertParamExists('annotationAnnotationIdOccurenceIdDelete', 'occurenceId', occurenceId)
+            assertParamExists(
+                'annotationAnnotationIdOccurenceIdDelete',
+                'occurenceId',
+                occurenceId
+            );
             const localVarPath = `/annotation/{annotationId}/{occurenceId}`
-                .replace(`{${"annotationId"}}`, encodeURIComponent(String(annotationId)))
-                .replace(`{${"occurenceId"}}`, encodeURIComponent(String(occurenceId)));
+                .replace(`{${'annotationId'}}`, encodeURIComponent(String(annotationId)))
+                .replace(`{${'occurenceId'}}`, encodeURIComponent(String(occurenceId)));
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
             let baseOptions;
@@ -789,15 +823,22 @@ export const AnnotationApiAxiosParamCreator = function (configuration?: Configur
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
+            const localVarRequestOptions = {
+                method: 'DELETE',
+                ...baseOptions,
+                ...options,
+            };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
@@ -805,17 +846,23 @@ export const AnnotationApiAxiosParamCreator = function (configuration?: Configur
             };
         },
         /**
-         * 
-         * @param {string} annotationId 
-         * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest] 
+         *
+         * @param {string} annotationId
+         * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationAnnotationIdPost: async (annotationId: string, annotationInstanceAddRequest?: AnnotationInstanceAddRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        annotationAnnotationIdPost: async (
+            annotationId: string,
+            annotationInstanceAddRequest?: AnnotationInstanceAddRequest,
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             // verify required parameter 'annotationId' is not null or undefined
-            assertParamExists('annotationAnnotationIdPost', 'annotationId', annotationId)
-            const localVarPath = `/annotation/{annotationId}`
-                .replace(`{${"annotationId"}}`, encodeURIComponent(String(annotationId)));
+            assertParamExists('annotationAnnotationIdPost', 'annotationId', annotationId);
+            const localVarPath = `/annotation/{annotationId}`.replace(
+                `{${'annotationId'}}`,
+                encodeURIComponent(String(annotationId))
+            );
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
             let baseOptions;
@@ -823,18 +870,25 @@ export const AnnotationApiAxiosParamCreator = function (configuration?: Configur
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             localVarHeaderParameter['Content-Type'] = 'application/json';
 
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            localVarRequestOptions.data = serializeDataIfNeeded(annotationInstanceAddRequest, localVarRequestOptions, configuration)
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
+            localVarRequestOptions.data = serializeDataIfNeeded(
+                annotationInstanceAddRequest,
+                localVarRequestOptions,
+                configuration
+            );
 
             return {
                 url: toPathString(localVarUrlObj),
@@ -842,12 +896,15 @@ export const AnnotationApiAxiosParamCreator = function (configuration?: Configur
             };
         },
         /**
-         * 
-         * @param {AnnotationsAddRequest} [annotationsAddRequest] 
+         *
+         * @param {AnnotationsAddRequest} [annotationsAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationsPost: async (annotationsAddRequest?: AnnotationsAddRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        annotationsPost: async (
+            annotationsAddRequest?: AnnotationsAddRequest,
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             const localVarPath = `/annotations`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -856,123 +913,217 @@ export const AnnotationApiAxiosParamCreator = function (configuration?: Configur
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             localVarHeaderParameter['Content-Type'] = 'application/json';
 
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            localVarRequestOptions.data = serializeDataIfNeeded(annotationsAddRequest, localVarRequestOptions, configuration)
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
+            localVarRequestOptions.data = serializeDataIfNeeded(
+                annotationsAddRequest,
+                localVarRequestOptions,
+                configuration
+            );
 
             return {
                 url: toPathString(localVarUrlObj),
                 options: localVarRequestOptions,
             };
         },
-    }
+    };
 };
 
 /**
  * AnnotationApi - functional programming interface
  * @export
  */
-export const AnnotationApiFp = function(configuration?: Configuration) {
-    const localVarAxiosParamCreator = AnnotationApiAxiosParamCreator(configuration)
+export const AnnotationApiFp = function (configuration?: Configuration) {
+    const localVarAxiosParamCreator = AnnotationApiAxiosParamCreator(configuration);
     return {
         /**
-         * 
-         * @param {string} annotationId 
+         *
+         * @param {string} annotationId
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async annotationAnnotationIdGet(annotationId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnnotationInfo>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.annotationAnnotationIdGet(annotationId, options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async annotationAnnotationIdGet(
+            annotationId: string,
+            options?: AxiosRequestConfig
+        ): Promise<
+            (axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnnotationInfo>
+        > {
+            const localVarAxiosArgs =
+                await localVarAxiosParamCreator.annotationAnnotationIdGet(
+                    annotationId,
+                    options
+                );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
         /**
-         * 
-         * @param {string} annotationId 
-         * @param {string} occurenceId 
+         *
+         * @param {string} annotationId
+         * @param {string} occurenceId
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async annotationAnnotationIdOccurenceIdDelete(annotationId: string, occurenceId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.annotationAnnotationIdOccurenceIdDelete(annotationId, occurenceId, options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async annotationAnnotationIdOccurenceIdDelete(
+            annotationId: string,
+            occurenceId: string,
+            options?: AxiosRequestConfig
+        ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
+            const localVarAxiosArgs =
+                await localVarAxiosParamCreator.annotationAnnotationIdOccurenceIdDelete(
+                    annotationId,
+                    occurenceId,
+                    options
+                );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
         /**
-         * 
-         * @param {string} annotationId 
-         * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest] 
+         *
+         * @param {string} annotationId
+         * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async annotationAnnotationIdPost(annotationId: string, annotationInstanceAddRequest?: AnnotationInstanceAddRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.annotationAnnotationIdPost(annotationId, annotationInstanceAddRequest, options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async annotationAnnotationIdPost(
+            annotationId: string,
+            annotationInstanceAddRequest?: AnnotationInstanceAddRequest,
+            options?: AxiosRequestConfig
+        ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
+            const localVarAxiosArgs =
+                await localVarAxiosParamCreator.annotationAnnotationIdPost(
+                    annotationId,
+                    annotationInstanceAddRequest,
+                    options
+                );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
         /**
-         * 
-         * @param {AnnotationsAddRequest} [annotationsAddRequest] 
+         *
+         * @param {AnnotationsAddRequest} [annotationsAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async annotationsPost(annotationsAddRequest?: AnnotationsAddRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.annotationsPost(annotationsAddRequest, options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async annotationsPost(
+            annotationsAddRequest?: AnnotationsAddRequest,
+            options?: AxiosRequestConfig
+        ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.annotationsPost(
+                annotationsAddRequest,
+                options
+            );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
-    }
+    };
 };
 
 /**
  * AnnotationApi - factory interface
  * @export
  */
-export const AnnotationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
-    const localVarFp = AnnotationApiFp(configuration)
+export const AnnotationApiFactory = function (
+    configuration?: Configuration,
+    basePath?: string,
+    axios?: AxiosInstance
+) {
+    const localVarFp = AnnotationApiFp(configuration);
     return {
         /**
-         * 
-         * @param {string} annotationId 
+         *
+         * @param {string} annotationId
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationAnnotationIdGet(annotationId: string, options?: any): AxiosPromise<AnnotationInfo> {
-            return localVarFp.annotationAnnotationIdGet(annotationId, options).then((request) => request(axios, basePath));
+        annotationAnnotationIdGet(
+            annotationId: string,
+            options?: any
+        ): AxiosPromise<AnnotationInfo> {
+            return localVarFp
+                .annotationAnnotationIdGet(annotationId, options)
+                .then((request) => request(axios, basePath));
         },
         /**
-         * 
-         * @param {string} annotationId 
-         * @param {string} occurenceId 
+         *
+         * @param {string} annotationId
+         * @param {string} occurenceId
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationAnnotationIdOccurenceIdDelete(annotationId: string, occurenceId: string, options?: any): AxiosPromise<void> {
-            return localVarFp.annotationAnnotationIdOccurenceIdDelete(annotationId, occurenceId, options).then((request) => request(axios, basePath));
+        annotationAnnotationIdOccurenceIdDelete(
+            annotationId: string,
+            occurenceId: string,
+            options?: any
+        ): AxiosPromise<void> {
+            return localVarFp
+                .annotationAnnotationIdOccurenceIdDelete(
+                    annotationId,
+                    occurenceId,
+                    options
+                )
+                .then((request) => request(axios, basePath));
         },
         /**
-         * 
-         * @param {string} annotationId 
-         * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest] 
+         *
+         * @param {string} annotationId
+         * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationAnnotationIdPost(annotationId: string, annotationInstanceAddRequest?: AnnotationInstanceAddRequest, options?: any): AxiosPromise<void> {
-            return localVarFp.annotationAnnotationIdPost(annotationId, annotationInstanceAddRequest, options).then((request) => request(axios, basePath));
+        annotationAnnotationIdPost(
+            annotationId: string,
+            annotationInstanceAddRequest?: AnnotationInstanceAddRequest,
+            options?: any
+        ): AxiosPromise<void> {
+            return localVarFp
+                .annotationAnnotationIdPost(
+                    annotationId,
+                    annotationInstanceAddRequest,
+                    options
+                )
+                .then((request) => request(axios, basePath));
         },
         /**
-         * 
-         * @param {AnnotationsAddRequest} [annotationsAddRequest] 
+         *
+         * @param {AnnotationsAddRequest} [annotationsAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        annotationsPost(annotationsAddRequest?: AnnotationsAddRequest, options?: any): AxiosPromise<void> {
-            return localVarFp.annotationsPost(annotationsAddRequest, options).then((request) => request(axios, basePath));
+        annotationsPost(
+            annotationsAddRequest?: AnnotationsAddRequest,
+            options?: any
+        ): AxiosPromise<void> {
+            return localVarFp
+                .annotationsPost(annotationsAddRequest, options)
+                .then((request) => request(axios, basePath));
         },
     };
 };
@@ -985,53 +1136,75 @@ export const AnnotationApiFactory = function (configuration?: Configuration, bas
  */
 export class AnnotationApi extends BaseAPI {
     /**
-     * 
-     * @param {string} annotationId 
+     *
+     * @param {string} annotationId
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof AnnotationApi
      */
     public annotationAnnotationIdGet(annotationId: string, options?: AxiosRequestConfig) {
-        return AnnotationApiFp(this.configuration).annotationAnnotationIdGet(annotationId, options).then((request) => request(this.axios, this.basePath));
+        return AnnotationApiFp(this.configuration)
+            .annotationAnnotationIdGet(annotationId, options)
+            .then((request) => request(this.axios, this.basePath));
     }
 
     /**
-     * 
-     * @param {string} annotationId 
-     * @param {string} occurenceId 
+     *
+     * @param {string} annotationId
+     * @param {string} occurenceId
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof AnnotationApi
      */
-    public annotationAnnotationIdOccurenceIdDelete(annotationId: string, occurenceId: string, options?: AxiosRequestConfig) {
-        return AnnotationApiFp(this.configuration).annotationAnnotationIdOccurenceIdDelete(annotationId, occurenceId, options).then((request) => request(this.axios, this.basePath));
+    public annotationAnnotationIdOccurenceIdDelete(
+        annotationId: string,
+        occurenceId: string,
+        options?: AxiosRequestConfig
+    ) {
+        return AnnotationApiFp(this.configuration)
+            .annotationAnnotationIdOccurenceIdDelete(annotationId, occurenceId, options)
+            .then((request) => request(this.axios, this.basePath));
     }
 
     /**
-     * 
-     * @param {string} annotationId 
-     * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest] 
+     *
+     * @param {string} annotationId
+     * @param {AnnotationInstanceAddRequest} [annotationInstanceAddRequest]
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof AnnotationApi
      */
-    public annotationAnnotationIdPost(annotationId: string, annotationInstanceAddRequest?: AnnotationInstanceAddRequest, options?: AxiosRequestConfig) {
-        return AnnotationApiFp(this.configuration).annotationAnnotationIdPost(annotationId, annotationInstanceAddRequest, options).then((request) => request(this.axios, this.basePath));
+    public annotationAnnotationIdPost(
+        annotationId: string,
+        annotationInstanceAddRequest?: AnnotationInstanceAddRequest,
+        options?: AxiosRequestConfig
+    ) {
+        return AnnotationApiFp(this.configuration)
+            .annotationAnnotationIdPost(
+                annotationId,
+                annotationInstanceAddRequest,
+                options
+            )
+            .then((request) => request(this.axios, this.basePath));
     }
 
     /**
-     * 
-     * @param {AnnotationsAddRequest} [annotationsAddRequest] 
+     *
+     * @param {AnnotationsAddRequest} [annotationsAddRequest]
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof AnnotationApi
      */
-    public annotationsPost(annotationsAddRequest?: AnnotationsAddRequest, options?: AxiosRequestConfig) {
-        return AnnotationApiFp(this.configuration).annotationsPost(annotationsAddRequest, options).then((request) => request(this.axios, this.basePath));
+    public annotationsPost(
+        annotationsAddRequest?: AnnotationsAddRequest,
+        options?: AxiosRequestConfig
+    ) {
+        return AnnotationApiFp(this.configuration)
+            .annotationsPost(annotationsAddRequest, options)
+            .then((request) => request(this.axios, this.basePath));
     }
 }
 
-
 /**
  * AuthApi - axios parameter creator
  * @export
@@ -1039,12 +1212,15 @@ export class AnnotationApi extends BaseAPI {
 export const AuthApiAxiosParamCreator = function (configuration?: Configuration) {
     return {
         /**
-         * 
-         * @param {LoginRequest} [loginRequest] 
+         *
+         * @param {LoginRequest} [loginRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        authLoginPost: async (loginRequest?: LoginRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        authLoginPost: async (
+            loginRequest?: LoginRequest,
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             const localVarPath = `/auth/login`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -1053,18 +1229,25 @@ export const AuthApiAxiosParamCreator = function (configuration?: Configuration)
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             localVarHeaderParameter['Content-Type'] = 'application/json';
 
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            localVarRequestOptions.data = serializeDataIfNeeded(loginRequest, localVarRequestOptions, configuration)
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
+            localVarRequestOptions.data = serializeDataIfNeeded(
+                loginRequest,
+                localVarRequestOptions,
+                configuration
+            );
 
             return {
                 url: toPathString(localVarUrlObj),
@@ -1072,7 +1255,7 @@ export const AuthApiAxiosParamCreator = function (configuration?: Configuration)
             };
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
@@ -1085,15 +1268,18 @@ export const AuthApiAxiosParamCreator = function (configuration?: Configuration)
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
@@ -1101,7 +1287,7 @@ export const AuthApiAxiosParamCreator = function (configuration?: Configuration)
             };
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
@@ -1114,93 +1300,144 @@ export const AuthApiAxiosParamCreator = function (configuration?: Configuration)
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
                 options: localVarRequestOptions,
             };
         },
-    }
+    };
 };
 
 /**
  * AuthApi - functional programming interface
  * @export
  */
-export const AuthApiFp = function(configuration?: Configuration) {
-    const localVarAxiosParamCreator = AuthApiAxiosParamCreator(configuration)
+export const AuthApiFp = function (configuration?: Configuration) {
+    const localVarAxiosParamCreator = AuthApiAxiosParamCreator(configuration);
     return {
         /**
-         * 
-         * @param {LoginRequest} [loginRequest] 
+         *
+         * @param {LoginRequest} [loginRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async authLoginPost(loginRequest?: LoginRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoginResponse>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.authLoginPost(loginRequest, options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async authLoginPost(
+            loginRequest?: LoginRequest,
+            options?: AxiosRequestConfig
+        ): Promise<
+            (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoginResponse>
+        > {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.authLoginPost(
+                loginRequest,
+                options
+            );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async authTestAaGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClientInfo>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.authTestAaGet(options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async authTestAaGet(
+            options?: AxiosRequestConfig
+        ): Promise<
+            (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClientInfo>
+        > {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.authTestAaGet(
+                options
+            );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async authTestGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClientInfo>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.authTestGet(options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async authTestGet(
+            options?: AxiosRequestConfig
+        ): Promise<
+            (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClientInfo>
+        > {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.authTestGet(
+                options
+            );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
-    }
+    };
 };
 
 /**
  * AuthApi - factory interface
  * @export
  */
-export const AuthApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
-    const localVarFp = AuthApiFp(configuration)
+export const AuthApiFactory = function (
+    configuration?: Configuration,
+    basePath?: string,
+    axios?: AxiosInstance
+) {
+    const localVarFp = AuthApiFp(configuration);
     return {
         /**
-         * 
-         * @param {LoginRequest} [loginRequest] 
+         *
+         * @param {LoginRequest} [loginRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        authLoginPost(loginRequest?: LoginRequest, options?: any): AxiosPromise<LoginResponse> {
-            return localVarFp.authLoginPost(loginRequest, options).then((request) => request(axios, basePath));
+        authLoginPost(
+            loginRequest?: LoginRequest,
+            options?: any
+        ): AxiosPromise<LoginResponse> {
+            return localVarFp
+                .authLoginPost(loginRequest, options)
+                .then((request) => request(axios, basePath));
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
         authTestAaGet(options?: any): AxiosPromise<ClientInfo> {
-            return localVarFp.authTestAaGet(options).then((request) => request(axios, basePath));
+            return localVarFp
+                .authTestAaGet(options)
+                .then((request) => request(axios, basePath));
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
         authTestGet(options?: any): AxiosPromise<ClientInfo> {
-            return localVarFp.authTestGet(options).then((request) => request(axios, basePath));
+            return localVarFp
+                .authTestGet(options)
+                .then((request) => request(axios, basePath));
         },
     };
 };
@@ -1213,38 +1450,43 @@ export const AuthApiFactory = function (configuration?: Configuration, basePath?
  */
 export class AuthApi extends BaseAPI {
     /**
-     * 
-     * @param {LoginRequest} [loginRequest] 
+     *
+     * @param {LoginRequest} [loginRequest]
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof AuthApi
      */
     public authLoginPost(loginRequest?: LoginRequest, options?: AxiosRequestConfig) {
-        return AuthApiFp(this.configuration).authLoginPost(loginRequest, options).then((request) => request(this.axios, this.basePath));
+        return AuthApiFp(this.configuration)
+            .authLoginPost(loginRequest, options)
+            .then((request) => request(this.axios, this.basePath));
     }
 
     /**
-     * 
+     *
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof AuthApi
      */
     public authTestAaGet(options?: AxiosRequestConfig) {
-        return AuthApiFp(this.configuration).authTestAaGet(options).then((request) => request(this.axios, this.basePath));
+        return AuthApiFp(this.configuration)
+            .authTestAaGet(options)
+            .then((request) => request(this.axios, this.basePath));
     }
 
     /**
-     * 
+     *
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof AuthApi
      */
     public authTestGet(options?: AxiosRequestConfig) {
-        return AuthApiFp(this.configuration).authTestGet(options).then((request) => request(this.axios, this.basePath));
+        return AuthApiFp(this.configuration)
+            .authTestGet(options)
+            .then((request) => request(this.axios, this.basePath));
     }
 }
 
-
 /**
  * DocumentApi - axios parameter creator
  * @export
@@ -1252,13 +1494,17 @@ export class AuthApi extends BaseAPI {
 export const DocumentApiAxiosParamCreator = function (configuration?: Configuration) {
     return {
         /**
-         * 
-         * @param {number} [pageIndex] 
-         * @param {number} [pageSize] 
+         *
+         * @param {number} [pageIndex]
+         * @param {number} [pageSize]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        documentsGet: async (pageIndex?: number, pageSize?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        documentsGet: async (
+            pageIndex?: number,
+            pageSize?: number,
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             const localVarPath = `/documents`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -1267,7 +1513,7 @@ export const DocumentApiAxiosParamCreator = function (configuration?: Configurat
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
@@ -1279,11 +1525,14 @@ export const DocumentApiAxiosParamCreator = function (configuration?: Configurat
                 localVarQueryParameter['pageSize'] = pageSize;
             }
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
@@ -1291,12 +1540,15 @@ export const DocumentApiAxiosParamCreator = function (configuration?: Configurat
             };
         },
         /**
-         * 
-         * @param {DocumentAddRequest} [documentAddRequest] 
+         *
+         * @param {DocumentAddRequest} [documentAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        documentsPost: async (documentAddRequest?: DocumentAddRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        documentsPost: async (
+            documentAddRequest?: DocumentAddRequest,
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             const localVarPath = `/documents`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -1305,83 +1557,134 @@ export const DocumentApiAxiosParamCreator = function (configuration?: Configurat
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             localVarHeaderParameter['Content-Type'] = 'application/json';
 
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
-            localVarRequestOptions.data = serializeDataIfNeeded(documentAddRequest, localVarRequestOptions, configuration)
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
+            localVarRequestOptions.data = serializeDataIfNeeded(
+                documentAddRequest,
+                localVarRequestOptions,
+                configuration
+            );
 
             return {
                 url: toPathString(localVarUrlObj),
                 options: localVarRequestOptions,
             };
         },
-    }
+    };
 };
 
 /**
  * DocumentApi - functional programming interface
  * @export
  */
-export const DocumentApiFp = function(configuration?: Configuration) {
-    const localVarAxiosParamCreator = DocumentApiAxiosParamCreator(configuration)
+export const DocumentApiFp = function (configuration?: Configuration) {
+    const localVarAxiosParamCreator = DocumentApiAxiosParamCreator(configuration);
     return {
         /**
-         * 
-         * @param {number} [pageIndex] 
-         * @param {number} [pageSize] 
+         *
+         * @param {number} [pageIndex]
+         * @param {number} [pageSize]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async documentsGet(pageIndex?: number, pageSize?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DocumentListResponse>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.documentsGet(pageIndex, pageSize, options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async documentsGet(
+            pageIndex?: number,
+            pageSize?: number,
+            options?: AxiosRequestConfig
+        ): Promise<
+            (
+                axios?: AxiosInstance,
+                basePath?: string
+            ) => AxiosPromise<DocumentListResponse>
+        > {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.documentsGet(
+                pageIndex,
+                pageSize,
+                options
+            );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
         /**
-         * 
-         * @param {DocumentAddRequest} [documentAddRequest] 
+         *
+         * @param {DocumentAddRequest} [documentAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async documentsPost(documentAddRequest?: DocumentAddRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.documentsPost(documentAddRequest, options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async documentsPost(
+            documentAddRequest?: DocumentAddRequest,
+            options?: AxiosRequestConfig
+        ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.documentsPost(
+                documentAddRequest,
+                options
+            );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
-    }
+    };
 };
 
 /**
  * DocumentApi - factory interface
  * @export
  */
-export const DocumentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
-    const localVarFp = DocumentApiFp(configuration)
+export const DocumentApiFactory = function (
+    configuration?: Configuration,
+    basePath?: string,
+    axios?: AxiosInstance
+) {
+    const localVarFp = DocumentApiFp(configuration);
     return {
         /**
-         * 
-         * @param {number} [pageIndex] 
-         * @param {number} [pageSize] 
+         *
+         * @param {number} [pageIndex]
+         * @param {number} [pageSize]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        documentsGet(pageIndex?: number, pageSize?: number, options?: any): AxiosPromise<DocumentListResponse> {
-            return localVarFp.documentsGet(pageIndex, pageSize, options).then((request) => request(axios, basePath));
+        documentsGet(
+            pageIndex?: number,
+            pageSize?: number,
+            options?: any
+        ): AxiosPromise<DocumentListResponse> {
+            return localVarFp
+                .documentsGet(pageIndex, pageSize, options)
+                .then((request) => request(axios, basePath));
         },
         /**
-         * 
-         * @param {DocumentAddRequest} [documentAddRequest] 
+         *
+         * @param {DocumentAddRequest} [documentAddRequest]
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        documentsPost(documentAddRequest?: DocumentAddRequest, options?: any): AxiosPromise<void> {
-            return localVarFp.documentsPost(documentAddRequest, options).then((request) => request(axios, basePath));
+        documentsPost(
+            documentAddRequest?: DocumentAddRequest,
+            options?: any
+        ): AxiosPromise<void> {
+            return localVarFp
+                .documentsPost(documentAddRequest, options)
+                .then((request) => request(axios, basePath));
         },
     };
 };
@@ -1394,30 +1697,40 @@ export const DocumentApiFactory = function (configuration?: Configuration, baseP
  */
 export class DocumentApi extends BaseAPI {
     /**
-     * 
-     * @param {number} [pageIndex] 
-     * @param {number} [pageSize] 
+     *
+     * @param {number} [pageIndex]
+     * @param {number} [pageSize]
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof DocumentApi
      */
-    public documentsGet(pageIndex?: number, pageSize?: number, options?: AxiosRequestConfig) {
-        return DocumentApiFp(this.configuration).documentsGet(pageIndex, pageSize, options).then((request) => request(this.axios, this.basePath));
+    public documentsGet(
+        pageIndex?: number,
+        pageSize?: number,
+        options?: AxiosRequestConfig
+    ) {
+        return DocumentApiFp(this.configuration)
+            .documentsGet(pageIndex, pageSize, options)
+            .then((request) => request(this.axios, this.basePath));
     }
 
     /**
-     * 
-     * @param {DocumentAddRequest} [documentAddRequest] 
+     *
+     * @param {DocumentAddRequest} [documentAddRequest]
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof DocumentApi
      */
-    public documentsPost(documentAddRequest?: DocumentAddRequest, options?: AxiosRequestConfig) {
-        return DocumentApiFp(this.configuration).documentsPost(documentAddRequest, options).then((request) => request(this.axios, this.basePath));
+    public documentsPost(
+        documentAddRequest?: DocumentAddRequest,
+        options?: AxiosRequestConfig
+    ) {
+        return DocumentApiFp(this.configuration)
+            .documentsPost(documentAddRequest, options)
+            .then((request) => request(this.axios, this.basePath));
     }
 }
 
-
 /**
  * TagApi - axios parameter creator
  * @export
@@ -1425,7 +1738,7 @@ export class DocumentApi extends BaseAPI {
 export const TagApiAxiosParamCreator = function (configuration?: Configuration) {
     return {
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
@@ -1438,57 +1751,75 @@ export const TagApiAxiosParamCreator = function (configuration?: Configuration)
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
                 options: localVarRequestOptions,
             };
         },
-    }
+    };
 };
 
 /**
  * TagApi - functional programming interface
  * @export
  */
-export const TagApiFp = function(configuration?: Configuration) {
-    const localVarAxiosParamCreator = TagApiAxiosParamCreator(configuration)
+export const TagApiFp = function (configuration?: Configuration) {
+    const localVarAxiosParamCreator = TagApiAxiosParamCreator(configuration);
     return {
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async tagsGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagTreeResponse>> {
+        async tagsGet(
+            options?: AxiosRequestConfig
+        ): Promise<
+            (axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagTreeResponse>
+        > {
             const localVarAxiosArgs = await localVarAxiosParamCreator.tagsGet(options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
-    }
+    };
 };
 
 /**
  * TagApi - factory interface
  * @export
  */
-export const TagApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
-    const localVarFp = TagApiFp(configuration)
+export const TagApiFactory = function (
+    configuration?: Configuration,
+    basePath?: string,
+    axios?: AxiosInstance
+) {
+    const localVarFp = TagApiFp(configuration);
     return {
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
         tagsGet(options?: any): AxiosPromise<TagTreeResponse> {
-            return localVarFp.tagsGet(options).then((request) => request(axios, basePath));
+            return localVarFp
+                .tagsGet(options)
+                .then((request) => request(axios, basePath));
         },
     };
 };
@@ -1501,17 +1832,18 @@ export const TagApiFactory = function (configuration?: Configuration, basePath?:
  */
 export class TagApi extends BaseAPI {
     /**
-     * 
+     *
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof TagApi
      */
     public tagsGet(options?: AxiosRequestConfig) {
-        return TagApiFp(this.configuration).tagsGet(options).then((request) => request(this.axios, this.basePath));
+        return TagApiFp(this.configuration)
+            .tagsGet(options)
+            .then((request) => request(this.axios, this.basePath));
     }
 }
 
-
 /**
  * UserApi - axios parameter creator
  * @export
@@ -1519,11 +1851,13 @@ export class TagApi extends BaseAPI {
 export const UserApiAxiosParamCreator = function (configuration?: Configuration) {
     return {
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        userAnnotationsGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        userAnnotationsGet: async (
+            options: AxiosRequestConfig = {}
+        ): Promise<RequestArgs> => {
             const localVarPath = `/user/annotations`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -1532,15 +1866,18 @@ export const UserApiAxiosParamCreator = function (configuration?: Configuration)
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
@@ -1548,7 +1885,7 @@ export const UserApiAxiosParamCreator = function (configuration?: Configuration)
             };
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
@@ -1561,74 +1898,106 @@ export const UserApiAxiosParamCreator = function (configuration?: Configuration)
                 baseOptions = configuration.baseOptions;
             }
 
-            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
             const localVarHeaderParameter = {} as any;
             const localVarQueryParameter = {} as any;
 
-
-    
             setSearchParams(localVarUrlObj, localVarQueryParameter);
-            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
-            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            let headersFromBaseOptions =
+                baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {
+                ...localVarHeaderParameter,
+                ...headersFromBaseOptions,
+                ...options.headers,
+            };
 
             return {
                 url: toPathString(localVarUrlObj),
                 options: localVarRequestOptions,
             };
         },
-    }
+    };
 };
 
 /**
  * UserApi - functional programming interface
  * @export
  */
-export const UserApiFp = function(configuration?: Configuration) {
-    const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration)
+export const UserApiFp = function (configuration?: Configuration) {
+    const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration);
     return {
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async userAnnotationsGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnnotationListResponse>> {
-            const localVarAxiosArgs = await localVarAxiosParamCreator.userAnnotationsGet(options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+        async userAnnotationsGet(
+            options?: AxiosRequestConfig
+        ): Promise<
+            (
+                axios?: AxiosInstance,
+                basePath?: string
+            ) => AxiosPromise<AnnotationListResponse>
+        > {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.userAnnotationsGet(
+                options
+            );
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async usersGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
+        async usersGet(
+            options?: AxiosRequestConfig
+        ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
             const localVarAxiosArgs = await localVarAxiosParamCreator.usersGet(options);
-            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
+            return createRequestFunction(
+                localVarAxiosArgs,
+                globalAxios,
+                BASE_PATH,
+                configuration
+            );
         },
-    }
+    };
 };
 
 /**
  * UserApi - factory interface
  * @export
  */
-export const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
-    const localVarFp = UserApiFp(configuration)
+export const UserApiFactory = function (
+    configuration?: Configuration,
+    basePath?: string,
+    axios?: AxiosInstance
+) {
+    const localVarFp = UserApiFp(configuration);
     return {
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
         userAnnotationsGet(options?: any): AxiosPromise<AnnotationListResponse> {
-            return localVarFp.userAnnotationsGet(options).then((request) => request(axios, basePath));
+            return localVarFp
+                .userAnnotationsGet(options)
+                .then((request) => request(axios, basePath));
         },
         /**
-         * 
+         *
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
         usersGet(options?: any): AxiosPromise<UserList> {
-            return localVarFp.usersGet(options).then((request) => request(axios, basePath));
+            return localVarFp
+                .usersGet(options)
+                .then((request) => request(axios, basePath));
         },
     };
 };
@@ -1641,24 +2010,26 @@ export const UserApiFactory = function (configuration?: Configuration, basePath?
  */
 export class UserApi extends BaseAPI {
     /**
-     * 
+     *
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof UserApi
      */
     public userAnnotationsGet(options?: AxiosRequestConfig) {
-        return UserApiFp(this.configuration).userAnnotationsGet(options).then((request) => request(this.axios, this.basePath));
+        return UserApiFp(this.configuration)
+            .userAnnotationsGet(options)
+            .then((request) => request(this.axios, this.basePath));
     }
 
     /**
-     * 
+     *
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof UserApi
      */
     public usersGet(options?: AxiosRequestConfig) {
-        return UserApiFp(this.configuration).usersGet(options).then((request) => request(this.axios, this.basePath));
+        return UserApiFp(this.configuration)
+            .usersGet(options)
+            .then((request) => request(this.axios, this.basePath));
     }
 }
-
-
diff --git a/webapp/components/modals/AssignDocumentModal.tsx b/webapp/components/modals/AssignDocumentModal.tsx
new file mode 100644
index 0000000..2de5cef
--- /dev/null
+++ b/webapp/components/modals/AssignDocumentModal.tsx
@@ -0,0 +1,92 @@
+import { Button, Checkbox, List, Modal } from 'antd';
+import 'antd/dist/antd.css';
+import React, { useContext, useEffect, useState } from 'react';
+import { UserInfo } from '../../api';
+import { annotationController, userController } from '../../controllers';
+import { useUnauthRedirect } from '../../hooks';
+import { LoggedUserContext } from '../../contexts/LoggedUserContext';
+
+interface ModalProps {
+    onCancel: () => void;
+    documentsIds: (string | undefined)[];
+}
+
+function AssignDocumentModal({ onCancel, documentsIds }: ModalProps) {
+    const redirecting = useUnauthRedirect('/login');
+    const { role } = useContext(LoggedUserContext);
+    const [users, setUsers] = useState<UserInfo[]>([]);
+    const [selectedUsers, setSelectedUsers] = useState<string[]>([]);
+
+    const handleOk = () => {
+        onCancel();
+    };
+
+    const handleCancel = () => {
+        onCancel();
+    };
+
+    useEffect(() => {
+        console.log(documentsIds);
+        if (!redirecting && role === 'ADMINISTRATOR') {
+            userController.usersGet().then(({ data: { users } }) => {
+                setUsers(users || []);
+            });
+        }
+    }, [documentsIds, redirecting, role]);
+
+    const handleUpload = () => {
+        // console.log(documentsIds, selectedUsers);
+        if (documentsIds && documentsIds.length !== 0) {
+            annotationController.annotationsPost({
+                documentIdList: documentsIds,
+                userIdList: selectedUsers,
+            });
+        }
+        onCancel();
+    };
+
+    function onChange(event: any) {
+        if (event.target.checked) {
+            selectedUsers.push(event.target.value);
+        } else {
+            setSelectedUsers(selectedUsers.filter((usr) => usr !== event.target.value));
+        }
+    }
+
+    return (
+        <Modal
+            title="Přiřadit dokumenty"
+            onOk={handleOk}
+            visible={true}
+            onCancel={handleCancel}
+            footer={[
+                <Button key="back" onClick={handleCancel}>
+                    Storno
+                </Button>,
+                <Button key="submit" type="primary" onClick={handleUpload}>
+                    Přiřadit
+                </Button>,
+            ]}
+        >
+            <List
+                dataSource={users}
+                size={'small'}
+                grid={{ gutter: 10, column: 1 }}
+                style={{ maxHeight: 400, overflowY: 'auto', overflowX: 'hidden' }}
+                renderItem={(item) => (
+                    <List.Item key={item.id}>
+                        <List.Item.Meta
+                            title={
+                                <Checkbox onChange={onChange} value={item.id}>
+                                    {item.name + ' ' + item.surname}
+                                </Checkbox>
+                            }
+                        />
+                    </List.Item>
+                )}
+            />
+        </Modal>
+    );
+}
+
+export default AssignDocumentModal;
diff --git a/webapp/pages/documents/admin/index.tsx b/webapp/pages/documents/admin/index.tsx
index a566315..d223d3a 100644
--- a/webapp/pages/documents/admin/index.tsx
+++ b/webapp/pages/documents/admin/index.tsx
@@ -11,18 +11,24 @@ import { MainLayout } from '../../../layouts/MainLayout';
 import AddDocumentModal from '../../../components/modals/AddDocumentModal';
 import { AnnotationListInfo, DocumentListInfo, UserInfo } from '../../../api';
 import { documentController, userController } from '../../../controllers';
+import AssignDocumentModal from '../../../components/modals/AssignDocumentModal';
+import { ShowToast } from '../../../utils/alerts';
 
 function AdminDocumentPage() {
     const redirecting = useUnauthRedirect('/login');
     const { logout, role } = useContext(LoggedUserContext);
-    const [visible, setVisible] = React.useState(false);
+    const [visibleAdd, setVisibleAdd] = React.useState(false);
+    const [visibleAssign, setVisibleAssign] = React.useState(false);
     const router = useRouter();
 
     const [documents, setDocuments] = useState<DocumentListInfo[]>([]);
+    const [selectedDocs, setSelectedDocs] = useState<string[] | undefined[]>([]);
 
     useEffect(() => {
         async function fetchData() {
             let docs = (await documentController.documentsGet(0, 1000)).data.documents;
+            docs?.forEach((doc) => (doc.key = doc.id));
+
             if (!docs) {
                 setDocuments([]);
             } else {
@@ -35,12 +41,21 @@ function AdminDocumentPage() {
         }
     }, [logout, redirecting, role, router]);
 
-    const showModal = () => {
-        setVisible(true);
+    const showAssignModal = () => {
+        if (selectedDocs.length == 0) {
+            ShowToast('Vyberte dokument pro přiřazení', 'warning', 3000, 'top-end');
+        } else {
+            setVisibleAssign(true);
+        }
+    };
+
+    const showAddModal = () => {
+        setVisibleAdd(true);
     };
 
     const hideModal = () => {
-        setVisible(false);
+        setVisibleAdd(false);
+        setVisibleAssign(false);
     };
 
     const columns = [
@@ -79,21 +94,35 @@ function AdminDocumentPage() {
         },
     ];
 
+    const rowSelection = {
+        onChange: (selectedRowKeys: React.Key[], selectedRows: DocumentListInfo[]) => {
+            setSelectedDocs(selectedRows.map((row) => row.id));
+        },
+    };
+
     return redirecting || role !== 'ADMINISTRATOR' ? null : (
         <MainLayout>
             <Typography.Title level={2}>
                 <FontAwesomeIcon icon={faFileLines} /> Dokumenty
             </Typography.Title>
-            <Button type={'primary'} onClick={showModal}>
+            <Button type={'primary'} onClick={showAddModal}>
                 Nahrát dokument
             </Button>
-            {visible && <AddDocumentModal onCancel={hideModal} />}
+            <Button onClick={showAssignModal}>Přiřadit dokumenty</Button>
+            {visibleAdd && <AddDocumentModal onCancel={hideModal} />}
+            {visibleAssign && (
+                <AssignDocumentModal documentsIds={selectedDocs} onCancel={hideModal} />
+            )}
 
             <Table
+                rowSelection={{
+                    type: 'checkbox',
+                    ...rowSelection,
+                }}
                 columns={columns}
                 dataSource={documents}
-                size="small"
-                scroll={{ y: 500 }}
+                size="middle"
+                scroll={{ y: 600 }}
             />
         </MainLayout>
     );
diff --git a/webapp/utils/axios.ts b/webapp/utils/axios.ts
index 6a9e026..f34985b 100644
--- a/webapp/utils/axios.ts
+++ b/webapp/utils/axios.ts
@@ -2,6 +2,8 @@ import axiosLib from 'axios';
 import Router from 'next/router';
 import { StatusCodes } from 'http-status-codes';
 import { getToken } from './login';
+import { useContext } from 'react';
+import { LoggedUserContext } from '../contexts/LoggedUserContext';
 
 export const axios = axiosLib.create({
     baseURL: 'https://localhost:7241',
@@ -24,7 +26,7 @@ axios.interceptors.response.use(
         const status = error?.response?.status;
         if (status === StatusCodes.UNAUTHORIZED) {
             console.log('Unauthorized, redirecting...');
-
+            localStorage.clear();
             if (Router.pathname !== '/') {
                 await Router.replace({
                     pathname: '/',
