Package of overFlow has been changed.

This commit is contained in:
crusader
2017-07-03 19:21:42 +09:00
parent 63b55c02ad
commit 87365ba7c8
370 changed files with 195 additions and 113 deletions

View File

@@ -0,0 +1,15 @@
// import {MemberStatus} from './MemberStatus';
import MetaMemberStatus from '@overflow/meta/api/model/MetaMemberStatus';
interface Member {
id?: number;
email: string;
name: string;
phone: string;
companyName: string;
createDate?: Date;
status?: MetaMemberStatus;
}
export default Member;

View File

@@ -0,0 +1,6 @@
export enum MemberStatus {
NOAUTH = 1,
NORMAL = 2,
DORMANCY = 3,
WITHDRAWAL = 4,
}

View File

@@ -0,0 +1,41 @@
import Service from '@overflow/commons/api/Service';
import Member from '../model/Member';
export class MemberService extends Service {
public constructor() {
super('MemberService');
}
public signin(signinId: string, signinPw: string): Promise<Member> {
return new Promise<Member>(resolve => {
const json = this.send('signin', [signinId, signinPw]);
let member: Member;
// member = ........(json);
resolve(member);
});
}
public signout(member: Member): Member {
return null;
}
public signup(member: Member): Member {
return null;
}
public read(id: number): Member {
return null;
}
public withdrawal(id: number): Member {
return null;
}
}
export default MemberService;

View File

View File

@@ -0,0 +1,32 @@
import { connect, Dispatch } from 'react-redux';
import {
Signin,
Props as SigninProps,
State as SigninState,
} from './components/Signin';
import State from '../redux/state/Signin';
import * as signinActions from '../redux/action/signin';
export function mapStateToProps(state: any): SigninProps {
return {
isSignin: state.member.signin.isAuthenticated,
};
}
export function mapDispatchToProps(dispatch: Dispatch<any>): SigninProps {
return {
onSignin: (signinId: string, signinPw: string) => {
dispatch(signinActions.request(signinId, signinPw));
},
onSignup: () => {
return;
},
onResetPassword: () => {
return;
},
};
}
export default connect(mapStateToProps, mapDispatchToProps)(Signin);

View File

@@ -0,0 +1,93 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import {
Dialog,
Divider,
FlatButton,
MenuItem,
Paper,
RaisedButton,
SelectField,
Slider,
TextField,
} from 'material-ui';
export interface Props {
isSignin?: boolean;
onSignin?: (signinId: string, signinPw: string) => void;
onSignup?: () => void;
onResetPassword?: () => void;
}
export interface State {
signinId: string;
signinPw: string;
}
export class Signin extends React.Component<Props, State> {
public static defaultProps: Partial<Props> = {
onSignin: (signinId: string, signinPw: string): void => {
console.log('onSignin');
},
onSignup: (): void => {
console.log('onSignup');
},
onResetPassword: (): void => {
console.log('onResetPassword');
},
};
public constructor(props: Props, context: State) {
super(props, context);
this.state = {
signinId: '',
signinPw: '',
};
}
public render(): JSX.Element {
return (this.props.isSignin ? <div>Signed</div> :
<div>
<TextField
hintText='smith@gmail.com'
floatingLabelText='Email address*'
errorText=''
underlineShow={true}
value={this.state.signinId}
onChange={(e, newValue) => this.setState({ signinId: newValue })}
/>
<br />
<TextField
hintText='Password'
floatingLabelText='Password'
type='password'
value={this.state.signinPw}
onChange={(e, newValue) => this.setState({ signinPw: newValue })}
/>
<br />
<RaisedButton
label='Sign In'
primary={true}
onClick={(e) => this.props.onSignin(this.state.signinId, this.state.signinPw)}
/>
<RaisedButton
label='Sign Up'
primary={false}
onClick={this.props.onSignup}
/>
<RaisedButton
label='Reset Password'
primary={false}
onClick={this.props.onResetPassword}
/>
</div>
);
}
}
export default Signin;

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,42 @@
import Action from '@overflow/commons/redux/Action';
import Member from '@overflow/member/api/model/Member';
import SigninPayload from '../payload/SigninPayload';
// Action Type
export type REQUEST = '@overflow/member/signin/REQUEST';
export type REQUEST_SUCCESS = '@overflow/member/signin/REQUEST_SUCCESS';
export type REQUEST_FAILURE = '@overflow/member/signin/REQUEST_FAILURE';
export const REQUEST: REQUEST = '@overflow/member/signin/REQUEST';
export const REQUEST_SUCCESS: REQUEST_SUCCESS = '@overflow/member/signin/REQUEST_SUCCESS';
export const REQUEST_FAILURE: REQUEST_FAILURE = '@overflow/member/signin/REQUEST_FAILURE';
// Action Creater
export type request = (signinId: string, signinPw: string) => Action<SigninPayload>;
export type requestSuccess = (member: Member) => Action<Member>;
export type requestFailure = (error: Error) => Action;
export const request: request = (signinId: string, signinPw: string): Action<SigninPayload> => {
return {
type: REQUEST,
payload: {
signinId: signinId,
signinPw: signinPw,
},
};
};
export const requestSuccess: requestSuccess = (member: Member): Action<Member> => {
return {
type: REQUEST_SUCCESS,
payload: member,
};
};
export const requestFailure: requestFailure = (error: Error): Action => {
return {
type: REQUEST_FAILURE,
error: error,
};
};

