storj/web/satellite/src/api/usage.ts

42 lines
1.1 KiB
TypeScript
Raw Normal View History

2019-04-05 12:24:34 +01:00
// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information.
import { BaseGql } from '@/api/baseGql';
2019-09-09 11:33:39 +01:00
import { ProjectUsage, UsageApi } from '@/types/usage';
2019-04-05 12:24:34 +01:00
/**
* Exposes all project-usage-related functionality
*/
export class ProjectUsageApiGql extends BaseGql implements UsageApi {
/**
* Fetch usage
*
* @returns ProjectUsage
* @throws Error
*/
public async get(projectId: string, since: Date, before: Date): Promise<ProjectUsage> {
const query = `
query($projectId: String!, $since: DateTime!, $before: DateTime!) {
project(id: $projectId) {
usage(since: $since, before: $before) {
storage,
egress,
objectCount,
since,
before
2019-04-05 12:24:34 +01:00
}
}
}`;
2019-04-05 12:24:34 +01:00
const variables = {
projectId,
since,
before,
};
2019-04-05 12:24:34 +01:00
const response = await this.query(query, variables);
return response.data.project.usage;
}
2019-04-05 12:24:34 +01:00
}