Sha256: 2682f1d82918b48896548dff46cf8e500bce2921d368380ae0b30653a325630c

Contents?: true

Size: 1.94 KB

Versions: 95

Compression:

Stored size: 1.94 KB

Contents

module Caboose
  class SnsController < ApplicationController
    
    skip_before_filter :verify_authenticity_token

    # GET /admin/sns
    def admin_index      
      render :json => true
    end

    # POST /admin/sns
    def admin_add
      body = JSON.parse(request.raw_post, {symbolize_names: true})      
      if body[:Type] && body[:Type] == "SubscriptionConfirmation"
        Caboose.log("SNS Subscription SubscribeURL\n#{body[:SubscribeURL]}")
      elsif body[:Subject] == 'Amazon S3 Notification'
        msg = JSON.parse(body[:Message])
        if msg['Records']
          msg['Records'].each do |r|
            if r['eventName'] && r['eventName'].starts_with?('ObjectCreated')          
              if r['s3'] && r['s3']['object'] && r['s3']['object']['key']
                                
                key = URI.decode(r['s3']['object']['key']).gsub('+', ' ')
                Caboose.log("Processing #{key}")

                arr = key.split('_')
                media_category_id = arr.shift
                original_name = arr.join('_')  
                name = Caboose::Media.upload_name(original_name)
                                                                      
                m = Media.where(:media_category_id => media_category_id, :original_name => original_name, :name => name).first
                m = Media.create(:media_category_id => media_category_id, :original_name => original_name, :name => name, :processed => false) if m.nil?                
                m.process
      
              end
            end                  
          end
        end
      end
      render :json => true
    end
    
    # GET  /admin/sns/confirm
    # POST /admin/sns/confirm
    def admin_confirm      
      render :json => true
    end

    # PUT /admin/sns/:id
    def admin_update
      render :json => true
    end

    # DELETE /admin/sns/:id
    def admin_delete                        
      render :json => true
    end

  end
end

Version data entries

95 entries across 95 versions & 1 rubygems

Version Path
caboose-cms-0.7.85 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.84 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.83 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.82 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.81 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.80 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.79 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.78 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.77 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.76 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.75 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.74 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.73 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.72 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.71 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.70 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.69 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.68 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.67 app/controllers/caboose/sns_controller.rb
caboose-cms-0.7.66 app/controllers/caboose/sns_controller.rb