Browse Source

비밀번호 변경(임시본)

feature/auth
sanguu 2 years ago
parent
commit
5229b2f50d
  1. 8
      src/components/account/mypage/AccountMypagePwForm.js
  2. 4
      src/containers/account/mypage/AccountMypageContainer.js
  3. 4
      src/modules/account/login/actions/authAction.ts
  4. 6
      src/modules/account/login/apis/authApi.ts
  5. 7
      src/modules/account/login/models/authModel.ts
  6. 7
      src/modules/account/login/reducers/authReducer.ts
  7. 28
      src/modules/account/login/sagas/authSaga.ts
  8. 2
      src/modules/basis/dron/sagas/basisDronSaga.ts

8
src/components/account/mypage/AccountMypagePwForm.js

@ -23,17 +23,16 @@ import { pwUpdateAction } from '../../../modules/account/login/actions/authActio
.matches(
/^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[@$!%*#?&])[A-Za-z0-9@$!%*#?&]{8,20}$/,
'8자 이상, 20자 미만 영문자/숫자/특수문자(@$!%*#?&) 조합하여 입력해주세요.'),
pswdCheck: yup
newPswdConfirm: yup
.string()
.required('비밀번호 확인을 입력해 주세요.')
.oneOf([yup.ref('newPswd'), null], '비밀번호가 일치하지 않습니다.')
});
const AccountMypagePwForm = ({user}) => {
const { register,errors,handleSubmit } = useForm({
defaultValues: {
cstmrSno: user.cstmrSno,
cstmrSno:user.cstmrSno,
userPswd: '',
newPswd: '',
newPswdConfirm: ''
@ -43,6 +42,7 @@ const AccountMypagePwForm = ({user}) => {
const dispatch = useDispatch();
const onSubmit = data => {
console.log("sdds",data);
dispatch(pwUpdateAction.request(data));
}
// const res = await pwAPI.register({
@ -75,7 +75,7 @@ const AccountMypagePwForm = ({user}) => {
<Col className='list-input' md='3' sm='12'>
<FormGroup>
<Label for='newPswdConfirm'>새로운 비밀번호 확인</Label>
<Input type='password' id='newPswdConfirm'innerRef={register} name="pswdCheck"size='sm' autocomplete='off' placeholder='' className={classnames({'is-invalid': errors.newPswdConfirm})} />
<Input type='password' id='newPswdConfirm'innerRef={register} name="newPswdConfirm"size='sm' autocomplete='off' placeholder='' className={classnames({'is-invalid': errors.newPswdConfirm})} />
{errors && errors.newPswdConfirm && (
<FormFeedback>{errors.newPswdConfirm.message} </FormFeedback>
)}

4
src/containers/account/mypage/AccountMypageContainer.js

@ -26,9 +26,11 @@ const AccountMypageContainer = () => {
const [formModal, setFormModal] = useState(false)
const { userPage } = useSelector(state => state.UserPageState);
const { user } = useSelector(state => state.authState);
const [userInfo, setUserInfo] = useState();
const { userpw } = useSelector(state => state.authState);
const [userInfo, setUserInfo] = useState();
console.log("data>>>>",userpw);
useEffect(() => {
setUserInfo(userPage)
}, [userPage])

4
src/modules/account/login/actions/authAction.ts

@ -1,6 +1,6 @@
import { AxiosError } from 'axios';
import { ActionType, createAsyncAction } from 'typesafe-actions';
import { TokenAccount, UserAccount, UserData, UserPageData } from '../models/authModel';
import { TokenAccount, UserAccount,UserPw, UserData, UserPageData } from '../models/authModel';
const USERS_LOGIN_REQUEST = 'auth/USERS_LOGIN_REQUEST';
const USERS_LOGIN_SUCCESS = 'auth/USERS_LOGIN_SUCCESS';
@ -68,7 +68,7 @@ export const pwUpdateAction = createAsyncAction(
USERS_PWUPDATE_REQUEST,
USERS_PWUPDATE_SUCCESS,
USERS_PWUPDATE_FAILURE
)<UserPageData, UserData, AxiosError>();
)<UserPw, UserPw, AxiosError>();
const actions = {
login,

6
src/modules/account/login/apis/authApi.ts

@ -1,5 +1,5 @@
import axios from '../../../utils/customAxiosUtil';
import { ResponseUser, UserAccount, TokenAccount, UserPageData } from '../models/authModel';
import { ResponseUser, UserAccount, TokenAccount, UserPageData,UserPw } from '../models/authModel';
import qs from 'qs';
@ -26,8 +26,8 @@ export const authAPI = {
const res = await axios.put('api/acnt/cstmr/update', data);
return res;
},
pwupdate: async (data: UserPageData) => {
return await axios.post('api/acnt/cstmr/register', data);
pwupdate: async (data: UserPw) => {
return await axios.post('api/acnt/cstmr/profile/pswdupdate', data);
},
}

7
src/modules/account/login/models/authModel.ts

@ -70,6 +70,13 @@ export interface UserPageData {
hpno: string;
userId: string;
}
export interface UserPw{
cstmrSno:string;
userPswd:string;
newPswd:string;
newPswdConfirm:string;
}
export const initResponseUserPageData = {
userPage: undefined

7
src/modules/account/login/reducers/authReducer.ts

@ -13,7 +13,7 @@ import {
refresh
} from '../actions/authAction';
import { UserPageState, UserPageData, initResponseUserPageData, UserData } from '../models/authModel';
import { UserPageState, UserPageData, initResponseUserPageData, UserData,UserPw} from '../models/authModel';
export interface AuthState {
pageLoading: boolean;
@ -21,6 +21,7 @@ export interface AuthState {
isLogin?: boolean;
message: string;
user?: UserData;
userpw?: UserPw;
}
// reducers
@ -77,9 +78,7 @@ export const authReducer = createReducer<AuthState, AuthAction>(initialState)
})
);
export const mypageReducer = createReducer<UserPageState, AuthAction>(
initResponseUserPageData
).handleAction(userPageAction.success, (state, action) =>
export const mypageReducer = createReducer<UserPageState, AuthAction>(initResponseUserPageData).handleAction(userPageAction.success, (state, action) =>
produce(state, draft => {
const data: UserPageData = action.payload;

28
src/modules/account/login/sagas/authSaga.ts

@ -5,6 +5,12 @@ import { call, put, takeEvery } from 'redux-saga/effects';
// packages
import { ActionType } from 'typesafe-actions';
// modules
import {
DELETE_MESSAGE,
DUPLATE_MESSAGE,
ERROR_MESSAGE,
SAVE_MESSAGE
} from '../../../../configs/constants';
import * as Actions from '../actions/authAction';
import { authAPI } from '../apis/authApi';
import { LoginData } from '../models/authModel';
@ -13,7 +19,7 @@ import {
COOKIE_ACCESS_TOKEN,
COOKIE_REFRESH_TOKEN
} from '../service/cookie';
import * as MessageActions from '../../../comn/message/actions/comnMessageAction';
function* userLoginSaga(action: ActionType<typeof Actions.login.request>) {
const param = action.payload;
try {
@ -139,6 +145,24 @@ function* userPageSaga(
}
}
function* userPwSaga(
action: ActionType<typeof Actions.pwUpdateAction.request>) {
const param = action.payload;
try{
const { data,errorCode } = yield call(authAPI.pwupdate, param);
yield put(Actions.pwUpdateAction.success(data));
} catch (error) {
debugger
yield put(
MessageActions.IS_ERROR({
errorCode: ERROR_MESSAGE.code,
errorMessage: '비밀번호를 확인해주세요',
isHistoryBack: false,
isRefresh: false
})
);
}
}
// function* updateSaga(action: ActionType<typeof Actions.userupdateAction.request>) {
// try {
// const detail = action.payload;
@ -188,4 +212,6 @@ export function* authSaga() {
yield takeEvery(Actions.logout.request, userLogoutSaga);
// yield takeEvery(Actions.refresh.request, refreshTokenSaga);
yield takeEvery(Actions.userPageAction.request, userPageSaga);
yield takeEvery(Actions.pwUpdateAction.request, userPwSaga);
}

2
src/modules/basis/dron/sagas/basisDronSaga.ts

@ -185,7 +185,7 @@ function* updateSaga(action: ActionType<typeof Actions.UPDATE.request>) {
const { data } = res;
if (data.result) {
if (data.result) {
yield put(
MessageActions.IS_MESSAGE({
messageCode: SAVE_MESSAGE.code,

Loading…
Cancel
Save