{"version":3,"file":"prowodo-angular-client.mjs","sources":["../../encoder.ts","../../query.params.ts","../../variables.ts","../../configuration.ts","../../api.base.service.ts","../../api/api.service.ts","../../api/apiTokenAuth.service.ts","../../api/attachments.service.ts","../../api/companies.service.ts","../../api/companyMembers.service.ts","../../api/companyUsers.service.ts","../../api/notification.service.ts","../../api/personalSchedule.service.ts","../../api/projectUsers.service.ts","../../api/projects.service.ts","../../api/resumeEntries.service.ts","../../api/scrum.service.ts","../../api/taskAssignements.service.ts","../../api/taskAttachments.service.ts","../../api/taskComments.service.ts","../../api/taskTag.service.ts","../../api/teams.service.ts","../../api/ticketComments.service.ts","../../api/users.service.ts","../../api/workingDays.service.ts","../../api/api.ts","../../model/attachmentKindEnum.ts","../../model/authToken.ts","../../model/blankEnum.ts","../../model/companyMember.ts","../../model/companyPendingInvites200ResponseInnerInvitedBy.ts","../../model/companyRevokeInvite400Response.ts","../../model/companyRevokeInviteRequest.ts","../../model/companyWorkingDays.ts","../../model/dailyResumeDefaultEnum.ts","../../model/day.ts","../../model/dependencyTypeEnum.ts","../../model/directionEnum.ts","../../model/durationUnitEnum.ts","../../model/firebaseDeviceToken.ts","../../model/importanceEnum.ts","../../model/myNotification.ts","../../model/nullEnum.ts","../../model/onboardingAcceptInvite200Response.ts","../../model/onboardingAcceptInviteRequest.ts","../../model/onboardingSendWelcomeEmail200Response.ts","../../model/patchedCompanyMember.ts","../../model/patchedCompanyWorkingDays.ts","../../model/patchedPersonalScheduleVoice.ts","../../model/patchedProject.ts","../../model/patchedProjectTaskStatus.ts","../../model/patchedProjectUser.ts","../../model/patchedReminder.ts","../../model/patchedTaskTag.ts","../../model/patchedTeam.ts","../../model/patchedTicketWidgetUpdate.ts","../../model/personalScheduleVoice.ts","../../model/priorityEnum.ts","../../model/project.ts","../../model/projectTaskStatus.ts","../../model/projectUser.ts","../../model/publicWidgetConfig.ts","../../model/reminder.ts","../../model/resumeEntryKindEnum.ts","../../model/roleEnum.ts","../../model/sprintCloseRequest.ts","../../model/sprintLaneMoveRequest.ts","../../model/sprintTaskLane.ts","../../model/stateEnum.ts","../../model/statusEnum.ts","../../model/tagMini.ts","../../model/taskMoveToSprint200Response.ts","../../model/taskMoveToSprintRequest.ts","../../model/taskTag.ts","../../model/team.ts","../../model/teamEasy.ts","../../model/ticketCategory.ts","../../model/ticketCommentAttachment.ts","../../model/ticketStatus.ts","../../model/ticketSubmissionDetail.ts","../../model/ticketSubmit.ts","../../model/ticketWidgetCreate.ts","../../model/ticketWidgetUpdate.ts","../../model/ticketsSubmit201Response.ts","../../model/tierEnum.ts","../../model/user.ts","../../model/userId.ts","../../api.module.ts","../../provide-api.ts","../../prowodo-angular-client.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n    encodeKey(k: string): string {\n        return encodeURIComponent(k);\n    }\n    encodeValue(v: string): string {\n        return encodeURIComponent(v);\n    }\n    decodeKey(k: string): string {\n        return decodeURIComponent(k);\n    }\n    decodeValue(v: string): string {\n        return decodeURIComponent(v);\n    }\n}\n\nexport class IdentityHttpParameterCodec implements HttpParameterCodec {\n    encodeKey(k: string): string {\n        return k;\n    }\n    encodeValue(v: string): string {\n        return v;\n    }\n    decodeKey(k: string): string {\n        return k;\n    }\n    decodeValue(v: string): string {\n        return v;\n    }\n}\n","import { HttpParams, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec, IdentityHttpParameterCodec } from './encoder';\n\nexport enum QueryParamStyle {\n    Json,\n    Form,\n    DeepObject,\n    SpaceDelimited,\n    PipeDelimited,\n}\n\nexport type Delimiter = \",\" | \" \" | \"|\" | \"\\t\";\n\nexport interface ParamOptions {\n    /** When true, serialized as multiple repeated key=value pairs. When false, serialized as a single key with joined values using `delimiter`. */\n    explode?: boolean;\n    /** Delimiter used when explode=false. The delimiter itself is inserted unencoded between encoded values. */\n    delimiter?: Delimiter;\n}\n\ninterface ParamEntry {\n    values: string[];\n    options: Required<ParamOptions>;\n}\n\nexport class OpenApiHttpParams {\n    private params: Map<string, ParamEntry> = new Map();\n    private defaults: Required<ParamOptions>;\n    private encoder: HttpParameterCodec;\n\n    /**\n     * @param encoder  Parameter serializer\n     * @param defaults Global defaults used when a specific parameter has no explicit options.\n     *                 By OpenAPI default, explode is true for query params with style=form.\n     */\n    constructor(encoder?: HttpParameterCodec, defaults?: { explode?: boolean; delimiter?: Delimiter }) {\n        this.encoder = encoder || new CustomHttpParameterCodec();\n        this.defaults = {\n            explode: defaults?.explode ?? true,\n            delimiter: defaults?.delimiter ?? \",\",\n        };\n    }\n\n    private resolveOptions(local?: ParamOptions): Required<ParamOptions> {\n        return {\n            explode: local?.explode ?? this.defaults.explode,\n            delimiter: local?.delimiter ?? this.defaults.delimiter,\n        };\n    }\n\n    /**\n     * Replace the parameter's values and (optionally) its options.\n     * Options are stored per-parameter (not global).\n     */\n    set(key: string, values: string[] | string, options?: ParamOptions): this {\n        const arr = Array.isArray(values) ? values.slice() : [values];\n        const opts = this.resolveOptions(options);\n        this.params.set(key, {values: arr, options: opts});\n        return this;\n    }\n\n    /**\n     * Append a single value to the parameter. If the parameter didn't exist it will be created\n     * and use resolved options (global defaults merged with any provided options).\n     */\n    append(key: string, value: string, options?: ParamOptions): this {\n        const entry = this.params.get(key);\n        if (entry) {\n            // If new options provided, override the stored options for subsequent serialization\n            if (options) {\n                entry.options = this.resolveOptions({...entry.options, ...options});\n            }\n            entry.values.push(value);\n        } else {\n            this.set(key, [value], options);\n        }\n        return this;\n    }\n\n    /**\n     * Serialize to a query string according to per-parameter OpenAPI options.\n     * - If explode=true for that parameter → repeated key=value pairs (each value encoded).\n     * - If explode=false for that parameter → single key=value where values are individually encoded\n     *   and joined using the configured delimiter. The delimiter character is inserted AS-IS\n     *   (not percent-encoded).\n     */\n    toString(): string {\n        const records = this.toRecord();\n        const parts: string[] = [];\n\n        for (const key in records) {\n            parts.push(`${key}=${records[key]}`);\n        }\n\n        return parts.join(\"&\");\n    }\n\n    /**\n     * Return parameters as a plain record.\n     * - If a parameter has exactly one value, returns that value directly.\n     * - If a parameter has multiple values, returns a readonly array of values.\n     */\n    toRecord(): Record<string, string | number | boolean | ReadonlyArray<string | number | boolean>> {\n        const parts: Record<string, string | number | boolean | ReadonlyArray<string | number | boolean>> = {};\n\n        for (const [key, entry] of this.params.entries()) {\n            const encodedKey = this.encoder.encodeKey(key);\n\n            if (entry.options.explode) {\n                parts[encodedKey] = entry.values.map((v) => this.encoder.encodeValue(v));\n            } else {\n                const encodedValues = entry.values.map((v) => this.encoder.encodeValue(v));\n\n                // join with the delimiter *unencoded*\n                parts[encodedKey] = encodedValues.join(entry.options.delimiter);\n            }\n        }\n\n        return parts;\n    }\n\n    /**\n     * Return an Angular's HttpParams with an identity parameter codec as the parameters are already encoded.\n     */\n    toHttpParams(): HttpParams {\n        const records = this.toRecord();\n\n        let httpParams = new HttpParams({encoder: new IdentityHttpParameterCodec()});\n\n        return httpParams.appendAll(records);\n    }\n}\n\nexport function concatHttpParamsObject(httpParams: OpenApiHttpParams, key: string, item: {\n    [index: string]: any\n}, delimiter: Delimiter): OpenApiHttpParams {\n    let keyAndValues: string[] = [];\n\n    for (const k in item) {\n        keyAndValues.push(k);\n\n        const value = item[k];\n\n        if (Array.isArray(value)) {\n            keyAndValues.push(...value.map(convertToString));\n        } else {\n            keyAndValues.push(convertToString(value));\n        }\n    }\n\n    return httpParams.set(key, keyAndValues, {explode: false, delimiter: delimiter});\n}\n\nfunction convertToString(value: any): string {\n    if (value instanceof Date) {\n         return value.toISOString();\n    } else {\n        return value.toString();\n    }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n    'csv': ',',\n    'tsv': '   ',\n    'ssv': ' ',\n    'pipes': '|'\n}\n","import { HttpHeaders, HttpParameterCodec } from '@angular/common/http';\nimport { Param } from './param';\nimport { OpenApiHttpParams } from './query.params';\n\nexport interface ConfigurationParameters {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Override the default method for encoding path parameters in various\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam?: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Encoding of various path parameter\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials: {[ key: string ]: string | (() => string | undefined)};\n\nconstructor({ accessToken, apiKeys, basePath, credentials, encodeParam, encoder, password, username, withCredentials }: ConfigurationParameters = {}) {\n        if (apiKeys) {\n            this.apiKeys = apiKeys;\n        }\n        if (username !== undefined) {\n            this.username = username;\n        }\n        if (password !== undefined) {\n            this.password = password;\n        }\n        if (accessToken !== undefined) {\n            this.accessToken = accessToken;\n        }\n        if (basePath !== undefined) {\n            this.basePath = basePath;\n        }\n        if (withCredentials !== undefined) {\n            this.withCredentials = withCredentials;\n        }\n        if (encoder) {\n            this.encoder = encoder;\n        }\n        this.encodeParam = encodeParam ?? (param => this.defaultEncodeParam(param));\n        this.credentials = credentials ?? {};\n\n        // init default FirebaseAuthentication credential\n        if (!this.credentials['FirebaseAuthentication']) {\n            this.credentials['FirebaseAuthentication'] = () => {\n                return typeof this.accessToken === 'function'\n                    ? this.accessToken()\n                    : this.accessToken;\n            };\n        }\n\n        // init default basicAuth credential\n        if (!this.credentials['basicAuth']) {\n            this.credentials['basicAuth'] = () => {\n                return (this.username || this.password)\n                    ? btoa(this.username + ':' + this.password)\n                    : undefined;\n            };\n        }\n\n        // init default cookieAuth credential\n        if (!this.credentials['cookieAuth']) {\n            this.credentials['cookieAuth'] = () => {\n                if (this.apiKeys === null || this.apiKeys === undefined) {\n                    return undefined;\n                } else {\n                    return this.apiKeys['cookieAuth'] || this.apiKeys['sessionid'];\n                }\n            };\n        }\n\n        // init default tokenAuth credential\n        if (!this.credentials['tokenAuth']) {\n            this.credentials['tokenAuth'] = () => {\n                if (this.apiKeys === null || this.apiKeys === undefined) {\n                    return undefined;\n                } else {\n                    return this.apiKeys['tokenAuth'] || this.apiKeys['Authorization'];\n                }\n            };\n        }\n    }\n\n    /**\n     * Select the correct content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param contentTypes - the array of content types that are available for selection\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderContentType (contentTypes: string[]): string | undefined {\n        if (contentTypes.length === 0) {\n            return undefined;\n        }\n\n        const type = contentTypes.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return contentTypes[0];\n        }\n        return type;\n    }\n\n    /**\n     * Select the correct accept content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param accepts - the array of content types that are available for selection.\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderAccept(accepts: string[]): string | undefined {\n        if (accepts.length === 0) {\n            return undefined;\n        }\n\n        const type = accepts.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return accepts[0];\n        }\n        return type;\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    public isJsonMime(mime: string): boolean {\n        const jsonMime: RegExp = /^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$/i;\n        return mime !== null && jsonMime.test(mime);\n    }\n\n    public lookupCredential(key: string): string | undefined {\n        const value = this.credentials[key];\n        return typeof value === 'function'\n            ? value()\n            : value;\n    }\n\n    public addCredentialToHeaders(credentialKey: string, headerName: string, headers: HttpHeaders, prefix?: string): HttpHeaders {\n        const value = this.lookupCredential(credentialKey);\n        return value\n            ? headers.set(headerName, (prefix ?? '') + value)\n            : headers;\n    }\n\n    public addCredentialToQuery(credentialKey: string, paramName: string, query: OpenApiHttpParams): OpenApiHttpParams {\n        const value = this.lookupCredential(credentialKey);\n        return value\n            ? query.set(paramName, value)\n            : query;\n    }\n\n    private defaultEncodeParam(param: Param): string {\n        // This implementation exists as fallback for missing configuration\n        // and for backwards compatibility to older typescript-angular generator versions.\n        // It only works for the 'simple' parameter style.\n        // Date-handling only works for the 'date-time' format.\n        // All other styles and Date-formats are probably handled incorrectly.\n        //\n        // But: if that's all you need (i.e.: the most common use-case): no need for customization!\n\n        const value = param.dataFormat === 'date-time' && param.value instanceof Date\n            ? (param.value as Date).toISOString()\n            : param.value;\n\n        return encodeURIComponent(String(value));\n    }\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { HttpHeaders, HttpParams, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from './encoder';\nimport { Configuration } from './configuration';\nimport { OpenApiHttpParams, QueryParamStyle, concatHttpParamsObject} from './query.params';\n\nexport class BaseService {\n    protected basePath = 'http://localhost';\n    public defaultHeaders = new HttpHeaders();\n    public configuration: Configuration;\n    public encoder: HttpParameterCodec;\n\n    constructor(basePath?: string|string[], configuration?: Configuration) {\n        this.configuration = configuration || new Configuration();\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n    protected canConsumeForm(consumes: string[]): boolean {\n        return consumes.indexOf('multipart/form-data') !== -1;\n    }\n\n    protected addToHttpParams(httpParams: OpenApiHttpParams, key: string, value: any | null | undefined, paramStyle: QueryParamStyle, explode: boolean): OpenApiHttpParams {\n        if (value === null || value === undefined) {\n            return httpParams;\n        }\n\n        if (paramStyle === QueryParamStyle.DeepObject) {\n            if (typeof value !== 'object') {\n                throw Error(`An object must be provided for key ${key} as it is a deep object`);\n            }\n\n            return Object.keys(value as Record<string, any>).reduce(\n                (hp, k) => hp.append(`${key}[${k}]`, value[k]),\n                httpParams,\n            );\n        } else if (paramStyle === QueryParamStyle.Json) {\n            return httpParams.append(key, JSON.stringify(value));\n        } else {\n            // Form-style, SpaceDelimited or PipeDelimited\n\n            if (Object(value) !== value) {\n                // If it is a primitive type, add its string representation\n                return httpParams.append(key, value.toString());\n            } else if (value instanceof Date) {\n                return httpParams.append(key, value.toISOString());\n            } else if (Array.isArray(value) || value instanceof Set) {\n                // Otherwise, if it's an array or set, add each element.\n                const array = Array.isArray(value) ? value : Array.from(value);\n                if (paramStyle === QueryParamStyle.Form) {\n                    return httpParams.set(key, array, {explode: explode, delimiter: ','});\n                } else if (paramStyle === QueryParamStyle.SpaceDelimited) {\n                    return httpParams.set(key, array, {explode: explode, delimiter: ' '});\n                } else {\n                    // PipeDelimited\n                    return httpParams.set(key, array, {explode: explode, delimiter: '|'});\n                }\n            } else {\n                // Otherwise, if it's an object, add each field.\n                if (paramStyle === QueryParamStyle.Form) {\n                    if (explode) {\n                        Object.keys(value).forEach(k => {\n                            httpParams = this.addToHttpParams(httpParams, k, value[k], paramStyle, explode);\n                        });\n                        return httpParams;\n                    } else {\n                        return concatHttpParamsObject(httpParams, key, value, ',');\n                    }\n                } else if (paramStyle === QueryParamStyle.SpaceDelimited) {\n                    return concatHttpParamsObject(httpParams, key, value, ' ');\n                } else {\n                    // PipeDelimited\n                    return concatHttpParamsObject(httpParams, key, value, '|');\n                }\n            }\n        }\n    }\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { CompanyRevokeInvite400Response } from '../model/companyRevokeInvite400Response';\n// @ts-ignore\nimport { OnboardingAcceptInvite200Response } from '../model/onboardingAcceptInvite200Response';\n// @ts-ignore\nimport { OnboardingAcceptInviteRequest } from '../model/onboardingAcceptInviteRequest';\n// @ts-ignore\nimport { OnboardingSendWelcomeEmail200Response } from '../model/onboardingSendWelcomeEmail200Response';\n// @ts-ignore\nimport { PaginatedProjectTaskStatusList } from '../model/paginatedProjectTaskStatusList';\n// @ts-ignore\nimport { PaginatedReminderList } from '../model/paginatedReminderList';\n// @ts-ignore\nimport { PaginatedTaskDependencyList } from '../model/paginatedTaskDependencyList';\n// @ts-ignore\nimport { PaginatedTaskList } from '../model/paginatedTaskList';\n// @ts-ignore\nimport { PaginatedTicketWidgetListList } from '../model/paginatedTicketWidgetListList';\n// @ts-ignore\nimport { PaginatedUserVersionList } from '../model/paginatedUserVersionList';\n// @ts-ignore\nimport { PatchedProjectTaskStatus } from '../model/patchedProjectTaskStatus';\n// @ts-ignore\nimport { PatchedReminder } from '../model/patchedReminder';\n// @ts-ignore\nimport { PatchedTask } from '../model/patchedTask';\n// @ts-ignore\nimport { PatchedTaskDependency } from '../model/patchedTaskDependency';\n// @ts-ignore\nimport { PatchedTicketWidgetUpdate } from '../model/patchedTicketWidgetUpdate';\n// @ts-ignore\nimport { ProjectTaskStatus } from '../model/projectTaskStatus';\n// @ts-ignore\nimport { PublicTicketComment } from '../model/publicTicketComment';\n// @ts-ignore\nimport { PublicWidgetConfig } from '../model/publicWidgetConfig';\n// @ts-ignore\nimport { Reminder } from '../model/reminder';\n// @ts-ignore\nimport { Task } from '../model/task';\n// @ts-ignore\nimport { TaskDependency } from '../model/taskDependency';\n// @ts-ignore\nimport { TaskMoveToSprint200Response } from '../model/taskMoveToSprint200Response';\n// @ts-ignore\nimport { TaskMoveToSprintRequest } from '../model/taskMoveToSprintRequest';\n// @ts-ignore\nimport { TaskRelated } from '../model/taskRelated';\n// @ts-ignore\nimport { TicketStatus } from '../model/ticketStatus';\n// @ts-ignore\nimport { TicketSubmissionDetail } from '../model/ticketSubmissionDetail';\n// @ts-ignore\nimport { TicketSubmit } from '../model/ticketSubmit';\n// @ts-ignore\nimport { TicketWidgetCreate } from '../model/ticketWidgetCreate';\n// @ts-ignore\nimport { TicketWidgetUpdate } from '../model/ticketWidgetUpdate';\n// @ts-ignore\nimport { TicketsSubmit201Response } from '../model/ticketsSubmit201Response';\n// @ts-ignore\nimport { UserVersion } from '../model/userVersion';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    ApiServiceInterface,\n    ApiAiIntegrationsRevokeDestroyRequestParams,\n    ApiAiIntegrationsStatusRetrieveRequestParams,\n    ApiAiIntegrationsTokenCreateRequestParams,\n    ApiCompanyChangedRetrieveRequestParams,\n    ApiCompanyChangedRetrieve2RequestParams,\n    ApiProjectsDependenciesCreateRequestParams,\n    ApiProjectsDependenciesDestroyRequestParams,\n    ApiProjectsDependenciesListRequestParams,\n    ApiProjectsDependenciesPartialUpdateRequestParams,\n    ApiProjectsDependenciesRetrieveRequestParams,\n    ApiProjectsDependenciesUpdateRequestParams,\n    ApiProjectsStatusTemplateCreateRequestParams,\n    ApiProjectsStatusTemplateDestroyRequestParams,\n    ApiProjectsStatusTemplateListRequestParams,\n    ApiProjectsStatusTemplatePartialUpdateRequestParams,\n    ApiProjectsStatusTemplateRetrieveRequestParams,\n    ApiProjectsStatusTemplateUpdateRequestParams,\n    ApiTasksAddTagPartialUpdateRequestParams,\n    ApiTasksAssignUserCreateRequestParams,\n    ApiTasksCreateRequestParams,\n    ApiTasksDecreseDepthCreateRequestParams,\n    ApiTasksDestroyRequestParams,\n    ApiTasksIncreseDepthCreateRequestParams,\n    ApiTasksListRequestParams,\n    ApiTasksMoveDownCreateRequestParams,\n    ApiTasksMoveRelateToCreateRequestParams,\n    ApiTasksMoveToProjectPartialUpdateRequestParams,\n    ApiTasksMoveUpCreateRequestParams,\n    ApiTasksPartialUpdateRequestParams,\n    ApiTasksRemindersCreateRequestParams,\n    ApiTasksRemindersDestroyRequestParams,\n    ApiTasksRemindersListRequestParams,\n    ApiTasksRemindersPartialUpdateRequestParams,\n    ApiTasksRemindersRetrieveRequestParams,\n    ApiTasksRemindersUpdateRequestParams,\n    ApiTasksRemoveTagPartialUpdateRequestParams,\n    ApiTasksReorderChildrenCreateRequestParams,\n    ApiTasksReorderRootCreateRequestParams,\n    ApiTasksRetrieveRequestParams,\n    ApiTasksUnassignUserCreateRequestParams,\n    ApiTasksUpdateRequestParams,\n    ApiTicketSubmissionsCommentsAttachmentsCreateRequestParams,\n    ApiTicketSubmissionsCommentsAttachmentsCreate2RequestParams,\n    ApiTicketSubmissionsCommentsAttachmentsDestroyRequestParams,\n    ApiTicketSubmissionsCommentsAttachmentsDestroy2RequestParams,\n    ApiTicketSubmissionsRetrieveRequestParams,\n    ApiTicketSubmissionsRetrieve2RequestParams,\n    ApiTicketWidgetsCreateRequestParams,\n    ApiTicketWidgetsDestroyRequestParams,\n    ApiTicketWidgetsListRequestParams,\n    ApiTicketWidgetsPartialUpdateRequestParams,\n    ApiTicketWidgetsRegenerateKeyCreateRequestParams,\n    ApiTicketWidgetsRestoreCreateRequestParams,\n    ApiTicketWidgetsUpdateRequestParams,\n    ApiTicketsCommentsAttachmentsCreateRequestParams,\n    ApiTicketsCommentsAttachmentsCreate2RequestParams,\n    ApiTicketsCommentsAttachmentsCreate3RequestParams,\n    ApiTicketsCommentsAttachmentsCreate4RequestParams,\n    ApiVersionListRequestParams,\n    ApiVersionMarkAllAsReadCreateRequestParams,\n    ApiVersionMarkAsReadCreateRequestParams,\n    ApiVersionRetrieveRequestParams,\n    OnboardingAcceptInviteRequestParams,\n    OnboardingAcceptInvite2RequestParams,\n    TaskMoveToSprintRequestParams,\n    TicketsCommentsCreateRequestParams,\n    TicketsCommentsCreate2RequestParams,\n    TicketsCommentsCreate3RequestParams,\n    TicketsCommentsCreate4RequestParams,\n    TicketsCommentsListRequestParams,\n    TicketsCommentsList2RequestParams,\n    TicketsCommentsList3RequestParams,\n    TicketsCommentsList4RequestParams,\n    TicketsStatusRequestParams,\n    TicketsStatus2RequestParams,\n    TicketsStatus3RequestParams,\n    TicketsStatus4RequestParams,\n    TicketsSubmitRequestParams,\n    TicketsSubmit2RequestParams,\n    TicketsSubmit3RequestParams,\n    TicketsSubmit4RequestParams\n} from './api.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ApiService extends BaseService implements ApiServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Return the OAuth2 config needed to set up a ChatGPT custom GPT action.\n     * @endpoint get /api/ai-integrations/chatgpt/config/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiAiIntegrationsChatgptConfigRetrieve(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiAiIntegrationsChatgptConfigRetrieve(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiAiIntegrationsChatgptConfigRetrieve(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiAiIntegrationsChatgptConfigRetrieve(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ai-integrations/chatgpt/config/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Register the callback URL shown by ChatGPT when setting up a GPT action.\n     * @endpoint post /api/ai-integrations/chatgpt/register-callback/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiAiIntegrationsChatgptRegisterCallbackCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiAiIntegrationsChatgptRegisterCallbackCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiAiIntegrationsChatgptRegisterCallbackCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiAiIntegrationsChatgptRegisterCallbackCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ai-integrations/chatgpt/register-callback/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint delete /api/ai-integrations/{client_id}/revoke/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiAiIntegrationsRevokeDestroy(requestParameters: ApiAiIntegrationsRevokeDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiAiIntegrationsRevokeDestroy(requestParameters: ApiAiIntegrationsRevokeDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiAiIntegrationsRevokeDestroy(requestParameters: ApiAiIntegrationsRevokeDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiAiIntegrationsRevokeDestroy(requestParameters: ApiAiIntegrationsRevokeDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const clientId = requestParameters?.clientId;\n        if (clientId === null || clientId === undefined) {\n            throw new Error('Required parameter clientId was null or undefined when calling apiAiIntegrationsRevokeDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ai-integrations/${this.configuration.encodeParam({name: \"clientId\", value: clientId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/revoke/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/ai-integrations/{client_id}/status/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiAiIntegrationsStatusRetrieve(requestParameters: ApiAiIntegrationsStatusRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiAiIntegrationsStatusRetrieve(requestParameters: ApiAiIntegrationsStatusRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiAiIntegrationsStatusRetrieve(requestParameters: ApiAiIntegrationsStatusRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiAiIntegrationsStatusRetrieve(requestParameters: ApiAiIntegrationsStatusRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const clientId = requestParameters?.clientId;\n        if (clientId === null || clientId === undefined) {\n            throw new Error('Required parameter clientId was null or undefined when calling apiAiIntegrationsStatusRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ai-integrations/${this.configuration.encodeParam({name: \"clientId\", value: clientId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/status/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/ai-integrations/{client_id}/token/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiAiIntegrationsTokenCreate(requestParameters: ApiAiIntegrationsTokenCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiAiIntegrationsTokenCreate(requestParameters: ApiAiIntegrationsTokenCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiAiIntegrationsTokenCreate(requestParameters: ApiAiIntegrationsTokenCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiAiIntegrationsTokenCreate(requestParameters: ApiAiIntegrationsTokenCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const clientId = requestParameters?.clientId;\n        if (clientId === null || clientId === undefined) {\n            throw new Error('Required parameter clientId was null or undefined when calling apiAiIntegrationsTokenCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ai-integrations/${this.configuration.encodeParam({name: \"clientId\", value: clientId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/token/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Confirm a returning Checkout: read the session from Stripe, provision the local Subscription idempotently (same path as the webhook), and return the real state. Makes the post-payment return certain even if the webhook lags.\n     * @endpoint post /api/billing/checkout/confirm\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingCheckoutConfirmCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingCheckoutConfirmCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingCheckoutConfirmCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingCheckoutConfirmCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/checkout/confirm`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Confirm a returning Checkout: read the session from Stripe, provision the local Subscription idempotently (same path as the webhook), and return the real state. Makes the post-payment return certain even if the webhook lags.\n     * @endpoint post /api/billing/checkout/confirm/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingCheckoutConfirmCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingCheckoutConfirmCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingCheckoutConfirmCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingCheckoutConfirmCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/checkout/confirm/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billing/checkout\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingCheckoutCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingCheckoutCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingCheckoutCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingCheckoutCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/checkout`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billing/checkout/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingCheckoutCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingCheckoutCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingCheckoutCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingCheckoutCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/checkout/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billing/plans\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingPlansRetrieve(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingPlansRetrieve(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingPlansRetrieve(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingPlansRetrieve(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/plans`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billing/plans/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingPlansRetrieve2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingPlansRetrieve2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingPlansRetrieve2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingPlansRetrieve2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/plans/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billing/portal\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingPortalCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingPortalCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingPortalCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingPortalCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/portal`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billing/portal/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingPortalCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingPortalCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingPortalCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingPortalCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/portal/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billing/subscription\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingSubscriptionRetrieve(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingSubscriptionRetrieve(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingSubscriptionRetrieve(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingSubscriptionRetrieve(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/subscription`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billing/subscription/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingSubscriptionRetrieve2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingSubscriptionRetrieve2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingSubscriptionRetrieve2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingSubscriptionRetrieve2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billing/subscription/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Confirm a returning Checkout: read the session from Stripe, provision the local Subscription idempotently (same path as the webhook), and return the real state. Makes the post-payment return certain even if the webhook lags.\n     * @endpoint post /api/billingcheckout/confirm\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingcheckoutConfirmCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingcheckoutConfirmCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingcheckoutConfirmCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingcheckoutConfirmCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingcheckout/confirm`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Confirm a returning Checkout: read the session from Stripe, provision the local Subscription idempotently (same path as the webhook), and return the real state. Makes the post-payment return certain even if the webhook lags.\n     * @endpoint post /api/billingcheckout/confirm/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingcheckoutConfirmCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingcheckoutConfirmCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingcheckoutConfirmCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingcheckoutConfirmCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingcheckout/confirm/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billingcheckout\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingcheckoutCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingcheckoutCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingcheckoutCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingcheckoutCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingcheckout`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billingcheckout/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingcheckoutCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingcheckoutCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingcheckoutCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingcheckoutCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingcheckout/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billingplans\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingplansRetrieve(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingplansRetrieve(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingplansRetrieve(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingplansRetrieve(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingplans`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billingplans/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingplansRetrieve2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingplansRetrieve2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingplansRetrieve2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingplansRetrieve2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingplans/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billingportal\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingportalCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingportalCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingportalCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingportalCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingportal`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint post /api/billingportal/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingportalCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingportalCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingportalCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingportalCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingportal/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billingsubscription\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingsubscriptionRetrieve(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingsubscriptionRetrieve(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingsubscriptionRetrieve(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingsubscriptionRetrieve(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingsubscription`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * @endpoint get /api/billingsubscription/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiBillingsubscriptionRetrieve2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiBillingsubscriptionRetrieve2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiBillingsubscriptionRetrieve2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiBillingsubscriptionRetrieve2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/billingsubscription/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reconciliation al risveglio: dice se task/sprint/resume di una company sono cambiati dopo &#x60;since&#x60;. Include i soft-deleted (updated_at aggiornato).\n     * @endpoint get /api/company/{company_id}/changed\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiCompanyChangedRetrieve(requestParameters: ApiCompanyChangedRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiCompanyChangedRetrieve(requestParameters: ApiCompanyChangedRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiCompanyChangedRetrieve(requestParameters: ApiCompanyChangedRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiCompanyChangedRetrieve(requestParameters: ApiCompanyChangedRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiCompanyChangedRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/company/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/changed`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reconciliation al risveglio: dice se task/sprint/resume di una company sono cambiati dopo &#x60;since&#x60;. Include i soft-deleted (updated_at aggiornato).\n     * @endpoint get /api/company/{company_id}/changed/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiCompanyChangedRetrieve2(requestParameters: ApiCompanyChangedRetrieve2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiCompanyChangedRetrieve2(requestParameters: ApiCompanyChangedRetrieve2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiCompanyChangedRetrieve2(requestParameters: ApiCompanyChangedRetrieve2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiCompanyChangedRetrieve2(requestParameters: ApiCompanyChangedRetrieve2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiCompanyChangedRetrieve2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/company/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/changed/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage scheduling dependencies between tasks of a project.\n     * @endpoint post /api/{company_id}/projects/{project_id}/dependencies/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsDependenciesCreate(requestParameters: ApiProjectsDependenciesCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskDependency>;\n    public apiProjectsDependenciesCreate(requestParameters: ApiProjectsDependenciesCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskDependency>>;\n    public apiProjectsDependenciesCreate(requestParameters: ApiProjectsDependenciesCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskDependency>>;\n    public apiProjectsDependenciesCreate(requestParameters: ApiProjectsDependenciesCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsDependenciesCreate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsDependenciesCreate.');\n        }\n        const taskDependency = requestParameters?.taskDependency;\n        if (taskDependency === null || taskDependency === undefined) {\n            throw new Error('Required parameter taskDependency was null or undefined when calling apiProjectsDependenciesCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/dependencies/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskDependency>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskDependency,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage scheduling dependencies between tasks of a project.\n     * @endpoint delete /api/{company_id}/projects/{project_id}/dependencies/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsDependenciesDestroy(requestParameters: ApiProjectsDependenciesDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiProjectsDependenciesDestroy(requestParameters: ApiProjectsDependenciesDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiProjectsDependenciesDestroy(requestParameters: ApiProjectsDependenciesDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiProjectsDependenciesDestroy(requestParameters: ApiProjectsDependenciesDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsDependenciesDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsDependenciesDestroy.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsDependenciesDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/dependencies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage scheduling dependencies between tasks of a project.\n     * @endpoint get /api/{company_id}/projects/{project_id}/dependencies/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsDependenciesList(requestParameters: ApiProjectsDependenciesListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTaskDependencyList>;\n    public apiProjectsDependenciesList(requestParameters: ApiProjectsDependenciesListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTaskDependencyList>>;\n    public apiProjectsDependenciesList(requestParameters: ApiProjectsDependenciesListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTaskDependencyList>>;\n    public apiProjectsDependenciesList(requestParameters: ApiProjectsDependenciesListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsDependenciesList.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsDependenciesList.');\n        }\n        const companyId2 = requestParameters?.companyId2;\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const projectId2 = requestParameters?.projectId2;\n        const search = requestParameters?.search;\n        const task = requestParameters?.task;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'company_id',\n            <any>companyId2,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'project_id',\n            <any>projectId2,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'task',\n            <any>task,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/dependencies/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTaskDependencyList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage scheduling dependencies between tasks of a project.\n     * @endpoint patch /api/{company_id}/projects/{project_id}/dependencies/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsDependenciesPartialUpdate(requestParameters: ApiProjectsDependenciesPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskDependency>;\n    public apiProjectsDependenciesPartialUpdate(requestParameters: ApiProjectsDependenciesPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskDependency>>;\n    public apiProjectsDependenciesPartialUpdate(requestParameters: ApiProjectsDependenciesPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskDependency>>;\n    public apiProjectsDependenciesPartialUpdate(requestParameters: ApiProjectsDependenciesPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsDependenciesPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsDependenciesPartialUpdate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsDependenciesPartialUpdate.');\n        }\n        const patchedTaskDependency = requestParameters?.patchedTaskDependency;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/dependencies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskDependency>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTaskDependency,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage scheduling dependencies between tasks of a project.\n     * @endpoint get /api/{company_id}/projects/{project_id}/dependencies/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsDependenciesRetrieve(requestParameters: ApiProjectsDependenciesRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskDependency>;\n    public apiProjectsDependenciesRetrieve(requestParameters: ApiProjectsDependenciesRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskDependency>>;\n    public apiProjectsDependenciesRetrieve(requestParameters: ApiProjectsDependenciesRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskDependency>>;\n    public apiProjectsDependenciesRetrieve(requestParameters: ApiProjectsDependenciesRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsDependenciesRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsDependenciesRetrieve.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsDependenciesRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/dependencies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskDependency>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage scheduling dependencies between tasks of a project.\n     * @endpoint put /api/{company_id}/projects/{project_id}/dependencies/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsDependenciesUpdate(requestParameters: ApiProjectsDependenciesUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskDependency>;\n    public apiProjectsDependenciesUpdate(requestParameters: ApiProjectsDependenciesUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskDependency>>;\n    public apiProjectsDependenciesUpdate(requestParameters: ApiProjectsDependenciesUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskDependency>>;\n    public apiProjectsDependenciesUpdate(requestParameters: ApiProjectsDependenciesUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsDependenciesUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsDependenciesUpdate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsDependenciesUpdate.');\n        }\n        const taskDependency = requestParameters?.taskDependency;\n        if (taskDependency === null || taskDependency === undefined) {\n            throw new Error('Required parameter taskDependency was null or undefined when calling apiProjectsDependenciesUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/dependencies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskDependency>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskDependency,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/{company_id}/projects/{project_id}/status-template/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsStatusTemplateCreate(requestParameters: ApiProjectsStatusTemplateCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectTaskStatus>;\n    public apiProjectsStatusTemplateCreate(requestParameters: ApiProjectsStatusTemplateCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplateCreate(requestParameters: ApiProjectsStatusTemplateCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplateCreate(requestParameters: ApiProjectsStatusTemplateCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsStatusTemplateCreate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsStatusTemplateCreate.');\n        }\n        const projectTaskStatus = requestParameters?.projectTaskStatus;\n        if (projectTaskStatus === null || projectTaskStatus === undefined) {\n            throw new Error('Required parameter projectTaskStatus was null or undefined when calling apiProjectsStatusTemplateCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/status-template/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectTaskStatus>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: projectTaskStatus,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint delete /api/{company_id}/projects/{project_id}/status-template/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsStatusTemplateDestroy(requestParameters: ApiProjectsStatusTemplateDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiProjectsStatusTemplateDestroy(requestParameters: ApiProjectsStatusTemplateDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiProjectsStatusTemplateDestroy(requestParameters: ApiProjectsStatusTemplateDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiProjectsStatusTemplateDestroy(requestParameters: ApiProjectsStatusTemplateDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsStatusTemplateDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsStatusTemplateDestroy.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsStatusTemplateDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/status-template/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/{company_id}/projects/{project_id}/status-template/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsStatusTemplateList(requestParameters: ApiProjectsStatusTemplateListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedProjectTaskStatusList>;\n    public apiProjectsStatusTemplateList(requestParameters: ApiProjectsStatusTemplateListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedProjectTaskStatusList>>;\n    public apiProjectsStatusTemplateList(requestParameters: ApiProjectsStatusTemplateListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedProjectTaskStatusList>>;\n    public apiProjectsStatusTemplateList(requestParameters: ApiProjectsStatusTemplateListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsStatusTemplateList.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsStatusTemplateList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/status-template/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedProjectTaskStatusList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint patch /api/{company_id}/projects/{project_id}/status-template/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsStatusTemplatePartialUpdate(requestParameters: ApiProjectsStatusTemplatePartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectTaskStatus>;\n    public apiProjectsStatusTemplatePartialUpdate(requestParameters: ApiProjectsStatusTemplatePartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplatePartialUpdate(requestParameters: ApiProjectsStatusTemplatePartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplatePartialUpdate(requestParameters: ApiProjectsStatusTemplatePartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsStatusTemplatePartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsStatusTemplatePartialUpdate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsStatusTemplatePartialUpdate.');\n        }\n        const patchedProjectTaskStatus = requestParameters?.patchedProjectTaskStatus;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/status-template/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectTaskStatus>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedProjectTaskStatus,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/{company_id}/projects/{project_id}/status-template/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsStatusTemplateRetrieve(requestParameters: ApiProjectsStatusTemplateRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectTaskStatus>;\n    public apiProjectsStatusTemplateRetrieve(requestParameters: ApiProjectsStatusTemplateRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplateRetrieve(requestParameters: ApiProjectsStatusTemplateRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplateRetrieve(requestParameters: ApiProjectsStatusTemplateRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsStatusTemplateRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsStatusTemplateRetrieve.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsStatusTemplateRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/status-template/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectTaskStatus>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint put /api/{company_id}/projects/{project_id}/status-template/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsStatusTemplateUpdate(requestParameters: ApiProjectsStatusTemplateUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectTaskStatus>;\n    public apiProjectsStatusTemplateUpdate(requestParameters: ApiProjectsStatusTemplateUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplateUpdate(requestParameters: ApiProjectsStatusTemplateUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectTaskStatus>>;\n    public apiProjectsStatusTemplateUpdate(requestParameters: ApiProjectsStatusTemplateUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsStatusTemplateUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsStatusTemplateUpdate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectsStatusTemplateUpdate.');\n        }\n        const projectTaskStatus = requestParameters?.projectTaskStatus;\n        if (projectTaskStatus === null || projectTaskStatus === undefined) {\n            throw new Error('Required parameter projectTaskStatus was null or undefined when calling apiProjectsStatusTemplateUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/status-template/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectTaskStatus>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: projectTaskStatus,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Authenticates a Soketi/Pusher private channel subscription.  Only members of the company referenced by the channel name may subscribe to that company\\&#39;s private channel.\n     * @endpoint post /api/realtime/auth\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiRealtimeAuthCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiRealtimeAuthCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiRealtimeAuthCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiRealtimeAuthCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/realtime/auth`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Authenticates a Soketi/Pusher private channel subscription.  Only members of the company referenced by the channel name may subscribe to that company\\&#39;s private channel.\n     * @endpoint post /api/realtime/auth/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiRealtimeAuthCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiRealtimeAuthCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiRealtimeAuthCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiRealtimeAuthCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/realtime/auth/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Add a tag to the task. The request body must contain either \\&#39;text\\&#39; or \\&#39;id\\&#39; of the tag. If \\&#39;text\\&#39; is provided, a new tag will be created if it does not exist. If \\&#39;id\\&#39; is provided, the existing tag will be used.\n     * @endpoint patch /api/tasks/{id}/add-tag/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksAddTagPartialUpdate(requestParameters: ApiTasksAddTagPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksAddTagPartialUpdate(requestParameters: ApiTasksAddTagPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksAddTagPartialUpdate(requestParameters: ApiTasksAddTagPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksAddTagPartialUpdate(requestParameters: ApiTasksAddTagPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksAddTagPartialUpdate.');\n        }\n        const patchedTask = requestParameters?.patchedTask;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/add-tag/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTask,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/assign-user/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksAssignUserCreate(requestParameters: ApiTasksAssignUserCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksAssignUserCreate(requestParameters: ApiTasksAssignUserCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksAssignUserCreate(requestParameters: ApiTasksAssignUserCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksAssignUserCreate(requestParameters: ApiTasksAssignUserCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksAssignUserCreate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksAssignUserCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/assign-user/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksCreate(requestParameters: ApiTasksCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksCreate(requestParameters: ApiTasksCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksCreate(requestParameters: ApiTasksCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksCreate(requestParameters: ApiTasksCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/decrese_depth/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksDecreseDepthCreate(requestParameters: ApiTasksDecreseDepthCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksDecreseDepthCreate(requestParameters: ApiTasksDecreseDepthCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksDecreseDepthCreate(requestParameters: ApiTasksDecreseDepthCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksDecreseDepthCreate(requestParameters: ApiTasksDecreseDepthCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksDecreseDepthCreate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksDecreseDepthCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/decrese_depth/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint delete /api/tasks/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksDestroy(requestParameters: ApiTasksDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTasksDestroy(requestParameters: ApiTasksDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTasksDestroy(requestParameters: ApiTasksDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTasksDestroy(requestParameters: ApiTasksDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/increse_depth/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksIncreseDepthCreate(requestParameters: ApiTasksIncreseDepthCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksIncreseDepthCreate(requestParameters: ApiTasksIncreseDepthCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksIncreseDepthCreate(requestParameters: ApiTasksIncreseDepthCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksIncreseDepthCreate(requestParameters: ApiTasksIncreseDepthCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksIncreseDepthCreate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksIncreseDepthCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/increse_depth/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Tasks\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/tasks/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksList(requestParameters?: ApiTasksListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTaskList>;\n    public apiTasksList(requestParameters?: ApiTasksListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTaskList>>;\n    public apiTasksList(requestParameters?: ApiTasksListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTaskList>>;\n    public apiTasksList(requestParameters?: ApiTasksListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const assignedToMe = requestParameters?.assignedToMe;\n        const assigneeId = requestParameters?.assigneeId;\n        const depth = requestParameters?.depth;\n        const descriptionIcontains = requestParameters?.descriptionIcontains;\n        const expectedStartDatetimeDate = requestParameters?.expectedStartDatetimeDate;\n        const expectedStartDatetimeGte = requestParameters?.expectedStartDatetimeGte;\n        const expectedStartDatetimeIsnull = requestParameters?.expectedStartDatetimeIsnull;\n        const expectedStartDatetimeLte = requestParameters?.expectedStartDatetimeLte;\n        const expectedStopDatetimeDate = requestParameters?.expectedStopDatetimeDate;\n        const expectedStopDatetimeGte = requestParameters?.expectedStopDatetimeGte;\n        const expectedStopDatetimeIsnull = requestParameters?.expectedStopDatetimeIsnull;\n        const expectedStopDatetimeLte = requestParameters?.expectedStopDatetimeLte;\n        const hasTicket = requestParameters?.hasTicket;\n        const importance = requestParameters?.importance;\n        const importanceGte = requestParameters?.importanceGte;\n        const importanceLte = requestParameters?.importanceLte;\n        const isCompleted = requestParameters?.isCompleted;\n        const isDeleted = requestParameters?.isDeleted;\n        const isMilestone = requestParameters?.isMilestone;\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const parentId = requestParameters?.parentId;\n        const priority = requestParameters?.priority;\n        const priorityGte = requestParameters?.priorityGte;\n        const priorityLte = requestParameters?.priorityLte;\n        const progress = requestParameters?.progress;\n        const progressGt = requestParameters?.progressGt;\n        const progressGte = requestParameters?.progressGte;\n        const progressLt = requestParameters?.progressLt;\n        const progressLte = requestParameters?.progressLte;\n        const projectId = requestParameters?.projectId;\n        const search = requestParameters?.search;\n        const sprint = requestParameters?.sprint;\n        const sprintIsnull = requestParameters?.sprintIsnull;\n        const status = requestParameters?.status;\n        const storyPoints = requestParameters?.storyPoints;\n        const storyPointsGte = requestParameters?.storyPointsGte;\n        const storyPointsIsnull = requestParameters?.storyPointsIsnull;\n        const storyPointsLte = requestParameters?.storyPointsLte;\n        const tag = requestParameters?.tag;\n        const titleIcontains = requestParameters?.titleIcontains;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'assigned_to_me',\n            <any>assignedToMe,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'assignee_id',\n            <any>assigneeId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'depth',\n            <any>depth,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'description__icontains',\n            <any>descriptionIcontains,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_start_datetime__date',\n            <any>expectedStartDatetimeDate,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_start_datetime__gte',\n            <any>expectedStartDatetimeGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_start_datetime__isnull',\n            <any>expectedStartDatetimeIsnull,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_start_datetime__lte',\n            <any>expectedStartDatetimeLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_stop_datetime__date',\n            <any>expectedStopDatetimeDate,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_stop_datetime__gte',\n            <any>expectedStopDatetimeGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_stop_datetime__isnull',\n            <any>expectedStopDatetimeIsnull,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'expected_stop_datetime__lte',\n            <any>expectedStopDatetimeLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'has_ticket',\n            <any>hasTicket,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'importance',\n            <any>importance,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'importance__gte',\n            <any>importanceGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'importance__lte',\n            <any>importanceLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'is_completed',\n            <any>isCompleted,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'is_deleted',\n            <any>isDeleted,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'is_milestone',\n            <any>isMilestone,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'parent_id',\n            <any>parentId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'priority',\n            <any>priority,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'priority__gte',\n            <any>priorityGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'priority__lte',\n            <any>priorityLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'progress',\n            <any>progress,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'progress__gt',\n            <any>progressGt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'progress__gte',\n            <any>progressGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'progress__lt',\n            <any>progressLt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'progress__lte',\n            <any>progressLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'project_id',\n            <any>projectId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'sprint',\n            <any>sprint,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'sprint__isnull',\n            <any>sprintIsnull,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'status',\n            <any>status,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'story_points',\n            <any>storyPoints,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'story_points__gte',\n            <any>storyPointsGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'story_points__isnull',\n            <any>storyPointsIsnull,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'story_points__lte',\n            <any>storyPointsLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'tag',\n            <any>tag,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'title__icontains',\n            <any>titleIcontains,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTaskList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/move_down/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksMoveDownCreate(requestParameters: ApiTasksMoveDownCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksMoveDownCreate(requestParameters: ApiTasksMoveDownCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksMoveDownCreate(requestParameters: ApiTasksMoveDownCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksMoveDownCreate(requestParameters: ApiTasksMoveDownCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksMoveDownCreate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksMoveDownCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/move_down/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/move_relate_to/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksMoveRelateToCreate(requestParameters: ApiTasksMoveRelateToCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskRelated>;\n    public apiTasksMoveRelateToCreate(requestParameters: ApiTasksMoveRelateToCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskRelated>>;\n    public apiTasksMoveRelateToCreate(requestParameters: ApiTasksMoveRelateToCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskRelated>>;\n    public apiTasksMoveRelateToCreate(requestParameters: ApiTasksMoveRelateToCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksMoveRelateToCreate.');\n        }\n        const taskRelated = requestParameters?.taskRelated;\n        if (taskRelated === null || taskRelated === undefined) {\n            throw new Error('Required parameter taskRelated was null or undefined when calling apiTasksMoveRelateToCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/move_relate_to/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskRelated>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskRelated,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Move a project to another company.\n     * @endpoint patch /api/tasks/{id}/move_to_project/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksMoveToProjectPartialUpdate(requestParameters: ApiTasksMoveToProjectPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksMoveToProjectPartialUpdate(requestParameters: ApiTasksMoveToProjectPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksMoveToProjectPartialUpdate(requestParameters: ApiTasksMoveToProjectPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksMoveToProjectPartialUpdate(requestParameters: ApiTasksMoveToProjectPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksMoveToProjectPartialUpdate.');\n        }\n        const patchedTask = requestParameters?.patchedTask;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/move_to_project/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTask,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/move_up/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksMoveUpCreate(requestParameters: ApiTasksMoveUpCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksMoveUpCreate(requestParameters: ApiTasksMoveUpCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksMoveUpCreate(requestParameters: ApiTasksMoveUpCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksMoveUpCreate(requestParameters: ApiTasksMoveUpCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksMoveUpCreate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksMoveUpCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/move_up/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint patch /api/tasks/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksPartialUpdate(requestParameters: ApiTasksPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksPartialUpdate(requestParameters: ApiTasksPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksPartialUpdate(requestParameters: ApiTasksPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksPartialUpdate(requestParameters: ApiTasksPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksPartialUpdate.');\n        }\n        const patchedTask = requestParameters?.patchedTask;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTask,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing reminders of a task.\n     * @endpoint post /api/tasks/{task_id}/reminders/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRemindersCreate(requestParameters: ApiTasksRemindersCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Reminder>;\n    public apiTasksRemindersCreate(requestParameters: ApiTasksRemindersCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Reminder>>;\n    public apiTasksRemindersCreate(requestParameters: ApiTasksRemindersCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Reminder>>;\n    public apiTasksRemindersCreate(requestParameters: ApiTasksRemindersCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling apiTasksRemindersCreate.');\n        }\n        const reminder = requestParameters?.reminder;\n        if (reminder === null || reminder === undefined) {\n            throw new Error('Required parameter reminder was null or undefined when calling apiTasksRemindersCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/reminders/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Reminder>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: reminder,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing reminders of a task.\n     * @endpoint delete /api/tasks/{task_id}/reminders/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRemindersDestroy(requestParameters: ApiTasksRemindersDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTasksRemindersDestroy(requestParameters: ApiTasksRemindersDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTasksRemindersDestroy(requestParameters: ApiTasksRemindersDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTasksRemindersDestroy(requestParameters: ApiTasksRemindersDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksRemindersDestroy.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling apiTasksRemindersDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/reminders/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing reminders of a task.\n     * @endpoint get /api/tasks/{task_id}/reminders/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRemindersList(requestParameters: ApiTasksRemindersListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedReminderList>;\n    public apiTasksRemindersList(requestParameters: ApiTasksRemindersListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedReminderList>>;\n    public apiTasksRemindersList(requestParameters: ApiTasksRemindersListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedReminderList>>;\n    public apiTasksRemindersList(requestParameters: ApiTasksRemindersListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling apiTasksRemindersList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/reminders/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedReminderList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing reminders of a task.\n     * @endpoint patch /api/tasks/{task_id}/reminders/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRemindersPartialUpdate(requestParameters: ApiTasksRemindersPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Reminder>;\n    public apiTasksRemindersPartialUpdate(requestParameters: ApiTasksRemindersPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Reminder>>;\n    public apiTasksRemindersPartialUpdate(requestParameters: ApiTasksRemindersPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Reminder>>;\n    public apiTasksRemindersPartialUpdate(requestParameters: ApiTasksRemindersPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksRemindersPartialUpdate.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling apiTasksRemindersPartialUpdate.');\n        }\n        const patchedReminder = requestParameters?.patchedReminder;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/reminders/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Reminder>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedReminder,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing reminders of a task.\n     * @endpoint get /api/tasks/{task_id}/reminders/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRemindersRetrieve(requestParameters: ApiTasksRemindersRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Reminder>;\n    public apiTasksRemindersRetrieve(requestParameters: ApiTasksRemindersRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Reminder>>;\n    public apiTasksRemindersRetrieve(requestParameters: ApiTasksRemindersRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Reminder>>;\n    public apiTasksRemindersRetrieve(requestParameters: ApiTasksRemindersRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksRemindersRetrieve.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling apiTasksRemindersRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/reminders/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Reminder>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing reminders of a task.\n     * @endpoint put /api/tasks/{task_id}/reminders/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRemindersUpdate(requestParameters: ApiTasksRemindersUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Reminder>;\n    public apiTasksRemindersUpdate(requestParameters: ApiTasksRemindersUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Reminder>>;\n    public apiTasksRemindersUpdate(requestParameters: ApiTasksRemindersUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Reminder>>;\n    public apiTasksRemindersUpdate(requestParameters: ApiTasksRemindersUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksRemindersUpdate.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling apiTasksRemindersUpdate.');\n        }\n        const reminder = requestParameters?.reminder;\n        if (reminder === null || reminder === undefined) {\n            throw new Error('Required parameter reminder was null or undefined when calling apiTasksRemindersUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/reminders/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Reminder>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: reminder,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove a tag from the task. The request body must contain \\&#39;id\\&#39; of the tag to be removed.\n     * @endpoint patch /api/tasks/{id}/remove-tag/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRemoveTagPartialUpdate(requestParameters: ApiTasksRemoveTagPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksRemoveTagPartialUpdate(requestParameters: ApiTasksRemoveTagPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksRemoveTagPartialUpdate(requestParameters: ApiTasksRemoveTagPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksRemoveTagPartialUpdate(requestParameters: ApiTasksRemoveTagPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksRemoveTagPartialUpdate.');\n        }\n        const patchedTask = requestParameters?.patchedTask;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/remove-tag/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTask,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/reorder_children/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksReorderChildrenCreate(requestParameters: ApiTasksReorderChildrenCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksReorderChildrenCreate(requestParameters: ApiTasksReorderChildrenCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksReorderChildrenCreate(requestParameters: ApiTasksReorderChildrenCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksReorderChildrenCreate(requestParameters: ApiTasksReorderChildrenCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksReorderChildrenCreate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksReorderChildrenCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/reorder_children/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/reorder_root/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksReorderRootCreate(requestParameters: ApiTasksReorderRootCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksReorderRootCreate(requestParameters: ApiTasksReorderRootCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksReorderRootCreate(requestParameters: ApiTasksReorderRootCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksReorderRootCreate(requestParameters: ApiTasksReorderRootCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksReorderRootCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/reorder_root/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/tasks/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksRetrieve(requestParameters: ApiTasksRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksRetrieve(requestParameters: ApiTasksRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksRetrieve(requestParameters: ApiTasksRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksRetrieve(requestParameters: ApiTasksRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/{id}/unassign-user/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksUnassignUserCreate(requestParameters: ApiTasksUnassignUserCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksUnassignUserCreate(requestParameters: ApiTasksUnassignUserCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksUnassignUserCreate(requestParameters: ApiTasksUnassignUserCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksUnassignUserCreate(requestParameters: ApiTasksUnassignUserCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksUnassignUserCreate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksUnassignUserCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/unassign-user/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint put /api/tasks/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTasksUpdate(requestParameters: ApiTasksUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Task>;\n    public apiTasksUpdate(requestParameters: ApiTasksUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Task>>;\n    public apiTasksUpdate(requestParameters: ApiTasksUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Task>>;\n    public apiTasksUpdate(requestParameters: ApiTasksUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTasksUpdate.');\n        }\n        const task = requestParameters?.task;\n        if (task === null || task === undefined) {\n            throw new Error('Required parameter task was null or undefined when calling apiTasksUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Task>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: task,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Internal team upload + soft-delete of attachments on a ticket comment.\n     * @endpoint post /api/ticket-submissions/{submission_id}/comments/{comment_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketSubmissionsCommentsAttachmentsCreate(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketSubmissionsCommentsAttachmentsCreate(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsCreate(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsCreate(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsCreate.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Internal team upload + soft-delete of attachments on a ticket comment.\n     * @endpoint post /api/ticket-submissions/{submission_id}/comments/{comment_id}/attachments/{attachment_id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketSubmissionsCommentsAttachmentsCreate2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreate2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketSubmissionsCommentsAttachmentsCreate2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreate2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsCreate2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreate2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsCreate2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsCreate2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const attachmentId = requestParameters?.attachmentId;\n        if (attachmentId === null || attachmentId === undefined) {\n            throw new Error('Required parameter attachmentId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsCreate2.');\n        }\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsCreate2.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsCreate2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"attachmentId\", value: attachmentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Internal team upload + soft-delete of attachments on a ticket comment.\n     * @endpoint delete /api/ticket-submissions/{submission_id}/comments/{comment_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketSubmissionsCommentsAttachmentsDestroy(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketSubmissionsCommentsAttachmentsDestroy(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsDestroy(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsDestroy(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsDestroy.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Internal team upload + soft-delete of attachments on a ticket comment.\n     * @endpoint delete /api/ticket-submissions/{submission_id}/comments/{comment_id}/attachments/{attachment_id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketSubmissionsCommentsAttachmentsDestroy2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroy2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketSubmissionsCommentsAttachmentsDestroy2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroy2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsDestroy2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroy2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketSubmissionsCommentsAttachmentsDestroy2(requestParameters: ApiTicketSubmissionsCommentsAttachmentsDestroy2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const attachmentId = requestParameters?.attachmentId;\n        if (attachmentId === null || attachmentId === undefined) {\n            throw new Error('Required parameter attachmentId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsDestroy2.');\n        }\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsDestroy2.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling apiTicketSubmissionsCommentsAttachmentsDestroy2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"attachmentId\", value: attachmentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Intake metadata (submitter, widget, date) of a ticket submission.  Company-scoped via the linked task\\&#39;s project, so only members of the owning company can read it.\n     * @endpoint get /api/ticket-submissions/{submission_id}\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketSubmissionsRetrieve(requestParameters: ApiTicketSubmissionsRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketSubmissionDetail>;\n    public apiTicketSubmissionsRetrieve(requestParameters: ApiTicketSubmissionsRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketSubmissionDetail>>;\n    public apiTicketSubmissionsRetrieve(requestParameters: ApiTicketSubmissionsRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketSubmissionDetail>>;\n    public apiTicketSubmissionsRetrieve(requestParameters: ApiTicketSubmissionsRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling apiTicketSubmissionsRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketSubmissionDetail>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Intake metadata (submitter, widget, date) of a ticket submission.  Company-scoped via the linked task\\&#39;s project, so only members of the owning company can read it.\n     * @endpoint get /api/ticket-submissions/{submission_id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketSubmissionsRetrieve2(requestParameters: ApiTicketSubmissionsRetrieve2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketSubmissionDetail>;\n    public apiTicketSubmissionsRetrieve2(requestParameters: ApiTicketSubmissionsRetrieve2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketSubmissionDetail>>;\n    public apiTicketSubmissionsRetrieve2(requestParameters: ApiTicketSubmissionsRetrieve2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketSubmissionDetail>>;\n    public apiTicketSubmissionsRetrieve2(requestParameters: ApiTicketSubmissionsRetrieve2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling apiTicketSubmissionsRetrieve2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketSubmissionDetail>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DELETE is a soft-archive: sets is_active&#x3D;False so historical submissions still resolve their widget FK and the api_key_hash can never collide with a future widget. List excludes archived widgets unless &#x60;?include_archived&#x3D;true&#x60; is passed.\n     * @endpoint post /api/{company_id}/ticket-widgets/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketWidgetsCreate(requestParameters: ApiTicketWidgetsCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketWidgetCreate>;\n    public apiTicketWidgetsCreate(requestParameters: ApiTicketWidgetsCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketWidgetCreate>>;\n    public apiTicketWidgetsCreate(requestParameters: ApiTicketWidgetsCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketWidgetCreate>>;\n    public apiTicketWidgetsCreate(requestParameters: ApiTicketWidgetsCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiTicketWidgetsCreate.');\n        }\n        const ticketWidgetCreate = requestParameters?.ticketWidgetCreate;\n        if (ticketWidgetCreate === null || ticketWidgetCreate === undefined) {\n            throw new Error('Required parameter ticketWidgetCreate was null or undefined when calling apiTicketWidgetsCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/ticket-widgets/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketWidgetCreate>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketWidgetCreate,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DELETE is a soft-archive: sets is_active&#x3D;False so historical submissions still resolve their widget FK and the api_key_hash can never collide with a future widget. List excludes archived widgets unless &#x60;?include_archived&#x3D;true&#x60; is passed.\n     * @endpoint delete /api/{company_id}/ticket-widgets/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketWidgetsDestroy(requestParameters: ApiTicketWidgetsDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketWidgetsDestroy(requestParameters: ApiTicketWidgetsDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketWidgetsDestroy(requestParameters: ApiTicketWidgetsDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketWidgetsDestroy(requestParameters: ApiTicketWidgetsDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiTicketWidgetsDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTicketWidgetsDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/ticket-widgets/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DELETE is a soft-archive: sets is_active&#x3D;False so historical submissions still resolve their widget FK and the api_key_hash can never collide with a future widget. List excludes archived widgets unless &#x60;?include_archived&#x3D;true&#x60; is passed.\n     * @endpoint get /api/{company_id}/ticket-widgets/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketWidgetsList(requestParameters: ApiTicketWidgetsListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTicketWidgetListList>;\n    public apiTicketWidgetsList(requestParameters: ApiTicketWidgetsListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTicketWidgetListList>>;\n    public apiTicketWidgetsList(requestParameters: ApiTicketWidgetsListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTicketWidgetListList>>;\n    public apiTicketWidgetsList(requestParameters: ApiTicketWidgetsListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiTicketWidgetsList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/ticket-widgets/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTicketWidgetListList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DELETE is a soft-archive: sets is_active&#x3D;False so historical submissions still resolve their widget FK and the api_key_hash can never collide with a future widget. List excludes archived widgets unless &#x60;?include_archived&#x3D;true&#x60; is passed.\n     * @endpoint patch /api/{company_id}/ticket-widgets/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketWidgetsPartialUpdate(requestParameters: ApiTicketWidgetsPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketWidgetUpdate>;\n    public apiTicketWidgetsPartialUpdate(requestParameters: ApiTicketWidgetsPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketWidgetUpdate>>;\n    public apiTicketWidgetsPartialUpdate(requestParameters: ApiTicketWidgetsPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketWidgetUpdate>>;\n    public apiTicketWidgetsPartialUpdate(requestParameters: ApiTicketWidgetsPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiTicketWidgetsPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTicketWidgetsPartialUpdate.');\n        }\n        const patchedTicketWidgetUpdate = requestParameters?.patchedTicketWidgetUpdate;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/ticket-widgets/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketWidgetUpdate>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTicketWidgetUpdate,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DELETE is a soft-archive: sets is_active&#x3D;False so historical submissions still resolve their widget FK and the api_key_hash can never collide with a future widget. List excludes archived widgets unless &#x60;?include_archived&#x3D;true&#x60; is passed.\n     * @endpoint post /api/{company_id}/ticket-widgets/{id}/regenerate-key/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketWidgetsRegenerateKeyCreate(requestParameters: ApiTicketWidgetsRegenerateKeyCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketWidgetCreate>;\n    public apiTicketWidgetsRegenerateKeyCreate(requestParameters: ApiTicketWidgetsRegenerateKeyCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketWidgetCreate>>;\n    public apiTicketWidgetsRegenerateKeyCreate(requestParameters: ApiTicketWidgetsRegenerateKeyCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketWidgetCreate>>;\n    public apiTicketWidgetsRegenerateKeyCreate(requestParameters: ApiTicketWidgetsRegenerateKeyCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiTicketWidgetsRegenerateKeyCreate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTicketWidgetsRegenerateKeyCreate.');\n        }\n        const ticketWidgetCreate = requestParameters?.ticketWidgetCreate;\n        if (ticketWidgetCreate === null || ticketWidgetCreate === undefined) {\n            throw new Error('Required parameter ticketWidgetCreate was null or undefined when calling apiTicketWidgetsRegenerateKeyCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/ticket-widgets/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/regenerate-key/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketWidgetCreate>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketWidgetCreate,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DELETE is a soft-archive: sets is_active&#x3D;False so historical submissions still resolve their widget FK and the api_key_hash can never collide with a future widget. List excludes archived widgets unless &#x60;?include_archived&#x3D;true&#x60; is passed.\n     * @endpoint post /api/{company_id}/ticket-widgets/{id}/restore/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketWidgetsRestoreCreate(requestParameters: ApiTicketWidgetsRestoreCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketWidgetCreate>;\n    public apiTicketWidgetsRestoreCreate(requestParameters: ApiTicketWidgetsRestoreCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketWidgetCreate>>;\n    public apiTicketWidgetsRestoreCreate(requestParameters: ApiTicketWidgetsRestoreCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketWidgetCreate>>;\n    public apiTicketWidgetsRestoreCreate(requestParameters: ApiTicketWidgetsRestoreCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiTicketWidgetsRestoreCreate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTicketWidgetsRestoreCreate.');\n        }\n        const ticketWidgetCreate = requestParameters?.ticketWidgetCreate;\n        if (ticketWidgetCreate === null || ticketWidgetCreate === undefined) {\n            throw new Error('Required parameter ticketWidgetCreate was null or undefined when calling apiTicketWidgetsRestoreCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/ticket-widgets/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/restore/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketWidgetCreate>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketWidgetCreate,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DELETE is a soft-archive: sets is_active&#x3D;False so historical submissions still resolve their widget FK and the api_key_hash can never collide with a future widget. List excludes archived widgets unless &#x60;?include_archived&#x3D;true&#x60; is passed.\n     * @endpoint put /api/{company_id}/ticket-widgets/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketWidgetsUpdate(requestParameters: ApiTicketWidgetsUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketWidgetUpdate>;\n    public apiTicketWidgetsUpdate(requestParameters: ApiTicketWidgetsUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketWidgetUpdate>>;\n    public apiTicketWidgetsUpdate(requestParameters: ApiTicketWidgetsUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketWidgetUpdate>>;\n    public apiTicketWidgetsUpdate(requestParameters: ApiTicketWidgetsUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiTicketWidgetsUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiTicketWidgetsUpdate.');\n        }\n        const ticketWidgetUpdate = requestParameters?.ticketWidgetUpdate;\n        if (ticketWidgetUpdate === null || ticketWidgetUpdate === undefined) {\n            throw new Error('Required parameter ticketWidgetUpdate was null or undefined when calling apiTicketWidgetsUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/ticket-widgets/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketWidgetUpdate>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketWidgetUpdate,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submitter uploads a file to one of their comments (per-ticket token).\n     * @endpoint post /api/tickets/{ticket_uuid}/comments/{comment_id}/attachments\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketsCommentsAttachmentsCreate(requestParameters: ApiTicketsCommentsAttachmentsCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketsCommentsAttachmentsCreate(requestParameters: ApiTicketsCommentsAttachmentsCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketsCommentsAttachmentsCreate(requestParameters: ApiTicketsCommentsAttachmentsCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketsCommentsAttachmentsCreate(requestParameters: ApiTicketsCommentsAttachmentsCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketsCommentsAttachmentsCreate.');\n        }\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling apiTicketsCommentsAttachmentsCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submitter uploads a file to one of their comments (per-ticket token).\n     * @endpoint post /api/tickets/{ticket_uuid}/comments/{comment_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketsCommentsAttachmentsCreate2(requestParameters: ApiTicketsCommentsAttachmentsCreate2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketsCommentsAttachmentsCreate2(requestParameters: ApiTicketsCommentsAttachmentsCreate2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketsCommentsAttachmentsCreate2(requestParameters: ApiTicketsCommentsAttachmentsCreate2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketsCommentsAttachmentsCreate2(requestParameters: ApiTicketsCommentsAttachmentsCreate2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketsCommentsAttachmentsCreate2.');\n        }\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling apiTicketsCommentsAttachmentsCreate2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submitter uploads a file to one of their comments (per-ticket token).\n     * @endpoint post /api/tickets{ticket_uuid}/comments/{comment_id}/attachments\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketsCommentsAttachmentsCreate3(requestParameters: ApiTicketsCommentsAttachmentsCreate3RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketsCommentsAttachmentsCreate3(requestParameters: ApiTicketsCommentsAttachmentsCreate3RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketsCommentsAttachmentsCreate3(requestParameters: ApiTicketsCommentsAttachmentsCreate3RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketsCommentsAttachmentsCreate3(requestParameters: ApiTicketsCommentsAttachmentsCreate3RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketsCommentsAttachmentsCreate3.');\n        }\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling apiTicketsCommentsAttachmentsCreate3.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submitter uploads a file to one of their comments (per-ticket token).\n     * @endpoint post /api/tickets{ticket_uuid}/comments/{comment_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTicketsCommentsAttachmentsCreate4(requestParameters: ApiTicketsCommentsAttachmentsCreate4RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiTicketsCommentsAttachmentsCreate4(requestParameters: ApiTicketsCommentsAttachmentsCreate4RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiTicketsCommentsAttachmentsCreate4(requestParameters: ApiTicketsCommentsAttachmentsCreate4RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiTicketsCommentsAttachmentsCreate4(requestParameters: ApiTicketsCommentsAttachmentsCreate4RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling apiTicketsCommentsAttachmentsCreate4.');\n        }\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling apiTicketsCommentsAttachmentsCreate4.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/${this.configuration.encodeParam({name: \"commentId\", value: commentId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A simple ViewSet for viewing and editing user versions.\n     * @endpoint get /api/version/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiVersionList(requestParameters?: ApiVersionListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedUserVersionList>;\n    public apiVersionList(requestParameters?: ApiVersionListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedUserVersionList>>;\n    public apiVersionList(requestParameters?: ApiVersionListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedUserVersionList>>;\n    public apiVersionList(requestParameters?: ApiVersionListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n        const userNotificationsIsRead = requestParameters?.userNotificationsIsRead;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'user_notifications__is_read',\n            <any>userNotificationsIsRead,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/version/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedUserVersionList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Marks all versions as read for the authenticated user.\n     * @endpoint post /api/version/mark_all_as_read/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiVersionMarkAllAsReadCreate(requestParameters?: ApiVersionMarkAllAsReadCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<UserVersion>;\n    public apiVersionMarkAllAsReadCreate(requestParameters?: ApiVersionMarkAllAsReadCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<UserVersion>>;\n    public apiVersionMarkAllAsReadCreate(requestParameters?: ApiVersionMarkAllAsReadCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<UserVersion>>;\n    public apiVersionMarkAllAsReadCreate(requestParameters?: ApiVersionMarkAllAsReadCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const userVersion = requestParameters?.userVersion;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/version/mark_all_as_read/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<UserVersion>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: userVersion,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Marks all versions as read for the authenticated user.\n     * @endpoint post /api/version/{id}/mark_as_read/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiVersionMarkAsReadCreate(requestParameters: ApiVersionMarkAsReadCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<UserVersion>;\n    public apiVersionMarkAsReadCreate(requestParameters: ApiVersionMarkAsReadCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<UserVersion>>;\n    public apiVersionMarkAsReadCreate(requestParameters: ApiVersionMarkAsReadCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<UserVersion>>;\n    public apiVersionMarkAsReadCreate(requestParameters: ApiVersionMarkAsReadCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiVersionMarkAsReadCreate.');\n        }\n        const userVersion = requestParameters?.userVersion;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/version/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/mark_as_read/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<UserVersion>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: userVersion,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A simple ViewSet for viewing and editing user versions.\n     * @endpoint get /api/version/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiVersionRetrieve(requestParameters: ApiVersionRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<UserVersion>;\n    public apiVersionRetrieve(requestParameters: ApiVersionRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<UserVersion>>;\n    public apiVersionRetrieve(requestParameters: ApiVersionRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<UserVersion>>;\n    public apiVersionRetrieve(requestParameters: ApiVersionRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiVersionRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/version/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<UserVersion>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Accept a company invite\n     * @endpoint post /api/onboarding/accept-invite\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public onboardingAcceptInvite(requestParameters?: OnboardingAcceptInviteRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<OnboardingAcceptInvite200Response>;\n    public onboardingAcceptInvite(requestParameters?: OnboardingAcceptInviteRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<OnboardingAcceptInvite200Response>>;\n    public onboardingAcceptInvite(requestParameters?: OnboardingAcceptInviteRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<OnboardingAcceptInvite200Response>>;\n    public onboardingAcceptInvite(requestParameters?: OnboardingAcceptInviteRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const onboardingAcceptInviteRequest = requestParameters?.onboardingAcceptInviteRequest;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/onboarding/accept-invite`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<OnboardingAcceptInvite200Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: onboardingAcceptInviteRequest,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Accept a company invite\n     * @endpoint post /api/onboarding/accept-invite/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public onboardingAcceptInvite2(requestParameters?: OnboardingAcceptInvite2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<OnboardingAcceptInvite200Response>;\n    public onboardingAcceptInvite2(requestParameters?: OnboardingAcceptInvite2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<OnboardingAcceptInvite200Response>>;\n    public onboardingAcceptInvite2(requestParameters?: OnboardingAcceptInvite2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<OnboardingAcceptInvite200Response>>;\n    public onboardingAcceptInvite2(requestParameters?: OnboardingAcceptInvite2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const onboardingAcceptInviteRequest = requestParameters?.onboardingAcceptInviteRequest;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/onboarding/accept-invite/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<OnboardingAcceptInvite200Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: onboardingAcceptInviteRequest,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Send the welcome email to the current user\n     * Called by frontend on onboarding completion to send welcome email.\n     * @endpoint post /api/onboarding/welcome\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public onboardingSendWelcomeEmail(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<OnboardingSendWelcomeEmail200Response>;\n    public onboardingSendWelcomeEmail(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<OnboardingSendWelcomeEmail200Response>>;\n    public onboardingSendWelcomeEmail(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<OnboardingSendWelcomeEmail200Response>>;\n    public onboardingSendWelcomeEmail(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/onboarding/welcome`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<OnboardingSendWelcomeEmail200Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Send the welcome email to the current user\n     * Called by frontend on onboarding completion to send welcome email.\n     * @endpoint post /api/onboarding/welcome/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public onboardingSendWelcomeEmail2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<OnboardingSendWelcomeEmail200Response>;\n    public onboardingSendWelcomeEmail2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<OnboardingSendWelcomeEmail200Response>>;\n    public onboardingSendWelcomeEmail2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<OnboardingSendWelcomeEmail200Response>>;\n    public onboardingSendWelcomeEmail2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/onboarding/welcome/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<OnboardingSendWelcomeEmail200Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Move a set of tasks (+ descendants) to a sprint (or back to the backlog)\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/tasks/move-to-sprint/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskMoveToSprint(requestParameters?: TaskMoveToSprintRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskMoveToSprint200Response>;\n    public taskMoveToSprint(requestParameters?: TaskMoveToSprintRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskMoveToSprint200Response>>;\n    public taskMoveToSprint(requestParameters?: TaskMoveToSprintRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskMoveToSprint200Response>>;\n    public taskMoveToSprint(requestParameters?: TaskMoveToSprintRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskMoveToSprintRequest = requestParameters?.taskMoveToSprintRequest;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/move-to-sprint/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskMoveToSprint200Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskMoveToSprintRequest,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Post a public comment on a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint post /api/tickets/{ticket_uuid}/comments\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsCreate(requestParameters: TicketsCommentsCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicTicketComment>;\n    public ticketsCommentsCreate(requestParameters: TicketsCommentsCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicTicketComment>>;\n    public ticketsCommentsCreate(requestParameters: TicketsCommentsCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicTicketComment>>;\n    public ticketsCommentsCreate(requestParameters: TicketsCommentsCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsCreate.');\n        }\n        const publicTicketComment = requestParameters?.publicTicketComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicTicketComment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: publicTicketComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Post a public comment on a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint post /api/tickets/{ticket_uuid}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsCreate2(requestParameters: TicketsCommentsCreate2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicTicketComment>;\n    public ticketsCommentsCreate2(requestParameters: TicketsCommentsCreate2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicTicketComment>>;\n    public ticketsCommentsCreate2(requestParameters: TicketsCommentsCreate2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicTicketComment>>;\n    public ticketsCommentsCreate2(requestParameters: TicketsCommentsCreate2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsCreate2.');\n        }\n        const publicTicketComment = requestParameters?.publicTicketComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicTicketComment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: publicTicketComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Post a public comment on a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint post /api/tickets{ticket_uuid}/comments\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsCreate3(requestParameters: TicketsCommentsCreate3RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicTicketComment>;\n    public ticketsCommentsCreate3(requestParameters: TicketsCommentsCreate3RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicTicketComment>>;\n    public ticketsCommentsCreate3(requestParameters: TicketsCommentsCreate3RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicTicketComment>>;\n    public ticketsCommentsCreate3(requestParameters: TicketsCommentsCreate3RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsCreate3.');\n        }\n        const publicTicketComment = requestParameters?.publicTicketComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicTicketComment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: publicTicketComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Post a public comment on a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint post /api/tickets{ticket_uuid}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsCreate4(requestParameters: TicketsCommentsCreate4RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicTicketComment>;\n    public ticketsCommentsCreate4(requestParameters: TicketsCommentsCreate4RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicTicketComment>>;\n    public ticketsCommentsCreate4(requestParameters: TicketsCommentsCreate4RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicTicketComment>>;\n    public ticketsCommentsCreate4(requestParameters: TicketsCommentsCreate4RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsCreate4.');\n        }\n        const publicTicketComment = requestParameters?.publicTicketComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicTicketComment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: publicTicketComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List public comments for a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint get /api/tickets/{ticket_uuid}/comments\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsList(requestParameters: TicketsCommentsListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Array<PublicTicketComment>>;\n    public ticketsCommentsList(requestParameters: TicketsCommentsListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Array<PublicTicketComment>>>;\n    public ticketsCommentsList(requestParameters: TicketsCommentsListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Array<PublicTicketComment>>>;\n    public ticketsCommentsList(requestParameters: TicketsCommentsListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsList.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Array<PublicTicketComment>>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List public comments for a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint get /api/tickets/{ticket_uuid}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsList2(requestParameters: TicketsCommentsList2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Array<PublicTicketComment>>;\n    public ticketsCommentsList2(requestParameters: TicketsCommentsList2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Array<PublicTicketComment>>>;\n    public ticketsCommentsList2(requestParameters: TicketsCommentsList2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Array<PublicTicketComment>>>;\n    public ticketsCommentsList2(requestParameters: TicketsCommentsList2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsList2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Array<PublicTicketComment>>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List public comments for a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint get /api/tickets{ticket_uuid}/comments\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsList3(requestParameters: TicketsCommentsList3RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Array<PublicTicketComment>>;\n    public ticketsCommentsList3(requestParameters: TicketsCommentsList3RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Array<PublicTicketComment>>>;\n    public ticketsCommentsList3(requestParameters: TicketsCommentsList3RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Array<PublicTicketComment>>>;\n    public ticketsCommentsList3(requestParameters: TicketsCommentsList3RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsList3.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Array<PublicTicketComment>>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List public comments for a ticket (widget-scoped)\n     * Public ticket conversation: list public comments + post a comment, widget-scoped by API key + uuid.\n     * @endpoint get /api/tickets{ticket_uuid}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsCommentsList4(requestParameters: TicketsCommentsList4RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Array<PublicTicketComment>>;\n    public ticketsCommentsList4(requestParameters: TicketsCommentsList4RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Array<PublicTicketComment>>>;\n    public ticketsCommentsList4(requestParameters: TicketsCommentsList4RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Array<PublicTicketComment>>>;\n    public ticketsCommentsList4(requestParameters: TicketsCommentsList4RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsCommentsList4.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Array<PublicTicketComment>>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch widget config (categories + selectable tags) via API key\n     * Public widget config for the integrator\\&#39;s form: categories + selectable tags.  Auth via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60;. Scoped to the widget behind that key.\n     * @endpoint get /api/tickets/config\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsConfig(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicWidgetConfig>;\n    public ticketsConfig(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicWidgetConfig>>;\n    public ticketsConfig(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicWidgetConfig>>;\n    public ticketsConfig(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/config`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicWidgetConfig>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch widget config (categories + selectable tags) via API key\n     * Public widget config for the integrator\\&#39;s form: categories + selectable tags.  Auth via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60;. Scoped to the widget behind that key.\n     * @endpoint get /api/tickets/config/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsConfig2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicWidgetConfig>;\n    public ticketsConfig2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicWidgetConfig>>;\n    public ticketsConfig2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicWidgetConfig>>;\n    public ticketsConfig2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/config/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicWidgetConfig>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch widget config (categories + selectable tags) via API key\n     * Public widget config for the integrator\\&#39;s form: categories + selectable tags.  Auth via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60;. Scoped to the widget behind that key.\n     * @endpoint get /api/ticketsconfig\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsConfig3(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicWidgetConfig>;\n    public ticketsConfig3(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicWidgetConfig>>;\n    public ticketsConfig3(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicWidgetConfig>>;\n    public ticketsConfig3(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticketsconfig`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicWidgetConfig>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch widget config (categories + selectable tags) via API key\n     * Public widget config for the integrator\\&#39;s form: categories + selectable tags.  Auth via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60;. Scoped to the widget behind that key.\n     * @endpoint get /api/ticketsconfig/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsConfig4(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PublicWidgetConfig>;\n    public ticketsConfig4(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PublicWidgetConfig>>;\n    public ticketsConfig4(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PublicWidgetConfig>>;\n    public ticketsConfig4(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticketsconfig/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PublicWidgetConfig>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch ticket status by UUID (widget-scoped)\n     * Public status lookup for a ticket via its UUID, scoped to the widget bearer.\n     * @endpoint get /api/tickets/status/{ticket_uuid}\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsStatus(requestParameters: TicketsStatusRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketStatus>;\n    public ticketsStatus(requestParameters: TicketsStatusRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketStatus>>;\n    public ticketsStatus(requestParameters: TicketsStatusRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketStatus>>;\n    public ticketsStatus(requestParameters: TicketsStatusRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsStatus.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/status/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketStatus>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch ticket status by UUID (widget-scoped)\n     * Public status lookup for a ticket via its UUID, scoped to the widget bearer.\n     * @endpoint get /api/tickets/status/{ticket_uuid}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsStatus2(requestParameters: TicketsStatus2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketStatus>;\n    public ticketsStatus2(requestParameters: TicketsStatus2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketStatus>>;\n    public ticketsStatus2(requestParameters: TicketsStatus2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketStatus>>;\n    public ticketsStatus2(requestParameters: TicketsStatus2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsStatus2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/status/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketStatus>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch ticket status by UUID (widget-scoped)\n     * Public status lookup for a ticket via its UUID, scoped to the widget bearer.\n     * @endpoint get /api/ticketsstatus/{ticket_uuid}\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsStatus3(requestParameters: TicketsStatus3RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketStatus>;\n    public ticketsStatus3(requestParameters: TicketsStatus3RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketStatus>>;\n    public ticketsStatus3(requestParameters: TicketsStatus3RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketStatus>>;\n    public ticketsStatus3(requestParameters: TicketsStatus3RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsStatus3.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticketsstatus/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketStatus>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch ticket status by UUID (widget-scoped)\n     * Public status lookup for a ticket via its UUID, scoped to the widget bearer.\n     * @endpoint get /api/ticketsstatus/{ticket_uuid}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsStatus4(requestParameters: TicketsStatus4RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketStatus>;\n    public ticketsStatus4(requestParameters: TicketsStatus4RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketStatus>>;\n    public ticketsStatus4(requestParameters: TicketsStatus4RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketStatus>>;\n    public ticketsStatus4(requestParameters: TicketsStatus4RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketUuid = requestParameters?.ticketUuid;\n        if (ticketUuid === null || ticketUuid === undefined) {\n            throw new Error('Required parameter ticketUuid was null or undefined when calling ticketsStatus4.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticketsstatus/${this.configuration.encodeParam({name: \"ticketUuid\", value: ticketUuid, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketStatus>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submit a ticket via widget API key\n     * Public submit endpoint for the ticket widget.  Authenticated via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60; (the api_key is issued by the widget admin in ProWoDo). Each successful POST creates a Task in BACKLOG status in the widget\\&#39;s project plus a TicketSubmission record with the optional submitter dict.\n     * @endpoint post /api/tickets/submit\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsSubmit(requestParameters: TicketsSubmitRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketsSubmit201Response>;\n    public ticketsSubmit(requestParameters: TicketsSubmitRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketsSubmit201Response>>;\n    public ticketsSubmit(requestParameters: TicketsSubmitRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketsSubmit201Response>>;\n    public ticketsSubmit(requestParameters: TicketsSubmitRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketSubmit = requestParameters?.ticketSubmit;\n        if (ticketSubmit === null || ticketSubmit === undefined) {\n            throw new Error('Required parameter ticketSubmit was null or undefined when calling ticketsSubmit.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/submit`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketsSubmit201Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketSubmit,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submit a ticket via widget API key\n     * Public submit endpoint for the ticket widget.  Authenticated via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60; (the api_key is issued by the widget admin in ProWoDo). Each successful POST creates a Task in BACKLOG status in the widget\\&#39;s project plus a TicketSubmission record with the optional submitter dict.\n     * @endpoint post /api/tickets/submit/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsSubmit2(requestParameters: TicketsSubmit2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketsSubmit201Response>;\n    public ticketsSubmit2(requestParameters: TicketsSubmit2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketsSubmit201Response>>;\n    public ticketsSubmit2(requestParameters: TicketsSubmit2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketsSubmit201Response>>;\n    public ticketsSubmit2(requestParameters: TicketsSubmit2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketSubmit = requestParameters?.ticketSubmit;\n        if (ticketSubmit === null || ticketSubmit === undefined) {\n            throw new Error('Required parameter ticketSubmit was null or undefined when calling ticketsSubmit2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tickets/submit/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketsSubmit201Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketSubmit,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submit a ticket via widget API key\n     * Public submit endpoint for the ticket widget.  Authenticated via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60; (the api_key is issued by the widget admin in ProWoDo). Each successful POST creates a Task in BACKLOG status in the widget\\&#39;s project plus a TicketSubmission record with the optional submitter dict.\n     * @endpoint post /api/ticketssubmit\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsSubmit3(requestParameters: TicketsSubmit3RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketsSubmit201Response>;\n    public ticketsSubmit3(requestParameters: TicketsSubmit3RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketsSubmit201Response>>;\n    public ticketsSubmit3(requestParameters: TicketsSubmit3RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketsSubmit201Response>>;\n    public ticketsSubmit3(requestParameters: TicketsSubmit3RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketSubmit = requestParameters?.ticketSubmit;\n        if (ticketSubmit === null || ticketSubmit === undefined) {\n            throw new Error('Required parameter ticketSubmit was null or undefined when calling ticketsSubmit3.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticketssubmit`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketsSubmit201Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketSubmit,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Submit a ticket via widget API key\n     * Public submit endpoint for the ticket widget.  Authenticated via &#x60;Authorization: Bearer pwd_tk_&lt;api_key&gt;&#x60; (the api_key is issued by the widget admin in ProWoDo). Each successful POST creates a Task in BACKLOG status in the widget\\&#39;s project plus a TicketSubmission record with the optional submitter dict.\n     * @endpoint post /api/ticketssubmit/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketsSubmit4(requestParameters: TicketsSubmit4RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketsSubmit201Response>;\n    public ticketsSubmit4(requestParameters: TicketsSubmit4RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketsSubmit201Response>>;\n    public ticketsSubmit4(requestParameters: TicketsSubmit4RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketsSubmit201Response>>;\n    public ticketsSubmit4(requestParameters: TicketsSubmit4RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ticketSubmit = requestParameters?.ticketSubmit;\n        if (ticketSubmit === null || ticketSubmit === undefined) {\n            throw new Error('Required parameter ticketSubmit was null or undefined when calling ticketsSubmit4.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticketssubmit/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketsSubmit201Response>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketSubmit,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { AuthToken } from '../model/authToken';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    ApiTokenAuthServiceInterface,\n    ApiTokenAuthCreateRequestParams\n} from './apiTokenAuth.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ApiTokenAuthService extends BaseService implements ApiTokenAuthServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * @endpoint post /api-token-auth/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiTokenAuthCreate(requestParameters: ApiTokenAuthCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<AuthToken>;\n    public apiTokenAuthCreate(requestParameters: ApiTokenAuthCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<AuthToken>>;\n    public apiTokenAuthCreate(requestParameters: ApiTokenAuthCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<AuthToken>>;\n    public apiTokenAuthCreate(requestParameters: ApiTokenAuthCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const username = requestParameters?.username;\n        if (username === null || username === undefined) {\n            throw new Error('Required parameter username was null or undefined when calling apiTokenAuthCreate.');\n        }\n        const password = requestParameters?.password;\n        if (password === null || password === undefined) {\n            throw new Error('Required parameter password was null or undefined when calling apiTokenAuthCreate.');\n        }\n        const token = requestParameters?.token;\n        if (token === null || token === undefined) {\n            throw new Error('Required parameter token was null or undefined when calling apiTokenAuthCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/x-www-form-urlencoded',\n            'multipart/form-data',\n            'application/json'\n        ];\n\n        const canConsumeForm = this.canConsumeForm(consumes);\n\n        let localVarFormParams: { append(param: string, value: any): any; };\n        let localVarUseForm = false;\n        let localVarConvertFormParamsToString = false;\n        if (localVarUseForm) {\n            localVarFormParams = new FormData();\n        } else {\n            localVarFormParams = new HttpParams({encoder: this.encoder});\n        }\n\n        if (username !== undefined) {\n            localVarFormParams = localVarFormParams.append('username', <any>username) as any || localVarFormParams;\n        }\n        if (password !== undefined) {\n            localVarFormParams = localVarFormParams.append('password', <any>password) as any || localVarFormParams;\n        }\n        if (token !== undefined) {\n            localVarFormParams = localVarFormParams.append('token', <any>token) as any || localVarFormParams;\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api-token-auth/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<AuthToken>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { Attachment } from '../model/attachment';\n// @ts-ignore\nimport { AttachmentKindEnum } from '../model/attachmentKindEnum';\n// @ts-ignore\nimport { PaginatedAttachmentList } from '../model/paginatedAttachmentList';\n// @ts-ignore\nimport { User } from '../model/user';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    AttachmentsServiceInterface,\n    AttachmentContentRequestParams,\n    AttachmentCreateRequestParams,\n    AttachmentDestroyRequestParams,\n    AttachmentListRequestParams,\n    AttachmentRetrieveRequestParams\n} from './attachments.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class AttachmentsService extends BaseService implements AttachmentsServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Get Attachment text content\n     * Testo di un allegato testuale, per l\\&#39;anteprima.  Passa da qui e non da una fetch diretta sull\\&#39;URL firmato perche\\&#39; aprire il CORS del bucket privato sarebbe una configurazione fuori dal codice, invisibile nel repo e facile da perdere in una migrazione dello storage.  get_object() usa get_queryset(), gia\\&#39; filtrato da CompanyAccessMixin alle sole company di cui l\\&#39;utente e\\&#39; membro e a is_deleted&#x3D;False: cross-tenant e cancellati danno 404 senza controlli aggiuntivi.\n     * @endpoint get /api/{company_id}/attachments/{id}/content/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public attachmentContent(requestParameters: AttachmentContentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<{ [key: string]: any; }>;\n    public attachmentContent(requestParameters: AttachmentContentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<{ [key: string]: any; }>>;\n    public attachmentContent(requestParameters: AttachmentContentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<{ [key: string]: any; }>>;\n    public attachmentContent(requestParameters: AttachmentContentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling attachmentContent.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling attachmentContent.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/content/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<{ [key: string]: any; }>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create Attachment\n     * Allegati di progetto e company.  &#x60;project_id&#x60; assente significa allegato di company. La cancellazione e\\&#39; soft: il record resta, sparisce dalle liste. Superficie ristretta a list/retrieve/create/destroy: niente update/partial_update, mai pianificati e che romperebbero file_name/size/content_type se si sostituisse il file senza ripassare da create().\n     * @endpoint post /api/{company_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public attachmentCreate(requestParameters: AttachmentCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Attachment>;\n    public attachmentCreate(requestParameters: AttachmentCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Attachment>>;\n    public attachmentCreate(requestParameters: AttachmentCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Attachment>>;\n    public attachmentCreate(requestParameters: AttachmentCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling attachmentCreate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling attachmentCreate.');\n        }\n        const companyId2 = requestParameters?.companyId2;\n        if (companyId2 === null || companyId2 === undefined) {\n            throw new Error('Required parameter companyId2 was null or undefined when calling attachmentCreate.');\n        }\n        const fileName = requestParameters?.fileName;\n        if (fileName === null || fileName === undefined) {\n            throw new Error('Required parameter fileName was null or undefined when calling attachmentCreate.');\n        }\n        const contentType = requestParameters?.contentType;\n        if (contentType === null || contentType === undefined) {\n            throw new Error('Required parameter contentType was null or undefined when calling attachmentCreate.');\n        }\n        const size = requestParameters?.size;\n        if (size === null || size === undefined) {\n            throw new Error('Required parameter size was null or undefined when calling attachmentCreate.');\n        }\n        const url = requestParameters?.url;\n        if (url === null || url === undefined) {\n            throw new Error('Required parameter url was null or undefined when calling attachmentCreate.');\n        }\n        const kind = requestParameters?.kind;\n        if (kind === null || kind === undefined) {\n            throw new Error('Required parameter kind was null or undefined when calling attachmentCreate.');\n        }\n        const author = requestParameters?.author;\n        if (author === null || author === undefined) {\n            throw new Error('Required parameter author was null or undefined when calling attachmentCreate.');\n        }\n        const createdAt = requestParameters?.createdAt;\n        if (createdAt === null || createdAt === undefined) {\n            throw new Error('Required parameter createdAt was null or undefined when calling attachmentCreate.');\n        }\n        const appUrl = requestParameters?.appUrl;\n        if (appUrl === null || appUrl === undefined) {\n            throw new Error('Required parameter appUrl was null or undefined when calling attachmentCreate.');\n        }\n        const title = requestParameters?.title;\n        const projectId = requestParameters?.projectId;\n        const file = requestParameters?.file;\n        const link = requestParameters?.link;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'multipart/form-data',\n            'application/x-www-form-urlencoded',\n            'application/json'\n        ];\n\n        const canConsumeForm = this.canConsumeForm(consumes);\n\n        let localVarFormParams: { append(param: string, value: any): any; };\n        let localVarUseForm = false;\n        let localVarConvertFormParamsToString = false;\n        if (localVarUseForm) {\n            localVarFormParams = new FormData();\n        } else {\n            localVarFormParams = new HttpParams({encoder: this.encoder});\n        }\n\n        if (id !== undefined) {\n            localVarFormParams = localVarFormParams.append('id', <any>id) as any || localVarFormParams;\n        }\n        if (title !== undefined) {\n            localVarFormParams = localVarFormParams.append('title', <any>title) as any || localVarFormParams;\n        }\n        if (projectId !== undefined) {\n            localVarFormParams = localVarFormParams.append('project_id', <any>projectId) as any || localVarFormParams;\n        }\n        if (companyId2 !== undefined) {\n            localVarFormParams = localVarFormParams.append('company_id', <any>companyId2) as any || localVarFormParams;\n        }\n        if (file !== undefined) {\n            localVarFormParams = localVarFormParams.append('file', <any>file) as any || localVarFormParams;\n        }\n        if (link !== undefined) {\n            localVarFormParams = localVarFormParams.append('link', <any>link) as any || localVarFormParams;\n        }\n        if (fileName !== undefined) {\n            localVarFormParams = localVarFormParams.append('file_name', <any>fileName) as any || localVarFormParams;\n        }\n        if (contentType !== undefined) {\n            localVarFormParams = localVarFormParams.append('content_type', <any>contentType) as any || localVarFormParams;\n        }\n        if (size !== undefined) {\n            localVarFormParams = localVarFormParams.append('size', <any>size) as any || localVarFormParams;\n        }\n        if (url !== undefined) {\n            localVarFormParams = localVarFormParams.append('url', <any>url) as any || localVarFormParams;\n        }\n        if (kind !== undefined) {\n            localVarFormParams = localVarFormParams.append('kind', <any>kind) as any || localVarFormParams;\n        }\n        if (author !== undefined) {\n            localVarFormParams = localVarFormParams.append('author', localVarUseForm ? new Blob([JSON.stringify(author)], {type: 'application/json'}) : <any>author) as any || localVarFormParams;\n        }\n        if (createdAt !== undefined) {\n            localVarFormParams = localVarFormParams.append('created_at', <any>createdAt) as any || localVarFormParams;\n        }\n        if (appUrl !== undefined) {\n            localVarFormParams = localVarFormParams.append('app_url', <any>appUrl) as any || localVarFormParams;\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Attachment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Attachment\n     * Allegati di progetto e company.  &#x60;project_id&#x60; assente significa allegato di company. La cancellazione e\\&#39; soft: il record resta, sparisce dalle liste. Superficie ristretta a list/retrieve/create/destroy: niente update/partial_update, mai pianificati e che romperebbero file_name/size/content_type se si sostituisse il file senza ripassare da create().\n     * @endpoint delete /api/{company_id}/attachments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public attachmentDestroy(requestParameters: AttachmentDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public attachmentDestroy(requestParameters: AttachmentDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public attachmentDestroy(requestParameters: AttachmentDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public attachmentDestroy(requestParameters: AttachmentDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling attachmentDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling attachmentDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Attachments\n     * Allegati di progetto e company.  &#x60;project_id&#x60; assente significa allegato di company. La cancellazione e\\&#39; soft: il record resta, sparisce dalle liste. Superficie ristretta a list/retrieve/create/destroy: niente update/partial_update, mai pianificati e che romperebbero file_name/size/content_type se si sostituisse il file senza ripassare da create().\n     * @endpoint get /api/{company_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public attachmentList(requestParameters: AttachmentListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedAttachmentList>;\n    public attachmentList(requestParameters: AttachmentListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedAttachmentList>>;\n    public attachmentList(requestParameters: AttachmentListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedAttachmentList>>;\n    public attachmentList(requestParameters: AttachmentListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling attachmentList.');\n        }\n        const companyId2 = requestParameters?.companyId2;\n        const fileNameIcontains = requestParameters?.fileNameIcontains;\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const projectId = requestParameters?.projectId;\n        const projectIdIsnull = requestParameters?.projectIdIsnull;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'company_id',\n            <any>companyId2,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'file_name__icontains',\n            <any>fileNameIcontains,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'project_id',\n            <any>projectId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'project_id__isnull',\n            <any>projectIdIsnull,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedAttachmentList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get Attachment\n     * Allegati di progetto e company.  &#x60;project_id&#x60; assente significa allegato di company. La cancellazione e\\&#39; soft: il record resta, sparisce dalle liste. Superficie ristretta a list/retrieve/create/destroy: niente update/partial_update, mai pianificati e che romperebbero file_name/size/content_type se si sostituisse il file senza ripassare da create().\n     * @endpoint get /api/{company_id}/attachments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public attachmentRetrieve(requestParameters: AttachmentRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Attachment>;\n    public attachmentRetrieve(requestParameters: AttachmentRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Attachment>>;\n    public attachmentRetrieve(requestParameters: AttachmentRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Attachment>>;\n    public attachmentRetrieve(requestParameters: AttachmentRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling attachmentRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling attachmentRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Attachment>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { Company } from '../model/company';\n// @ts-ignore\nimport { CompanyPendingInvites200ResponseInner } from '../model/companyPendingInvites200ResponseInner';\n// @ts-ignore\nimport { CompanyRevokeInvite400Response } from '../model/companyRevokeInvite400Response';\n// @ts-ignore\nimport { CompanyRevokeInviteRequest } from '../model/companyRevokeInviteRequest';\n// @ts-ignore\nimport { CompanyUpdate } from '../model/companyUpdate';\n// @ts-ignore\nimport { PaginatedCompanyList } from '../model/paginatedCompanyList';\n// @ts-ignore\nimport { PatchedCompanyUpdate } from '../model/patchedCompanyUpdate';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    CompaniesServiceInterface,\n    ApiCompaniesInviteCreateRequestParams,\n    CompanyCreateRequestParams,\n    CompanyListRequestParams,\n    CompanyPartialUpdateRequestParams,\n    CompanyPendingInvitesRequestParams,\n    CompanyRetrieveRequestParams,\n    CompanyRetrieve2RequestParams,\n    CompanyRevokeInviteRequestParams,\n    CompanyUpdateRequestParams\n} from './companies.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CompaniesService extends BaseService implements CompaniesServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * A viewset for viewing and creating Company instances.\n     * @endpoint post /api/companies/{id}/invite/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiCompaniesInviteCreate(requestParameters: ApiCompaniesInviteCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Company>;\n    public apiCompaniesInviteCreate(requestParameters: ApiCompaniesInviteCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Company>>;\n    public apiCompaniesInviteCreate(requestParameters: ApiCompaniesInviteCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Company>>;\n    public apiCompaniesInviteCreate(requestParameters: ApiCompaniesInviteCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiCompaniesInviteCreate.');\n        }\n        const company = requestParameters?.company;\n        if (company === null || company === undefined) {\n            throw new Error('Required parameter company was null or undefined when calling apiCompaniesInviteCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/invite/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Company>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: company,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create Company\n     * A viewset for viewing and creating Company instances.\n     * @endpoint post /api/companies/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyCreate(requestParameters: CompanyCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Company>;\n    public companyCreate(requestParameters: CompanyCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Company>>;\n    public companyCreate(requestParameters: CompanyCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Company>>;\n    public companyCreate(requestParameters: CompanyCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const company = requestParameters?.company;\n        if (company === null || company === undefined) {\n            throw new Error('Required parameter company was null or undefined when calling companyCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Company>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: company,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Companies\n     * A viewset for viewing and creating Company instances.\n     * @endpoint get /api/companies/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyList(requestParameters?: CompanyListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedCompanyList>;\n    public companyList(requestParameters?: CompanyListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedCompanyList>>;\n    public companyList(requestParameters?: CompanyListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedCompanyList>>;\n    public companyList(requestParameters?: CompanyListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedCompanyList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Company\n     * A viewset for viewing and editing Company instances.\n     * @endpoint patch /api/companies-update/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyPartialUpdate(requestParameters: CompanyPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyUpdate>;\n    public companyPartialUpdate(requestParameters: CompanyPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyUpdate>>;\n    public companyPartialUpdate(requestParameters: CompanyPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyUpdate>>;\n    public companyPartialUpdate(requestParameters: CompanyPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyPartialUpdate.');\n        }\n        const patchedCompanyUpdate = requestParameters?.patchedCompanyUpdate;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies-update/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyUpdate>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedCompanyUpdate,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List pending (not yet accepted) invites for the company\n     * A viewset for viewing and creating Company instances.\n     * @endpoint get /api/companies/{id}/pending-invites/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyPendingInvites(requestParameters: CompanyPendingInvitesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Array<CompanyPendingInvites200ResponseInner>>;\n    public companyPendingInvites(requestParameters: CompanyPendingInvitesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Array<CompanyPendingInvites200ResponseInner>>>;\n    public companyPendingInvites(requestParameters: CompanyPendingInvitesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Array<CompanyPendingInvites200ResponseInner>>>;\n    public companyPendingInvites(requestParameters: CompanyPendingInvitesRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyPendingInvites.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/pending-invites/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Array<CompanyPendingInvites200ResponseInner>>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get detail of Company\n     * A viewset for viewing and editing Company instances.\n     * @endpoint get /api/companies-update/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyRetrieve(requestParameters: CompanyRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyUpdate>;\n    public companyRetrieve(requestParameters: CompanyRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyUpdate>>;\n    public companyRetrieve(requestParameters: CompanyRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyUpdate>>;\n    public companyRetrieve(requestParameters: CompanyRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies-update/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyUpdate>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get detail of Company\n     * A viewset for viewing and creating Company instances.\n     * @endpoint get /api/companies/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyRetrieve2(requestParameters: CompanyRetrieve2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Company>;\n    public companyRetrieve2(requestParameters: CompanyRetrieve2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Company>>;\n    public companyRetrieve2(requestParameters: CompanyRetrieve2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Company>>;\n    public companyRetrieve2(requestParameters: CompanyRetrieve2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyRetrieve2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Company>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Revoke (delete) a pending invite\n     * A viewset for viewing and creating Company instances.\n     * @endpoint post /api/companies/{id}/revoke-invite/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyRevokeInvite(requestParameters: CompanyRevokeInviteRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public companyRevokeInvite(requestParameters: CompanyRevokeInviteRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public companyRevokeInvite(requestParameters: CompanyRevokeInviteRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public companyRevokeInvite(requestParameters: CompanyRevokeInviteRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyRevokeInvite.');\n        }\n        const companyRevokeInviteRequest = requestParameters?.companyRevokeInviteRequest;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/revoke-invite/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: companyRevokeInviteRequest,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Company\n     * A viewset for viewing and editing Company instances.\n     * @endpoint put /api/companies-update/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyUpdate(requestParameters: CompanyUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyUpdate>;\n    public companyUpdate(requestParameters: CompanyUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyUpdate>>;\n    public companyUpdate(requestParameters: CompanyUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyUpdate>>;\n    public companyUpdate(requestParameters: CompanyUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyUpdate.');\n        }\n        const companyUpdate = requestParameters?.companyUpdate;\n        if (companyUpdate === null || companyUpdate === undefined) {\n            throw new Error('Required parameter companyUpdate was null or undefined when calling companyUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies-update/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyUpdate>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: companyUpdate,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { CompanyMember } from '../model/companyMember';\n// @ts-ignore\nimport { PaginatedCompanyMemberList } from '../model/paginatedCompanyMemberList';\n// @ts-ignore\nimport { PatchedCompanyMember } from '../model/patchedCompanyMember';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    CompanyMembersServiceInterface,\n    ApiCompanyMemberUpdateRequestParams,\n    CompanyMemberDestroyRequestParams,\n    CompanyMemberListRequestParams,\n    CompanyMemberPartialUpdateRequestParams,\n    CompanyMemberRetrieveRequestParams\n} from './companyMembers.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CompanyMembersService extends BaseService implements CompanyMembersServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Le appartenenze a una company, con il ruolo.  Niente &#x60;create&#x60;: si entra in una company per invito, non per POST. Il &#x60;PUT&#x60; c\\&#39;è solo perché &#x60;UpdateModelMixin&#x60; lo porta con sé; il frontend usa &#x60;PATCH&#x60;, che è l\\&#39;unica operazione che ha senso su un campo solo.\n     * @endpoint put /api/{company_id}/company-member/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiCompanyMemberUpdate(requestParameters: ApiCompanyMemberUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyMember>;\n    public apiCompanyMemberUpdate(requestParameters: ApiCompanyMemberUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyMember>>;\n    public apiCompanyMemberUpdate(requestParameters: ApiCompanyMemberUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyMember>>;\n    public apiCompanyMemberUpdate(requestParameters: ApiCompanyMemberUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiCompanyMemberUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiCompanyMemberUpdate.');\n        }\n        const companyMember = requestParameters?.companyMember;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/company-member/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyMember>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: companyMember,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove a member from the Company\n     * Le appartenenze a una company, con il ruolo.  Niente &#x60;create&#x60;: si entra in una company per invito, non per POST. Il &#x60;PUT&#x60; c\\&#39;è solo perché &#x60;UpdateModelMixin&#x60; lo porta con sé; il frontend usa &#x60;PATCH&#x60;, che è l\\&#39;unica operazione che ha senso su un campo solo.\n     * @endpoint delete /api/{company_id}/company-member/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyMemberDestroy(requestParameters: CompanyMemberDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public companyMemberDestroy(requestParameters: CompanyMemberDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public companyMemberDestroy(requestParameters: CompanyMemberDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public companyMemberDestroy(requestParameters: CompanyMemberDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyMemberDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyMemberDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/company-member/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Members of Company with their role\n     * Le appartenenze a una company, con il ruolo.  Niente &#x60;create&#x60;: si entra in una company per invito, non per POST. Il &#x60;PUT&#x60; c\\&#39;è solo perché &#x60;UpdateModelMixin&#x60; lo porta con sé; il frontend usa &#x60;PATCH&#x60;, che è l\\&#39;unica operazione che ha senso su un campo solo.\n     * @endpoint get /api/{company_id}/company-member/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyMemberList(requestParameters: CompanyMemberListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedCompanyMemberList>;\n    public companyMemberList(requestParameters: CompanyMemberListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedCompanyMemberList>>;\n    public companyMemberList(requestParameters: CompanyMemberListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedCompanyMemberList>>;\n    public companyMemberList(requestParameters: CompanyMemberListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyMemberList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const role = requestParameters?.role;\n        const search = requestParameters?.search;\n        const userId = requestParameters?.userId;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'role',\n            <any>role,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'user_id',\n            <any>userId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/company-member/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedCompanyMemberList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Change the role of a Company member\n     * Le appartenenze a una company, con il ruolo.  Niente &#x60;create&#x60;: si entra in una company per invito, non per POST. Il &#x60;PUT&#x60; c\\&#39;è solo perché &#x60;UpdateModelMixin&#x60; lo porta con sé; il frontend usa &#x60;PATCH&#x60;, che è l\\&#39;unica operazione che ha senso su un campo solo.\n     * @endpoint patch /api/{company_id}/company-member/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyMemberPartialUpdate(requestParameters: CompanyMemberPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyMember>;\n    public companyMemberPartialUpdate(requestParameters: CompanyMemberPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyMember>>;\n    public companyMemberPartialUpdate(requestParameters: CompanyMemberPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyMember>>;\n    public companyMemberPartialUpdate(requestParameters: CompanyMemberPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyMemberPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyMemberPartialUpdate.');\n        }\n        const patchedCompanyMember = requestParameters?.patchedCompanyMember;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/company-member/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyMember>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedCompanyMember,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get a Company membership\n     * Le appartenenze a una company, con il ruolo.  Niente &#x60;create&#x60;: si entra in una company per invito, non per POST. Il &#x60;PUT&#x60; c\\&#39;è solo perché &#x60;UpdateModelMixin&#x60; lo porta con sé; il frontend usa &#x60;PATCH&#x60;, che è l\\&#39;unica operazione che ha senso su un campo solo.\n     * @endpoint get /api/{company_id}/company-member/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyMemberRetrieve(requestParameters: CompanyMemberRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyMember>;\n    public companyMemberRetrieve(requestParameters: CompanyMemberRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyMember>>;\n    public companyMemberRetrieve(requestParameters: CompanyMemberRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyMember>>;\n    public companyMemberRetrieve(requestParameters: CompanyMemberRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyMemberRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyMemberRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/company-member/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyMember>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { CompanyUser } from '../model/companyUser';\n// @ts-ignore\nimport { PaginatedCompanyUserList } from '../model/paginatedCompanyUserList';\n// @ts-ignore\nimport { PatchedCompanyUser } from '../model/patchedCompanyUser';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    CompanyUsersServiceInterface,\n    CompanyUsersCreateRequestParams,\n    CompanyUsersDestroyRequestParams,\n    CompanyUsersListRequestParams,\n    CompanyUsersPartialUpdateRequestParams,\n    CompanyUsersRetrieveRequestParams,\n    CompanyUsersUpdateRequestParams\n} from './companyUsers.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CompanyUsersService extends BaseService implements CompanyUsersServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Create User of Company\n     * A viewset for viewing and editing CompanyUser instances.\n     * @endpoint post /api/companies/{company_id}/users/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyUsersCreate(requestParameters: CompanyUsersCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyUser>;\n    public companyUsersCreate(requestParameters: CompanyUsersCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyUser>>;\n    public companyUsersCreate(requestParameters: CompanyUsersCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyUser>>;\n    public companyUsersCreate(requestParameters: CompanyUsersCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyUsersCreate.');\n        }\n        const companyUser = requestParameters?.companyUser;\n        if (companyUser === null || companyUser === undefined) {\n            throw new Error('Required parameter companyUser was null or undefined when calling companyUsersCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyUser>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: companyUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete User of Company\n     * A viewset for viewing and editing CompanyUser instances.\n     * @endpoint delete /api/companies/{company_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyUsersDestroy(requestParameters: CompanyUsersDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public companyUsersDestroy(requestParameters: CompanyUsersDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public companyUsersDestroy(requestParameters: CompanyUsersDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public companyUsersDestroy(requestParameters: CompanyUsersDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyUsersDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyUsersDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Users of Company\n     * A viewset for viewing and editing CompanyUser instances.\n     * @endpoint get /api/companies/{company_id}/users/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyUsersList(requestParameters: CompanyUsersListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedCompanyUserList>;\n    public companyUsersList(requestParameters: CompanyUsersListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedCompanyUserList>>;\n    public companyUsersList(requestParameters: CompanyUsersListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedCompanyUserList>>;\n    public companyUsersList(requestParameters: CompanyUsersListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyUsersList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedCompanyUserList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch User of Company\n     * A viewset for viewing and editing CompanyUser instances.\n     * @endpoint patch /api/companies/{company_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyUsersPartialUpdate(requestParameters: CompanyUsersPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyUser>;\n    public companyUsersPartialUpdate(requestParameters: CompanyUsersPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyUser>>;\n    public companyUsersPartialUpdate(requestParameters: CompanyUsersPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyUser>>;\n    public companyUsersPartialUpdate(requestParameters: CompanyUsersPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyUsersPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyUsersPartialUpdate.');\n        }\n        const patchedCompanyUser = requestParameters?.patchedCompanyUser;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyUser>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedCompanyUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get User of Company\n     * A viewset for viewing and editing CompanyUser instances.\n     * @endpoint get /api/companies/{company_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyUsersRetrieve(requestParameters: CompanyUsersRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyUser>;\n    public companyUsersRetrieve(requestParameters: CompanyUsersRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyUser>>;\n    public companyUsersRetrieve(requestParameters: CompanyUsersRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyUser>>;\n    public companyUsersRetrieve(requestParameters: CompanyUsersRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyUsersRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyUsersRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyUser>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update User of Company\n     * A viewset for viewing and editing CompanyUser instances.\n     * @endpoint put /api/companies/{company_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyUsersUpdate(requestParameters: CompanyUsersUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyUser>;\n    public companyUsersUpdate(requestParameters: CompanyUsersUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyUser>>;\n    public companyUsersUpdate(requestParameters: CompanyUsersUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyUser>>;\n    public companyUsersUpdate(requestParameters: CompanyUsersUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyUsersUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyUsersUpdate.');\n        }\n        const companyUser = requestParameters?.companyUser;\n        if (companyUser === null || companyUser === undefined) {\n            throw new Error('Required parameter companyUser was null or undefined when calling companyUsersUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/companies/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyUser>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: companyUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { FirebaseDeviceToken } from '../model/firebaseDeviceToken';\n// @ts-ignore\nimport { MyNotification } from '../model/myNotification';\n// @ts-ignore\nimport { PaginatedFirebaseDeviceTokenList } from '../model/paginatedFirebaseDeviceTokenList';\n// @ts-ignore\nimport { PaginatedMyNotificationList } from '../model/paginatedMyNotificationList';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    NotificationServiceInterface,\n    ApiNotificationDevicesTokenCreateRequestParams,\n    ApiNotificationDevicesTokenListRequestParams,\n    MyNotificationDismissRequestParams,\n    MyNotificationListRequestParams,\n    MyNotificationReadRequestParams,\n    NotificationUserDismissRequestParams,\n    NotificationUserReadRequestParams,\n    NotificationUserReceivedRequestParams,\n    NotificationUserRetrieveRequestParams\n} from './notification.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NotificationService extends BaseService implements NotificationServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/notification/devices-token/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiNotificationDevicesTokenCreate(requestParameters?: ApiNotificationDevicesTokenCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FirebaseDeviceToken>;\n    public apiNotificationDevicesTokenCreate(requestParameters?: ApiNotificationDevicesTokenCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FirebaseDeviceToken>>;\n    public apiNotificationDevicesTokenCreate(requestParameters?: ApiNotificationDevicesTokenCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FirebaseDeviceToken>>;\n    public apiNotificationDevicesTokenCreate(requestParameters?: ApiNotificationDevicesTokenCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const firebaseDeviceToken = requestParameters?.firebaseDeviceToken;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/devices-token/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<FirebaseDeviceToken>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: firebaseDeviceToken,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/notification/devices-token/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiNotificationDevicesTokenList(requestParameters?: ApiNotificationDevicesTokenListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedFirebaseDeviceTokenList>;\n    public apiNotificationDevicesTokenList(requestParameters?: ApiNotificationDevicesTokenListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedFirebaseDeviceTokenList>>;\n    public apiNotificationDevicesTokenList(requestParameters?: ApiNotificationDevicesTokenListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedFirebaseDeviceTokenList>>;\n    public apiNotificationDevicesTokenList(requestParameters?: ApiNotificationDevicesTokenListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/devices-token/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedFirebaseDeviceTokenList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Generate a one-time deeplink to connect the user\\&#39;s Telegram account.\n     * @endpoint post /api/notification/telegram/link\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiNotificationTelegramLinkCreate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiNotificationTelegramLinkCreate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiNotificationTelegramLinkCreate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiNotificationTelegramLinkCreate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/telegram/link`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Generate a one-time deeplink to connect the user\\&#39;s Telegram account.\n     * @endpoint post /api/notification/telegram/link/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiNotificationTelegramLinkCreate2(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiNotificationTelegramLinkCreate2(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiNotificationTelegramLinkCreate2(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiNotificationTelegramLinkCreate2(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/telegram/link/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Dismiss notification\n     * @endpoint post /api/notification/my/{id}/dismiss/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public myNotificationDismiss(requestParameters: MyNotificationDismissRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<MyNotification>;\n    public myNotificationDismiss(requestParameters: MyNotificationDismissRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<MyNotification>>;\n    public myNotificationDismiss(requestParameters: MyNotificationDismissRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<MyNotification>>;\n    public myNotificationDismiss(requestParameters: MyNotificationDismissRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling myNotificationDismiss.');\n        }\n        const myNotification = requestParameters?.myNotification;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/my/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/dismiss/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<MyNotification>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: myNotification,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List my notifications\n     * @endpoint get /api/notification/my/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public myNotificationList(requestParameters?: MyNotificationListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedMyNotificationList>;\n    public myNotificationList(requestParameters?: MyNotificationListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedMyNotificationList>>;\n    public myNotificationList(requestParameters?: MyNotificationListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedMyNotificationList>>;\n    public myNotificationList(requestParameters?: MyNotificationListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const includeDismissed = requestParameters?.includeDismissed;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'include_dismissed',\n            <any>includeDismissed,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/my/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedMyNotificationList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Mark notification as read\n     * @endpoint post /api/notification/my/{id}/read/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public myNotificationRead(requestParameters: MyNotificationReadRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<MyNotification>;\n    public myNotificationRead(requestParameters: MyNotificationReadRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<MyNotification>>;\n    public myNotificationRead(requestParameters: MyNotificationReadRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<MyNotification>>;\n    public myNotificationRead(requestParameters: MyNotificationReadRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling myNotificationRead.');\n        }\n        const myNotification = requestParameters?.myNotification;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/my/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/read/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<MyNotification>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: myNotification,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Dismiss Notification\n     * @endpoint post /api/notification/{notification_id}/{device_id}/notification-user/{id}/dismiss/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public notificationUserDismiss(requestParameters: NotificationUserDismissRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FirebaseDeviceToken>;\n    public notificationUserDismiss(requestParameters: NotificationUserDismissRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FirebaseDeviceToken>>;\n    public notificationUserDismiss(requestParameters: NotificationUserDismissRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FirebaseDeviceToken>>;\n    public notificationUserDismiss(requestParameters: NotificationUserDismissRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const deviceId = requestParameters?.deviceId;\n        if (deviceId === null || deviceId === undefined) {\n            throw new Error('Required parameter deviceId was null or undefined when calling notificationUserDismiss.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling notificationUserDismiss.');\n        }\n        const notificationId = requestParameters?.notificationId;\n        if (notificationId === null || notificationId === undefined) {\n            throw new Error('Required parameter notificationId was null or undefined when calling notificationUserDismiss.');\n        }\n        const firebaseDeviceToken = requestParameters?.firebaseDeviceToken;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/${this.configuration.encodeParam({name: \"notificationId\", value: notificationId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/${this.configuration.encodeParam({name: \"deviceId\", value: deviceId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/notification-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/dismiss/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<FirebaseDeviceToken>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: firebaseDeviceToken,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Mark Notification as Read\n     * @endpoint post /api/notification/{notification_id}/{device_id}/notification-user/{id}/read/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public notificationUserRead(requestParameters: NotificationUserReadRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FirebaseDeviceToken>;\n    public notificationUserRead(requestParameters: NotificationUserReadRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FirebaseDeviceToken>>;\n    public notificationUserRead(requestParameters: NotificationUserReadRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FirebaseDeviceToken>>;\n    public notificationUserRead(requestParameters: NotificationUserReadRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const deviceId = requestParameters?.deviceId;\n        if (deviceId === null || deviceId === undefined) {\n            throw new Error('Required parameter deviceId was null or undefined when calling notificationUserRead.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling notificationUserRead.');\n        }\n        const notificationId = requestParameters?.notificationId;\n        if (notificationId === null || notificationId === undefined) {\n            throw new Error('Required parameter notificationId was null or undefined when calling notificationUserRead.');\n        }\n        const firebaseDeviceToken = requestParameters?.firebaseDeviceToken;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/${this.configuration.encodeParam({name: \"notificationId\", value: notificationId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/${this.configuration.encodeParam({name: \"deviceId\", value: deviceId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/notification-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/read/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<FirebaseDeviceToken>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: firebaseDeviceToken,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Mark Notification as Received\n     * @endpoint post /api/notification/{notification_id}/{device_id}/notification-user/{id}/received/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public notificationUserReceived(requestParameters: NotificationUserReceivedRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FirebaseDeviceToken>;\n    public notificationUserReceived(requestParameters: NotificationUserReceivedRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FirebaseDeviceToken>>;\n    public notificationUserReceived(requestParameters: NotificationUserReceivedRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FirebaseDeviceToken>>;\n    public notificationUserReceived(requestParameters: NotificationUserReceivedRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const deviceId = requestParameters?.deviceId;\n        if (deviceId === null || deviceId === undefined) {\n            throw new Error('Required parameter deviceId was null or undefined when calling notificationUserReceived.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling notificationUserReceived.');\n        }\n        const notificationId = requestParameters?.notificationId;\n        if (notificationId === null || notificationId === undefined) {\n            throw new Error('Required parameter notificationId was null or undefined when calling notificationUserReceived.');\n        }\n        const firebaseDeviceToken = requestParameters?.firebaseDeviceToken;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/${this.configuration.encodeParam({name: \"notificationId\", value: notificationId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/${this.configuration.encodeParam({name: \"deviceId\", value: deviceId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/notification-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/received/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<FirebaseDeviceToken>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: firebaseDeviceToken,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Retrieve Notification User\n     * @endpoint get /api/notification/{notification_id}/{device_id}/notification-user/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public notificationUserRetrieve(requestParameters: NotificationUserRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FirebaseDeviceToken>;\n    public notificationUserRetrieve(requestParameters: NotificationUserRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FirebaseDeviceToken>>;\n    public notificationUserRetrieve(requestParameters: NotificationUserRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FirebaseDeviceToken>>;\n    public notificationUserRetrieve(requestParameters: NotificationUserRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const deviceId = requestParameters?.deviceId;\n        if (deviceId === null || deviceId === undefined) {\n            throw new Error('Required parameter deviceId was null or undefined when calling notificationUserRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling notificationUserRetrieve.');\n        }\n        const notificationId = requestParameters?.notificationId;\n        if (notificationId === null || notificationId === undefined) {\n            throw new Error('Required parameter notificationId was null or undefined when calling notificationUserRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/notification/${this.configuration.encodeParam({name: \"notificationId\", value: notificationId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/${this.configuration.encodeParam({name: \"deviceId\", value: deviceId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/notification-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<FirebaseDeviceToken>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { Day } from '../model/day';\n// @ts-ignore\nimport { PaginatedPersonalScheduleRuleList } from '../model/paginatedPersonalScheduleRuleList';\n// @ts-ignore\nimport { PaginatedPersonalScheduleVoiceList } from '../model/paginatedPersonalScheduleVoiceList';\n// @ts-ignore\nimport { PatchedPersonalScheduleRule } from '../model/patchedPersonalScheduleRule';\n// @ts-ignore\nimport { PatchedPersonalScheduleVoice } from '../model/patchedPersonalScheduleVoice';\n// @ts-ignore\nimport { PersonalScheduleRule } from '../model/personalScheduleRule';\n// @ts-ignore\nimport { PersonalScheduleVoice } from '../model/personalScheduleVoice';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    PersonalScheduleServiceInterface,\n    ApiPersonalPlanScheduleRuleDestroyRequestParams,\n    ApiPersonalPlanScheduleVoiceDeleteWeekCreateRequestParams,\n    ApiPersonalPlanScheduleVoiceDestroyRequestParams,\n    PersonalScheduleRuleCreateRequestParams,\n    PersonalScheduleRuleListRequestParams,\n    PersonalScheduleRulePartialUpdateRequestParams,\n    PersonalScheduleRuleRetrieveRequestParams,\n    PersonalScheduleRuleUpdateRequestParams,\n    PersonalScheduleVoiceCreateRequestParams,\n    PersonalScheduleVoiceListRequestParams,\n    PersonalScheduleVoicePartialUpdateRequestParams,\n    PersonalScheduleVoiceRetrieveRequestParams,\n    PersonalScheduleVoiceUpdateRequestParams\n} from './personalSchedule.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class PersonalScheduleService extends BaseService implements PersonalScheduleServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint delete /api/personal-plan/schedule-rule/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiPersonalPlanScheduleRuleDestroy(requestParameters: ApiPersonalPlanScheduleRuleDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiPersonalPlanScheduleRuleDestroy(requestParameters: ApiPersonalPlanScheduleRuleDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiPersonalPlanScheduleRuleDestroy(requestParameters: ApiPersonalPlanScheduleRuleDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiPersonalPlanScheduleRuleDestroy(requestParameters: ApiPersonalPlanScheduleRuleDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiPersonalPlanScheduleRuleDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-rule/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/personal-plan/schedule-voice/delete-week/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiPersonalPlanScheduleVoiceDeleteWeekCreate(requestParameters: ApiPersonalPlanScheduleVoiceDeleteWeekCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Day>;\n    public apiPersonalPlanScheduleVoiceDeleteWeekCreate(requestParameters: ApiPersonalPlanScheduleVoiceDeleteWeekCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Day>>;\n    public apiPersonalPlanScheduleVoiceDeleteWeekCreate(requestParameters: ApiPersonalPlanScheduleVoiceDeleteWeekCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Day>>;\n    public apiPersonalPlanScheduleVoiceDeleteWeekCreate(requestParameters: ApiPersonalPlanScheduleVoiceDeleteWeekCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const day = requestParameters?.day;\n        if (day === null || day === undefined) {\n            throw new Error('Required parameter day was null or undefined when calling apiPersonalPlanScheduleVoiceDeleteWeekCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-voice/delete-week/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Day>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: day,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint delete /api/personal-plan/schedule-voice/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiPersonalPlanScheduleVoiceDestroy(requestParameters: ApiPersonalPlanScheduleVoiceDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiPersonalPlanScheduleVoiceDestroy(requestParameters: ApiPersonalPlanScheduleVoiceDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiPersonalPlanScheduleVoiceDestroy(requestParameters: ApiPersonalPlanScheduleVoiceDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiPersonalPlanScheduleVoiceDestroy(requestParameters: ApiPersonalPlanScheduleVoiceDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiPersonalPlanScheduleVoiceDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-voice/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create a Personal Schedule Rule\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/personal-plan/schedule-rule/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleRuleCreate(requestParameters: PersonalScheduleRuleCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleRule>;\n    public personalScheduleRuleCreate(requestParameters: PersonalScheduleRuleCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleRule>>;\n    public personalScheduleRuleCreate(requestParameters: PersonalScheduleRuleCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleRule>>;\n    public personalScheduleRuleCreate(requestParameters: PersonalScheduleRuleCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const personalScheduleRule = requestParameters?.personalScheduleRule;\n        if (personalScheduleRule === null || personalScheduleRule === undefined) {\n            throw new Error('Required parameter personalScheduleRule was null or undefined when calling personalScheduleRuleCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-rule/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleRule>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: personalScheduleRule,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Personal Schedule Rules\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/personal-plan/schedule-rule/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleRuleList(requestParameters?: PersonalScheduleRuleListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedPersonalScheduleRuleList>;\n    public personalScheduleRuleList(requestParameters?: PersonalScheduleRuleListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedPersonalScheduleRuleList>>;\n    public personalScheduleRuleList(requestParameters?: PersonalScheduleRuleListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedPersonalScheduleRuleList>>;\n    public personalScheduleRuleList(requestParameters?: PersonalScheduleRuleListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-rule/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedPersonalScheduleRuleList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Partially Update a Personal Schedule Rule\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint patch /api/personal-plan/schedule-rule/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleRulePartialUpdate(requestParameters: PersonalScheduleRulePartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleRule>;\n    public personalScheduleRulePartialUpdate(requestParameters: PersonalScheduleRulePartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleRule>>;\n    public personalScheduleRulePartialUpdate(requestParameters: PersonalScheduleRulePartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleRule>>;\n    public personalScheduleRulePartialUpdate(requestParameters: PersonalScheduleRulePartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling personalScheduleRulePartialUpdate.');\n        }\n        const patchedPersonalScheduleRule = requestParameters?.patchedPersonalScheduleRule;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-rule/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleRule>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedPersonalScheduleRule,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Retrieve a Personal Schedule Rule\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/personal-plan/schedule-rule/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleRuleRetrieve(requestParameters: PersonalScheduleRuleRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleRule>;\n    public personalScheduleRuleRetrieve(requestParameters: PersonalScheduleRuleRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleRule>>;\n    public personalScheduleRuleRetrieve(requestParameters: PersonalScheduleRuleRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleRule>>;\n    public personalScheduleRuleRetrieve(requestParameters: PersonalScheduleRuleRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling personalScheduleRuleRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-rule/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleRule>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update a Personal Schedule Rule\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint put /api/personal-plan/schedule-rule/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleRuleUpdate(requestParameters: PersonalScheduleRuleUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleRule>;\n    public personalScheduleRuleUpdate(requestParameters: PersonalScheduleRuleUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleRule>>;\n    public personalScheduleRuleUpdate(requestParameters: PersonalScheduleRuleUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleRule>>;\n    public personalScheduleRuleUpdate(requestParameters: PersonalScheduleRuleUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling personalScheduleRuleUpdate.');\n        }\n        const personalScheduleRule = requestParameters?.personalScheduleRule;\n        if (personalScheduleRule === null || personalScheduleRule === undefined) {\n            throw new Error('Required parameter personalScheduleRule was null or undefined when calling personalScheduleRuleUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-rule/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleRule>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: personalScheduleRule,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create a Personal Schedule Voice\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint post /api/personal-plan/schedule-voice/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleVoiceCreate(requestParameters: PersonalScheduleVoiceCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleVoice>;\n    public personalScheduleVoiceCreate(requestParameters: PersonalScheduleVoiceCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleVoice>>;\n    public personalScheduleVoiceCreate(requestParameters: PersonalScheduleVoiceCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleVoice>>;\n    public personalScheduleVoiceCreate(requestParameters: PersonalScheduleVoiceCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const personalScheduleVoice = requestParameters?.personalScheduleVoice;\n        if (personalScheduleVoice === null || personalScheduleVoice === undefined) {\n            throw new Error('Required parameter personalScheduleVoice was null or undefined when calling personalScheduleVoiceCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-voice/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleVoice>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: personalScheduleVoice,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Personal Schedule Voices\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/personal-plan/schedule-voice/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleVoiceList(requestParameters?: PersonalScheduleVoiceListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedPersonalScheduleVoiceList>;\n    public personalScheduleVoiceList(requestParameters?: PersonalScheduleVoiceListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedPersonalScheduleVoiceList>>;\n    public personalScheduleVoiceList(requestParameters?: PersonalScheduleVoiceListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedPersonalScheduleVoiceList>>;\n    public personalScheduleVoiceList(requestParameters?: PersonalScheduleVoiceListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const endTimeAt = requestParameters?.endTimeAt;\n        const endTimeAtGt = requestParameters?.endTimeAtGt;\n        const endTimeAtGte = requestParameters?.endTimeAtGte;\n        const endTimeAtLt = requestParameters?.endTimeAtLt;\n        const endTimeAtLte = requestParameters?.endTimeAtLte;\n        const endTimeExpected = requestParameters?.endTimeExpected;\n        const endTimeExpectedGt = requestParameters?.endTimeExpectedGt;\n        const endTimeExpectedGte = requestParameters?.endTimeExpectedGte;\n        const endTimeExpectedLt = requestParameters?.endTimeExpectedLt;\n        const endTimeExpectedLte = requestParameters?.endTimeExpectedLte;\n        const isDone = requestParameters?.isDone;\n        const nameIcontains = requestParameters?.nameIcontains;\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n        const startTimeAt = requestParameters?.startTimeAt;\n        const startTimeAtGt = requestParameters?.startTimeAtGt;\n        const startTimeAtGte = requestParameters?.startTimeAtGte;\n        const startTimeAtLt = requestParameters?.startTimeAtLt;\n        const startTimeAtLte = requestParameters?.startTimeAtLte;\n        const startTimeExpected = requestParameters?.startTimeExpected;\n        const startTimeExpectedGt = requestParameters?.startTimeExpectedGt;\n        const startTimeExpectedGte = requestParameters?.startTimeExpectedGte;\n        const startTimeExpectedLt = requestParameters?.startTimeExpectedLt;\n        const startTimeExpectedLte = requestParameters?.startTimeExpectedLte;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_at',\n            <any>endTimeAt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_at__gt',\n            <any>endTimeAtGt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_at__gte',\n            <any>endTimeAtGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_at__lt',\n            <any>endTimeAtLt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_at__lte',\n            <any>endTimeAtLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_expected',\n            <any>endTimeExpected,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_expected__gt',\n            <any>endTimeExpectedGt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_expected__gte',\n            <any>endTimeExpectedGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_expected__lt',\n            <any>endTimeExpectedLt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'end_time_expected__lte',\n            <any>endTimeExpectedLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'is_done',\n            <any>isDone,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'name__icontains',\n            <any>nameIcontains,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_at',\n            <any>startTimeAt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_at__gt',\n            <any>startTimeAtGt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_at__gte',\n            <any>startTimeAtGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_at__lt',\n            <any>startTimeAtLt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_at__lte',\n            <any>startTimeAtLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_expected',\n            <any>startTimeExpected,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_expected__gt',\n            <any>startTimeExpectedGt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_expected__gte',\n            <any>startTimeExpectedGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_expected__lt',\n            <any>startTimeExpectedLt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'start_time_expected__lte',\n            <any>startTimeExpectedLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-voice/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedPersonalScheduleVoiceList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Partially Update a Personal Schedule Voice\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint patch /api/personal-plan/schedule-voice/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleVoicePartialUpdate(requestParameters: PersonalScheduleVoicePartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleVoice>;\n    public personalScheduleVoicePartialUpdate(requestParameters: PersonalScheduleVoicePartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleVoice>>;\n    public personalScheduleVoicePartialUpdate(requestParameters: PersonalScheduleVoicePartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleVoice>>;\n    public personalScheduleVoicePartialUpdate(requestParameters: PersonalScheduleVoicePartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling personalScheduleVoicePartialUpdate.');\n        }\n        const patchedPersonalScheduleVoice = requestParameters?.patchedPersonalScheduleVoice;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-voice/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleVoice>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedPersonalScheduleVoice,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Retrieve a Personal Schedule Voice\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint get /api/personal-plan/schedule-voice/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleVoiceRetrieve(requestParameters: PersonalScheduleVoiceRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleVoice>;\n    public personalScheduleVoiceRetrieve(requestParameters: PersonalScheduleVoiceRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleVoice>>;\n    public personalScheduleVoiceRetrieve(requestParameters: PersonalScheduleVoiceRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleVoice>>;\n    public personalScheduleVoiceRetrieve(requestParameters: PersonalScheduleVoiceRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling personalScheduleVoiceRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-voice/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleVoice>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update a Personal Schedule Voice\n     * A viewset for viewing and editing tasks instances.\n     * @endpoint put /api/personal-plan/schedule-voice/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public personalScheduleVoiceUpdate(requestParameters: PersonalScheduleVoiceUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PersonalScheduleVoice>;\n    public personalScheduleVoiceUpdate(requestParameters: PersonalScheduleVoiceUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PersonalScheduleVoice>>;\n    public personalScheduleVoiceUpdate(requestParameters: PersonalScheduleVoiceUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PersonalScheduleVoice>>;\n    public personalScheduleVoiceUpdate(requestParameters: PersonalScheduleVoiceUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling personalScheduleVoiceUpdate.');\n        }\n        const personalScheduleVoice = requestParameters?.personalScheduleVoice;\n        if (personalScheduleVoice === null || personalScheduleVoice === undefined) {\n            throw new Error('Required parameter personalScheduleVoice was null or undefined when calling personalScheduleVoiceUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/personal-plan/schedule-voice/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PersonalScheduleVoice>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: personalScheduleVoice,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedProjectUserList } from '../model/paginatedProjectUserList';\n// @ts-ignore\nimport { PatchedProjectUser } from '../model/patchedProjectUser';\n// @ts-ignore\nimport { ProjectUser } from '../model/projectUser';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    ProjectUsersServiceInterface,\n    ApiProjectUserCreateRequestParams,\n    ApiProjectUserDestroyRequestParams,\n    ApiProjectUserListRequestParams,\n    ApiProjectUserPartialUpdateRequestParams,\n    ApiProjectUserRetrieveRequestParams,\n    ApiProjectUserUpdateRequestParams,\n    ApiProjectUsersCreateRequestParams,\n    ApiProjectUsersDestroyRequestParams,\n    ApiProjectUsersListRequestParams,\n    ApiProjectUsersPartialUpdateRequestParams,\n    ApiProjectUsersRetrieveRequestParams,\n    ApiProjectUsersUpdateRequestParams\n} from './projectUsers.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ProjectUsersService extends BaseService implements ProjectUsersServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint post /api/{company_id}/project-user/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUserCreate(requestParameters: ApiProjectUserCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUserCreate(requestParameters: ApiProjectUserCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUserCreate(requestParameters: ApiProjectUserCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUserCreate(requestParameters: ApiProjectUserCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUserCreate.');\n        }\n        const projectUser = requestParameters?.projectUser;\n        if (projectUser === null || projectUser === undefined) {\n            throw new Error('Required parameter projectUser was null or undefined when calling apiProjectUserCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project-user/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: projectUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint delete /api/{company_id}/project-user/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUserDestroy(requestParameters: ApiProjectUserDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiProjectUserDestroy(requestParameters: ApiProjectUserDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiProjectUserDestroy(requestParameters: ApiProjectUserDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiProjectUserDestroy(requestParameters: ApiProjectUserDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUserDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUserDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint get /api/{company_id}/project-user/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUserList(requestParameters: ApiProjectUserListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedProjectUserList>;\n    public apiProjectUserList(requestParameters: ApiProjectUserListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedProjectUserList>>;\n    public apiProjectUserList(requestParameters: ApiProjectUserListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedProjectUserList>>;\n    public apiProjectUserList(requestParameters: ApiProjectUserListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUserList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const projectId = requestParameters?.projectId;\n        const role = requestParameters?.role;\n        const search = requestParameters?.search;\n        const userId = requestParameters?.userId;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'project_id',\n            <any>projectId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'role',\n            <any>role,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'user_id',\n            <any>userId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project-user/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedProjectUserList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint patch /api/{company_id}/project-user/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUserPartialUpdate(requestParameters: ApiProjectUserPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUserPartialUpdate(requestParameters: ApiProjectUserPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUserPartialUpdate(requestParameters: ApiProjectUserPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUserPartialUpdate(requestParameters: ApiProjectUserPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUserPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUserPartialUpdate.');\n        }\n        const patchedProjectUser = requestParameters?.patchedProjectUser;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedProjectUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint get /api/{company_id}/project-user/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUserRetrieve(requestParameters: ApiProjectUserRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUserRetrieve(requestParameters: ApiProjectUserRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUserRetrieve(requestParameters: ApiProjectUserRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUserRetrieve(requestParameters: ApiProjectUserRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUserRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUserRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint put /api/{company_id}/project-user/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUserUpdate(requestParameters: ApiProjectUserUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUserUpdate(requestParameters: ApiProjectUserUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUserUpdate(requestParameters: ApiProjectUserUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUserUpdate(requestParameters: ApiProjectUserUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUserUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUserUpdate.');\n        }\n        const projectUser = requestParameters?.projectUser;\n        if (projectUser === null || projectUser === undefined) {\n            throw new Error('Required parameter projectUser was null or undefined when calling apiProjectUserUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project-user/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: projectUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint post /api/{company_id}/project/{project_id}/users/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUsersCreate(requestParameters: ApiProjectUsersCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUsersCreate(requestParameters: ApiProjectUsersCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUsersCreate(requestParameters: ApiProjectUsersCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUsersCreate(requestParameters: ApiProjectUsersCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUsersCreate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectUsersCreate.');\n        }\n        const projectUser = requestParameters?.projectUser;\n        if (projectUser === null || projectUser === undefined) {\n            throw new Error('Required parameter projectUser was null or undefined when calling apiProjectUsersCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: projectUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint delete /api/{company_id}/project/{project_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUsersDestroy(requestParameters: ApiProjectUsersDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiProjectUsersDestroy(requestParameters: ApiProjectUsersDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiProjectUsersDestroy(requestParameters: ApiProjectUsersDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiProjectUsersDestroy(requestParameters: ApiProjectUsersDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUsersDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUsersDestroy.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectUsersDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint get /api/{company_id}/project/{project_id}/users/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUsersList(requestParameters: ApiProjectUsersListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedProjectUserList>;\n    public apiProjectUsersList(requestParameters: ApiProjectUsersListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedProjectUserList>>;\n    public apiProjectUsersList(requestParameters: ApiProjectUsersListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedProjectUserList>>;\n    public apiProjectUsersList(requestParameters: ApiProjectUsersListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUsersList.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectUsersList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const projectId2 = requestParameters?.projectId2;\n        const role = requestParameters?.role;\n        const search = requestParameters?.search;\n        const userId = requestParameters?.userId;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'project_id',\n            <any>projectId2,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'role',\n            <any>role,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'user_id',\n            <any>userId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedProjectUserList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint patch /api/{company_id}/project/{project_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUsersPartialUpdate(requestParameters: ApiProjectUsersPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUsersPartialUpdate(requestParameters: ApiProjectUsersPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUsersPartialUpdate(requestParameters: ApiProjectUsersPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUsersPartialUpdate(requestParameters: ApiProjectUsersPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUsersPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUsersPartialUpdate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectUsersPartialUpdate.');\n        }\n        const patchedProjectUser = requestParameters?.patchedProjectUser;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedProjectUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint get /api/{company_id}/project/{project_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUsersRetrieve(requestParameters: ApiProjectUsersRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUsersRetrieve(requestParameters: ApiProjectUsersRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUsersRetrieve(requestParameters: ApiProjectUsersRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUsersRetrieve(requestParameters: ApiProjectUsersRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUsersRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUsersRetrieve.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectUsersRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * I membri di un progetto, con il loro ruolo.  Scrivere un ruolo è riservato a owner e admin del progetto o della company (&#x60;CanManageProjectRoles&#x60;), e non può lasciare il progetto senza owner.\n     * @endpoint put /api/{company_id}/project/{project_id}/users/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectUsersUpdate(requestParameters: ApiProjectUsersUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ProjectUser>;\n    public apiProjectUsersUpdate(requestParameters: ApiProjectUsersUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ProjectUser>>;\n    public apiProjectUsersUpdate(requestParameters: ApiProjectUsersUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ProjectUser>>;\n    public apiProjectUsersUpdate(requestParameters: ApiProjectUsersUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectUsersUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectUsersUpdate.');\n        }\n        const projectId = requestParameters?.projectId;\n        if (projectId === null || projectId === undefined) {\n            throw new Error('Required parameter projectId was null or undefined when calling apiProjectUsersUpdate.');\n        }\n        const projectUser = requestParameters?.projectUser;\n        if (projectUser === null || projectUser === undefined) {\n            throw new Error('Required parameter projectUser was null or undefined when calling apiProjectUsersUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/project/${this.configuration.encodeParam({name: \"projectId\", value: projectId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/users/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ProjectUser>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: projectUser,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedProjectList } from '../model/paginatedProjectList';\n// @ts-ignore\nimport { PatchedProject } from '../model/patchedProject';\n// @ts-ignore\nimport { Project } from '../model/project';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    ProjectsServiceInterface,\n    ApiProjectsArchiveCreateRequestParams,\n    ApiProjectsGetMaxMinDateRetrieveRequestParams,\n    ApiProjectsRestoreCreateRequestParams,\n    ApiProjectsScoringConfigPartialUpdateRequestParams,\n    ApiProjectsScoringConfigRetrieveRequestParams,\n    ProjectCreateRequestParams,\n    ProjectDestroyRequestParams,\n    ProjectListRequestParams,\n    ProjectPartialUpdateRequestParams,\n    ProjectRetrieveRequestParams,\n    ProjectUpdateRequestParams\n} from './projects.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ProjectsService extends BaseService implements ProjectsServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint post /api/{company_id}/projects/{id}/archive/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsArchiveCreate(requestParameters: ApiProjectsArchiveCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public apiProjectsArchiveCreate(requestParameters: ApiProjectsArchiveCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public apiProjectsArchiveCreate(requestParameters: ApiProjectsArchiveCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public apiProjectsArchiveCreate(requestParameters: ApiProjectsArchiveCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsArchiveCreate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsArchiveCreate.');\n        }\n        const project = requestParameters?.project;\n        if (project === null || project === undefined) {\n            throw new Error('Required parameter project was null or undefined when calling apiProjectsArchiveCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/archive/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: project,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint get /api/{company_id}/projects/{id}/get_max_min_date/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsGetMaxMinDateRetrieve(requestParameters: ApiProjectsGetMaxMinDateRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public apiProjectsGetMaxMinDateRetrieve(requestParameters: ApiProjectsGetMaxMinDateRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public apiProjectsGetMaxMinDateRetrieve(requestParameters: ApiProjectsGetMaxMinDateRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public apiProjectsGetMaxMinDateRetrieve(requestParameters: ApiProjectsGetMaxMinDateRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsGetMaxMinDateRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsGetMaxMinDateRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/get_max_min_date/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint post /api/{company_id}/projects/{id}/restore/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsRestoreCreate(requestParameters: ApiProjectsRestoreCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public apiProjectsRestoreCreate(requestParameters: ApiProjectsRestoreCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public apiProjectsRestoreCreate(requestParameters: ApiProjectsRestoreCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public apiProjectsRestoreCreate(requestParameters: ApiProjectsRestoreCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsRestoreCreate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsRestoreCreate.');\n        }\n        const project = requestParameters?.project;\n        if (project === null || project === undefined) {\n            throw new Error('Required parameter project was null or undefined when calling apiProjectsRestoreCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/restore/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: project,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint patch /api/{company_id}/projects/{id}/scoring-config/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsScoringConfigPartialUpdate(requestParameters: ApiProjectsScoringConfigPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public apiProjectsScoringConfigPartialUpdate(requestParameters: ApiProjectsScoringConfigPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public apiProjectsScoringConfigPartialUpdate(requestParameters: ApiProjectsScoringConfigPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public apiProjectsScoringConfigPartialUpdate(requestParameters: ApiProjectsScoringConfigPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsScoringConfigPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsScoringConfigPartialUpdate.');\n        }\n        const patchedProject = requestParameters?.patchedProject;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/scoring-config/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedProject,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint get /api/{company_id}/projects/{id}/scoring-config/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiProjectsScoringConfigRetrieve(requestParameters: ApiProjectsScoringConfigRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public apiProjectsScoringConfigRetrieve(requestParameters: ApiProjectsScoringConfigRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public apiProjectsScoringConfigRetrieve(requestParameters: ApiProjectsScoringConfigRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public apiProjectsScoringConfigRetrieve(requestParameters: ApiProjectsScoringConfigRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiProjectsScoringConfigRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiProjectsScoringConfigRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/scoring-config/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create Project\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint post /api/{company_id}/projects/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public projectCreate(requestParameters: ProjectCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public projectCreate(requestParameters: ProjectCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public projectCreate(requestParameters: ProjectCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public projectCreate(requestParameters: ProjectCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling projectCreate.');\n        }\n        const project = requestParameters?.project;\n        if (project === null || project === undefined) {\n            throw new Error('Required parameter project was null or undefined when calling projectCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: project,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Project\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint delete /api/{company_id}/projects/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public projectDestroy(requestParameters: ProjectDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public projectDestroy(requestParameters: ProjectDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public projectDestroy(requestParameters: ProjectDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public projectDestroy(requestParameters: ProjectDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling projectDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling projectDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Projects\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint get /api/{company_id}/projects/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public projectList(requestParameters: ProjectListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedProjectList>;\n    public projectList(requestParameters: ProjectListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedProjectList>>;\n    public projectList(requestParameters: ProjectListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedProjectList>>;\n    public projectList(requestParameters: ProjectListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling projectList.');\n        }\n        const companyId2 = requestParameters?.companyId2;\n        const descriptionIcontains = requestParameters?.descriptionIcontains;\n        const id = requestParameters?.id;\n        const includeArchived = requestParameters?.includeArchived;\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n        const titleIcontains = requestParameters?.titleIcontains;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'company_id',\n            <any>companyId2,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'description__icontains',\n            <any>descriptionIcontains,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'id',\n            <any>id,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'include_archived',\n            <any>includeArchived,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'title__icontains',\n            <any>titleIcontains,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedProjectList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Project\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint patch /api/{company_id}/projects/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public projectPartialUpdate(requestParameters: ProjectPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public projectPartialUpdate(requestParameters: ProjectPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public projectPartialUpdate(requestParameters: ProjectPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public projectPartialUpdate(requestParameters: ProjectPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling projectPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling projectPartialUpdate.');\n        }\n        const patchedProject = requestParameters?.patchedProject;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedProject,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get detail of Project\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint get /api/{company_id}/projects/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public projectRetrieve(requestParameters: ProjectRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public projectRetrieve(requestParameters: ProjectRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public projectRetrieve(requestParameters: ProjectRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public projectRetrieve(requestParameters: ProjectRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling projectRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling projectRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Project\n     * Manage projects for a company.  DELETE soft-archives via &#x60;is_archivied&#x60;; the row stays so historical tasks keep resolving their FK and the project can be restored via the dedicated action. List excludes archived projects unless &#x60;?include_archived&#x3D;true&#x60;.\n     * @endpoint put /api/{company_id}/projects/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public projectUpdate(requestParameters: ProjectUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Project>;\n    public projectUpdate(requestParameters: ProjectUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Project>>;\n    public projectUpdate(requestParameters: ProjectUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Project>>;\n    public projectUpdate(requestParameters: ProjectUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling projectUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling projectUpdate.');\n        }\n        const project = requestParameters?.project;\n        if (project === null || project === undefined) {\n            throw new Error('Required parameter project was null or undefined when calling projectUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/projects/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Project>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: project,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedResumeEntryList } from '../model/paginatedResumeEntryList';\n// @ts-ignore\nimport { PatchedResumeEntry } from '../model/patchedResumeEntry';\n// @ts-ignore\nimport { ResumeEntry } from '../model/resumeEntry';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    ResumeEntriesServiceInterface,\n    ApiResumeEntryCreateRequestParams,\n    ApiResumeEntryDestroyRequestParams,\n    ApiResumeEntryListRequestParams,\n    ApiResumeEntryPartialUpdateRequestParams,\n    ApiResumeEntryRetrieveRequestParams,\n    ApiResumeEntryUpdateRequestParams\n} from './resumeEntries.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ResumeEntriesService extends BaseService implements ResumeEntriesServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * A resume entry: what a teammate plans (kind&#x3D;plan) or did (kind&#x3D;done) over a day or range.  Multiple entries per day are allowed. Use date_from/date_to for the period, note for the text, tasks to link related tasks. Filter by kind, date range or user_id. DELETE soft-removes the entry (is_deleted); the row stays.\n     * @endpoint post /api/{company_id}/resume-entry/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiResumeEntryCreate(requestParameters: ApiResumeEntryCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ResumeEntry>;\n    public apiResumeEntryCreate(requestParameters: ApiResumeEntryCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ResumeEntry>>;\n    public apiResumeEntryCreate(requestParameters: ApiResumeEntryCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ResumeEntry>>;\n    public apiResumeEntryCreate(requestParameters: ApiResumeEntryCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiResumeEntryCreate.');\n        }\n        const resumeEntry = requestParameters?.resumeEntry;\n        if (resumeEntry === null || resumeEntry === undefined) {\n            throw new Error('Required parameter resumeEntry was null or undefined when calling apiResumeEntryCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/resume-entry/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ResumeEntry>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: resumeEntry,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A resume entry: what a teammate plans (kind&#x3D;plan) or did (kind&#x3D;done) over a day or range.  Multiple entries per day are allowed. Use date_from/date_to for the period, note for the text, tasks to link related tasks. Filter by kind, date range or user_id. DELETE soft-removes the entry (is_deleted); the row stays.\n     * @endpoint delete /api/{company_id}/resume-entry/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiResumeEntryDestroy(requestParameters: ApiResumeEntryDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public apiResumeEntryDestroy(requestParameters: ApiResumeEntryDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public apiResumeEntryDestroy(requestParameters: ApiResumeEntryDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public apiResumeEntryDestroy(requestParameters: ApiResumeEntryDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiResumeEntryDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiResumeEntryDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/resume-entry/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A resume entry: what a teammate plans (kind&#x3D;plan) or did (kind&#x3D;done) over a day or range.  Multiple entries per day are allowed. Use date_from/date_to for the period, note for the text, tasks to link related tasks. Filter by kind, date range or user_id. DELETE soft-removes the entry (is_deleted); the row stays.\n     * @endpoint get /api/{company_id}/resume-entry/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiResumeEntryList(requestParameters: ApiResumeEntryListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedResumeEntryList>;\n    public apiResumeEntryList(requestParameters: ApiResumeEntryListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedResumeEntryList>>;\n    public apiResumeEntryList(requestParameters: ApiResumeEntryListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedResumeEntryList>>;\n    public apiResumeEntryList(requestParameters: ApiResumeEntryListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiResumeEntryList.');\n        }\n        const companyId2 = requestParameters?.companyId2;\n        const dateFrom = requestParameters?.dateFrom;\n        const dateFromGt = requestParameters?.dateFromGt;\n        const dateFromGte = requestParameters?.dateFromGte;\n        const dateFromLt = requestParameters?.dateFromLt;\n        const dateFromLte = requestParameters?.dateFromLte;\n        const dateTo = requestParameters?.dateTo;\n        const dateToGt = requestParameters?.dateToGt;\n        const dateToGte = requestParameters?.dateToGte;\n        const dateToLt = requestParameters?.dateToLt;\n        const dateToLte = requestParameters?.dateToLte;\n        const kind = requestParameters?.kind;\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n        const userId = requestParameters?.userId;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'company_id',\n            <any>companyId2,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_from',\n            <any>dateFrom,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_from__gt',\n            <any>dateFromGt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_from__gte',\n            <any>dateFromGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_from__lt',\n            <any>dateFromLt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_from__lte',\n            <any>dateFromLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_to',\n            <any>dateTo,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_to__gt',\n            <any>dateToGt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_to__gte',\n            <any>dateToGte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_to__lt',\n            <any>dateToLt,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'date_to__lte',\n            <any>dateToLte,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'kind',\n            <any>kind,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'user_id',\n            <any>userId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/resume-entry/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedResumeEntryList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A resume entry: what a teammate plans (kind&#x3D;plan) or did (kind&#x3D;done) over a day or range.  Multiple entries per day are allowed. Use date_from/date_to for the period, note for the text, tasks to link related tasks. Filter by kind, date range or user_id. DELETE soft-removes the entry (is_deleted); the row stays.\n     * @endpoint patch /api/{company_id}/resume-entry/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiResumeEntryPartialUpdate(requestParameters: ApiResumeEntryPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ResumeEntry>;\n    public apiResumeEntryPartialUpdate(requestParameters: ApiResumeEntryPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ResumeEntry>>;\n    public apiResumeEntryPartialUpdate(requestParameters: ApiResumeEntryPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ResumeEntry>>;\n    public apiResumeEntryPartialUpdate(requestParameters: ApiResumeEntryPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiResumeEntryPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiResumeEntryPartialUpdate.');\n        }\n        const patchedResumeEntry = requestParameters?.patchedResumeEntry;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/resume-entry/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ResumeEntry>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedResumeEntry,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A resume entry: what a teammate plans (kind&#x3D;plan) or did (kind&#x3D;done) over a day or range.  Multiple entries per day are allowed. Use date_from/date_to for the period, note for the text, tasks to link related tasks. Filter by kind, date range or user_id. DELETE soft-removes the entry (is_deleted); the row stays.\n     * @endpoint get /api/{company_id}/resume-entry/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiResumeEntryRetrieve(requestParameters: ApiResumeEntryRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ResumeEntry>;\n    public apiResumeEntryRetrieve(requestParameters: ApiResumeEntryRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ResumeEntry>>;\n    public apiResumeEntryRetrieve(requestParameters: ApiResumeEntryRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ResumeEntry>>;\n    public apiResumeEntryRetrieve(requestParameters: ApiResumeEntryRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiResumeEntryRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiResumeEntryRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/resume-entry/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ResumeEntry>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * A resume entry: what a teammate plans (kind&#x3D;plan) or did (kind&#x3D;done) over a day or range.  Multiple entries per day are allowed. Use date_from/date_to for the period, note for the text, tasks to link related tasks. Filter by kind, date range or user_id. DELETE soft-removes the entry (is_deleted); the row stays.\n     * @endpoint put /api/{company_id}/resume-entry/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public apiResumeEntryUpdate(requestParameters: ApiResumeEntryUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ResumeEntry>;\n    public apiResumeEntryUpdate(requestParameters: ApiResumeEntryUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ResumeEntry>>;\n    public apiResumeEntryUpdate(requestParameters: ApiResumeEntryUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ResumeEntry>>;\n    public apiResumeEntryUpdate(requestParameters: ApiResumeEntryUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling apiResumeEntryUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling apiResumeEntryUpdate.');\n        }\n        const resumeEntry = requestParameters?.resumeEntry;\n        if (resumeEntry === null || resumeEntry === undefined) {\n            throw new Error('Required parameter resumeEntry was null or undefined when calling apiResumeEntryUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/resume-entry/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<ResumeEntry>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: resumeEntry,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedSprintList } from '../model/paginatedSprintList';\n// @ts-ignore\nimport { PaginatedSprintTaskLaneList } from '../model/paginatedSprintTaskLaneList';\n// @ts-ignore\nimport { PatchedSprint } from '../model/patchedSprint';\n// @ts-ignore\nimport { Sprint } from '../model/sprint';\n// @ts-ignore\nimport { SprintCloseRequest } from '../model/sprintCloseRequest';\n// @ts-ignore\nimport { SprintLaneMoveRequest } from '../model/sprintLaneMoveRequest';\n// @ts-ignore\nimport { SprintTaskLane } from '../model/sprintTaskLane';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    ScrumServiceInterface,\n    SprintCloseRequestParams,\n    SprintCreateRequestParams,\n    SprintDestroyRequestParams,\n    SprintLaneListRequestParams,\n    SprintLaneMoveRequestParams,\n    SprintLaneRetrieveRequestParams,\n    SprintListRequestParams,\n    SprintPartialUpdateRequestParams,\n    SprintRetrieveRequestParams,\n    SprintStartRequestParams,\n    SprintUpdateRequestParams\n} from './scrum.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ScrumService extends BaseService implements ScrumServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Close Sprint (ACTIVE -&gt; CLOSED) with optional carry-over\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint post /api/scrum/sprints/{id}/close/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintClose(requestParameters: SprintCloseRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Sprint>;\n    public sprintClose(requestParameters: SprintCloseRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Sprint>>;\n    public sprintClose(requestParameters: SprintCloseRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Sprint>>;\n    public sprintClose(requestParameters: SprintCloseRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintClose.');\n        }\n        const sprintCloseRequest = requestParameters?.sprintCloseRequest;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/close/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Sprint>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: sprintCloseRequest,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create Sprint\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint post /api/scrum/sprints/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintCreate(requestParameters: SprintCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Sprint>;\n    public sprintCreate(requestParameters: SprintCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Sprint>>;\n    public sprintCreate(requestParameters: SprintCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Sprint>>;\n    public sprintCreate(requestParameters: SprintCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const sprint = requestParameters?.sprint;\n        if (sprint === null || sprint === undefined) {\n            throw new Error('Required parameter sprint was null or undefined when calling sprintCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Sprint>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: sprint,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Sprint\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint delete /api/scrum/sprints/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintDestroy(requestParameters: SprintDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public sprintDestroy(requestParameters: SprintDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public sprintDestroy(requestParameters: SprintDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public sprintDestroy(requestParameters: SprintDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Sprint Lanes\n     * Lanes expose only list/retrieve; mutations happen via the &#x60;move&#x60; action.\n     * @endpoint get /api/scrum/sprint-lanes/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintLaneList(requestParameters?: SprintLaneListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedSprintTaskLaneList>;\n    public sprintLaneList(requestParameters?: SprintLaneListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedSprintTaskLaneList>>;\n    public sprintLaneList(requestParameters?: SprintLaneListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedSprintTaskLaneList>>;\n    public sprintLaneList(requestParameters?: SprintLaneListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n        const sprintId = requestParameters?.sprintId;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'sprint_id',\n            <any>sprintId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprint-lanes/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedSprintTaskLaneList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Move a Sprint Lane to a different ProjectTaskStatus column\n     * Lanes expose only list/retrieve; mutations happen via the &#x60;move&#x60; action.\n     * @endpoint post /api/scrum/sprint-lanes/{id}/move/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintLaneMove(requestParameters: SprintLaneMoveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SprintTaskLane>;\n    public sprintLaneMove(requestParameters: SprintLaneMoveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SprintTaskLane>>;\n    public sprintLaneMove(requestParameters: SprintLaneMoveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SprintTaskLane>>;\n    public sprintLaneMove(requestParameters: SprintLaneMoveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintLaneMove.');\n        }\n        const sprintLaneMoveRequest = requestParameters?.sprintLaneMoveRequest;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprint-lanes/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/move/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<SprintTaskLane>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: sprintLaneMoveRequest,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Retrieve Sprint Lane\n     * Lanes expose only list/retrieve; mutations happen via the &#x60;move&#x60; action.\n     * @endpoint get /api/scrum/sprint-lanes/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintLaneRetrieve(requestParameters: SprintLaneRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SprintTaskLane>;\n    public sprintLaneRetrieve(requestParameters: SprintLaneRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SprintTaskLane>>;\n    public sprintLaneRetrieve(requestParameters: SprintLaneRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SprintTaskLane>>;\n    public sprintLaneRetrieve(requestParameters: SprintLaneRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintLaneRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprint-lanes/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<SprintTaskLane>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Sprints\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint get /api/scrum/sprints/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintList(requestParameters?: SprintListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedSprintList>;\n    public sprintList(requestParameters?: SprintListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedSprintList>>;\n    public sprintList(requestParameters?: SprintListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedSprintList>>;\n    public sprintList(requestParameters?: SprintListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const projectId = requestParameters?.projectId;\n        const state = requestParameters?.state;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'project_id',\n            <any>projectId,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'state',\n            <any>state,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedSprintList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Partially Update Sprint\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint patch /api/scrum/sprints/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintPartialUpdate(requestParameters: SprintPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Sprint>;\n    public sprintPartialUpdate(requestParameters: SprintPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Sprint>>;\n    public sprintPartialUpdate(requestParameters: SprintPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Sprint>>;\n    public sprintPartialUpdate(requestParameters: SprintPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintPartialUpdate.');\n        }\n        const patchedSprint = requestParameters?.patchedSprint;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Sprint>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedSprint,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Retrieve Sprint\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint get /api/scrum/sprints/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintRetrieve(requestParameters: SprintRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Sprint>;\n    public sprintRetrieve(requestParameters: SprintRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Sprint>>;\n    public sprintRetrieve(requestParameters: SprintRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Sprint>>;\n    public sprintRetrieve(requestParameters: SprintRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Sprint>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Start Sprint (PLANNED -&gt; ACTIVE)\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint post /api/scrum/sprints/{id}/start/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintStart(requestParameters: SprintStartRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Sprint>;\n    public sprintStart(requestParameters: SprintStartRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Sprint>>;\n    public sprintStart(requestParameters: SprintStartRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Sprint>>;\n    public sprintStart(requestParameters: SprintStartRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintStart.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/start/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Sprint>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Sprint\n     * CRUD over Sprint, scoped to companies the authenticated user belongs to.\n     * @endpoint put /api/scrum/sprints/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public sprintUpdate(requestParameters: SprintUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Sprint>;\n    public sprintUpdate(requestParameters: SprintUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Sprint>>;\n    public sprintUpdate(requestParameters: SprintUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Sprint>>;\n    public sprintUpdate(requestParameters: SprintUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling sprintUpdate.');\n        }\n        const sprint = requestParameters?.sprint;\n        if (sprint === null || sprint === undefined) {\n            throw new Error('Required parameter sprint was null or undefined when calling sprintUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/scrum/sprints/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Sprint>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: sprint,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedTaskAssignementList } from '../model/paginatedTaskAssignementList';\n// @ts-ignore\nimport { PatchedTaskAssignement } from '../model/patchedTaskAssignement';\n// @ts-ignore\nimport { TaskAssignement } from '../model/taskAssignement';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    TaskAssignementsServiceInterface,\n    TaskAssignementCreateRequestParams,\n    TaskAssignementDestroyRequestParams,\n    TaskAssignementListRequestParams,\n    TaskAssignementRetrieveRequestParams,\n    TaskAssignementUpdateRequestParams,\n    TaskAssignementUpdate2RequestParams\n} from './taskAssignements.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TaskAssignementsService extends BaseService implements TaskAssignementsServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Create Task User Assignment\n     * A viewset for viewing and editing TaskAssignement instances.\n     * @endpoint post /api/tasks/{task_id}/assignements/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAssignementCreate(requestParameters: TaskAssignementCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAssignement>;\n    public taskAssignementCreate(requestParameters: TaskAssignementCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAssignement>>;\n    public taskAssignementCreate(requestParameters: TaskAssignementCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAssignement>>;\n    public taskAssignementCreate(requestParameters: TaskAssignementCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAssignementCreate.');\n        }\n        const taskAssignement = requestParameters?.taskAssignement;\n        if (taskAssignement === null || taskAssignement === undefined) {\n            throw new Error('Required parameter taskAssignement was null or undefined when calling taskAssignementCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/assignements/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAssignement>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskAssignement,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Task User Assignment\n     * A viewset for viewing and editing TaskAssignement instances.\n     * @endpoint delete /api/tasks/{task_id}/assignements/{user_id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAssignementDestroy(requestParameters: TaskAssignementDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public taskAssignementDestroy(requestParameters: TaskAssignementDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public taskAssignementDestroy(requestParameters: TaskAssignementDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public taskAssignementDestroy(requestParameters: TaskAssignementDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAssignementDestroy.');\n        }\n        const userId = requestParameters?.userId;\n        if (userId === null || userId === undefined) {\n            throw new Error('Required parameter userId was null or undefined when calling taskAssignementDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/assignements/${this.configuration.encodeParam({name: \"userId\", value: userId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Task User Assignment\n     * A viewset for viewing and editing TaskAssignement instances.\n     * @endpoint get /api/tasks/{task_id}/assignements/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAssignementList(requestParameters: TaskAssignementListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTaskAssignementList>;\n    public taskAssignementList(requestParameters: TaskAssignementListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTaskAssignementList>>;\n    public taskAssignementList(requestParameters: TaskAssignementListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTaskAssignementList>>;\n    public taskAssignementList(requestParameters: TaskAssignementListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAssignementList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/assignements/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTaskAssignementList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get Task User Assignment\n     * A viewset for viewing and editing TaskAssignement instances.\n     * @endpoint get /api/tasks/{task_id}/assignements/{user_id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAssignementRetrieve(requestParameters: TaskAssignementRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAssignement>;\n    public taskAssignementRetrieve(requestParameters: TaskAssignementRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAssignement>>;\n    public taskAssignementRetrieve(requestParameters: TaskAssignementRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAssignement>>;\n    public taskAssignementRetrieve(requestParameters: TaskAssignementRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAssignementRetrieve.');\n        }\n        const userId = requestParameters?.userId;\n        if (userId === null || userId === undefined) {\n            throw new Error('Required parameter userId was null or undefined when calling taskAssignementRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/assignements/${this.configuration.encodeParam({name: \"userId\", value: userId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAssignement>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Task User Assignment\n     * A viewset for viewing and editing TaskAssignement instances.\n     * @endpoint patch /api/tasks/{task_id}/assignements/{user_id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAssignementUpdate(requestParameters: TaskAssignementUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAssignement>;\n    public taskAssignementUpdate(requestParameters: TaskAssignementUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAssignement>>;\n    public taskAssignementUpdate(requestParameters: TaskAssignementUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAssignement>>;\n    public taskAssignementUpdate(requestParameters: TaskAssignementUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAssignementUpdate.');\n        }\n        const userId = requestParameters?.userId;\n        if (userId === null || userId === undefined) {\n            throw new Error('Required parameter userId was null or undefined when calling taskAssignementUpdate.');\n        }\n        const patchedTaskAssignement = requestParameters?.patchedTaskAssignement;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/assignements/${this.configuration.encodeParam({name: \"userId\", value: userId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAssignement>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTaskAssignement,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Task User Assignment\n     * A viewset for viewing and editing TaskAssignement instances.\n     * @endpoint put /api/tasks/{task_id}/assignements/{user_id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAssignementUpdate2(requestParameters: TaskAssignementUpdate2RequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAssignement>;\n    public taskAssignementUpdate2(requestParameters: TaskAssignementUpdate2RequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAssignement>>;\n    public taskAssignementUpdate2(requestParameters: TaskAssignementUpdate2RequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAssignement>>;\n    public taskAssignementUpdate2(requestParameters: TaskAssignementUpdate2RequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAssignementUpdate2.');\n        }\n        const userId = requestParameters?.userId;\n        if (userId === null || userId === undefined) {\n            throw new Error('Required parameter userId was null or undefined when calling taskAssignementUpdate2.');\n        }\n        const taskAssignement = requestParameters?.taskAssignement;\n        if (taskAssignement === null || taskAssignement === undefined) {\n            throw new Error('Required parameter taskAssignement was null or undefined when calling taskAssignementUpdate2.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/assignements/${this.configuration.encodeParam({name: \"userId\", value: userId, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAssignement>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskAssignement,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedTaskAttachmentList } from '../model/paginatedTaskAttachmentList';\n// @ts-ignore\nimport { TaskAttachment } from '../model/taskAttachment';\n// @ts-ignore\nimport { User } from '../model/user';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    TaskAttachmentsServiceInterface,\n    TaskAttachmentCreateRequestParams,\n    TaskAttachmentDestroyRequestParams,\n    TaskAttachmentListRequestParams,\n    TaskAttachmentPartialUpdateRequestParams,\n    TaskAttachmentRetrieveRequestParams,\n    TaskAttachmentUpdateRequestParams\n} from './taskAttachments.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TaskAttachmentsService extends BaseService implements TaskAttachmentsServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Create Task Attachment\n     * Task attachments. REST supports upload/delete; MCP exposes read-only list/retrieve (files can\\&#39;t be uploaded over MCP) so an agent can see the attachments — e.g. customer context on a ticket task.\n     * @endpoint post /api/tasks/{task_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAttachmentCreate(requestParameters: TaskAttachmentCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAttachment>;\n    public taskAttachmentCreate(requestParameters: TaskAttachmentCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAttachment>>;\n    public taskAttachmentCreate(requestParameters: TaskAttachmentCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAttachment>>;\n    public taskAttachmentCreate(requestParameters: TaskAttachmentCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAttachmentCreate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskAttachmentCreate.');\n        }\n        const userId = requestParameters?.userId;\n        if (userId === null || userId === undefined) {\n            throw new Error('Required parameter userId was null or undefined when calling taskAttachmentCreate.');\n        }\n        const taskId2 = requestParameters?.taskId2;\n        if (taskId2 === null || taskId2 === undefined) {\n            throw new Error('Required parameter taskId2 was null or undefined when calling taskAttachmentCreate.');\n        }\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling taskAttachmentCreate.');\n        }\n        const user = requestParameters?.user;\n        if (user === null || user === undefined) {\n            throw new Error('Required parameter user was null or undefined when calling taskAttachmentCreate.');\n        }\n        const file = requestParameters?.file;\n        if (file === null || file === undefined) {\n            throw new Error('Required parameter file was null or undefined when calling taskAttachmentCreate.');\n        }\n        const createdAt = requestParameters?.createdAt;\n        if (createdAt === null || createdAt === undefined) {\n            throw new Error('Required parameter createdAt was null or undefined when calling taskAttachmentCreate.');\n        }\n        const updatedAt = requestParameters?.updatedAt;\n        if (updatedAt === null || updatedAt === undefined) {\n            throw new Error('Required parameter updatedAt was null or undefined when calling taskAttachmentCreate.');\n        }\n        const appUrl = requestParameters?.appUrl;\n        if (appUrl === null || appUrl === undefined) {\n            throw new Error('Required parameter appUrl was null or undefined when calling taskAttachmentCreate.');\n        }\n        const isPrimary = requestParameters?.isPrimary;\n        const isDeleted = requestParameters?.isDeleted;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'multipart/form-data',\n            'application/x-www-form-urlencoded'\n        ];\n\n        const canConsumeForm = this.canConsumeForm(consumes);\n\n        let localVarFormParams: { append(param: string, value: any): any; };\n        let localVarUseForm = false;\n        let localVarConvertFormParamsToString = false;\n        if (localVarUseForm) {\n            localVarFormParams = new FormData();\n        } else {\n            localVarFormParams = new HttpParams({encoder: this.encoder});\n        }\n\n        if (id !== undefined) {\n            localVarFormParams = localVarFormParams.append('id', <any>id) as any || localVarFormParams;\n        }\n        if (userId !== undefined) {\n            localVarFormParams = localVarFormParams.append('user_id', <any>userId) as any || localVarFormParams;\n        }\n        if (taskId2 !== undefined) {\n            localVarFormParams = localVarFormParams.append('task_id', <any>taskId2) as any || localVarFormParams;\n        }\n        if (commentId !== undefined) {\n            localVarFormParams = localVarFormParams.append('comment_id', <any>commentId) as any || localVarFormParams;\n        }\n        if (user !== undefined) {\n            localVarFormParams = localVarFormParams.append('user', localVarUseForm ? new Blob([JSON.stringify(user)], {type: 'application/json'}) : <any>user) as any || localVarFormParams;\n        }\n        if (file !== undefined) {\n            localVarFormParams = localVarFormParams.append('file', <any>file) as any || localVarFormParams;\n        }\n        if (isPrimary !== undefined) {\n            localVarFormParams = localVarFormParams.append('is_primary', <any>isPrimary) as any || localVarFormParams;\n        }\n        if (isDeleted !== undefined) {\n            localVarFormParams = localVarFormParams.append('is_deleted', <any>isDeleted) as any || localVarFormParams;\n        }\n        if (createdAt !== undefined) {\n            localVarFormParams = localVarFormParams.append('created_at', <any>createdAt) as any || localVarFormParams;\n        }\n        if (updatedAt !== undefined) {\n            localVarFormParams = localVarFormParams.append('updated_at', <any>updatedAt) as any || localVarFormParams;\n        }\n        if (appUrl !== undefined) {\n            localVarFormParams = localVarFormParams.append('app_url', <any>appUrl) as any || localVarFormParams;\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAttachment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Task Attachment\n     * Task attachments. REST supports upload/delete; MCP exposes read-only list/retrieve (files can\\&#39;t be uploaded over MCP) so an agent can see the attachments — e.g. customer context on a ticket task.\n     * @endpoint delete /api/tasks/{task_id}/attachments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAttachmentDestroy(requestParameters: TaskAttachmentDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public taskAttachmentDestroy(requestParameters: TaskAttachmentDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public taskAttachmentDestroy(requestParameters: TaskAttachmentDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public taskAttachmentDestroy(requestParameters: TaskAttachmentDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskAttachmentDestroy.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAttachmentDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Task Attachments\n     * Task attachments. REST supports upload/delete; MCP exposes read-only list/retrieve (files can\\&#39;t be uploaded over MCP) so an agent can see the attachments — e.g. customer context on a ticket task.\n     * @endpoint get /api/tasks/{task_id}/attachments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAttachmentList(requestParameters: TaskAttachmentListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTaskAttachmentList>;\n    public taskAttachmentList(requestParameters: TaskAttachmentListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTaskAttachmentList>>;\n    public taskAttachmentList(requestParameters: TaskAttachmentListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTaskAttachmentList>>;\n    public taskAttachmentList(requestParameters: TaskAttachmentListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAttachmentList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTaskAttachmentList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Task Attachment\n     * Task attachments. REST supports upload/delete; MCP exposes read-only list/retrieve (files can\\&#39;t be uploaded over MCP) so an agent can see the attachments — e.g. customer context on a ticket task.\n     * @endpoint patch /api/tasks/{task_id}/attachments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAttachmentPartialUpdate(requestParameters: TaskAttachmentPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAttachment>;\n    public taskAttachmentPartialUpdate(requestParameters: TaskAttachmentPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAttachment>>;\n    public taskAttachmentPartialUpdate(requestParameters: TaskAttachmentPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAttachment>>;\n    public taskAttachmentPartialUpdate(requestParameters: TaskAttachmentPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskAttachmentPartialUpdate.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAttachmentPartialUpdate.');\n        }\n        const id2 = requestParameters?.id2;\n        const userId = requestParameters?.userId;\n        const taskId2 = requestParameters?.taskId2;\n        const commentId = requestParameters?.commentId;\n        const user = requestParameters?.user;\n        const file = requestParameters?.file;\n        const isPrimary = requestParameters?.isPrimary;\n        const isDeleted = requestParameters?.isDeleted;\n        const createdAt = requestParameters?.createdAt;\n        const updatedAt = requestParameters?.updatedAt;\n        const appUrl = requestParameters?.appUrl;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'multipart/form-data',\n            'application/x-www-form-urlencoded'\n        ];\n\n        const canConsumeForm = this.canConsumeForm(consumes);\n\n        let localVarFormParams: { append(param: string, value: any): any; };\n        let localVarUseForm = false;\n        let localVarConvertFormParamsToString = false;\n        if (localVarUseForm) {\n            localVarFormParams = new FormData();\n        } else {\n            localVarFormParams = new HttpParams({encoder: this.encoder});\n        }\n\n        if (id2 !== undefined) {\n            localVarFormParams = localVarFormParams.append('id', <any>id2) as any || localVarFormParams;\n        }\n        if (userId !== undefined) {\n            localVarFormParams = localVarFormParams.append('user_id', <any>userId) as any || localVarFormParams;\n        }\n        if (taskId2 !== undefined) {\n            localVarFormParams = localVarFormParams.append('task_id', <any>taskId2) as any || localVarFormParams;\n        }\n        if (commentId !== undefined) {\n            localVarFormParams = localVarFormParams.append('comment_id', <any>commentId) as any || localVarFormParams;\n        }\n        if (user !== undefined) {\n            localVarFormParams = localVarFormParams.append('user', localVarUseForm ? new Blob([JSON.stringify(user)], {type: 'application/json'}) : <any>user) as any || localVarFormParams;\n        }\n        if (file !== undefined) {\n            localVarFormParams = localVarFormParams.append('file', <any>file) as any || localVarFormParams;\n        }\n        if (isPrimary !== undefined) {\n            localVarFormParams = localVarFormParams.append('is_primary', <any>isPrimary) as any || localVarFormParams;\n        }\n        if (isDeleted !== undefined) {\n            localVarFormParams = localVarFormParams.append('is_deleted', <any>isDeleted) as any || localVarFormParams;\n        }\n        if (createdAt !== undefined) {\n            localVarFormParams = localVarFormParams.append('created_at', <any>createdAt) as any || localVarFormParams;\n        }\n        if (updatedAt !== undefined) {\n            localVarFormParams = localVarFormParams.append('updated_at', <any>updatedAt) as any || localVarFormParams;\n        }\n        if (appUrl !== undefined) {\n            localVarFormParams = localVarFormParams.append('app_url', <any>appUrl) as any || localVarFormParams;\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAttachment>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get Task Attachment\n     * Task attachments. REST supports upload/delete; MCP exposes read-only list/retrieve (files can\\&#39;t be uploaded over MCP) so an agent can see the attachments — e.g. customer context on a ticket task.\n     * @endpoint get /api/tasks/{task_id}/attachments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAttachmentRetrieve(requestParameters: TaskAttachmentRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAttachment>;\n    public taskAttachmentRetrieve(requestParameters: TaskAttachmentRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAttachment>>;\n    public taskAttachmentRetrieve(requestParameters: TaskAttachmentRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAttachment>>;\n    public taskAttachmentRetrieve(requestParameters: TaskAttachmentRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskAttachmentRetrieve.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAttachmentRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAttachment>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Task Attachment\n     * Task attachments. REST supports upload/delete; MCP exposes read-only list/retrieve (files can\\&#39;t be uploaded over MCP) so an agent can see the attachments — e.g. customer context on a ticket task.\n     * @endpoint put /api/tasks/{task_id}/attachments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskAttachmentUpdate(requestParameters: TaskAttachmentUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskAttachment>;\n    public taskAttachmentUpdate(requestParameters: TaskAttachmentUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskAttachment>>;\n    public taskAttachmentUpdate(requestParameters: TaskAttachmentUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskAttachment>>;\n    public taskAttachmentUpdate(requestParameters: TaskAttachmentUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const id2 = requestParameters?.id2;\n        if (id2 === null || id2 === undefined) {\n            throw new Error('Required parameter id2 was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const userId = requestParameters?.userId;\n        if (userId === null || userId === undefined) {\n            throw new Error('Required parameter userId was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const taskId2 = requestParameters?.taskId2;\n        if (taskId2 === null || taskId2 === undefined) {\n            throw new Error('Required parameter taskId2 was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const commentId = requestParameters?.commentId;\n        if (commentId === null || commentId === undefined) {\n            throw new Error('Required parameter commentId was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const user = requestParameters?.user;\n        if (user === null || user === undefined) {\n            throw new Error('Required parameter user was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const file = requestParameters?.file;\n        if (file === null || file === undefined) {\n            throw new Error('Required parameter file was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const createdAt = requestParameters?.createdAt;\n        if (createdAt === null || createdAt === undefined) {\n            throw new Error('Required parameter createdAt was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const updatedAt = requestParameters?.updatedAt;\n        if (updatedAt === null || updatedAt === undefined) {\n            throw new Error('Required parameter updatedAt was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const appUrl = requestParameters?.appUrl;\n        if (appUrl === null || appUrl === undefined) {\n            throw new Error('Required parameter appUrl was null or undefined when calling taskAttachmentUpdate.');\n        }\n        const isPrimary = requestParameters?.isPrimary;\n        const isDeleted = requestParameters?.isDeleted;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'multipart/form-data',\n            'application/x-www-form-urlencoded'\n        ];\n\n        const canConsumeForm = this.canConsumeForm(consumes);\n\n        let localVarFormParams: { append(param: string, value: any): any; };\n        let localVarUseForm = false;\n        let localVarConvertFormParamsToString = false;\n        if (localVarUseForm) {\n            localVarFormParams = new FormData();\n        } else {\n            localVarFormParams = new HttpParams({encoder: this.encoder});\n        }\n\n        if (id2 !== undefined) {\n            localVarFormParams = localVarFormParams.append('id', <any>id2) as any || localVarFormParams;\n        }\n        if (userId !== undefined) {\n            localVarFormParams = localVarFormParams.append('user_id', <any>userId) as any || localVarFormParams;\n        }\n        if (taskId2 !== undefined) {\n            localVarFormParams = localVarFormParams.append('task_id', <any>taskId2) as any || localVarFormParams;\n        }\n        if (commentId !== undefined) {\n            localVarFormParams = localVarFormParams.append('comment_id', <any>commentId) as any || localVarFormParams;\n        }\n        if (user !== undefined) {\n            localVarFormParams = localVarFormParams.append('user', localVarUseForm ? new Blob([JSON.stringify(user)], {type: 'application/json'}) : <any>user) as any || localVarFormParams;\n        }\n        if (file !== undefined) {\n            localVarFormParams = localVarFormParams.append('file', <any>file) as any || localVarFormParams;\n        }\n        if (isPrimary !== undefined) {\n            localVarFormParams = localVarFormParams.append('is_primary', <any>isPrimary) as any || localVarFormParams;\n        }\n        if (isDeleted !== undefined) {\n            localVarFormParams = localVarFormParams.append('is_deleted', <any>isDeleted) as any || localVarFormParams;\n        }\n        if (createdAt !== undefined) {\n            localVarFormParams = localVarFormParams.append('created_at', <any>createdAt) as any || localVarFormParams;\n        }\n        if (updatedAt !== undefined) {\n            localVarFormParams = localVarFormParams.append('updated_at', <any>updatedAt) as any || localVarFormParams;\n        }\n        if (appUrl !== undefined) {\n            localVarFormParams = localVarFormParams.append('app_url', <any>appUrl) as any || localVarFormParams;\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/attachments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskAttachment>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedTaskCommentList } from '../model/paginatedTaskCommentList';\n// @ts-ignore\nimport { PatchedTaskComment } from '../model/patchedTaskComment';\n// @ts-ignore\nimport { TaskComment } from '../model/taskComment';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    TaskCommentsServiceInterface,\n    TaskCommentCreateRequestParams,\n    TaskCommentDestroyRequestParams,\n    TaskCommentListRequestParams,\n    TaskCommentPartialUpdateRequestParams,\n    TaskCommentRetrieveRequestParams,\n    TaskCommentUpdateRequestParams\n} from './taskComments.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TaskCommentsService extends BaseService implements TaskCommentsServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Create Task Comment\n     * A viewset for viewing and editing tasks comments.\n     * @endpoint post /api/tasks/{task_id}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskCommentCreate(requestParameters: TaskCommentCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskComment>;\n    public taskCommentCreate(requestParameters: TaskCommentCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskComment>>;\n    public taskCommentCreate(requestParameters: TaskCommentCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskComment>>;\n    public taskCommentCreate(requestParameters: TaskCommentCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskCommentCreate.');\n        }\n        const taskComment = requestParameters?.taskComment;\n        if (taskComment === null || taskComment === undefined) {\n            throw new Error('Required parameter taskComment was null or undefined when calling taskCommentCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskComment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Task Comment\n     * A viewset for viewing and editing tasks comments.\n     * @endpoint delete /api/tasks/{task_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskCommentDestroy(requestParameters: TaskCommentDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public taskCommentDestroy(requestParameters: TaskCommentDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public taskCommentDestroy(requestParameters: TaskCommentDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public taskCommentDestroy(requestParameters: TaskCommentDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskCommentDestroy.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskCommentDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Task Comment\n     * A viewset for viewing and editing tasks comments.\n     * @endpoint get /api/tasks/{task_id}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskCommentList(requestParameters: TaskCommentListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTaskCommentList>;\n    public taskCommentList(requestParameters: TaskCommentListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTaskCommentList>>;\n    public taskCommentList(requestParameters: TaskCommentListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTaskCommentList>>;\n    public taskCommentList(requestParameters: TaskCommentListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskCommentList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTaskCommentList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Task Comment\n     * A viewset for viewing and editing tasks comments.\n     * @endpoint patch /api/tasks/{task_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskCommentPartialUpdate(requestParameters: TaskCommentPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskComment>;\n    public taskCommentPartialUpdate(requestParameters: TaskCommentPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskComment>>;\n    public taskCommentPartialUpdate(requestParameters: TaskCommentPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskComment>>;\n    public taskCommentPartialUpdate(requestParameters: TaskCommentPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskCommentPartialUpdate.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskCommentPartialUpdate.');\n        }\n        const patchedTaskComment = requestParameters?.patchedTaskComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskComment>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTaskComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get Task Comment\n     * A viewset for viewing and editing tasks comments.\n     * @endpoint get /api/tasks/{task_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskCommentRetrieve(requestParameters: TaskCommentRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskComment>;\n    public taskCommentRetrieve(requestParameters: TaskCommentRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskComment>>;\n    public taskCommentRetrieve(requestParameters: TaskCommentRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskComment>>;\n    public taskCommentRetrieve(requestParameters: TaskCommentRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskCommentRetrieve.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskCommentRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskComment>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Task Comment\n     * A viewset for viewing and editing tasks comments.\n     * @endpoint put /api/tasks/{task_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskCommentUpdate(requestParameters: TaskCommentUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskComment>;\n    public taskCommentUpdate(requestParameters: TaskCommentUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskComment>>;\n    public taskCommentUpdate(requestParameters: TaskCommentUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskComment>>;\n    public taskCommentUpdate(requestParameters: TaskCommentUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskCommentUpdate.');\n        }\n        const taskId = requestParameters?.taskId;\n        if (taskId === null || taskId === undefined) {\n            throw new Error('Required parameter taskId was null or undefined when calling taskCommentUpdate.');\n        }\n        const taskComment = requestParameters?.taskComment;\n        if (taskComment === null || taskComment === undefined) {\n            throw new Error('Required parameter taskComment was null or undefined when calling taskCommentUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/tasks/${this.configuration.encodeParam({name: \"taskId\", value: taskId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskComment>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedTaskTagList } from '../model/paginatedTaskTagList';\n// @ts-ignore\nimport { PatchedTaskTag } from '../model/patchedTaskTag';\n// @ts-ignore\nimport { TaskTag } from '../model/taskTag';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    TaskTagServiceInterface,\n    TaskTagCreateRequestParams,\n    TaskTagDestroyRequestParams,\n    TaskTagListRequestParams,\n    TaskTagPartialUpdateRequestParams,\n    TaskTagRetrieveRequestParams,\n    TaskTagUpdateRequestParams\n} from './taskTag.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TaskTagService extends BaseService implements TaskTagServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Create a Task Tag\n     * A viewset for viewing and editing task tags.\n     * @endpoint post /api/{company_id}/task-tag/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskTagCreate(requestParameters: TaskTagCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskTag>;\n    public taskTagCreate(requestParameters: TaskTagCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskTag>>;\n    public taskTagCreate(requestParameters: TaskTagCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskTag>>;\n    public taskTagCreate(requestParameters: TaskTagCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling taskTagCreate.');\n        }\n        const taskTag = requestParameters?.taskTag;\n        if (taskTag === null || taskTag === undefined) {\n            throw new Error('Required parameter taskTag was null or undefined when calling taskTagCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/task-tag/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskTag>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskTag,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete a Task Tag\n     * A viewset for viewing and editing task tags.\n     * @endpoint delete /api/{company_id}/task-tag/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskTagDestroy(requestParameters: TaskTagDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public taskTagDestroy(requestParameters: TaskTagDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public taskTagDestroy(requestParameters: TaskTagDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public taskTagDestroy(requestParameters: TaskTagDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling taskTagDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskTagDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/task-tag/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Task Tags of Organization\n     * A viewset for viewing and editing task tags.\n     * @endpoint get /api/{company_id}/task-tag/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskTagList(requestParameters: TaskTagListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTaskTagList>;\n    public taskTagList(requestParameters: TaskTagListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTaskTagList>>;\n    public taskTagList(requestParameters: TaskTagListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTaskTagList>>;\n    public taskTagList(requestParameters: TaskTagListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling taskTagList.');\n        }\n        const companyId2 = requestParameters?.companyId2;\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n        const textIcontains = requestParameters?.textIcontains;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'company_id',\n            <any>companyId2,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'text__icontains',\n            <any>textIcontains,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/task-tag/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTaskTagList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Partially Update a Task Tag\n     * A viewset for viewing and editing task tags.\n     * @endpoint patch /api/{company_id}/task-tag/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskTagPartialUpdate(requestParameters: TaskTagPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskTag>;\n    public taskTagPartialUpdate(requestParameters: TaskTagPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskTag>>;\n    public taskTagPartialUpdate(requestParameters: TaskTagPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskTag>>;\n    public taskTagPartialUpdate(requestParameters: TaskTagPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling taskTagPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskTagPartialUpdate.');\n        }\n        const patchedTaskTag = requestParameters?.patchedTaskTag;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/task-tag/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskTag>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTaskTag,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Retrieve a Task Tag\n     * A viewset for viewing and editing task tags.\n     * @endpoint get /api/{company_id}/task-tag/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskTagRetrieve(requestParameters: TaskTagRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskTag>;\n    public taskTagRetrieve(requestParameters: TaskTagRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskTag>>;\n    public taskTagRetrieve(requestParameters: TaskTagRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskTag>>;\n    public taskTagRetrieve(requestParameters: TaskTagRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling taskTagRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskTagRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/task-tag/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskTag>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update a Task Tag\n     * A viewset for viewing and editing task tags.\n     * @endpoint put /api/{company_id}/task-tag/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public taskTagUpdate(requestParameters: TaskTagUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TaskTag>;\n    public taskTagUpdate(requestParameters: TaskTagUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TaskTag>>;\n    public taskTagUpdate(requestParameters: TaskTagUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TaskTag>>;\n    public taskTagUpdate(requestParameters: TaskTagUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling taskTagUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling taskTagUpdate.');\n        }\n        const taskTag = requestParameters?.taskTag;\n        if (taskTag === null || taskTag === undefined) {\n            throw new Error('Required parameter taskTag was null or undefined when calling taskTagUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/task-tag/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TaskTag>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: taskTag,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedTeamList } from '../model/paginatedTeamList';\n// @ts-ignore\nimport { PatchedTeam } from '../model/patchedTeam';\n// @ts-ignore\nimport { Team } from '../model/team';\n// @ts-ignore\nimport { UserId } from '../model/userId';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    TeamsServiceInterface,\n    TeamAddUserRequestParams,\n    TeamCreateRequestParams,\n    TeamDestroyRequestParams,\n    TeamListRequestParams,\n    TeamPartialUpdateRequestParams,\n    TeamRemoveUserRequestParams,\n    TeamRetrieveRequestParams,\n    TeamUpdateRequestParams\n} from './teams.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TeamsService extends BaseService implements TeamsServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Add User to Team\n     * A viewset for viewing and editing team instances.\n     * @endpoint post /api/{company_id}/team/{id}/add_user/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamAddUser(requestParameters: TeamAddUserRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public teamAddUser(requestParameters: TeamAddUserRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public teamAddUser(requestParameters: TeamAddUserRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public teamAddUser(requestParameters: TeamAddUserRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamAddUser.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling teamAddUser.');\n        }\n        const userId = requestParameters?.userId;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/add_user/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: userId,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create Team of Company\n     * A viewset for viewing and editing team instances.\n     * @endpoint post /api/{company_id}/team/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamCreate(requestParameters: TeamCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Team>;\n    public teamCreate(requestParameters: TeamCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Team>>;\n    public teamCreate(requestParameters: TeamCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Team>>;\n    public teamCreate(requestParameters: TeamCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamCreate.');\n        }\n        const team = requestParameters?.team;\n        if (team === null || team === undefined) {\n            throw new Error('Required parameter team was null or undefined when calling teamCreate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Team>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: team,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Team of Company\n     * A viewset for viewing and editing team instances.\n     * @endpoint delete /api/{company_id}/team/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamDestroy(requestParameters: TeamDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public teamDestroy(requestParameters: TeamDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public teamDestroy(requestParameters: TeamDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public teamDestroy(requestParameters: TeamDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamDestroy.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling teamDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Teams of Company\n     * A viewset for viewing and editing team instances.\n     * @endpoint get /api/{company_id}/team/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamList(requestParameters: TeamListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTeamList>;\n    public teamList(requestParameters: TeamListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTeamList>>;\n    public teamList(requestParameters: TeamListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTeamList>>;\n    public teamList(requestParameters: TeamListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTeamList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Team of Company\n     * A viewset for viewing and editing team instances.\n     * @endpoint patch /api/{company_id}/team/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamPartialUpdate(requestParameters: TeamPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Team>;\n    public teamPartialUpdate(requestParameters: TeamPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Team>>;\n    public teamPartialUpdate(requestParameters: TeamPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Team>>;\n    public teamPartialUpdate(requestParameters: TeamPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling teamPartialUpdate.');\n        }\n        const patchedTeam = requestParameters?.patchedTeam;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Team>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTeam,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove User from Team\n     * A viewset for viewing and editing team instances.\n     * @endpoint post /api/{company_id}/team/{id}/remove_user/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamRemoveUser(requestParameters: TeamRemoveUserRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public teamRemoveUser(requestParameters: TeamRemoveUserRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public teamRemoveUser(requestParameters: TeamRemoveUserRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public teamRemoveUser(requestParameters: TeamRemoveUserRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamRemoveUser.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling teamRemoveUser.');\n        }\n        const userId = requestParameters?.userId;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/remove_user/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<string>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: userId,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get Team of Company\n     * A viewset for viewing and editing team instances.\n     * @endpoint get /api/{company_id}/team/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamRetrieve(requestParameters: TeamRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Team>;\n    public teamRetrieve(requestParameters: TeamRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Team>>;\n    public teamRetrieve(requestParameters: TeamRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Team>>;\n    public teamRetrieve(requestParameters: TeamRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling teamRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Team>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Team of Company\n     * A viewset for viewing and editing team instances.\n     * @endpoint put /api/{company_id}/team/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public teamUpdate(requestParameters: TeamUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Team>;\n    public teamUpdate(requestParameters: TeamUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Team>>;\n    public teamUpdate(requestParameters: TeamUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Team>>;\n    public teamUpdate(requestParameters: TeamUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling teamUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling teamUpdate.');\n        }\n        const team = requestParameters?.team;\n        if (team === null || team === undefined) {\n            throw new Error('Required parameter team was null or undefined when calling teamUpdate.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/team/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<Team>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: team,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { PaginatedTicketCommentList } from '../model/paginatedTicketCommentList';\n// @ts-ignore\nimport { PatchedTicketComment } from '../model/patchedTicketComment';\n// @ts-ignore\nimport { TicketComment } from '../model/ticketComment';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    TicketCommentsServiceInterface,\n    TicketCommentCreateRequestParams,\n    TicketCommentDestroyRequestParams,\n    TicketCommentListRequestParams,\n    TicketCommentPartialUpdateRequestParams,\n    TicketCommentRetrieveRequestParams,\n    TicketCommentUpdateRequestParams\n} from './ticketComments.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TicketCommentsService extends BaseService implements TicketCommentsServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Create Ticket Comment\n     * Comments on a ticket submission (internal, authenticated).\n     * @endpoint post /api/ticket-submissions/{submission_id}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketCommentCreate(requestParameters: TicketCommentCreateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketComment>;\n    public ticketCommentCreate(requestParameters: TicketCommentCreateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketComment>>;\n    public ticketCommentCreate(requestParameters: TicketCommentCreateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketComment>>;\n    public ticketCommentCreate(requestParameters: TicketCommentCreateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling ticketCommentCreate.');\n        }\n        const ticketComment = requestParameters?.ticketComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketComment>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete Ticket Comment\n     * Comments on a ticket submission (internal, authenticated).\n     * @endpoint delete /api/ticket-submissions/{submission_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketCommentDestroy(requestParameters: TicketCommentDestroyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public ticketCommentDestroy(requestParameters: TicketCommentDestroyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public ticketCommentDestroy(requestParameters: TicketCommentDestroyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public ticketCommentDestroy(requestParameters: TicketCommentDestroyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling ticketCommentDestroy.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling ticketCommentDestroy.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List Ticket Comment\n     * Comments on a ticket submission (internal, authenticated).\n     * @endpoint get /api/ticket-submissions/{submission_id}/comments/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketCommentList(requestParameters: TicketCommentListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedTicketCommentList>;\n    public ticketCommentList(requestParameters: TicketCommentListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedTicketCommentList>>;\n    public ticketCommentList(requestParameters: TicketCommentListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedTicketCommentList>>;\n    public ticketCommentList(requestParameters: TicketCommentListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling ticketCommentList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedTicketCommentList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Ticket Comment\n     * Comments on a ticket submission (internal, authenticated).\n     * @endpoint patch /api/ticket-submissions/{submission_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketCommentPartialUpdate(requestParameters: TicketCommentPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketComment>;\n    public ticketCommentPartialUpdate(requestParameters: TicketCommentPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketComment>>;\n    public ticketCommentPartialUpdate(requestParameters: TicketCommentPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketComment>>;\n    public ticketCommentPartialUpdate(requestParameters: TicketCommentPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling ticketCommentPartialUpdate.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling ticketCommentPartialUpdate.');\n        }\n        const patchedTicketComment = requestParameters?.patchedTicketComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketComment>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedTicketComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get Ticket Comment\n     * Comments on a ticket submission (internal, authenticated).\n     * @endpoint get /api/ticket-submissions/{submission_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketCommentRetrieve(requestParameters: TicketCommentRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketComment>;\n    public ticketCommentRetrieve(requestParameters: TicketCommentRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketComment>>;\n    public ticketCommentRetrieve(requestParameters: TicketCommentRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketComment>>;\n    public ticketCommentRetrieve(requestParameters: TicketCommentRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling ticketCommentRetrieve.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling ticketCommentRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketComment>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Ticket Comment\n     * Comments on a ticket submission (internal, authenticated).\n     * @endpoint put /api/ticket-submissions/{submission_id}/comments/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public ticketCommentUpdate(requestParameters: TicketCommentUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TicketComment>;\n    public ticketCommentUpdate(requestParameters: TicketCommentUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TicketComment>>;\n    public ticketCommentUpdate(requestParameters: TicketCommentUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TicketComment>>;\n    public ticketCommentUpdate(requestParameters: TicketCommentUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling ticketCommentUpdate.');\n        }\n        const submissionId = requestParameters?.submissionId;\n        if (submissionId === null || submissionId === undefined) {\n            throw new Error('Required parameter submissionId was null or undefined when calling ticketCommentUpdate.');\n        }\n        const ticketComment = requestParameters?.ticketComment;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/ticket-submissions/${this.configuration.encodeParam({name: \"submissionId\", value: submissionId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/comments/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<TicketComment>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: ticketComment,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { User } from '../model/user';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    UsersServiceInterface\n} from './users.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class UsersService extends BaseService implements UsersServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Retrieve data of current logged user\n     * A viewset for viewing and editing my user instance.\n     * @endpoint get /api/users/me/\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public userMe(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<User>;\n    public userMe(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<User>>;\n    public userMe(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<User>>;\n    public userMe(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/users/me/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<User>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpContext \n        }       from '@angular/common/http';\nimport { Observable }                                        from 'rxjs';\nimport { OpenApiHttpParams, QueryParamStyle } from '../query.params';\n\n// @ts-ignore\nimport { CompanyWorkingDays } from '../model/companyWorkingDays';\n// @ts-ignore\nimport { PaginatedCompanyWorkingDaysList } from '../model/paginatedCompanyWorkingDaysList';\n// @ts-ignore\nimport { PatchedCompanyWorkingDays } from '../model/patchedCompanyWorkingDays';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    WorkingDaysServiceInterface,\n    CompanyWorkingDaysListRequestParams,\n    CompanyWorkingDaysPartialUpdateRequestParams,\n    CompanyWorkingDaysRetrieveRequestParams,\n    CompanyWorkingDaysUpdateRequestParams\n} from './workingDays.serviceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class WorkingDaysService extends BaseService implements WorkingDaysServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * List Company Working Days\n     * A viewset for viewing and editing task tags.\n     * @endpoint get /api/{company_id}/working-days/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyWorkingDaysList(requestParameters: CompanyWorkingDaysListRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<PaginatedCompanyWorkingDaysList>;\n    public companyWorkingDaysList(requestParameters: CompanyWorkingDaysListRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<PaginatedCompanyWorkingDaysList>>;\n    public companyWorkingDaysList(requestParameters: CompanyWorkingDaysListRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<PaginatedCompanyWorkingDaysList>>;\n    public companyWorkingDaysList(requestParameters: CompanyWorkingDaysListRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyWorkingDaysList.');\n        }\n        const ordering = requestParameters?.ordering;\n        const page = requestParameters?.page;\n        const pageSize = requestParameters?.pageSize;\n        const search = requestParameters?.search;\n\n        let localVarQueryParameters = new OpenApiHttpParams(this.encoder);\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'ordering',\n            <any>ordering,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page',\n            <any>page,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'page_size',\n            <any>pageSize,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        localVarQueryParameters = this.addToHttpParams(\n            localVarQueryParameters,\n            'search',\n            <any>search,\n            QueryParamStyle.Form,\n            true,\n        );\n\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/working-days/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<PaginatedCompanyWorkingDaysList>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters.toHttpParams(),\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Patch Company Working Days\n     * A viewset for viewing and editing task tags.\n     * @endpoint patch /api/{company_id}/working-days/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyWorkingDaysPartialUpdate(requestParameters: CompanyWorkingDaysPartialUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyWorkingDays>;\n    public companyWorkingDaysPartialUpdate(requestParameters: CompanyWorkingDaysPartialUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyWorkingDays>>;\n    public companyWorkingDaysPartialUpdate(requestParameters: CompanyWorkingDaysPartialUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyWorkingDays>>;\n    public companyWorkingDaysPartialUpdate(requestParameters: CompanyWorkingDaysPartialUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyWorkingDaysPartialUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyWorkingDaysPartialUpdate.');\n        }\n        const patchedCompanyWorkingDays = requestParameters?.patchedCompanyWorkingDays;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/working-days/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyWorkingDays>('patch', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: patchedCompanyWorkingDays,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get Company Working Days\n     * A viewset for viewing and editing task tags.\n     * @endpoint get /api/{company_id}/working-days/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyWorkingDaysRetrieve(requestParameters: CompanyWorkingDaysRetrieveRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyWorkingDays>;\n    public companyWorkingDaysRetrieve(requestParameters: CompanyWorkingDaysRetrieveRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyWorkingDays>>;\n    public companyWorkingDaysRetrieve(requestParameters: CompanyWorkingDaysRetrieveRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyWorkingDays>>;\n    public companyWorkingDaysRetrieve(requestParameters: CompanyWorkingDaysRetrieveRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyWorkingDaysRetrieve.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyWorkingDaysRetrieve.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/working-days/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyWorkingDays>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Company Working Days\n     * A viewset for viewing and editing task tags.\n     * @endpoint put /api/{company_id}/working-days/{id}/\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     * @param options additional options\n     */\n    public companyWorkingDaysUpdate(requestParameters: CompanyWorkingDaysUpdateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CompanyWorkingDays>;\n    public companyWorkingDaysUpdate(requestParameters: CompanyWorkingDaysUpdateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CompanyWorkingDays>>;\n    public companyWorkingDaysUpdate(requestParameters: CompanyWorkingDaysUpdateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CompanyWorkingDays>>;\n    public companyWorkingDaysUpdate(requestParameters: CompanyWorkingDaysUpdateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const companyId = requestParameters?.companyId;\n        if (companyId === null || companyId === undefined) {\n            throw new Error('Required parameter companyId was null or undefined when calling companyWorkingDaysUpdate.');\n        }\n        const id = requestParameters?.id;\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling companyWorkingDaysUpdate.');\n        }\n        const companyWorkingDays = requestParameters?.companyWorkingDays;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (FirebaseAuthentication) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('FirebaseAuthentication', 'Authorization', localVarHeaders, 'Bearer ');\n\n        // authentication (basicAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('basicAuth', 'Authorization', localVarHeaders, 'Basic ');\n\n        // authentication (cookieAuth) required\n\n        // authentication (tokenAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('tokenAuth', 'Authorization', localVarHeaders);\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json',\n            'application/x-www-form-urlencoded',\n            'multipart/form-data'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/api/${this.configuration.encodeParam({name: \"companyId\", value: companyId, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/working-days/${this.configuration.encodeParam({name: \"id\", value: id, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: undefined})}/`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CompanyWorkingDays>('put', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: companyWorkingDays,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","export * from './api.service';\nimport { ApiService } from './api.service';\nexport * from './api.serviceInterface';\nexport * from './apiTokenAuth.service';\nimport { ApiTokenAuthService } from './apiTokenAuth.service';\nexport * from './apiTokenAuth.serviceInterface';\nexport * from './attachments.service';\nimport { AttachmentsService } from './attachments.service';\nexport * from './attachments.serviceInterface';\nexport * from './companies.service';\nimport { CompaniesService } from './companies.service';\nexport * from './companies.serviceInterface';\nexport * from './companyMembers.service';\nimport { CompanyMembersService } from './companyMembers.service';\nexport * from './companyMembers.serviceInterface';\nexport * from './companyUsers.service';\nimport { CompanyUsersService } from './companyUsers.service';\nexport * from './companyUsers.serviceInterface';\nexport * from './notification.service';\nimport { NotificationService } from './notification.service';\nexport * from './notification.serviceInterface';\nexport * from './personalSchedule.service';\nimport { PersonalScheduleService } from './personalSchedule.service';\nexport * from './personalSchedule.serviceInterface';\nexport * from './projectUsers.service';\nimport { ProjectUsersService } from './projectUsers.service';\nexport * from './projectUsers.serviceInterface';\nexport * from './projects.service';\nimport { ProjectsService } from './projects.service';\nexport * from './projects.serviceInterface';\nexport * from './resumeEntries.service';\nimport { ResumeEntriesService } from './resumeEntries.service';\nexport * from './resumeEntries.serviceInterface';\nexport * from './scrum.service';\nimport { ScrumService } from './scrum.service';\nexport * from './scrum.serviceInterface';\nexport * from './taskAssignements.service';\nimport { TaskAssignementsService } from './taskAssignements.service';\nexport * from './taskAssignements.serviceInterface';\nexport * from './taskAttachments.service';\nimport { TaskAttachmentsService } from './taskAttachments.service';\nexport * from './taskAttachments.serviceInterface';\nexport * from './taskComments.service';\nimport { TaskCommentsService } from './taskComments.service';\nexport * from './taskComments.serviceInterface';\nexport * from './taskTag.service';\nimport { TaskTagService } from './taskTag.service';\nexport * from './taskTag.serviceInterface';\nexport * from './teams.service';\nimport { TeamsService } from './teams.service';\nexport * from './teams.serviceInterface';\nexport * from './ticketComments.service';\nimport { TicketCommentsService } from './ticketComments.service';\nexport * from './ticketComments.serviceInterface';\nexport * from './users.service';\nimport { UsersService } from './users.service';\nexport * from './users.serviceInterface';\nexport * from './workingDays.service';\nimport { WorkingDaysService } from './workingDays.service';\nexport * from './workingDays.serviceInterface';\nexport const APIS = [ApiService, ApiTokenAuthService, AttachmentsService, CompaniesService, CompanyMembersService, CompanyUsersService, NotificationService, PersonalScheduleService, ProjectUsersService, ProjectsService, ResumeEntriesService, ScrumService, TaskAssignementsService, TaskAttachmentsService, TaskCommentsService, TaskTagService, TeamsService, TicketCommentsService, UsersService, WorkingDaysService];\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `file` - file * `link` - link\n */\nexport const AttachmentKindEnum = {\n    File: 'file',\n    Link: 'link'\n} as const;\nexport type AttachmentKindEnum = typeof AttachmentKindEnum[keyof typeof AttachmentKindEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface AuthToken { \n    username: string;\n    password: string;\n    readonly token: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BlankEnum = {\n    Empty: ''\n} as const;\nexport type BlankEnum = typeof BlankEnum[keyof typeof BlankEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { User } from './user';\n\n\n/**\n * L\\'appartenenza a una company, con il suo ruolo.  Diverso da `CompanyUserSerializer`, che serializza lo `User`: qui l\\'oggetto è la riga di mezzo, l\\'unica che abbia un ruolo da aggiornare.\n */\nexport interface CompanyMember { \n    readonly id: number;\n    readonly company_id: number;\n    readonly user: User;\n    readonly user_id: number;\n    role?: CompanyMember.RoleEnum | null;\n    /**\n     * True on the row of the authenticated user: it carries their own role.\n     */\n    readonly is_me: boolean;\n}\nexport namespace CompanyMember {\n    export const RoleEnum = {\n        Owner: 'OWNER',\n        Admin: 'ADMIN',\n        Member: 'MEMBER',\n        Worker: 'WORKER',\n        Viewer: 'VIEWER',\n        Empty: ''\n    } as const;\n    export type RoleEnum = typeof RoleEnum[keyof typeof RoleEnum];\n}\n\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CompanyPendingInvites200ResponseInnerInvitedBy { \n    display_name?: string;\n    identity_email?: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CompanyRevokeInvite400Response { \n    error?: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CompanyRevokeInviteRequest { \n    invite_id: number;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CompanyWorkingDays { \n    readonly id: number;\n    readonly company: number;\n    monday?: boolean;\n    tuesday?: boolean;\n    wednesday?: boolean;\n    thursday?: boolean;\n    friday?: boolean;\n    saturday?: boolean;\n    sunday?: boolean;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `standup` - Standup * `split` - Split AM/PM * `journal` - Journal\n */\nexport const DailyResumeDefaultEnum = {\n    Standup: 'standup',\n    Split: 'split',\n    Journal: 'journal'\n} as const;\nexport type DailyResumeDefaultEnum = typeof DailyResumeDefaultEnum[keyof typeof DailyResumeDefaultEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Day { \n    day: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `FS` - Finish-to-Start * `SS` - Start-to-Start * `FF` - Finish-to-Finish * `SF` - Start-to-Finish\n */\nexport const DependencyTypeEnum = {\n    Fs: 'FS',\n    Ss: 'SS',\n    Ff: 'FF',\n    Sf: 'SF'\n} as const;\nexport type DependencyTypeEnum = typeof DependencyTypeEnum[keyof typeof DependencyTypeEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `before` - before * `after` - after\n */\nexport const DirectionEnum = {\n    Before: 'before',\n    After: 'after'\n} as const;\nexport type DirectionEnum = typeof DirectionEnum[keyof typeof DirectionEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `1` - SECONDS * `2` - MINUTES * `3` - HOURS * `4` - DAYS * `5` - WEEKS * `6` - MONTHS * `7` - YEARS\n */\nexport const DurationUnitEnum = {\n    NUMBER_1: 1,\n    NUMBER_2: 2,\n    NUMBER_3: 3,\n    NUMBER_4: 4,\n    NUMBER_5: 5,\n    NUMBER_6: 6,\n    NUMBER_7: 7\n} as const;\nexport type DurationUnitEnum = typeof DurationUnitEnum[keyof typeof DurationUnitEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface FirebaseDeviceToken { \n    readonly id: number;\n    readonly user: number;\n    token?: string | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `0` - LOW * `1` - LOW/MEDIUM * `2` - MEDIUM * `3` - MEDIUM/HIGH * `4` - HIGH\n */\nexport const ImportanceEnum = {\n    NUMBER_0: 0,\n    NUMBER_1: 1,\n    NUMBER_2: 2,\n    NUMBER_3: 3,\n    NUMBER_4: 4\n} as const;\nexport type ImportanceEnum = typeof ImportanceEnum[keyof typeof ImportanceEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface MyNotification { \n    readonly id: number;\n    readonly notification_id: number;\n    readonly title: string;\n    readonly text: string;\n    readonly action: any | null;\n    readonly notification_created_at: string;\n    readonly is_read: boolean;\n    readonly is_dismiss: boolean;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const NullEnum = {\n} as const;\nexport type NullEnum = typeof NullEnum[keyof typeof NullEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface OnboardingAcceptInvite200Response { \n    company_id?: number;\n    company_name?: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface OnboardingAcceptInviteRequest { \n    /**\n     * Invite token received by email.\n     */\n    token: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface OnboardingSendWelcomeEmail200Response { \n    sent?: boolean;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { User } from './user';\n\n\n/**\n * L\\'appartenenza a una company, con il suo ruolo.  Diverso da `CompanyUserSerializer`, che serializza lo `User`: qui l\\'oggetto è la riga di mezzo, l\\'unica che abbia un ruolo da aggiornare.\n */\nexport interface PatchedCompanyMember { \n    readonly id?: number;\n    readonly company_id?: number;\n    readonly user?: User;\n    readonly user_id?: number;\n    role?: PatchedCompanyMember.RoleEnum | null;\n    /**\n     * True on the row of the authenticated user: it carries their own role.\n     */\n    readonly is_me?: boolean;\n}\nexport namespace PatchedCompanyMember {\n    export const RoleEnum = {\n        Owner: 'OWNER',\n        Admin: 'ADMIN',\n        Member: 'MEMBER',\n        Worker: 'WORKER',\n        Viewer: 'VIEWER',\n        Empty: ''\n    } as const;\n    export type RoleEnum = typeof RoleEnum[keyof typeof RoleEnum];\n}\n\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PatchedCompanyWorkingDays { \n    readonly id?: number;\n    readonly company?: number;\n    monday?: boolean;\n    tuesday?: boolean;\n    wednesday?: boolean;\n    thursday?: boolean;\n    friday?: boolean;\n    saturday?: boolean;\n    sunday?: boolean;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PatchedPersonalScheduleVoice { \n    readonly id?: number;\n    name?: string;\n    user?: number;\n    linked_task?: number;\n    is_done?: boolean;\n    start_time_expected?: string | null;\n    start_time_at?: string | null;\n    end_time_expected?: string | null;\n    end_time_at?: string | null;\n    bk_color?: string;\n    txt_color?: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PatchedProject { \n    readonly id?: number;\n    title?: string;\n    /**\n     * Supports Markdown formatting\n     */\n    description?: string;\n    readonly company_id?: number;\n    is_archivied?: boolean;\n    /**\n     * Deep link alla dashboard del progetto. Le altre viste si ottengono sostituendo il suffisso: tasks/list, board, backlog, matrix, tasks/timeline, sprints, attachments, scoring.\n     */\n    readonly app_url?: string | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PatchedProjectTaskStatus { \n    readonly id?: number;\n    title?: string;\n    /**\n     * Supports Markdown formatting\n     */\n    description?: string | null;\n    order?: number;\n    readonly project_id?: number;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { Project } from './project';\nimport { User } from './user';\n\n\nexport interface PatchedProjectUser { \n    readonly id?: number;\n    readonly project?: Project;\n    project_id?: number;\n    readonly user?: User;\n    user_id?: number;\n    role?: PatchedProjectUser.RoleEnum | null;\n    /**\n     * True on the row of the authenticated user: it carries their own role.\n     */\n    readonly is_me?: boolean;\n}\nexport namespace PatchedProjectUser {\n    export const RoleEnum = {\n        Owner: 'OWNER',\n        Admin: 'ADMIN',\n        Member: 'MEMBER',\n        Worker: 'WORKER',\n        Viewer: 'VIEWER',\n        Empty: ''\n    } as const;\n    export type RoleEnum = typeof RoleEnum[keyof typeof RoleEnum];\n}\n\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PatchedReminder { \n    readonly id?: number;\n    readonly task?: number;\n    /**\n     * Explicit recipient. If omitted, the task assignees are used.\n     */\n    recipient_id?: number | null;\n    remind_at?: string;\n    text?: string;\n    send_push?: boolean;\n    send_email?: boolean;\n    send_telegram?: boolean;\n    /**\n     * If true, fire even when the task is already completed.\n     */\n    notify_if_completed?: boolean;\n    readonly is_sent?: boolean;\n    readonly created_at?: string;\n    readonly updated_at?: string;\n    /**\n     * Deep link al drawer del task a cui appartiene.\n     */\n    readonly app_url?: string | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PatchedTaskTag { \n    readonly id?: number;\n    text?: string;\n    readonly company?: number;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PatchedTeam { \n    readonly id?: number;\n    name?: string;\n    company?: number;\n    readonly company_id?: number;\n    readonly users?: Array<number>;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * PATCH-only serializer: name + description + widget tags editable. `project` cannot move (would orphan submissions); `is_active` flips only via the archive/restore actions; `api_key_hash` rotates via the regenerate-key action.\n */\nexport interface PatchedTicketWidgetUpdate { \n    readonly id?: number;\n    name?: string;\n    /**\n     * Supports Markdown formatting\n     */\n    description?: string;\n    default_tags?: Array<number>;\n    selectable_tags?: Array<number>;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PersonalScheduleVoice { \n    readonly id: number;\n    name: string;\n    user: number;\n    linked_task?: number;\n    is_done?: boolean;\n    start_time_expected?: string | null;\n    start_time_at?: string | null;\n    end_time_expected?: string | null;\n    end_time_at?: string | null;\n    bk_color?: string;\n    txt_color?: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `0` - LOW * `1` - LOW/MEDIUM * `2` - MEDIUM * `3` - MEDIUM/HIGH * `4` - HIGH\n */\nexport const PriorityEnum = {\n    NUMBER_0: 0,\n    NUMBER_1: 1,\n    NUMBER_2: 2,\n    NUMBER_3: 3,\n    NUMBER_4: 4\n} as const;\nexport type PriorityEnum = typeof PriorityEnum[keyof typeof PriorityEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Project { \n    readonly id: number;\n    title: string;\n    /**\n     * Supports Markdown formatting\n     */\n    description?: string;\n    readonly company_id: number;\n    is_archivied?: boolean;\n    /**\n     * Deep link alla dashboard del progetto. Le altre viste si ottengono sostituendo il suffisso: tasks/list, board, backlog, matrix, tasks/timeline, sprints, attachments, scoring.\n     */\n    readonly app_url: string | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ProjectTaskStatus { \n    readonly id: number;\n    title: string;\n    /**\n     * Supports Markdown formatting\n     */\n    description?: string | null;\n    order?: number;\n    readonly project_id: number;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { Project } from './project';\nimport { User } from './user';\n\n\nexport interface ProjectUser { \n    readonly id: number;\n    readonly project: Project;\n    project_id: number;\n    readonly user: User;\n    user_id: number;\n    role?: ProjectUser.RoleEnum | null;\n    /**\n     * True on the row of the authenticated user: it carries their own role.\n     */\n    readonly is_me: boolean;\n}\nexport namespace ProjectUser {\n    export const RoleEnum = {\n        Owner: 'OWNER',\n        Admin: 'ADMIN',\n        Member: 'MEMBER',\n        Worker: 'WORKER',\n        Viewer: 'VIEWER',\n        Empty: ''\n    } as const;\n    export type RoleEnum = typeof RoleEnum[keyof typeof RoleEnum];\n}\n\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PublicWidgetConfig { \n    name: string;\n    description: string;\n    readonly categories: string;\n    readonly selectable_tags: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Reminder { \n    readonly id: number;\n    readonly task: number;\n    /**\n     * Explicit recipient. If omitted, the task assignees are used.\n     */\n    recipient_id?: number | null;\n    remind_at: string;\n    text?: string;\n    send_push?: boolean;\n    send_email?: boolean;\n    send_telegram?: boolean;\n    /**\n     * If true, fire even when the task is already completed.\n     */\n    notify_if_completed?: boolean;\n    readonly is_sent: boolean;\n    readonly created_at: string;\n    readonly updated_at: string;\n    /**\n     * Deep link al drawer del task a cui appartiene.\n     */\n    readonly app_url: string | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `plan` - Plan * `done` - Done\n */\nexport const ResumeEntryKindEnum = {\n    Plan: 'plan',\n    Done: 'done'\n} as const;\nexport type ResumeEntryKindEnum = typeof ResumeEntryKindEnum[keyof typeof ResumeEntryKindEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `OWNER` - OWNER * `ADMIN` - ADMIN * `MEMBER` - MEMBER * `WORKER` - WORKER * `VIEWER` - VIEWER\n */\nexport const RoleEnum = {\n    Owner: 'OWNER',\n    Admin: 'ADMIN',\n    Member: 'MEMBER',\n    Worker: 'WORKER',\n    Viewer: 'VIEWER'\n} as const;\nexport type RoleEnum = typeof RoleEnum[keyof typeof RoleEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface SprintCloseRequest { \n    /**\n     * Sprint id to carry non-DONE tasks to. If null/omitted, non-DONE tasks return to the product backlog (sprint=null).\n     */\n    carry_over_to?: number | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface SprintLaneMoveRequest { \n    /**\n     * Target column id. Must belong to the lane sprint\\'s project. Null parks the lane in the \\'Incoming\\' synthetic column.\n     */\n    project_task_status_id: number | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface SprintTaskLane { \n    readonly id: number;\n    readonly sprint_id: number;\n    readonly task_id: number;\n    readonly project_task_status_id: number;\n    readonly created_at: string;\n    readonly updated_at: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `PLANNED` - PLANNED * `ACTIVE` - ACTIVE * `CLOSED` - CLOSED\n */\nexport const StateEnum = {\n    Planned: 'PLANNED',\n    Active: 'ACTIVE',\n    Closed: 'CLOSED'\n} as const;\nexport type StateEnum = typeof StateEnum[keyof typeof StateEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `BACKLOG` - BACKLOG * `TODO` - TODO * `IN_PROGRESS` - IN_PROGRESS * `DONE` - DONE\n */\nexport const StatusEnum = {\n    Backlog: 'BACKLOG',\n    Todo: 'TODO',\n    InProgress: 'IN_PROGRESS',\n    Done: 'DONE'\n} as const;\nexport type StatusEnum = typeof StatusEnum[keyof typeof StatusEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TagMini { \n    readonly id: number;\n    text: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TaskMoveToSprint200Response { \n    moved_count?: number;\n    affected_ids?: Array<number>;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TaskMoveToSprintRequest { \n    task_ids: Array<number>;\n    /**\n     * Target sprint id; null to move tasks back to the product backlog.\n     */\n    sprint_id?: number | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TaskTag { \n    readonly id: number;\n    text: string;\n    readonly company: number;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Team { \n    readonly id: number;\n    name: string;\n    company: number;\n    readonly company_id: number;\n    readonly users: Array<number>;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TeamEasy { \n    readonly id: number;\n    name: string;\n    readonly company_id: number;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TicketCategory { \n    readonly id: number;\n    name: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TicketCommentAttachment { \n    readonly id: number;\n    file_name?: string;\n    content_type?: string;\n    size?: number;\n    readonly url: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TicketStatus { \n    readonly ticket_uuid: string;\n    readonly ticket_id: number;\n    readonly title: string;\n    readonly status: string;\n    readonly progress: number;\n    readonly description: string | null;\n    readonly submitted_at: string;\n    readonly updated_at: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Authenticated, team-facing intake metadata of a ticket submission.  Surfaces who opened the ticket (`submitter` free-form dict), which intake widget it came from and when — so the task detail can show a header above the comment thread. Title is mirrored from the linked task for convenience.\n */\nexport interface TicketSubmissionDetail { \n    readonly id: number;\n    readonly uuid: string;\n    readonly title: string;\n    readonly submitter: any | null;\n    readonly widget: { [key: string]: any; } | null;\n    readonly submitted_at: string;\n    /**\n     * Deep link INTERNO al task del ticket. Non darlo a chi ha aperto il ticket: per quello usa public_url.\n     */\n    readonly app_url: string | null;\n    /**\n     * Pagina PUBBLICA del ticket, quella che vede chi lo ha aperto. Condivisibile fuori dal team.\n     */\n    readonly public_url: string | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TicketSubmit { \n    title: string;\n    description?: string;\n    category?: number | null;\n    tags?: Array<number>;\n    submitter?: { [key: string]: any; };\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TicketWidgetCreate { \n    readonly id: number;\n    name: string;\n    /**\n     * Supports Markdown formatting\n     */\n    description?: string;\n    project: number;\n    is_active?: boolean;\n    readonly created_at: string;\n    readonly api_key: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * PATCH-only serializer: name + description + widget tags editable. `project` cannot move (would orphan submissions); `is_active` flips only via the archive/restore actions; `api_key_hash` rotates via the regenerate-key action.\n */\nexport interface TicketWidgetUpdate { \n    readonly id: number;\n    name: string;\n    /**\n     * Supports Markdown formatting\n     */\n    description?: string;\n    default_tags?: Array<number>;\n    selectable_tags?: Array<number>;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TicketsSubmit201Response { \n    ticket_id?: number;\n    task_id?: number;\n    ticket_uuid?: string;\n    submitter_url?: string;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * * `local` - local * `stage` - stage * `prod` - prod\n */\nexport const TierEnum = {\n    Local: 'local',\n    Stage: 'stage',\n    Prod: 'prod'\n} as const;\nexport type TierEnum = typeof TierEnum[keyof typeof TierEnum];\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface User { \n    readonly id: number;\n    /**\n     * Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.\n     */\n    username: string;\n    email?: string;\n    first_name?: string;\n    last_name?: string;\n    readonly companies: Array<number>;\n    display_name?: string;\n    identity_email?: string;\n    identity_picture_url?: string;\n    telegram_chat_id?: number | null;\n}\n\n","/**\n * ProWoDo API\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserId { \n    readonly id: number;\n}\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\n\n@NgModule({\n  imports:      [],\n  declarations: [],\n  exports:      [],\n  providers: []\n})\nexport class ApiModule {\n    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<ApiModule> {\n        return {\n            ngModule: ApiModule,\n            providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor( @Optional() @SkipSelf() parentModule: ApiModule,\n                 @Optional() http: HttpClient) {\n        if (parentModule) {\n            throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\n        }\n        if (!http) {\n            throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n            'See also https://github.com/angular/angular/issues/20575');\n        }\n    }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\";\nimport { Configuration, ConfigurationParameters } from './configuration';\nimport { BASE_PATH } from './variables';\n\n// Returns the service class providers, to be used in the [ApplicationConfig](https://angular.dev/api/core/ApplicationConfig).\nexport function provideApi(configOrBasePath: string | ConfigurationParameters): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        typeof configOrBasePath === \"string\"\n            ? { provide: BASE_PATH, useValue: configOrBasePath }\n            : {\n                provide: Configuration,\n                useValue: new Configuration({ ...configOrBasePath }),\n            },\n    ]);\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.Configuration"],"mappings":"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"}