Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/users/upsert_credit_card_validation_service.rb')
-rw-r--r--app/services/users/upsert_credit_card_validation_service.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/app/services/users/upsert_credit_card_validation_service.rb b/app/services/users/upsert_credit_card_validation_service.rb
index 61cf598f178..62df676db25 100644
--- a/app/services/users/upsert_credit_card_validation_service.rb
+++ b/app/services/users/upsert_credit_card_validation_service.rb
@@ -7,8 +7,10 @@ module Users
end
def execute
+ user_id = params.fetch(:user_id)
+
@params = {
- user_id: params.fetch(:user_id),
+ user_id: user_id,
credit_card_validated_at: params.fetch(:credit_card_validated_at),
expiration_date: get_expiration_date(params),
last_digits: Integer(params.fetch(:credit_card_mask_number), 10),
@@ -16,7 +18,9 @@ module Users
holder_name: params.fetch(:credit_card_holder_name)
}
- ::Users::CreditCardValidation.upsert(@params)
+ credit_card = Users::CreditCardValidation.find_or_initialize_by_user(user_id)
+
+ credit_card.update(@params.except(:user_id))
ServiceResponse.success(message: 'CreditCardValidation was set')
rescue ActiveRecord::InvalidForeignKey, ActiveRecord::NotNullViolation => e