/* tslint:disable */ /* eslint-disable */ /** * Tapis Workflows API * Create and manage pipelines * * The version of the OpenAPI document: 1.6.0 * Contact: cicsupport@tacc.utexas.edu * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import { ReqIdentity, ReqIdentityFromJSON, ReqIdentityToJSON, RespError, RespErrorFromJSON, RespErrorToJSON, RespIdentity, RespIdentityFromJSON, RespIdentityToJSON, RespIdentityList, RespIdentityListFromJSON, RespIdentityListToJSON, RespResourceURL, RespResourceURLFromJSON, RespResourceURLToJSON, RespString, RespStringFromJSON, RespStringToJSON, } from '../models'; export interface CreateIdentityRequest { reqIdentity: ReqIdentity; } export interface DeleteIdentityRequest { identityUuid: string; } export interface GetIdentityRequest { identityUuid: string; } /** * */ export class IdentitiesApi extends runtime.BaseAPI { /** * Create a mapping between a group user and an external identity. Users can only create identities for themselves. i.e., group admins and owners cannot create identities for any user but themselves. * Create an identity */ async createIdentityRaw(requestParameters: CreateIdentityRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.reqIdentity === null || requestParameters.reqIdentity === undefined) { throw new runtime.RequiredError('reqIdentity','Required parameter requestParameters.reqIdentity was null or undefined when calling createIdentity.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/identities`, method: 'POST', headers: headerParameters, query: queryParameters, body: ReqIdentityToJSON(requestParameters.reqIdentity), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespResourceURLFromJSON(jsonValue)); } /** * Create a mapping between a group user and an external identity. Users can only create identities for themselves. i.e., group admins and owners cannot create identities for any user but themselves. * Create an identity */ async createIdentity(requestParameters: CreateIdentityRequest, initOverrides?: RequestInit): Promise { const response = await this.createIdentityRaw(requestParameters, initOverrides); return await response.value(); } /** * Delete an identitiy * Delete an identity */ async deleteIdentityRaw(requestParameters: DeleteIdentityRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.identityUuid === null || requestParameters.identityUuid === undefined) { throw new runtime.RequiredError('identityUuid','Required parameter requestParameters.identityUuid was null or undefined when calling deleteIdentity.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/identities/{identity_uuid}`.replace(`{${"identity_uuid"}}`, encodeURIComponent(String(requestParameters.identityUuid))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespStringFromJSON(jsonValue)); } /** * Delete an identitiy * Delete an identity */ async deleteIdentity(requestParameters: DeleteIdentityRequest, initOverrides?: RequestInit): Promise { const response = await this.deleteIdentityRaw(requestParameters, initOverrides); return await response.value(); } /** * Get a specific identity by its UUID * Get identity */ async getIdentityRaw(requestParameters: GetIdentityRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.identityUuid === null || requestParameters.identityUuid === undefined) { throw new runtime.RequiredError('identityUuid','Required parameter requestParameters.identityUuid was null or undefined when calling getIdentity.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/identities/{identity_uuid}`.replace(`{${"identity_uuid"}}`, encodeURIComponent(String(requestParameters.identityUuid))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespIdentityFromJSON(jsonValue)); } /** * Get a specific identity by its UUID * Get identity */ async getIdentity(requestParameters: GetIdentityRequest, initOverrides?: RequestInit): Promise { const response = await this.getIdentityRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve identities for the requesting user * List user identities for a given user */ async listIdentitiesRaw(initOverrides?: RequestInit): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/identities`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespIdentityListFromJSON(jsonValue)); } /** * Retrieve identities for the requesting user * List user identities for a given user */ async listIdentities(initOverrides?: RequestInit): Promise { const response = await this.listIdentitiesRaw(initOverrides); return await response.value(); } }