2019-05-02 18:17:27 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-01-31 23:40:48 -05:00
|
|
|
require "s3_inventory"
|
|
|
|
|
|
|
|
module Jobs
|
|
|
|
# if upload bucket changes or inventory bucket changes we want to update s3 bucket policy and inventory configuration
|
2019-10-02 00:01:53 -04:00
|
|
|
class UpdateS3Inventory < ::Jobs::Base
|
2019-01-31 23:40:48 -05:00
|
|
|
def execute(args)
|
2020-01-14 11:23:12 -05:00
|
|
|
unless SiteSetting.enable_s3_inventory? && SiteSetting.Upload.enable_s3_uploads &&
|
|
|
|
SiteSetting.s3_configure_inventory_policy
|
2023-01-09 07:20:10 -05:00
|
|
|
return
|
|
|
|
end
|
2019-01-31 23:40:48 -05:00
|
|
|
|
|
|
|
%i[upload optimized].each do |type|
|
|
|
|
s3_inventory = S3Inventory.new(Discourse.store.s3_helper, type)
|
|
|
|
s3_inventory.update_bucket_policy if type == :upload
|
|
|
|
s3_inventory.update_bucket_inventory_configuration
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|