1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-22 06:39:44 +02:00

Add username to user

This commit is contained in:
Maksim Eltyshev 2020-04-03 00:35:25 +05:00
parent 1320c697db
commit ce1e1f741d
143 changed files with 1051 additions and 420 deletions

View file

@ -20,6 +20,15 @@ const DEFAULT_PASSWORD_UPDATE_FORM = {
error: null,
};
const DEFAULT_USERNAME_UPDATE_FORM = {
data: {
username: '',
currentPassword: '',
},
isSubmitting: false,
error: null,
};
export default class extends Model {
static modelName = 'User';
@ -41,6 +50,9 @@ export default class extends Model {
passwordUpdateForm: attr({
getDefault: () => DEFAULT_PASSWORD_UPDATE_FORM,
}),
usernameUpdateForm: attr({
getDefault: () => DEFAULT_USERNAME_UPDATE_FORM,
}),
};
static reducer({ type, payload }, User) {
@ -92,6 +104,18 @@ export default class extends Model {
break;
}
case ActionTypes.USER_USERNAME_UPDATE_ERROR_CLEAR: {
const userModel = User.withId(payload.id);
userModel.update({
usernameUpdateForm: {
...userModel.usernameUpdateForm,
error: null,
},
});
break;
}
case ActionTypes.USER_DELETE:
User.withId(payload.id).deleteWithRelated();
@ -167,6 +191,40 @@ export default class extends Model {
break;
}
case ActionTypes.USER_USERNAME_UPDATE_REQUESTED: {
const userModel = User.withId(payload.id);
userModel.update({
usernameUpdateForm: {
...userModel.usernameUpdateForm,
data: payload.data,
isSubmitting: true,
},
});
break;
}
case ActionTypes.USER_USERNAME_UPDATE_SUCCEEDED: {
User.withId(payload.id).update({
username: payload.username,
usernameUpdateForm: DEFAULT_USERNAME_UPDATE_FORM,
});
break;
}
case ActionTypes.USER_USERNAME_UPDATE_FAILED: {
const userModel = User.withId(payload.id);
userModel.update({
usernameUpdateForm: {
...userModel.usernameUpdateForm,
isSubmitting: false,
error: payload.error,
},
});
break;
}
case ActionTypes.USER_AVATAR_UPLOAD_REQUESTED:
User.withId(payload.id).update({
isAvatarUploading: true,