Add `TaggedSensorReading` to FE

pull/664/head
Rick Carlino 2018-02-15 16:11:27 -06:00
parent 34e74bf8f4
commit ac26f2d8ab
5 changed files with 29 additions and 12 deletions

View File

@ -119,6 +119,8 @@ export class API {
get webAppConfigPath() { return `${this.baseUrl}/api/web_app_config/`; }
/** /api/fbos_config */
get fbosConfigPath() { return `${this.baseUrl}/api/fbos_config/`; }
/** /api/sensor_readings */
get sensorReadingPath() { return `${this.baseUrl}/api/sensor_readings`; }
/** /api/users/verify/:token */
verificationPath = (token: string) => ("/api/users/verify/" + token);
}

View File

@ -21,6 +21,14 @@ export interface SelectOptionsParams {
z?: number;
}
export interface SensorReading {
id?: number | undefined;
x: number | undefined;
y: number | undefined;
z: number | undefined;
value: number;
pin: number;
}
export interface Log {
id?: number | undefined;
message: string;

View File

@ -74,7 +74,8 @@ export function emptyState(): RestResources {
User: [],
FbosConfig: [],
FirmwareConfig: [],
WebAppConfig: []
WebAppConfig: [],
SensorReading: []
},
byKindAndId: {},
references: {}
@ -158,6 +159,7 @@ export let resourceReducer = generateReducer
case "WebAppConfig":
case "FbosConfig":
case "FirmwareConfig":
case "SensorReading":
case "Image":
removeFromIndex(s.index, resource);
break;

View File

@ -7,6 +7,7 @@ import {
GenericPointer,
PlantPointer,
ToolSlotPointer,
SensorReading,
} from "../interfaces";
import { Peripheral } from "../controls/peripherals/interfaces";
import { User } from "../auth/interfaces";
@ -25,19 +26,20 @@ export type ResourceName =
| "Crop"
| "Device"
| "FarmEvent"
| "FbosConfig"
| "FirmwareConfig"
| "Image"
| "Log"
| "Peripheral"
| "Plant"
| "Log"
| "Image"
| "Point"
| "Regimen"
| "SensorReading"
| "Sequence"
| "Tool"
| "User"
| "WebcamFeed"
| "FbosConfig"
| "FirmwareConfig"
| "WebAppConfig";
| "WebAppConfig"
| "WebcamFeed";
export interface TaggedResourceBase {
kind: ResourceName;
@ -81,21 +83,22 @@ export interface Resource<T extends ResourceName, U extends object>
}
export type TaggedResource =
| TaggedPoint
| TaggedCrop
| TaggedDevice
| TaggedFarmEvent
| TaggedFbosConfig
| TaggedFirmwareConfig
| TaggedImage
| TaggedLog
| TaggedPeripheral
| TaggedPoint
| TaggedRegimen
| TaggedSensorReading
| TaggedSequence
| TaggedTool
| TaggedUser
| TaggedWebcamFeed
| TaggedFbosConfig
| TaggedWebAppConfig
| TaggedFirmwareConfig;
| TaggedWebcamFeed;
export type TaggedRegimen = Resource<"Regimen", Regimen>;
export type TaggedTool = Resource<"Tool", Tool>;
@ -108,6 +111,7 @@ export type TaggedPeripheral = Resource<"Peripheral", Peripheral>;
export type TaggedFbosConfig = Resource<"FbosConfig", FbosConfig>;
export type TaggedFirmwareConfig = Resource<"FirmwareConfig", FirmwareConfig>;
export type TaggedWebAppConfig = Resource<"WebAppConfig", WebAppConfig>;
export type TaggedSensorReading = Resource<"SensorReading", SensorReading>;
type PointUnion = GenericPointer | PlantPointer | ToolSlotPointer;

View File

@ -1,5 +1,5 @@
import axios from "axios";
import { Log, Point } from "../interfaces";
import { Log, Point, SensorReading } from "../interfaces";
import { API } from "../api";
import { Sequence } from "../sequences/interfaces";
import { Tool } from "../tools/interfaces";
@ -51,4 +51,5 @@ export function fetchSyncData(dispatch: Function) {
fetch<Regimen[]>("Regimen", API.current.regimensPath);
fetch<Sequence[]>("Sequence", API.current.sequencesPath);
fetch<Tool[]>("Tool", API.current.toolsPath);
fetch<SensorReading[]>("SensorReading", API.current.sensorReadingPath);
}