/* eslint-disable */
/**
 * OpenAPI definition
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import globalAxios from "axios";
// Some imports not used depending on template conditions, we also need prettier-ignore so that the import does not get split and ts-ignore still works
// prettier-ignore
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setSearchParams, toPathString, createRequestFunction } from './common.js';
// Some imports not used depending on template conditions, we also need prettier-ignore so that the import does not get split and ts-ignore still works
// prettier-ignore
// @ts-ignore
import { BASE_PATH, BaseAPI } from './base.js';
// ActionsApi FP - ActionsApiAxiosParamCreator
/**
 * Puts a new invitation requirement into the invitation generator queue. This is a GoodData Cloud specific endpoint.
 * @summary Invite User
 * @param {Invitation} invitation
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApiAxiosParamCreator_ProcessInvitation(invitation, options = {}, configuration) {
    // verify required parameter 'invitation' is not null or undefined
    assertParamExists("processInvitation", "invitation", invitation);
    const localVarPath = `/api/v1/actions/invite`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof invitation !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(invitation !== undefined ? invitation : {})
        : invitation || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// ActionsApi Api FP
/**
 * Puts a new invitation requirement into the invitation generator queue. This is a GoodData Cloud specific endpoint.
 * @summary Invite User
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {ActionsApiProcessInvitationRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function ActionsApi_ProcessInvitation(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await ActionsApiAxiosParamCreator_ProcessInvitation(requestParameters.invitation, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * ActionsApi - object-oriented interface
 * @export
 * @class ActionsApi
 * @extends {BaseAPI}
 */
