Sync credentials between user, gestionnaire and administrateur account
This commit is contained in:
parent
d282d7bbea
commit
7cb2e80a3d
7 changed files with 96 additions and 12 deletions
38
app/services/sync_credentials_service.rb
Normal file
38
app/services/sync_credentials_service.rb
Normal file
|
@ -0,0 +1,38 @@
|
|||
class SyncCredentialsService
|
||||
|
||||
def initialize klass, email_was, email, encrypted_password
|
||||
@klass = klass
|
||||
@email_was = email_was
|
||||
@email = email
|
||||
@encrypted_password = encrypted_password
|
||||
end
|
||||
|
||||
def change_credentials!
|
||||
unless @klass == User
|
||||
user = User.find_by(email: @email_was)
|
||||
if user
|
||||
return user.update_columns(
|
||||
email: @email,
|
||||
encrypted_password: @encrypted_password)
|
||||
end
|
||||
end
|
||||
|
||||
unless @klass == Gestionnaire
|
||||
gestionnaire = Gestionnaire.find_by(email: @email_was)
|
||||
if gestionnaire
|
||||
return gestionnaire.update_columns(
|
||||
email: @email,
|
||||
encrypted_password: @encrypted_password)
|
||||
end
|
||||
end
|
||||
|
||||
unless @klass == Administrateur
|
||||
administrateur = Administrateur.find_by(email: @email_was)
|
||||
if administrateur
|
||||
return administrateur.update_columns(
|
||||
email: @email,
|
||||
encrypted_password: @encrypted_password)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue