Class: CrusadeRails::Apns::V1::PushPackageController

Inherits:
CrusadeRails::ApplicationController show all
Defined in:
app/controllers/crusade_rails/apns/v1/push_package_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/controllers/crusade_rails/apns/v1/push_package_controller.rb', line 7

def create
  unless user_subscription_service.authenticate authenticity_token
    render status: 401, nothing: true
    return
  end

  generator = Crusade::APNS::PushPackageGenerator.new Rails.application.config.crusade.apns

  Rails.logger.debug "requesting push package for user #{user_id}"
  user_token, push_package = generator.generate(user_id)

  Rails.logger.debug "registering push package #{user_id} - #{user_token}"
  subscription = user_subscription_service.register authenticity_token, user_token

  Rails.logger.debug "Generation done. sending the file"
  send_data File.read(push_package), type: 'application/zip'
end

#newObject



25
26
27
28
29
30
31
32
# File 'app/controllers/crusade_rails/apns/v1/push_package_controller.rb', line 25

def new
  user_id = crusade_config.user_id_block.call(self)
  Rails.logger.debug "generating a new user subscription for user #{user_id}"

  subscription = CrusadeRails::UserSubscriptionService.new(user_id).new_subscription

  render status: 201, json: { user_subscription: { user_id: user_id, authenticity_token: subscription.authenticity_token } }
end