feat(privacy): Add privacy settings

This commit is contained in:
Bouncey
2018-09-18 09:36:20 +01:00
committed by Stuart Taylor
parent 83b74d14f3
commit 3a98e3cfa3
10 changed files with 365 additions and 24 deletions

View File

@@ -9,11 +9,14 @@ import {
submitNewAboutComplete,
submitNewAboutError,
submitNewUsernameComplete,
submitNewUsernameError
submitNewUsernameError,
submitProfileUIComplete,
submitProfileUIError
} from './';
import {
getUsernameExists,
putUpdateMyAbout,
putUpdateMyProfileUI,
putUpdateMyUsername,
putUpdateUserFlag
} from '../../utils/ajax';
@@ -39,6 +42,16 @@ function* submitNewUsernameSaga({ payload: username }) {
}
}
function* sumbitProfileUISaga({ payload }) {
try {
const { data: response } = yield call(putUpdateMyProfileUI, payload);
yield put(submitProfileUIComplete({ ...response, payload }));
yield put(createFlashMessage(response));
} catch (e) {
yield put(submitProfileUIError);
}
}
function* updateUserFlagSaga({ payload: update }) {
try {
const { data: response } = yield call(putUpdateUserFlag, update);
@@ -66,6 +79,7 @@ export function createSettingsSagas(types) {
takeEvery(types.updateUserFlag, updateUserFlagSaga),
takeLatest(types.submitNewAbout, submitNewAboutSaga),
takeLatest(types.submitNewUsername, submitNewUsernameSaga),
takeLatest(types.validateUsername, validateUsernameSaga)
takeLatest(types.validateUsername, validateUsernameSaga),
takeLatest(types.submitProfileUI, sumbitProfileUISaga)
];
}