View File

@@ -0,0 +1,34 @@
import Action from '@overflow/commons/redux/Action';
// Action Type
export type REQUEST = '@overflow/member/signout/REQUEST';
export type REQUEST_SUCCESS = '@overflow/member/signout/REQUEST_SUCCESS';
export type REQUEST_FAILURE = '@overflow/member/signout/REQUEST_FAILURE';
export const REQUEST: REQUEST = '@overflow/member/signout/REQUEST';
export const REQUEST_SUCCESS: REQUEST_SUCCESS = '@overflow/member/signout/REQUEST_SUCCESS';
export const REQUEST_FAILURE: REQUEST_FAILURE = '@overflow/member/signout/REQUEST_FAILURE';
// Action Creater
export type request = () => Action;
export type requestSuccess = () => Action;
export type requestFailure = (error: Error) => Action;
export const request: request = (): Action => {
return {
type: REQUEST,
};
};
export const requestSuccess: requestSuccess = (): Action => {
return {
type: REQUEST_SUCCESS,
};
};
export const requestFailure: requestFailure = (error: Error): Action => {
return {
type: REQUEST_FAILURE,
error: error,
};
};

View File

@@ -0,0 +1,39 @@
import Action from '@overflow/commons/redux/Action';
import Member from '@overflow/member/api/model/Member';
import SigninPayload from '../payload/SigninPayload';
// Action Type
export type REQUEST = '@overflow/member/signup/REQUEST';
export type REQUEST_SUCCESS = '@overflow/member/signup/REQUEST_SUCCESS';
export type REQUEST_FAILURE = '@overflow/member/signup/REQUEST_FAILURE';
export const REQUEST: REQUEST = '@overflow/member/signup/REQUEST';
export const REQUEST_SUCCESS: REQUEST_SUCCESS = '@overflow/member/signup/REQUEST_SUCCESS';
export const REQUEST_FAILURE: REQUEST_FAILURE = '@overflow/member/signup/REQUEST_FAILURE';
// Action Creater
export type request = (member: Member) => Action<Member>;
export type requestSuccess = (member: Member) => Action<Member>;
export type requestFailure = (error: Error) => Action;
export const request: request = (member: Member): Action<Member> => {
return {
type: REQUEST,
payload: member,
};
};
export const requestSuccess: requestSuccess = (member: Member): Action<Member> => {
return {
type: REQUEST_SUCCESS,
payload: member,
};
};
export const requestFailure: requestFailure = (error: Error): Action => {
return {
type: REQUEST_FAILURE,
error: error,
};
};

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,6 @@
interface SigninPayload {
signinId: string;
signinPw: string;
}
export default SigninPayload;

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,29 @@
import Action from '@overflow/commons/redux/Action';
import Member from '@overflow/member/api/model/Member';
import * as SigninActionTypes from '../action/signin';
import SigninState, { defaultState as signinDefaultState } from '../state/Signin';
export type reducer = (state: SigninState, action: Action<Member | Error>) => SigninState;
export const reducer: reducer = (state: SigninState = signinDefaultState, action: Action<Member | Error>): SigninState => {
switch (action.type) {
case SigninActionTypes.REQUEST_SUCCESS:
{
let member = (<Action<Member>>action).payload;
const aaa: SigninState = {
...state,
isAuthenticated: true,
};
return aaa;
}
case SigninActionTypes.REQUEST_FAILURE:
{
return state;
}
default:
return state;
}
};

View File