export class ActionsApi extends BaseAPI {
    /**
     * Puts a new invitation requirement into the invitation generator queue. This is a GoodData Cloud specific endpoint.
     * @summary Invite User
     * @param {ActionsApiProcessInvitationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ActionsApi
     */
    processInvitation(requestParameters, options) {
        return ActionsApi_ProcessInvitation(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// AuthenticationApi FP - AuthenticationApiAxiosParamCreator
/**
 * Create a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Create a user
 * @param {AuthUser} authUser
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApiAxiosParamCreator_CreateUser(authUser, options = {}, configuration) {
    // verify required parameter 'authUser' is not null or undefined
    assertParamExists("createUser", "authUser", authUser);
    const localVarPath = `/api/v1/auth/users`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof authUser !== "string" || localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(authUser !== undefined ? authUser : {})
        : authUser || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// AuthenticationApi FP - AuthenticationApiAxiosParamCreator
/**
 * Delete a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Delete a user
 * @param {string} userEmail
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApiAxiosParamCreator_DeleteUser(userEmail, options = {}, configuration) {
    // verify required parameter 'userEmail' is not null or undefined
    assertParamExists("deleteUser", "userEmail", userEmail);
    const localVarPath = `/api/v1/auth/users/{userEmail}`.replace(`{${"userEmail"}}`, encodeURIComponent(String(userEmail)));
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "DELETE", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// AuthenticationApi FP - AuthenticationApiAxiosParamCreator
/**
 * Returns a Profile including Organization and Current User Information.
 * @summary Get Profile
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApiAxiosParamCreator_GetProfile(options = {}, configuration) {
    const localVarPath = `/api/v1/profile`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// AuthenticationApi FP - AuthenticationApiAxiosParamCreator
/**
 * Get a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get a user
 * @param {string} userEmail
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApiAxiosParamCreator_GetUser(userEmail, options = {}, configuration) {
    // verify required parameter 'userEmail' is not null or undefined
    assertParamExists("getUser", "userEmail", userEmail);
    const localVarPath = `/api/v1/auth/users/{userEmail}`.replace(`{${"userEmail"}}`, encodeURIComponent(String(userEmail)));
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// AuthenticationApi FP - AuthenticationApiAxiosParamCreator
/**
 * Get all users - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get all users
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApiAxiosParamCreator_GetUsers(options = {}, configuration) {
    const localVarPath = `/api/v1/auth/users`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// AuthenticationApi FP - AuthenticationApiAxiosParamCreator
/**
 * Update a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Update a user
 * @param {string} userEmail
 * @param {AuthUser} authUser
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApiAxiosParamCreator_UpdateUser(userEmail, authUser, options = {}, configuration) {
    // verify required parameter 'userEmail' is not null or undefined
    assertParamExists("updateUser", "userEmail", userEmail);
    // verify required parameter 'authUser' is not null or undefined
    assertParamExists("updateUser", "authUser", authUser);
    const localVarPath = `/api/v1/auth/users/{userEmail}`.replace(`{${"userEmail"}}`, encodeURIComponent(String(userEmail)));
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "PUT", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof authUser !== "string" || localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(authUser !== undefined ? authUser : {})
        : authUser || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// AuthenticationApi Api FP
/**
 * Create a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Create a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {AuthenticationApiCreateUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApi_CreateUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await AuthenticationApiAxiosParamCreator_CreateUser(requestParameters.authUser, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// AuthenticationApi Api FP
/**
 * Delete a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Delete a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {AuthenticationApiDeleteUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApi_DeleteUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await AuthenticationApiAxiosParamCreator_DeleteUser(requestParameters.userEmail, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// AuthenticationApi Api FP
/**
 * Returns a Profile including Organization and Current User Information.
 * @summary Get Profile
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApi_GetProfile(axios, basePath, options, configuration) {
    const localVarAxiosArgs = await AuthenticationApiAxiosParamCreator_GetProfile(options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// AuthenticationApi Api FP
/**
 * Get a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {AuthenticationApiGetUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApi_GetUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await AuthenticationApiAxiosParamCreator_GetUser(requestParameters.userEmail, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// AuthenticationApi Api FP
/**
 * Get all users - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get all users
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApi_GetUsers(axios, basePath, options, configuration) {
    const localVarAxiosArgs = await AuthenticationApiAxiosParamCreator_GetUsers(options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// AuthenticationApi Api FP
/**
 * Update a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Update a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {AuthenticationApiUpdateUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function AuthenticationApi_UpdateUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await AuthenticationApiAxiosParamCreator_UpdateUser(requestParameters.userEmail, requestParameters.authUser, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * AuthenticationApi - object-oriented interface
 * @export
 * @class AuthenticationApi
 * @extends {BaseAPI}
 */
export class AuthenticationApi extends BaseAPI {
    /**
     * Create a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Create a user
     * @param {AuthenticationApiCreateUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthenticationApi
     */
    createUser(requestParameters, options) {
        return AuthenticationApi_CreateUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Delete a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Delete a user
     * @param {AuthenticationApiDeleteUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthenticationApi
     */
    deleteUser(requestParameters, options) {
        return AuthenticationApi_DeleteUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Returns a Profile including Organization and Current User Information.
     * @summary Get Profile
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthenticationApi
     */
    getProfile(options) {
        return AuthenticationApi_GetProfile(this.axios, this.basePath, options, this.configuration);
    }
    /**
     * Get a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Get a user
     * @param {AuthenticationApiGetUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthenticationApi
     */
    getUser(requestParameters, options) {
        return AuthenticationApi_GetUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Get all users - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Get all users
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthenticationApi
     */
    getUsers(options) {
        return AuthenticationApi_GetUsers(this.axios, this.basePath, options, this.configuration);
    }
    /**
     * Update a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Update a user
     * @param {AuthenticationApiUpdateUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthenticationApi
     */
    updateUser(requestParameters, options) {
        return AuthenticationApi_UpdateUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
// UserAuthorizationApi FP - UserAuthorizationApiAxiosParamCreator
/**
 * Create a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Create a user
 * @param {AuthUser} authUser
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApiAxiosParamCreator_CreateUser(authUser, options = {}, configuration) {
    // verify required parameter 'authUser' is not null or undefined
    assertParamExists("createUser", "authUser", authUser);
    const localVarPath = `/api/v1/auth/users`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof authUser !== "string" || localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(authUser !== undefined ? authUser : {})
        : authUser || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// UserAuthorizationApi FP - UserAuthorizationApiAxiosParamCreator
/**
 * Delete a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Delete a user
 * @param {string} userEmail
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApiAxiosParamCreator_DeleteUser(userEmail, options = {}, configuration) {
    // verify required parameter 'userEmail' is not null or undefined
    assertParamExists("deleteUser", "userEmail", userEmail);
    const localVarPath = `/api/v1/auth/users/{userEmail}`.replace(`{${"userEmail"}}`, encodeURIComponent(String(userEmail)));
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "DELETE", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// UserAuthorizationApi FP - UserAuthorizationApiAxiosParamCreator
/**
 * Returns a Profile including Organization and Current User Information.
 * @summary Get Profile
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApiAxiosParamCreator_GetProfile(options = {}, configuration) {
    const localVarPath = `/api/v1/profile`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// UserAuthorizationApi FP - UserAuthorizationApiAxiosParamCreator
/**
 * Get a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get a user
 * @param {string} userEmail
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApiAxiosParamCreator_GetUser(userEmail, options = {}, configuration) {
    // verify required parameter 'userEmail' is not null or undefined
    assertParamExists("getUser", "userEmail", userEmail);
    const localVarPath = `/api/v1/auth/users/{userEmail}`.replace(`{${"userEmail"}}`, encodeURIComponent(String(userEmail)));
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// UserAuthorizationApi FP - UserAuthorizationApiAxiosParamCreator
/**
 * Get all users - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get all users
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApiAxiosParamCreator_GetUsers(options = {}, configuration) {
    const localVarPath = `/api/v1/auth/users`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "GET", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// UserAuthorizationApi FP - UserAuthorizationApiAxiosParamCreator
/**
 * Puts a new invitation requirement into the invitation generator queue. This is a GoodData Cloud specific endpoint.
 * @summary Invite User
 * @param {Invitation} invitation
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApiAxiosParamCreator_ProcessInvitation(invitation, options = {}, configuration) {
    // verify required parameter 'invitation' is not null or undefined
    assertParamExists("processInvitation", "invitation", invitation);
    const localVarPath = `/api/v1/actions/invite`;
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "POST", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof invitation !== "string" ||
        localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(invitation !== undefined ? invitation : {})
        : invitation || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// UserAuthorizationApi FP - UserAuthorizationApiAxiosParamCreator
/**
 * Update a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Update a user
 * @param {string} userEmail
 * @param {AuthUser} authUser
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApiAxiosParamCreator_UpdateUser(userEmail, authUser, options = {}, configuration) {
    // verify required parameter 'userEmail' is not null or undefined
    assertParamExists("updateUser", "userEmail", userEmail);
    // verify required parameter 'authUser' is not null or undefined
    assertParamExists("updateUser", "authUser", authUser);
    const localVarPath = `/api/v1/auth/users/{userEmail}`.replace(`{${"userEmail"}}`, encodeURIComponent(String(userEmail)));
    // use dummy base URL string because the URL constructor only accepts absolute URLs.
    const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
    let baseOptions;
    if (configuration) {
        baseOptions = configuration.baseOptions;
    }
    const localVarRequestOptions = { method: "PUT", ...baseOptions, ...options };
    const localVarHeaderParameter = {};
    const localVarQueryParameter = {};
    localVarHeaderParameter["Content-Type"] = "application/json";
    setSearchParams(localVarUrlObj, localVarQueryParameter);
    const headersFromBaseOptions = baseOptions?.headers ? baseOptions.headers : {};
    localVarRequestOptions.headers = {
        ...localVarHeaderParameter,
        ...headersFromBaseOptions,
        ...options.headers,
    };
    const needsSerialization = typeof authUser !== "string" || localVarRequestOptions.headers["Content-Type"] === "application/json";
    localVarRequestOptions.data = needsSerialization
        ? JSON.stringify(authUser !== undefined ? authUser : {})
        : authUser || "";
    return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
    };
}
// UserAuthorizationApi Api FP
/**
 * Create a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Create a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {UserAuthorizationApiCreateUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApi_CreateUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await UserAuthorizationApiAxiosParamCreator_CreateUser(requestParameters.authUser, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// UserAuthorizationApi Api FP
/**
 * Delete a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Delete a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {UserAuthorizationApiDeleteUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApi_DeleteUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await UserAuthorizationApiAxiosParamCreator_DeleteUser(requestParameters.userEmail, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// UserAuthorizationApi Api FP
/**
 * Returns a Profile including Organization and Current User Information.
 * @summary Get Profile
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApi_GetProfile(axios, basePath, options, configuration) {
    const localVarAxiosArgs = await UserAuthorizationApiAxiosParamCreator_GetProfile(options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// UserAuthorizationApi Api FP
/**
 * Get a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {UserAuthorizationApiGetUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApi_GetUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await UserAuthorizationApiAxiosParamCreator_GetUser(requestParameters.userEmail, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// UserAuthorizationApi Api FP
/**
 * Get all users - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Get all users
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApi_GetUsers(axios, basePath, options, configuration) {
    const localVarAxiosArgs = await UserAuthorizationApiAxiosParamCreator_GetUsers(options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// UserAuthorizationApi Api FP
/**
 * Puts a new invitation requirement into the invitation generator queue. This is a GoodData Cloud specific endpoint.
 * @summary Invite User
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {UserAuthorizationApiProcessInvitationRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApi_ProcessInvitation(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await UserAuthorizationApiAxiosParamCreator_ProcessInvitation(requestParameters.invitation, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
// UserAuthorizationApi Api FP
/**
 * Update a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
 * @summary Update a user
 * @param {AxiosInstance} axios Axios instance.
 * @param {string} basePath Base path.
 * @param {UserAuthorizationApiUpdateUserRequest} requestParameters Request parameters.
 * @param {*} [options] Override http request option.
 * @param {Configuration} [configuration] Optional configuration.
 * @throws {RequiredError}
 */
export async function UserAuthorizationApi_UpdateUser(axios, basePath, requestParameters, options, configuration) {
    const localVarAxiosArgs = await UserAuthorizationApiAxiosParamCreator_UpdateUser(requestParameters.userEmail, requestParameters.authUser, options || {}, configuration);
    return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, basePath);
}
/**
 * UserAuthorizationApi - object-oriented interface
 * @export
 * @class UserAuthorizationApi
 * @extends {BaseAPI}
 */
export class UserAuthorizationApi extends BaseAPI {
    /**
     * Create a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Create a user
     * @param {UserAuthorizationApiCreateUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserAuthorizationApi
     */
    createUser(requestParameters, options) {
        return UserAuthorizationApi_CreateUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Delete a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Delete a user
     * @param {UserAuthorizationApiDeleteUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserAuthorizationApi
     */
    deleteUser(requestParameters, options) {
        return UserAuthorizationApi_DeleteUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Returns a Profile including Organization and Current User Information.
     * @summary Get Profile
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserAuthorizationApi
     */
    getProfile(options) {
        return UserAuthorizationApi_GetProfile(this.axios, this.basePath, options, this.configuration);
    }
    /**
     * Get a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Get a user
     * @param {UserAuthorizationApiGetUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserAuthorizationApi
     */
    getUser(requestParameters, options) {
        return UserAuthorizationApi_GetUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Get all users - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Get all users
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserAuthorizationApi
     */
    getUsers(options) {
        return UserAuthorizationApi_GetUsers(this.axios, this.basePath, options, this.configuration);
    }
    /**
     * Puts a new invitation requirement into the invitation generator queue. This is a GoodData Cloud specific endpoint.
     * @summary Invite User
     * @param {UserAuthorizationApiProcessInvitationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserAuthorizationApi
     */
    processInvitation(requestParameters, options) {
        return UserAuthorizationApi_ProcessInvitation(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
    /**
     * Update a user - dedicated endpoint for user management in the internal OIDC provider. GoodData.CN specific
     * @summary Update a user
     * @param {UserAuthorizationApiUpdateUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserAuthorizationApi
     */
    updateUser(requestParameters, options) {
        return UserAuthorizationApi_UpdateUser(this.axios, this.basePath, requestParameters, options, this.configuration);
    }
}
//# sourceMappingURL=api.js.map