38 lines
776 B
TypeScript
38 lines
776 B
TypeScript
import { Action } from '@ngrx/store';
|
|
|
|
import { RPCClientError } from '@loafer/ng-rpc';
|
|
|
|
import { Sensor } from '@overflow/commons-typescript/model/sensor';
|
|
|
|
|
|
export enum ActionType {
|
|
Read = '[sensor.detail] Read',
|
|
ReadSuccess = '[sensor.detail] ReadSuccess',
|
|
ReadFailure = '[sensor.detail] ReadFailure',
|
|
}
|
|
|
|
export class Read implements Action {
|
|
readonly type = ActionType.Read;
|
|
|
|
constructor(public payload: {id: string}) {}
|
|
}
|
|
|
|
export class ReadSuccess implements Action {
|
|
readonly type = ActionType.ReadSuccess;
|
|
|
|
constructor(public payload: Sensor) {}
|
|
}
|
|
|
|
export class ReadFailure implements Action {
|
|
readonly type = ActionType.ReadFailure;
|
|
|
|
constructor(public payload: RPCClientError) {}
|
|
}
|
|
|
|
|
|
export type Actions =
|
|
| Read
|
|
| ReadSuccess
|
|
| ReadFailure
|
|
;
|