mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 01:01:39 -05:00
Update owntracks points data
This commit is contained in:
parent
2b4a16d6cb
commit
a0aa684985
1 changed files with 46 additions and 17 deletions
|
|
@ -2,32 +2,61 @@
|
|||
|
||||
class AddOwntracksPointsData < ActiveRecord::Migration[7.1]
|
||||
def up
|
||||
Rails.logger.info("Updating #{Import.owntracks.count} owntracks imports points")
|
||||
|
||||
import_points = 0
|
||||
Import.owntracks.each do |import|
|
||||
import.points.each do |point|
|
||||
params = OwnTracks::Params.new(point.raw_data).call
|
||||
|
||||
point.update!(
|
||||
battery: params[:battery],
|
||||
ping: params[:ping],
|
||||
altitude: params[:altitude],
|
||||
accuracy: params[:accuracy],
|
||||
vertical_accuracy: params[:vertical_accuracy],
|
||||
velocity: params[:velocity],
|
||||
ssid: params[:ssid],
|
||||
bssid: params[:bssid],
|
||||
tracker_id: params[:tracker_id],
|
||||
inrids: params[:inrids],
|
||||
in_regions: params[:in_regions],
|
||||
topic: params[:topic],
|
||||
battery_status: params[:battery_status],
|
||||
connection: params[:connection],
|
||||
trigger: params[:trigger]
|
||||
)
|
||||
update_point(point, params)
|
||||
|
||||
import_points += 1
|
||||
end
|
||||
end
|
||||
|
||||
Rails.logger.info("#{import_points} points updated from owntracks imports")
|
||||
|
||||
# Getting points by owntracks-specific data
|
||||
points = Point.where("raw_data -> 'm' is not null and raw_data -> 'acc' is not null")
|
||||
|
||||
Rails.logger.info("Updating #{points.count} points")
|
||||
|
||||
points_updated = 0
|
||||
points.each do |point|
|
||||
params = OwnTracks::Params.new(point.raw_data).call
|
||||
|
||||
update_point(point, params)
|
||||
|
||||
points_updated += 1
|
||||
end
|
||||
|
||||
Rails.logger.info("#{points_updated} points updated")
|
||||
end
|
||||
|
||||
def down
|
||||
raise ActiveRecord::IrreversibleMigration
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def update_point(point, params)
|
||||
point.update!(
|
||||
battery: params[:battery],
|
||||
ping: params[:ping],
|
||||
altitude: params[:altitude],
|
||||
accuracy: params[:accuracy],
|
||||
vertical_accuracy: params[:vertical_accuracy],
|
||||
velocity: params[:velocity],
|
||||
ssid: params[:ssid],
|
||||
bssid: params[:bssid],
|
||||
tracker_id: params[:tracker_id],
|
||||
inrids: params[:inrids],
|
||||
in_regions: params[:in_regions],
|
||||
topic: params[:topic],
|
||||
battery_status: params[:battery_status],
|
||||
connection: params[:connection],
|
||||
trigger: params[:trigger]
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue