Fix crashes in SuspendAccountService/UnsuspendAccountService (#15100)

* Fix crashes in SuspendAccountService/UnsuspendAccountService

* Catch filesystem errors
This commit is contained in:
ThibG 2020-11-07 13:16:54 +01:00 committed by GitHub
parent f84239ecab
commit ee8cf246cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

View File

@ -39,11 +39,15 @@ class SuspendAccountService < BaseService
styles.each do |style| styles.each do |style|
case Paperclip::Attachment.default_options[:storage] case Paperclip::Attachment.default_options[:storage]
when :s3 when :s3
attachment.s3_object(style).acl.put(:private) attachment.s3_object(style).acl.put(acl: 'private')
when :fog when :fog
# Not supported # Not supported
when :filesystem when :filesystem
FileUtils.chmod(0o600 & ~File.umask, attachment.path(style)) begin
FileUtils.chmod(0o600 & ~File.umask, attachment.path(style)) unless attachment.path(style).nil?
rescue Errno::ENOENT
Rails.logger.warn "Tried to change permission on non-existent file #{attachment.path(style)}"
end
end end
end end
end end

View File

@ -39,11 +39,15 @@ class UnsuspendAccountService < BaseService
styles.each do |style| styles.each do |style|
case Paperclip::Attachment.default_options[:storage] case Paperclip::Attachment.default_options[:storage]
when :s3 when :s3
attachment.s3_object(style).acl.put(Paperclip::Attachment.default_options[:s3_permissions]) attachment.s3_object(style).acl.put(acl: Paperclip::Attachment.default_options[:s3_permissions])
when :fog when :fog
# Not supported # Not supported
when :filesystem when :filesystem
FileUtils.chmod(0o666 & ~File.umask, attachment.path(style)) begin
FileUtils.chmod(0o666 & ~File.umask, attachment.path(style)) unless attachment.path(style).nil?
rescue Errno::ENOENT
Rails.logger.warn "Tried to change permission on non-existent file #{attachment.path(style)}"
end
end end
end end
end end