tuist/projects/cloud/app/services/s3_client_service.rb

27 lines
612 B
Ruby

# frozen_string_literal: true
class S3ClientService < ApplicationService
attr_reader :s3_bucket
def initialize(s3_bucket:)
super()
@s3_bucket = s3_bucket
end
def call
if s3_bucket.secret_access_key.nil?
secret_access_key = DecipherService.call(
key: Base64.decode64(bucket.secret_access_key),
iv: Base64.decode64(bucket.iv),
)
else
secret_access_key = s3_bucket.secret_access_key
end
Aws::S3::Client.new(
region: s3_bucket.region,
access_key_id: s3_bucket.access_key_id,
secret_access_key: secret_access_key,
)
end
end