gitlab-org--gitlab-foss/app/services/users/upsert_credit_card_validation_service.rb

20 lines
722 B
Ruby

# frozen_string_literal: true
module Users
class UpsertCreditCardValidationService < BaseService
def initialize(params)
@params = params.to_h.with_indifferent_access
end
def execute
::Users::CreditCardValidation.upsert(@params)
ServiceResponse.success(message: 'CreditCardValidation was set')
rescue ActiveRecord::InvalidForeignKey, ActiveRecord::NotNullViolation => e
ServiceResponse.error(message: "Could not set CreditCardValidation: #{e.message}")
rescue StandardError => e
Gitlab::ErrorTracking.track_exception(e, params: @params, class: self.class.to_s)
ServiceResponse.error(message: "Could not set CreditCardValidation: #{e.message}")
end
end
end