feat(about): Submit new 'about' settings
This commit is contained in:
@@ -4,13 +4,38 @@ import { call, put, takeLatest } from 'redux-saga/effects';
|
||||
import {
|
||||
validateUsernameComplete,
|
||||
validateUsernameError,
|
||||
submitNewAboutComplete,
|
||||
submitNewAboutError,
|
||||
submitNewUsernameComplete,
|
||||
submitNewUsernameError
|
||||
} from './';
|
||||
|
||||
import { getUsernameExists, putUpdateMyUsername } from '../../utils/ajax';
|
||||
import {
|
||||
getUsernameExists,
|
||||
putUpdateMyAbout,
|
||||
putUpdateMyUsername
|
||||
} from '../../utils/ajax';
|
||||
import { createFlashMessage } from '../../components/Flash/redux';
|
||||
|
||||
function* submitNewAboutSaga({ payload }) {
|
||||
try {
|
||||
const { data: response } = yield call(putUpdateMyAbout, payload);
|
||||
yield put(submitNewAboutComplete({ ...response, payload }));
|
||||
yield put(createFlashMessage(response));
|
||||
} catch (e) {
|
||||
yield put(submitNewAboutError(e));
|
||||
}
|
||||
}
|
||||
|
||||
function* submitNewUsernameSaga({ payload: username }) {
|
||||
try {
|
||||
const { data: response } = yield call(putUpdateMyUsername, username);
|
||||
yield put(submitNewUsernameComplete({ ...response, username }));
|
||||
yield put(createFlashMessage(response));
|
||||
} catch (e) {
|
||||
yield put(submitNewUsernameError(e));
|
||||
}
|
||||
}
|
||||
|
||||
function* validateUsernameSaga({ payload }) {
|
||||
try {
|
||||
yield delay(500);
|
||||
@@ -23,19 +48,10 @@ function* validateUsernameSaga({ payload }) {
|
||||
}
|
||||
}
|
||||
|
||||
function* submitNEwUswernameSaga({ payload: username }) {
|
||||
try {
|
||||
const { data: response } = yield call(putUpdateMyUsername, username);
|
||||
yield put(submitNewUsernameComplete({...response, username}));
|
||||
yield put(createFlashMessage(response));
|
||||
} catch (e) {
|
||||
yield put(submitNewUsernameError(e));
|
||||
}
|
||||
}
|
||||
|
||||
export function createSettingsSagas(types) {
|
||||
return [
|
||||
takeLatest(types.validateUsername, validateUsernameSaga),
|
||||
takeLatest(types.submitNewUsername, submitNEwUswernameSaga)
|
||||
takeLatest(types.submitNewAbout, submitNewAboutSaga),
|
||||
takeLatest(types.submitNewUsername, submitNewUsernameSaga),
|
||||
takeLatest(types.validateUsername, validateUsernameSaga)
|
||||
];
|
||||
}
|
||||
|
Reference in New Issue
Block a user