diff options
Diffstat (limited to 'app/services/gpg_keys/create_service.rb')
-rw-r--r-- | app/services/gpg_keys/create_service.rb | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/app/services/gpg_keys/create_service.rb b/app/services/gpg_keys/create_service.rb index ab8b12732d7..c061c92df3e 100644 --- a/app/services/gpg_keys/create_service.rb +++ b/app/services/gpg_keys/create_service.rb @@ -3,15 +3,25 @@ module GpgKeys class CreateService < Keys::BaseService def execute - key = create(params) + key = user.gpg_keys.build(params) + + return key unless validate(key) + + create(key) + notification_service.new_gpg_key(key) if key.persisted? key end private - def create(params) - user.gpg_keys.create(params) + def validate(key) + GpgKeys::ValidateIntegrationsService.new(key).execute + end + + def create(key) + key.save + key end end end |