/* tslint:disable */ /* eslint-disable */ /** * Fabric API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.0 * * * 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 type { CreateSpaceRequest, ListResourceRoots200Response, ListResourceRootsOrderParameter, ListResourceRootsTypesParameterInner, PermissionRole, RemoveSpace404Response, Space, } from '../models/index'; import { CreateSpaceRequestFromJSON, CreateSpaceRequestToJSON, ListResourceRoots200ResponseFromJSON, ListResourceRoots200ResponseToJSON, ListResourceRootsOrderParameterFromJSON, ListResourceRootsOrderParameterToJSON, ListResourceRootsTypesParameterInnerFromJSON, ListResourceRootsTypesParameterInnerToJSON, PermissionRoleFromJSON, PermissionRoleToJSON, RemoveSpace404ResponseFromJSON, RemoveSpace404ResponseToJSON, SpaceFromJSON, SpaceToJSON, } from '../models/index'; export type CreateSpaceOperationRequest = Omit; export type ListSpacesRequest = Omit<{ baseId?: string; limit?: number; offset?: number | null; order?: ListResourceRootsOrderParameter; types?: Array; search?: string; role?: Array; includeMembers?: number | null; snapshotAt?: string | null; xSnapshotAt?: Date; }, 'baseId'>; export type RemoveSpaceRequest = Omit<{ spaceId: string; baseId?: string; }, 'baseId'>; /** * */ export class SpacesApi extends runtime.BaseAPI { /** * Create a new space with the given name and privacy setting. * Create space */ async createRaw(requestParameters: CreateSpaceOperationRequest, initOverrides?: runtime.InitOverrides | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters['accessToken'] != null) { queryParameters['accessToken'] = requestParameters['accessToken']; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (requestParameters['baseId'] != null) { headerParameters['X-Fabric-Base-Id'] = String(requestParameters['baseId']); } if (this.configuration && this.configuration.accessToken) { // oauth required headerParameters["Authorization"] = await this.configuration.accessToken("OAuth2", []); } if (this.configuration && this.configuration.apiKey) { headerParameters["X-Api-Key"] = await this.configuration.apiKey("X-Api-Key"); // ApiKey authentication } let urlPath = `/v2/spaces`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateSpaceRequestToJSON(requestParameters), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => SpaceFromJSON(jsonValue)); } /** * Create a new space with the given name and privacy setting. * Create space */ async create(requestParameters: CreateSpaceOperationRequest, initOverrides?: runtime.InitOverrides | runtime.InitOverrideFunction): Promise { const response = await this.createRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve a paginated list of spaces with optional member and resource previews. * List spaces */ async listRaw(requestParameters: ListSpacesRequest = {}, initOverrides?: runtime.InitOverrides | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters['limit'] != null) { queryParameters['limit'] = requestParameters['limit']; } if (requestParameters['offset'] != null) { queryParameters['offset'] = requestParameters['offset']; } if (requestParameters['order'] != null) { queryParameters['order'] = requestParameters['order']; } if (requestParameters['types'] != null) { queryParameters['types'] = requestParameters['types']; } if (requestParameters['search'] != null) { queryParameters['search'] = requestParameters['search']; } if (requestParameters['role'] != null) { queryParameters['role'] = requestParameters['role']; } if (requestParameters['includeMembers'] != null) { queryParameters['includeMembers'] = requestParameters['includeMembers']; } if (requestParameters['snapshotAt'] != null) { queryParameters['snapshotAt'] = requestParameters['snapshotAt']; } const headerParameters: runtime.HTTPHeaders = {}; if (requestParameters['baseId'] != null) { headerParameters['X-Fabric-Base-Id'] = String(requestParameters['baseId']); } if (requestParameters['xSnapshotAt'] != null) { headerParameters['X-Snapshot-At'] = String(requestParameters['xSnapshotAt']); } if (this.configuration && this.configuration.accessToken) { // oauth required headerParameters["Authorization"] = await this.configuration.accessToken("OAuth2", []); } if (this.configuration && this.configuration.apiKey) { headerParameters["X-Api-Key"] = await this.configuration.apiKey("X-Api-Key"); // ApiKey authentication } let urlPath = `/v2/spaces`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ListResourceRoots200ResponseFromJSON(jsonValue)); } /** * Retrieve a paginated list of spaces with optional member and resource previews. * List spaces */ async list(requestParameters: ListSpacesRequest = {}, initOverrides?: runtime.InitOverrides | runtime.InitOverrideFunction): Promise { const response = await this.listRaw(requestParameters, initOverrides); return await response.value(); } /** * Permanently delete a space and its configuration. * Delete space */ async removeRaw(requestParameters: RemoveSpaceRequest, initOverrides?: runtime.InitOverrides | runtime.InitOverrideFunction): Promise> { if (requestParameters['spaceId'] == null) { throw new runtime.RequiredError( 'spaceId', 'Required parameter "spaceId" was null or undefined when calling ().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (requestParameters['baseId'] != null) { headerParameters['X-Fabric-Base-Id'] = String(requestParameters['baseId']); } if (this.configuration && this.configuration.accessToken) { // oauth required headerParameters["Authorization"] = await this.configuration.accessToken("OAuth2", []); } if (this.configuration && this.configuration.apiKey) { headerParameters["X-Api-Key"] = await this.configuration.apiKey("X-Api-Key"); // ApiKey authentication } let urlPath = `/v2/spaces/{spaceId}`; urlPath = urlPath.replace(`{${"spaceId"}}`, encodeURIComponent(String(requestParameters['spaceId']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Permanently delete a space and its configuration. * Delete space */ async remove(requestParameters: RemoveSpaceRequest, initOverrides?: runtime.InitOverrides | runtime.InitOverrideFunction): Promise { await this.removeRaw(requestParameters, initOverrides); } }