import { Action } from '@ngrx/store'; import { RPCClientError } from '@loafer/ng-rpc'; import { ProbeHost, Probe } from '@overflow/commons-typescript/model/probe'; export enum ActionType { ReadAllByDomainID = '[probe.list] ReadAllByDomainID', ReadAllByDomainIDSuccess = '[probe.list] ReadAllByDomainIDSuccess', ReadAllByDomainIDFailure = '[probe.list] ReadAllByDomainIDFailure', Read = '[probe.detail] Read', ReadSuccess = '[probe.detail] ReadSuccess', ReadFailure = '[probe.detail] ReadFailure', Modify = '[probe.detail] Modify', ModifySuccess = '[probe.detail] ModifySuccess', ModifyFailure = '[probe.detail] ModifyFailure', } export class ReadAllByDomainID implements Action { readonly type = ActionType.ReadAllByDomainID; constructor(public payload: number) {} } export class ReadAllByDomainIDSuccess implements Action { readonly type = ActionType.ReadAllByDomainIDSuccess; constructor(public payload: ProbeHost[]) {} } export class ReadAllByDomainIDFailure implements Action { readonly type = ActionType.ReadAllByDomainIDFailure; constructor(public payload: RPCClientError) {} } export class Read implements Action { readonly type = ActionType.Read; constructor(public payload: number) {} } export class ReadSuccess implements Action { readonly type = ActionType.ReadSuccess; constructor(public payload: ProbeHost) {} } export class ReadFailure implements Action { readonly type = ActionType.ReadFailure; constructor(public payload: RPCClientError) {} } export class Modify implements Action { readonly type = ActionType.Modify; constructor(public payload: Probe) {} } export class ModifySuccess implements Action { readonly type = ActionType.ModifySuccess; constructor(public payload: ProbeHost) {} } export class ModifyFailure implements Action { readonly type = ActionType.ModifyFailure; constructor(public payload: RPCClientError) {} } export type Actions = | ReadAllByDomainID | ReadAllByDomainIDSuccess | ReadAllByDomainIDFailure | Read | ReadSuccess | ReadFailure | Modify | ModifySuccess | ModifyFailure ;