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 ;