WIP Adding simple measurement view.

This commit is contained in:
Jonathan Bernard
2019-04-05 00:47:19 -05:00
parent e542f44505
commit 622fed8e2a
13 changed files with 205 additions and 28 deletions

View File

@ -1,5 +1,5 @@
import { default as Axios, AxiosInstance } from 'axios';
import { ApiToken, LoginSubmit, Measure, Measurement, User } from '@/models';
import { ApiToken, LoginSubmit, Measure, MeasureConfig, Measurement, MeasurementMeta, User } from '@/models';
import { Logger, logService } from '@/services/logging';
import merge from 'lodash.merge';
@ -108,17 +108,17 @@ export class PmApiClient {
return true;
}
public async getAllMeasures(): Promise<Measure[]> {
public async getAllMeasures(): Promise<Array<Measure<MeasureConfig>>> {
const resp = await this.http.get(`/measures`);
return resp.data;
}
public async createMeasure(measure: Measure): Promise<Measure> {
public async createMeasure<T extends MeasureConfig>(measure: Measure<T>): Promise<Measure<T>> {
const resp = await this.http.post(`/measures`);
return resp.data;
}
public async getMeasure(slug: string): Promise<Measure> {
public async getMeasure(slug: string): Promise<Measure<MeasureConfig>> {
const resp = await this.http.get(`/measures/${slug}`);
return resp.data;
}
@ -129,16 +129,16 @@ export class PmApiClient {
}
public async getMeasurements(measureSlug: string)
: Promise<Measurement[]> {
: Promise<Array<Measurement<MeasurementMeta>>> {
const resp = await this.http.get(`/measure/${measureSlug}`);
return resp.data;
}
public async createMeasurement(
public async createMeasurement<T extends MeasurementMeta>(
measureSlug: string,
measurement: Measurement)
: Promise<Measurement> {
measurement: Measurement<MeasureConfig>)
: Promise<Measurement<T>> {
const resp = await this.http.post(`/measure/${measureSlug}`, measurement);
return resp.data;
@ -147,7 +147,7 @@ export class PmApiClient {
public async getMeasurement(
measureSlug: string,
measurementId: string)
: Promise<Measurement> {
: Promise<Measurement<MeasurementMeta>> {
const resp = await this.http
.get(`/measure/${measureSlug}/${measurementId}`);
@ -156,8 +156,8 @@ export class PmApiClient {
public async updateMeasurement(
measureSlug: string,
measurement: Measurement)
: Promise<Measurement> {
measurement: Measurement<MeasurementMeta>)
: Promise<Measurement<MeasurementMeta>> {
const resp = await this.http
.put(`/measure/${measureSlug}/${measurement.id}`, measurement);