member_webapp/@overflow/member/store/totp/totp.action.ts
crusader d59d9379f9 ing
2018-05-24 15:44:13 +09:00

90 lines
2.5 KiB
TypeScript

import { Action } from '@ngrx/store';
import { RESTClientError } from '@loafer/ng-rest';
import { Member } from '@overflow/commons-typescript/model/member';
export enum ActionType {
CreateTotp = '[member.totp] CreateTotp',
CreateTotpSuccess = '[member.totp] CreateTotpSuccess',
CreateTotpFailure = '[member.totp] CreateTotpFailure',
Regist = '[member.totp] Regist',
RegistSuccess = '[member.totp] RegistSuccess',
RegistFailure = '[member.totp] RegistFailure',
CheckCodeForMember = '[member.totp] CheckCodeForMember',
CheckCodeForMemberSuccess = '[member.totp] CheckCodeForMemberSuccess',
CheckCodeForMemberFailure = '[member.totp] CheckCodeForMemberFailure',
}
export class CreateTotp implements Action {
readonly type = ActionType.CreateTotp;
constructor(public payload: Member) {}
}
export class CreateTotpSuccess implements Action {
readonly type = ActionType.CreateTotpSuccess;
constructor(public payload: {key: string, uri: string}) {}
}
export class CreateTotpFailure implements Action {
readonly type = ActionType.CreateTotpFailure;
constructor(public payload: RESTClientError) {}
}
// ----------------------------------------------------------------------------------------
export class Regist implements Action {
readonly type = ActionType.Regist;
constructor(public payload: {member: Member, secretCode: string, code: string}) {}
}
export class RegistSuccess implements Action {
readonly type = ActionType.RegistSuccess;
constructor(public payload: void) {}
}
export class RegistFailure implements Action {
readonly type = ActionType.RegistFailure;
constructor(public payload: RESTClientError) {}
}
// ----------------------------------------------------------------------------------------
export class CheckCodeForMember implements Action {
readonly type = ActionType.CheckCodeForMember;
constructor(public payload: {member: Member, code: string}) {}
}
export class CheckCodeForMemberSuccess implements Action {
readonly type = ActionType.CheckCodeForMemberSuccess;
constructor(public payload: void) {}
}
export class CheckCodeForMemberFailure implements Action {
readonly type = ActionType.CheckCodeForMemberFailure;
constructor(public payload: RESTClientError) {}
}
export type Actions =
| CreateTotp
| CreateTotpSuccess
| CreateTotpFailure
| Regist
| RegistSuccess
| RegistFailure
| CheckCodeForMember
| CheckCodeForMemberSuccess
| CheckCodeForMemberFailure
;