Class: Api::V5::Users::DevicesController

Inherits:
BaseController
  • Object
show all
Includes:
Concerns::Authorization
Defined in:
app/controllers/api/v5/users/devices_controller.rb

Overview

typed: ignore

Instance Method Summary collapse

Instance Method Details

#createObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/api/v5/users/devices_controller.rb', line 6

def create
  device = UserDevice.find_or_initialize_by(token: params.require(:firebase_instance_id), user: current_user)
  device.enable = true
  device.lat = params.fetch(:lat, nil)
  device.lng = params.fetch(:lng, nil)
  message = device.store ? nil : device.errors.full_messages.to_sentence

  update_user_location(device) if device.errors.blank?

  render json: {
    data: nil,
    success: message.blank?,
    message: message
  }
rescue ActionController::ParameterMissing => e
  render json: {
    data: nil,
    success: true,
    message: nil
  }
end

#unsubscribeObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'app/controllers/api/v5/users/devices_controller.rb', line 28

def unsubscribe
  device = UserDevice.find_by(token: params.require(:firebase_instance_id), user: current_user)
  if device.nil?
    render json: {
      data: nil,
      success: false,
      message: 'Invalid firebase instance id'
    }
    return
  end
  device.enable = false
  device.save
  render json: {
    data: nil,
    success: device.save,
    message: device.errors.full_messages.to_sentence
  }
end