36 lines
749 B
TypeScript
36 lines
749 B
TypeScript
|
import { Action } from '@ngrx/store';
|
||
|
import { RPCClientError } from '@loafer/ng-rpc/protocol';
|
||
|
import { Infra } from '../../model';
|
||
|
|
||
|
export enum ActionType {
|
||
|
Read = '[Infra.list] Read',
|
||
|
ReadSuccess = '[Infra.list] ReadSuccess',
|
||
|
ReadFailure = '[Infra.list] 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: Infra) { }
|
||
|
}
|
||
|
|
||
|
export class ReadFailure implements Action {
|
||
|
readonly type = ActionType.ReadFailure;
|
||
|
|
||
|
constructor(public payload: RPCClientError) { }
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
export type Actions =
|
||
|
| Read
|
||
|
| ReadSuccess
|
||
|
| ReadFailure
|
||
|
;
|