Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion openapitools.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
},
"additionalProperties": {
"npmName": "@cirrobio/api-client",
"npmVersion": "0.13.27",
"npmVersion": "0.13.28",
"author": "CirroBio",
"stringEnums": true,
"supportsES6": true
Expand Down
6 changes: 6 additions & 0 deletions packages/api-client/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ src/models/DatasetAssetsManifest.ts
src/models/DatasetCondition.ts
src/models/DatasetConditionField.ts
src/models/DatasetDetail.ts
src/models/DatasetSource.ts
src/models/DatasetViz.ts
src/models/DeleteRowsRequest.ts
src/models/Discussion.ts
Expand Down Expand Up @@ -123,6 +124,7 @@ src/models/GovernanceTrainingVerification.ts
src/models/GovernanceType.ts
src/models/GroupCost.ts
src/models/ImportDataRequest.ts
src/models/IngestConflictMode.ts
src/models/InsertRowsRequest.ts
src/models/InviteUserRequest.ts
src/models/InviteUserResponse.ts
Expand All @@ -139,6 +141,7 @@ src/models/MountedDataset.ts
src/models/MoveDatasetInput.ts
src/models/MoveDatasetResponse.ts
src/models/NamedItem.ts
src/models/NextflowVersion.ts
src/models/PaginatedResponseAppRegistrationDto.ts
src/models/PaginatedResponseAuditEventDto.ts
src/models/PaginatedResponseDatasetListDto.ts
Expand Down Expand Up @@ -168,7 +171,9 @@ src/models/ProjectAccessRequest.ts
src/models/ProjectAccessType.ts
src/models/ProjectCreateOptions.ts
src/models/ProjectDetail.ts
src/models/ProjectFile.ts
src/models/ProjectFileAccessRequest.ts
src/models/ProjectFileQueryResponse.ts
src/models/ProjectInput.ts
src/models/ProjectMetrics.ts
src/models/ProjectPermissionSet.ts
Expand Down Expand Up @@ -235,6 +240,7 @@ src/models/Task.ts
src/models/TaskCost.ts
src/models/TaskLogSource.ts
src/models/TenantInfo.ts
src/models/TenantMetrics.ts
src/models/UpdateDatasetRequest.ts
src/models/UpdateRowsRequest.ts
src/models/UpdateUserRequest.ts
Expand Down
2 changes: 1 addition & 1 deletion packages/api-client/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ navigate to the folder of your consuming project and run one of the following co
_published:_

```
npm install @cirrobio/api-client@0.13.27 --save
npm install @cirrobio/api-client@0.13.28 --save
```

_unPublished (not recommended):_
Expand Down
2 changes: 1 addition & 1 deletion packages/api-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cirrobio/api-client",
"version": "0.13.27",
"version": "0.13.28",
"description": "API client for Cirro",
"author": "CirroBio",
"repository": {
Expand Down
212 changes: 212 additions & 0 deletions packages/api-client/src/apis/FileApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ import {
AWSCredentialsFromJSON,
AWSCredentialsToJSON,
} from '../models/AWSCredentials';
import {
type DatasetSource,
DatasetSourceFromJSON,
DatasetSourceToJSON,
} from '../models/DatasetSource';
import {
type GenerateSftpCredentialsRequest,
GenerateSftpCredentialsRequestFromJSON,
Expand All @@ -28,16 +33,31 @@ import {
GovernanceFileAccessRequestFromJSON,
GovernanceFileAccessRequestToJSON,
} from '../models/GovernanceFileAccessRequest';
import {
type ProjectFile,
ProjectFileFromJSON,
ProjectFileToJSON,
} from '../models/ProjectFile';
import {
type ProjectFileAccessRequest,
ProjectFileAccessRequestFromJSON,
ProjectFileAccessRequestToJSON,
} from '../models/ProjectFileAccessRequest';
import {
type ProjectFileQueryResponse,
ProjectFileQueryResponseFromJSON,
ProjectFileQueryResponseToJSON,
} from '../models/ProjectFileQueryResponse';
import {
type SftpCredentials,
SftpCredentialsFromJSON,
SftpCredentialsToJSON,
} from '../models/SftpCredentials';
import {
type SqlSortOrder,
SqlSortOrderFromJSON,
SqlSortOrderToJSON,
} from '../models/SqlSortOrder';

export interface GenerateGovernanceFileAccessTokenRequest {
requirementId: string;
Expand All @@ -54,6 +74,28 @@ export interface GenerateProjectSftpTokenRequest {
generateSftpCredentialsRequest: GenerateSftpCredentialsRequest;
}

export interface GetProjectFileRequest {
projectId: string;
datasetId: string;
}

export interface QueryProjectFilesRequest {
projectId: string;
source?: DatasetSource | null;
fileType?: string | null;
datasetId?: string | null;
processId?: string | null;
createdBy?: string | null;
pathContains?: string | null;
minSize?: number | null;
maxSize?: number | null;
createdAfter?: Date | null;
createdBefore?: Date | null;
sortOrder?: SqlSortOrder | null;
limit?: number | null;
nextToken?: string | null;
}

/**
*
*/
Expand Down Expand Up @@ -254,4 +296,174 @@ export class FileApi extends runtime.BaseAPI {
return await response.value();
}

/**
* Creates request options for getProjectFile without sending the request
*/
async getProjectFileRequestOpts(requestParameters: GetProjectFileRequest): Promise<runtime.RequestOpts> {
if (requestParameters['projectId'] == null) {
throw new runtime.RequiredError(
'projectId',
'Required parameter "projectId" was null or undefined when calling getProjectFile().'
);
}

if (requestParameters['datasetId'] == null) {
throw new runtime.RequiredError(
'datasetId',
'Required parameter "datasetId" was null or undefined when calling getProjectFile().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("accessToken", []);

if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}

let urlPath = `/projects/{projectId}/files/{datasetId}/path`;
urlPath = urlPath.replace('{projectId}', encodeURIComponent(String(requestParameters['projectId'])));
urlPath = urlPath.replace('{datasetId}', encodeURIComponent(String(requestParameters['datasetId'])));

return {
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
};
}

/**
* Fetches details on a single file given its dataset ID and relative path.
* Get a project file
*/
async getProjectFileRaw(requestParameters: GetProjectFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProjectFile>> {
const requestOptions = await this.getProjectFileRequestOpts(requestParameters);
const response = await this.request(requestOptions, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => ProjectFileFromJSON(jsonValue));
}

/**
* Fetches details on a single file given its dataset ID and relative path.
* Get a project file
*/
async getProjectFile(requestParameters: GetProjectFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProjectFile> {
const response = await this.getProjectFileRaw(requestParameters, initOverrides);
return await response.value();
}

/**
* Creates request options for queryProjectFiles without sending the request
*/
async queryProjectFilesRequestOpts(requestParameters: QueryProjectFilesRequest): Promise<runtime.RequestOpts> {
if (requestParameters['projectId'] == null) {
throw new runtime.RequiredError(
'projectId',
'Required parameter "projectId" was null or undefined when calling queryProjectFiles().'
);
}

const queryParameters: any = {};

if (requestParameters['source'] != null) {
queryParameters['source'] = requestParameters['source'];
}

if (requestParameters['fileType'] != null) {
queryParameters['fileType'] = requestParameters['fileType'];
}

if (requestParameters['datasetId'] != null) {
queryParameters['datasetId'] = requestParameters['datasetId'];
}

if (requestParameters['processId'] != null) {
queryParameters['processId'] = requestParameters['processId'];
}

if (requestParameters['createdBy'] != null) {
queryParameters['createdBy'] = requestParameters['createdBy'];
}

if (requestParameters['pathContains'] != null) {
queryParameters['pathContains'] = requestParameters['pathContains'];
}

if (requestParameters['minSize'] != null) {
queryParameters['minSize'] = requestParameters['minSize'];
}

if (requestParameters['maxSize'] != null) {
queryParameters['maxSize'] = requestParameters['maxSize'];
}

if (requestParameters['createdAfter'] != null) {
queryParameters['createdAfter'] = (requestParameters['createdAfter'] as any).toISOString();
}

if (requestParameters['createdBefore'] != null) {
queryParameters['createdBefore'] = (requestParameters['createdBefore'] as any).toISOString();
}

if (requestParameters['sortOrder'] != null) {
queryParameters['sortOrder'] = requestParameters['sortOrder'];
}

if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}

if (requestParameters['nextToken'] != null) {
queryParameters['nextToken'] = requestParameters['nextToken'];
}

const headerParameters: runtime.HTTPHeaders = {};

if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("accessToken", []);

if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}

let urlPath = `/projects/{projectId}/files`;
urlPath = urlPath.replace('{projectId}', encodeURIComponent(String(requestParameters['projectId'])));

return {
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
};
}

/**
* Queries the project for files, with optional filtering, sorting, and pagination.
* Search project files
*/
async queryProjectFilesRaw(requestParameters: QueryProjectFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProjectFileQueryResponse>> {
const requestOptions = await this.queryProjectFilesRequestOpts(requestParameters);
const response = await this.request(requestOptions, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => ProjectFileQueryResponseFromJSON(jsonValue));
}

/**
* Queries the project for files, with optional filtering, sorting, and pagination.
* Search project files
*/
async queryProjectFiles(requestParameters: QueryProjectFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProjectFileQueryResponse> {
const response = await this.queryProjectFilesRaw(requestParameters, initOverrides);
return await response.value();
}

}
52 changes: 52 additions & 0 deletions packages/api-client/src/apis/MetricsApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ import {
ProjectMetricsFromJSON,
ProjectMetricsToJSON,
} from '../models/ProjectMetrics';
import {
type TenantMetrics,
TenantMetricsFromJSON,
TenantMetricsToJSON,
} from '../models/TenantMetrics';

export interface GetProjectMetricsRequest {
projectId: string;
Expand Down Expand Up @@ -75,6 +80,53 @@ export class MetricsApi extends runtime.BaseAPI {
return await response.value();
}

/**
* Creates request options for getMetricsSummary without sending the request
*/
async getMetricsSummaryRequestOpts(): Promise<runtime.RequestOpts> {
const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token("accessToken", []);

if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}

let urlPath = `/metrics-summary`;

return {
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
};
}

/**
* Retrieves summary of tenant (item counts)
* Get tenant metric summary
*/
async getMetricsSummaryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TenantMetrics>> {
const requestOptions = await this.getMetricsSummaryRequestOpts();
const response = await this.request(requestOptions, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => TenantMetricsFromJSON(jsonValue));
}

/**
* Retrieves summary of tenant (item counts)
* Get tenant metric summary
*/
async getMetricsSummary(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TenantMetrics> {
const response = await this.getMetricsSummaryRaw(initOverrides);
return await response.value();
}

/**
* Creates request options for getProjectMetrics without sending the request
*/
Expand Down
Loading
Loading