Change to disconnect_mailer route
This commit is contained in:
parent
c54150354a
commit
cbf8e446af
|
|
@ -87,6 +87,28 @@ class SettingsRepository {
|
|||
return userResponse.data;
|
||||
}
|
||||
|
||||
Future<UserEntity> disconnectOAuthMailer(
|
||||
Credentials credentials,
|
||||
String password,
|
||||
String idToken,
|
||||
String userId,
|
||||
) async {
|
||||
dynamic response;
|
||||
|
||||
final url = credentials.url +
|
||||
'/users/$userId/disconnect_mailer?include=company_user';
|
||||
response = await webClient.post(
|
||||
url,
|
||||
credentials.token,
|
||||
password: password,
|
||||
);
|
||||
|
||||
final UserItemResponse userResponse =
|
||||
serializers.deserializeWith(UserItemResponse.serializer, response);
|
||||
|
||||
return userResponse.data;
|
||||
}
|
||||
|
||||
Future<UserEntity> connectGmailUser(
|
||||
Credentials credentials,
|
||||
String password,
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ Reducer<UserCompanyEntity> userCompanyEntityReducer = combineReducers([
|
|||
..user.replace(action.user)
|
||||
..settings.replace(action.user.userCompany.settings)),
|
||||
),
|
||||
TypedReducer<UserCompanyEntity, ConnecOAuthUserSuccess>(
|
||||
TypedReducer<UserCompanyEntity, ConnectOAuthUserSuccess>(
|
||||
(userCompany, action) =>
|
||||
userCompany.rebuild((b) => b..user.replace(action.user)),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -150,9 +150,9 @@ class ConnecOAuthUserRequest implements StartSaving {
|
|||
final String accessToken;
|
||||
}
|
||||
|
||||
class ConnecOAuthUserSuccess
|
||||
class ConnectOAuthUserSuccess
|
||||
implements StopSaving, PersistData, PersistUI, UserVerifiedPassword {
|
||||
ConnecOAuthUserSuccess(this.user);
|
||||
ConnectOAuthUserSuccess(this.user);
|
||||
|
||||
final UserEntity user;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ List<Middleware<AppState>> createStoreSettingsMiddleware([
|
|||
final saveCompany = _saveCompany(repository);
|
||||
final saveAuthUser = _saveAuthUser(repository);
|
||||
final connectOAuthUser = _connectOAuthUser(repository);
|
||||
final disconnectOAuthMailer = _disconnectOAuthMailer(repository);
|
||||
final connectGmailUser = _connectGmailUser(repository);
|
||||
final saveSettings = _saveSettings(repository);
|
||||
final uploadLogo = _uploadLogo(repository);
|
||||
|
|
@ -40,6 +41,8 @@ List<Middleware<AppState>> createStoreSettingsMiddleware([
|
|||
TypedMiddleware<AppState, SaveCompanyRequest>(saveCompany),
|
||||
TypedMiddleware<AppState, SaveAuthUserRequest>(saveAuthUser),
|
||||
TypedMiddleware<AppState, ConnecOAuthUserRequest>(connectOAuthUser),
|
||||
TypedMiddleware<AppState, DisconnectOAuthMailerRequest>(
|
||||
disconnectOAuthMailer),
|
||||
TypedMiddleware<AppState, ConnecGmailUserRequest>(connectGmailUser),
|
||||
TypedMiddleware<AppState, DisableTwoFactorRequest>(disableTwoFactor),
|
||||
TypedMiddleware<AppState, SaveUserSettingsRequest>(saveSettings),
|
||||
|
|
@ -146,7 +149,7 @@ Middleware<AppState> _connectOAuthUser(SettingsRepository settingsRepository) {
|
|||
action.accessToken,
|
||||
)
|
||||
.then((user) {
|
||||
store.dispatch(ConnecOAuthUserSuccess(user));
|
||||
store.dispatch(ConnectOAuthUserSuccess(user));
|
||||
if (action.completer != null) {
|
||||
action.completer.complete();
|
||||
}
|
||||
|
|
@ -165,6 +168,38 @@ Middleware<AppState> _connectOAuthUser(SettingsRepository settingsRepository) {
|
|||
};
|
||||
}
|
||||
|
||||
Middleware<AppState> _disconnectOAuthMailer(
|
||||
SettingsRepository settingsRepository) {
|
||||
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
|
||||
final action = dynamicAction as DisconnectOAuthMailerRequest;
|
||||
|
||||
settingsRepository
|
||||
.disconnectOAuthMailer(
|
||||
store.state.credentials,
|
||||
action.password,
|
||||
action.idToken,
|
||||
action.user.id,
|
||||
)
|
||||
.then((user) {
|
||||
store.dispatch(DisconnectOAuthMailerSuccess(user));
|
||||
if (action.completer != null) {
|
||||
action.completer.complete();
|
||||
}
|
||||
}).catchError((Object error) {
|
||||
print(error);
|
||||
store.dispatch(DisconnectOAuthMailerFailure(error));
|
||||
if ('$error'.contains('412')) {
|
||||
store.dispatch(UserUnverifiedPassword());
|
||||
}
|
||||
if (action.completer != null) {
|
||||
action.completer.completeError(error);
|
||||
}
|
||||
});
|
||||
|
||||
next(action);
|
||||
};
|
||||
}
|
||||
|
||||
Middleware<AppState> _connectGmailUser(SettingsRepository settingsRepository) {
|
||||
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
|
||||
final action = dynamicAction as ConnecGmailUserRequest;
|
||||
|
|
|
|||
|
|
@ -98,7 +98,13 @@ Reducer<SettingsUIState> settingsUIReducer = combineReducers([
|
|||
..origUser.replace(action.user)
|
||||
..isChanged = false);
|
||||
}),
|
||||
TypedReducer<SettingsUIState, ConnecOAuthUserSuccess>((state, action) {
|
||||
TypedReducer<SettingsUIState, ConnectOAuthUserSuccess>((state, action) {
|
||||
return state.rebuild((b) => b
|
||||
..user.replace(action.user)
|
||||
..origUser.replace(action.user)
|
||||
..isChanged = false);
|
||||
}),
|
||||
TypedReducer<SettingsUIState, DisconnectOAuthMailerSuccess>((state, action) {
|
||||
return state.rebuild((b) => b
|
||||
..user.replace(action.user)
|
||||
..origUser.replace(action.user)
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ ListUIState _clearListMultiselect(
|
|||
final usersReducer = combineReducers<UserState>([
|
||||
TypedReducer<UserState, SaveUserSuccess>(_updateUser),
|
||||
TypedReducer<UserState, SaveAuthUserSuccess>(_updateAuthUser),
|
||||
TypedReducer<UserState, ConnecOAuthUserSuccess>(_connectOAuthUser),
|
||||
TypedReducer<UserState, ConnectOAuthUserSuccess>(_connectOAuthUser),
|
||||
TypedReducer<UserState, ConnecGmailUserSuccess>(_connectGmailUser),
|
||||
TypedReducer<UserState, AddUserSuccess>(_addUser),
|
||||
TypedReducer<UserState, LoadUsersSuccess>(_setLoadedUsers),
|
||||
|
|
@ -252,7 +252,7 @@ UserState _updateAuthUser(UserState userState, SaveAuthUserSuccess action) {
|
|||
}
|
||||
|
||||
UserState _connectOAuthUser(
|
||||
UserState userState, ConnecOAuthUserSuccess action) {
|
||||
UserState userState, ConnectOAuthUserSuccess action) {
|
||||
return userState.rebuild((b) => b..map[action.user.id] = action.user);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue