Skip to content

Commit 6f75152

Browse files
committed
add cdn purge on logo uploads
1 parent adeb9d0 commit 6f75152

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ gem 'elasticsearch-persistence'
2525
gem 'elasticsearch-rails'
2626
gem 'faraday', '~> 1.10', '>= 1.10.5'
2727
gem 'figaro'
28+
gem 'fastly'
2829
gem 'fog-aws'
2930
gem 'font_awesome5_rails'
3031
gem 'formtastic'

app/controllers/services_controller.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ def update
116116
logo = params[:service][:logo]
117117
if logo
118118
if uploader.store!(logo)
119+
purge_logo_cdn(@service.id)
119120
flash[:notice] = 'Uploaded logo!'
120121
redirect_to service_path(@service)
121122
else
@@ -152,13 +153,21 @@ def destroy
152153
def handle_logo(uploader, logo, service)
153154
puts 'Uploaded image'
154155
if uploader.store!(logo)
156+
purge_logo_cdn(service.id)
155157
flash[:notice] = 'Created service with logo!'
156158
else
157159
flash[:alert] = 'Uploading the logo failed!'
158160
end
159161
redirect_to service_path(service)
160162
end
161163

164+
def purge_logo_cdn(service_id)
165+
return unless ENV['FASTLY_API_KEY'].present? && ENV['S3_CDN'].present?
166+
167+
fastly = Fastly.new(api_key: ENV['FASTLY_API_KEY'])
168+
fastly.purge("#{ENV['S3_CDN']}/#{service_id}.png")
169+
end
170+
162171
def build_quote(point)
163172
document = Document.find(params[:document_id])
164173
point.document = document

0 commit comments

Comments
 (0)