mirror of https://github.com/doccano/doccano.git
pythonannotation-tooldatasetsactive-learningtext-annotationdatasetnatural-language-processingdata-labelingmachine-learning
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
import ApiService from '@/services/api.service'
|
|
import { MetricsRepository } from '@/domain/models/metrics/metricsRepository'
|
|
import { Distribution, Progress, MyProgress } from '~/domain/models/metrics/metrics'
|
|
|
|
export class APIMetricsRepository implements MetricsRepository {
|
|
constructor(
|
|
private readonly request = ApiService
|
|
) {}
|
|
|
|
async fetchCategoryDistribution(projectId: string): Promise<Distribution> {
|
|
const url = `/projects/${projectId}/metrics/category-distribution`
|
|
const response = await this.request.get(url)
|
|
return response.data
|
|
}
|
|
|
|
async fetchSpanDistribution(projectId: string): Promise<Distribution> {
|
|
const url = `/projects/${projectId}/metrics/span-distribution`
|
|
const response = await this.request.get(url)
|
|
return response.data
|
|
}
|
|
|
|
async fetchRelationDistribution(projectId: string): Promise<Distribution> {
|
|
const url = `/projects/${projectId}/metrics/relation-distribution`
|
|
const response = await this.request.get(url)
|
|
return response.data
|
|
}
|
|
|
|
async fetchMemberProgress(projectId: string): Promise<Progress> {
|
|
const url = `/projects/${projectId}/metrics/member-progress`
|
|
const response = await this.request.get(url)
|
|
return response.data
|
|
}
|
|
|
|
async fetchMyProgress(projectId: string): Promise<MyProgress> {
|
|
const url = `/projects/${projectId}/metrics/progress`
|
|
const response = await this.request.get(url)
|
|
return response.data
|
|
}
|
|
}
|