class UserDevicesController < ApplicationController def create param! :app_type, String, required: true, in: UserDevice::app_types.keys param! :client_id, String, required: true param! :user_id, Integer, required: true _user_device_params = permit_user_device_params _user_device_params[:platform] ||= 'igetui' user_id = _user_device_params[:user_id] UserDevice.where(user_id: user_id).delete_all user_device = UserDevice.create!(_user_device_params) render json: { code: 0, message: "success", data: { user_device: user_device } } end def update_by_user_id param! :old_user_id, Integer, required: true param! :user_id, Integer, required: true param! :organization_id, Integer, required: true user_id = params[:user_id] old_user_id = params[:old_user_id] user_device = UserDevice.where(user_id: old_user_id).last if user_device.present? UserDevice.where(user_id: user_id).delete_all UserDevice.where(user_id: old_user_id).delete_all new_user_device = user_device.dup new_user_device.update( user_id: user_id, organization_id: params[:organization_id], created_at: Time.now, updated_at: Time.now ) end render json: { code: 0, message: "success" } end def destroy_by_user_id param! :user_id, Integer, required: true user_id = params[:user_id] UserDevice.where(user_id: user_id).delete_all render json: { code: 0, message: "success" } end private def permit_user_device_params params.permit(:platform, :device_token, :client_id, :device_model, :device_platform, :device_id, :device_version, :device_phone, :app_type, :user_id, :organization_id, :ip) end end