@@ -0,0 +1,27 @@
import Action from '@overflow/commons/redux/Action';
import Member from '@overflow/member/api/model/Member';
import * as SignoutActionTypes from '../action/signout';
import SigninState, { defaultState as signinDefaultState } from '../state/Signin';
export type reducer = (state: SigninState, action: Action) => SigninState;
export const reducer: reducer = (state: SigninState = signinDefaultState, action: Action): SigninState => {
switch (action.type) {
case SignoutActionTypes.REQUEST_SUCCESS:
{
const aaa: SigninState = {
...state,
isAuthenticated: true,
};
return aaa;
}
case SignoutActionTypes.REQUEST_FAILURE:
{
return state;
}
default:
return state;
}
};

View File

@@ -0,0 +1,29 @@
import Action from '@overflow/commons/redux/Action';
import Member from '@overflow/member/api/model/Member';
import * as SignupActionTypes from '../action/signup';
import SignupState, { defaultState as signupDefaultState } from '../state/Signup';
export type reducer = (state: SignupState, action: Action<Member | Error>) => SignupState;
export const reducer: reducer = (state: SignupState = signupDefaultState, action: Action<Member | Error>): SignupState => {
switch (action.type) {
case SignupActionTypes.REQUEST_SUCCESS:
{
let member = (<Action<Member>>action).payload;
const aaa: SignupState = {
...state,
isRegistered: true,
};
return aaa;
}
case SignupActionTypes.REQUEST_FAILURE:
{
return state;
}
default:
return state;
}
};

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,39 @@
import { SagaIterator } from 'redux-saga';
import { call, Effect, fork, put, takeLatest } from 'redux-saga/effects';
import AppContext from '@overflow/commons/context';
import Action from '@overflow/commons/redux/Action';
import Member from '../../api/model/Member';
import MemberService from '../../api/service/MemberService';
import * as SigninActions from '../action/signin';
import SigninPayload from '../payload/SigninPayload';
function* signin(action: Action<SigninPayload>): SagaIterator {
try {
const {signinId, signinPw} = action.payload;
// yield put({
// type: types.SENDING_REQUEST,
// payload: {sendingRequest: true},
// });
const member = yield call(AppContext.getService<MemberService>().signin, signinId, signinPw);
// if (responseBody.token === undefined) {
// throw new Error(MESSAGES.UNABLE_TO_FIND_TOKEN_IN_LOGIN_RESPONSE);
// }
yield put(SigninActions.requestSuccess(member));
} catch (e) {
yield put(SigninActions.requestFailure(e));
} finally {
// yield put({
// type: types.SENDING_REQUEST,
// payload: {sendingRequest: false},
// });
}
}
export function* watchSignin(): SagaIterator {
yield takeLatest(SigninActions.REQUEST, signin);
}

View File

@@ -0,0 +1,27 @@
import Action from '@overflow/commons/redux/Action';
import Member from '@overflow/member/api/model/Member';
import SignoutActionTypes from '../action/signout';
import SigninState, { defaultState as signinDefaultState } from '../state/Signin';
export type reducer = (state: SigninState, action: Action) => SigninState;
export const reducer: reducer = (state: SigninState = signinDefaultState, action: Action): SigninState => {
switch (action.type) {
case SignoutActionTypes.REQUEST_SUCCESS:
{
const aaa: SigninState = {
...state,
isAuthenticated: true,
};
return aaa;
}
case SignoutActionTypes.REQUEST_FAILURE:
{
return state;
}
default:
return state;
}
};

View File

@@ -0,0 +1,29 @@
import Action from '@overflow/commons/redux/Action';
import Member from '@overflow/member/api/model/Member';
import SignupActionTypes from '../action/signup';
import SignupState, { defaultState as signupDefaultState } from '../state/Signup';
export type reducer = (state: SignupState, action: Action<Member | Error>) => SignupState;
export const reducer: reducer = (state: SignupState = signupDefaultState, action: Action<Member | Error>): SignupState => {
switch (action.type) {
case SignupActionTypes.REQUEST_SUCCESS:
{
let member = (<Action<Member>>action).payload;
const aaa: SignupState = {
...state,
isRegistered: true,
};
return aaa;
}
case SignupActionTypes.REQUEST_FAILURE:
{
return state;
}
default:
return state;
}
};

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,13 @@
import Member from '../../api/model/Member';
export interface State {
readonly isAuthenticated: boolean;
readonly error?: Error;
}
export const defaultState: State = {
isAuthenticated: undefined,
error: undefined,
};
export default State;

View File

@@ -0,0 +1,3 @@
/**
* Created by geek on 17. 7. 3.
*/

View File

@@ -0,0 +1,15 @@
import Member from '../../api/model/Member';
export interface State {
readonly isRegistered: boolean;
readonly member?: Member;
readonly error?: Error;
}
export const defaultState: State = {
isRegistered: undefined,
member: undefined,
error: undefined,
};
export default State;