Browse Source

[Redux] /account/find 네이밍 규칙 적용

master
junh_eee(이준희) 8 months ago
parent
commit
5f259160f3
  1. 4
      src/components/account/find/AccountFindPassword.js
  2. 6
      src/components/account/find/AccountFindUserId.js
  3. 16
      src/modules/account/find/actions/index.ts
  4. 31
      src/modules/account/find/reducers/index.ts
  5. 38
      src/modules/account/find/sagas/index.ts
  6. 4
      src/redux/reducers/rootReducer.ts

4
src/components/account/find/AccountFindPassword.js

@ -17,7 +17,7 @@ import {
import { User, Lock } from 'react-feather';
import '../../../assets/css/custom.css';
import { accountAPI } from '../../../modules/account/register';
import { findAPI, updatePwAction } from '../../../modules/account/find';
import { findAPI, updateUserPw } from '../../../modules/account/find';
export const AccountFindPassword = props => {
const dispatch = useDispatch();
@ -259,7 +259,7 @@ export const AccountFindPassword = props => {
if (inputNewPw === inputNewPwCk && inputNewPw && inputNewPwCk) {
dispatch(
updatePwAction.request({
updateUserPw.request({
userId: inputId,
hpno: inputHpno,
newPw: inputNewPw

6
src/components/account/find/AccountFindUserId.js

@ -18,7 +18,7 @@ import { User } from 'react-feather';
import '../../../assets/css/custom.css';
import { accountAPI } from '../../../modules/account/register';
import { findAPI, findUserIdAction } from '../../../modules/account/find';
import { findAPI, findUserId } from '../../../modules/account/find';
export const AccountFindUserId = props => {
const dispatch = useDispatch();
@ -258,9 +258,7 @@ export const AccountFindUserId = props => {
//모든 인증 완료 후 확인버튼
const handlerFindId = () => {
dispatch(
findUserIdAction.request({ memberName: inputName, hpno: inputHpno })
);
dispatch(findUserId.request({ memberName: inputName, hpno: inputHpno }));
setConfirmModal(!confirmModal);
};

16
src/modules/account/find/actions/index.ts

@ -21,35 +21,35 @@ const UPDATE_USERPW_REQUEST = 'find/UPDATE_USERPW_REQUEST';
const UPDATE_USERPW_SUCCESS = 'find/UPDATE_USERPW_SUCCESS';
const UPDATE_USERPW_FAILURE = 'find/UPDATE_USERPW_FAILURE';
export const sendForIdAction = createAsyncAction(
export const sendForId = createAsyncAction(
SEND_FORID_REQUEST,
SEND_FORID_SUCCESS,
SEND_FORID_FAILURE
)<{ memberName: string; hpno: string }, string, AxiosError>();
export const findUserIdAction = createAsyncAction(
export const findUserId = createAsyncAction(
FIND_USERID_REQUEST,
FIND_USERID_SUCCESS,
FIND_USERID_FAILURE
)<{ memberName: string; hpno: string }, string, AxiosError>();
export const sendForPwAction = createAsyncAction(
export const sendForPw = createAsyncAction(
SEND_FORPW_REQUEST,
SEND_FORPW_SUCCESS,
SEND_FORPW_FAILURE
)<{ userId: string; hpno: string }, string, AxiosError>();
export const updatePwAction = createAsyncAction(
export const updateUserPw = createAsyncAction(
UPDATE_USERPW_REQUEST,
UPDATE_USERPW_SUCCESS,
UPDATE_USERPW_FAILURE
)<{ userId: string; hpno: string; newPw: string }, string, AxiosError>();
const actions = {
sendForIdAction,
findUserIdAction,
sendForPwAction,
updatePwAction
sendForId,
findUserId,
sendForPw,
updateUserPw
};
export type FindAction = ActionType<typeof actions>;

31
src/modules/account/find/reducers/index.ts

@ -4,50 +4,51 @@ import produce from 'immer';
import { createReducer } from 'typesafe-actions';
// action
import {
FindAction,
findUserIdAction,
sendForIdAction,
sendForPwAction,
updatePwAction
} from '../actions';
import * as Actions from '../actions';
// import {
// FindAction,
// findUserId,
// sendForId,
// sendForPw,
// updateUserPw
// } from '../actions';
//
export interface findState {
export interface FindState {
idResult: string | undefined;
userId: string | undefined;
pwResult: string | undefined;
udResult: string | undefined;
}
const initFindState: findState = {
const initFind: FindState = {
idResult: undefined,
userId: undefined,
pwResult: undefined,
udResult: undefined
};
export const findAccountReducer = createReducer<findState, FindAction>(
initFindState
export const findReducer = createReducer<FindState, Actions.FindAction>(
initFind
)
.handleAction(sendForIdAction.success, (state, action) =>
.handleAction(Actions.sendForId.success, (state, action) =>
produce(state, draft => {
const data = action.payload;
draft.idResult = data;
})
)
.handleAction(findUserIdAction.success, (state, action) =>
.handleAction(Actions.findUserId.success, (state, action) =>
produce(state, draft => {
const data = action.payload;
draft.userId = data;
})
)
.handleAction(sendForPwAction.success, (state, action) =>
.handleAction(Actions.sendForPw.success, (state, action) =>
produce(state, draft => {
const data = action.payload;
draft.pwResult = data;
})
)
.handleAction(updatePwAction.success, (state, action) =>
.handleAction(Actions.updateUserPw.success, (state, action) =>
produce(state, draft => {
const data = action.payload;
draft.udResult = data;

38
src/modules/account/find/sagas/index.ts

@ -5,61 +5,57 @@ import { ActionType } from 'typesafe-actions';
import * as Actions from '../actions';
import { findAPI } from '../apis';
function* sendForIdSaga(
action: ActionType<typeof Actions.sendForIdAction.request>
) {
function* sendForIdSaga(action: ActionType<typeof Actions.sendForId.request>) {
try {
const { memberName, hpno } = action.payload;
const res = yield call(findAPI.sendForId, { memberName, hpno });
yield put(Actions.sendForIdAction.success(res));
yield put(Actions.sendForId.success(res));
} catch (error: any) {
yield put(Actions.sendForIdAction.failure(error));
yield put(Actions.sendForId.failure(error));
}
}
function* findUserIdSaga(
action: ActionType<typeof Actions.findUserIdAction.request>
action: ActionType<typeof Actions.findUserId.request>
) {
try {
const { memberName, hpno } = action.payload;
const res = yield call(findAPI.getUserId, { memberName, hpno });
yield put(Actions.findUserIdAction.success(res));
yield put(Actions.findUserId.success(res));
} catch (error: any) {
yield put(Actions.findUserIdAction.failure(error));
yield put(Actions.findUserId.failure(error));
}
}
function* sendForPwSaga(
action: ActionType<typeof Actions.sendForPwAction.request>
) {
function* sendForPwSaga(action: ActionType<typeof Actions.sendForPw.request>) {
try {
const { userId, hpno } = action.payload;
const res = yield call(findAPI.sendForPw, { userId, hpno });
yield put(Actions.sendForPwAction.success(res));
yield put(Actions.sendForPw.success(res));
} catch (error: any) {
yield put(Actions.sendForPwAction.failure(error));
yield put(Actions.sendForPw.failure(error));
}
}
function* updatePwSaga(
action: ActionType<typeof Actions.updatePwAction.request>
function* updateUserPwSaga(
action: ActionType<typeof Actions.updateUserPw.request>
) {
try {
const { userId, hpno, newPw } = action.payload;
const res = yield call(findAPI.updatePw, { userId, hpno, newPw });
yield put(Actions.updatePwAction.success(res));
yield put(Actions.updateUserPw.success(res));
} catch (error: any) {
yield put(Actions.updatePwAction.failure(error));
yield put(Actions.updateUserPw.failure(error));
}
}
export function* findSaga() {
yield takeEvery(Actions.sendForIdAction.request, sendForIdSaga);
yield takeEvery(Actions.findUserIdAction.request, findUserIdSaga);
yield takeEvery(Actions.sendForPwAction.request, sendForPwSaga);
yield takeEvery(Actions.updatePwAction.request, updatePwSaga);
yield takeEvery(Actions.sendForId.request, sendForIdSaga);
yield takeEvery(Actions.findUserId.request, findUserIdSaga);
yield takeEvery(Actions.sendForPw.request, sendForPwSaga);
yield takeEvery(Actions.updateUserPw.request, updateUserPwSaga);
}

4
src/redux/reducers/rootReducer.ts

@ -8,7 +8,7 @@ import layout from './layout';
import navbar from './navbar';
import { loadingReducer } from './loading';
import { findSaga, findAccountReducer } from '../../modules/account/find';
import { findSaga, findReducer } from '../../modules/account/find';
import {
authSaga,
authReducer,
@ -83,7 +83,7 @@ const rootReducer = combineReducers({
analysisHistoryState: analysisHistoryReducer,
analysisSimulatorState: analysisSimulatorReducer,
ControlGpWeatherState: controlGpReducer,
findState: findAccountReducer,
findState: findReducer,
faqState: faqReducer,
qnaState: qnaReducer,
statisticsState: statisticsReducer

Loading…
Cancel
Save