member_webapp/@overflow/member/store/auth/auth.action.ts

90 lines
2.3 KiB
TypeScript
Raw Normal View History

2018-04-06 06:59:49 +00:00
import { Action } from '@ngrx/store';
2018-05-24 06:44:13 +00:00
import { RESTClientError } from '@loafer/ng-rest';
2018-04-06 06:59:49 +00:00
2018-05-02 08:09:39 +00:00
import { DomainMember } from '@overflow/commons-typescript/model/domain';
import { Member } from '@overflow/commons-typescript/model/member';
2018-04-06 06:59:49 +00:00
export enum ActionType {
Signin = '[member.auth] Signin',
SigninSuccess = '[member.auth] SigninSuccess',
SigninFailure = '[member.auth] SigninFailure',
SigninRedirect = '[member.auth] SigninRedirect',
SigninCookie = '[member.auth] SigninCookie',
SigninCookieSuccess = '[member.auth] SigninCookieSuccess',
SigninCookieFailure = '[member.auth] SigninCookieFailure',
Signout = '[member.auth] Signout',
SignoutSuccess = '[member.auth] SignoutSuccess',
SignoutFailure = '[member.auth] SignoutFailure',
}
export class Signin implements Action {
readonly type = ActionType.Signin;
constructor(public payload: {email: string, password: string, returnURL: string}) {}
}
export class SigninSuccess implements Action {
readonly type = ActionType.SigninSuccess;
constructor(public payload: {authToken: string, domainMember: DomainMember}) {}
}
export class SigninFailure implements Action {
readonly type = ActionType.SigninFailure;
constructor(public payload: RESTClientError) {}
}
export class SigninRedirect implements Action {
readonly type = ActionType.SigninRedirect;
constructor(public payload: string) {}
}
export class SigninCookie implements Action {
readonly type = ActionType.SigninCookie;
constructor(public payload: {authToken: string, returnURL: string}) {}
}
export class SigninCookieSuccess implements Action {
readonly type = ActionType.SigninCookieSuccess;
constructor(public payload: DomainMember) {}
}
export class SigninCookieFailure implements Action {
readonly type = ActionType.SigninCookieFailure;
constructor(public payload: RESTClientError) {}
}
export class Signout implements Action {
readonly type = ActionType.Signout;
}
export class SignoutSuccess implements Action {
readonly type = ActionType.SignoutSuccess;
}
export class SignoutFailure implements Action {
readonly type = ActionType.SignoutFailure;
constructor(public payload: RESTClientError) {}
}
export type Actions =
| Signin
| SigninSuccess
| SigninFailure
| SigninRedirect
| SigninCookie
| SigninCookieSuccess
| SigninCookieFailure
| Signout
| SignoutSuccess
| SignoutFailure
;