/* 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 { ReqGroupUser, ReqGroupUserFromJSON, ReqGroupUserToJSON, ReqUpdateGroupUser, ReqUpdateGroupUserFromJSON, ReqUpdateGroupUserToJSON, RespError, RespErrorFromJSON, RespErrorToJSON, RespGroupUser, RespGroupUserFromJSON, RespGroupUserToJSON, RespGroupUserList, RespGroupUserListFromJSON, RespGroupUserListToJSON, RespResourceURL, RespResourceURLFromJSON, RespResourceURLToJSON, } from '../models'; export interface AddGroupUserRequest { groupId: string; reqGroupUser: ReqGroupUser; } export interface GetGroupUserRequest { groupId: string; username: string; } export interface ListGroupUsersRequest { groupId: string; } export interface RemoveGroupUserRequest { groupId: string; username: string; } export interface UpdateGroupUserRequest { groupId: string; username: string; reqUpdateGroupUser: ReqUpdateGroupUser; } /** * */ export class UsersApi extends runtime.BaseAPI { /** * Add a user to a group. * Add a user to a group */ async addGroupUserRaw(requestParameters: AddGroupUserRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling addGroupUser.'); } if (requestParameters.reqGroupUser === null || requestParameters.reqGroupUser === undefined) { throw new runtime.RequiredError('reqGroupUser','Required parameter requestParameters.reqGroupUser was null or undefined when calling addGroupUser.'); } 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/groups/{group_id}/users`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))), method: 'POST', headers: headerParameters, query: queryParameters, body: ReqGroupUserToJSON(requestParameters.reqGroupUser), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespResourceURLFromJSON(jsonValue)); } /** * Add a user to a group. * Add a user to a group */ async addGroupUser(requestParameters: AddGroupUserRequest, initOverrides?: RequestInit): Promise { const response = await this.addGroupUserRaw(requestParameters, initOverrides); return await response.value(); } /** * Get a user from a group * Get group user */ async getGroupUserRaw(requestParameters: GetGroupUserRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling getGroupUser.'); } if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling getGroupUser.'); } 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/groups/{group_id}/users/{username}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespGroupUserFromJSON(jsonValue)); } /** * Get a user from a group * Get group user */ async getGroupUser(requestParameters: GetGroupUserRequest, initOverrides?: RequestInit): Promise { const response = await this.getGroupUserRaw(requestParameters, initOverrides); return await response.value(); } /** * List users. * List users */ async listGroupUsersRaw(requestParameters: ListGroupUsersRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling listGroupUsers.'); } 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/groups/{group_id}/users`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespGroupUserListFromJSON(jsonValue)); } /** * List users. * List users */ async listGroupUsers(requestParameters: ListGroupUsersRequest, initOverrides?: RequestInit): Promise { const response = await this.listGroupUsersRaw(requestParameters, initOverrides); return await response.value(); } /** * Remove a user from a group. * Remove user from group */ async removeGroupUserRaw(requestParameters: RemoveGroupUserRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling removeGroupUser.'); } if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling removeGroupUser.'); } 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/groups/{group_id}/users/{username}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespGroupUserFromJSON(jsonValue)); } /** * Remove a user from a group. * Remove user from group */ async removeGroupUser(requestParameters: RemoveGroupUserRequest, initOverrides?: RequestInit): Promise { const response = await this.removeGroupUserRaw(requestParameters, initOverrides); return await response.value(); } /** * Update a user for a specified group. Only group admins can perform this operation. * Update group user */ async updateGroupUserRaw(requestParameters: UpdateGroupUserRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling updateGroupUser.'); } if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling updateGroupUser.'); } if (requestParameters.reqUpdateGroupUser === null || requestParameters.reqUpdateGroupUser === undefined) { throw new runtime.RequiredError('reqUpdateGroupUser','Required parameter requestParameters.reqUpdateGroupUser was null or undefined when calling updateGroupUser.'); } 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/groups/{group_id}/users/{username}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: ReqUpdateGroupUserToJSON(requestParameters.reqUpdateGroupUser), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespGroupUserFromJSON(jsonValue)); } /** * Update a user for a specified group. Only group admins can perform this operation. * Update group user */ async updateGroupUser(requestParameters: UpdateGroupUserRequest, initOverrides?: RequestInit): Promise { const response = await this.updateGroupUserRaw(requestParameters, initOverrides); return await response.value(); } }