#!/usr/bin/env ruby

require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))

filepath = ARGV[0]
filename = (File.basename filepath).gsub(' ', '_')

sensor = Sensor.root
user = User.find_by(role: User.roles[:administrator], name: 'Administrator')

s3_config = YAML.load_file("#{Rails.root}/config/aws.yml")
s3 =
  AWS::S3.new(
    access_key_id: s3_config[Rails.env]['access_key_id'],
    secret_access_key: s3_config[Rails.env]['secret_access_key'],
    s3_endpoint: s3_config[Rails.env]['s3_host_name']
  )

obj =
  s3.buckets[s3_config[Rails.env]['bucket']]
    .objects["imports/#{filename}"]

obj.write(file: filepath)

Delayed::Job.enqueue(
  Redborder::Jobs::ImportTreeJob.new(
    true, sensor.id, filename, true, user.id
  ),
  priority: 10, run_at: Time.now
)

puts "ImportTreeJob has been enqueued."
