Allow requests from shortcuts

This commit is contained in:
2023-04-25 17:21:22 +10:00
parent adc62099aa
commit cbca77096d
2 changed files with 13 additions and 5 deletions

View File

@@ -1,3 +1,4 @@
require "pry"
module Adamantium
module Actions
module Workouts
@@ -6,10 +7,17 @@ module Adamantium
def handle(req, res)
tempfile = Tempfile.new(%w/path .gpx/)
tempfile.write req.params[:file][:tempfile]
if req.params.to_h.dig(:file, :tempfile) != nil
tempfile.write req.params[:file][:tempfile].read
else
tempfile.write req.params[:file]
end
tempfile.rewind
gpxfile = gpx_parser.call(file: tempfile)
gpxfile = gpx_parser.call(path: tempfile.path)
if gpxfile.success?
create.call(**gpxfile.value!)

View File

@@ -9,9 +9,9 @@ module Adamantium
class GpxParser
include Dry::Monads[:result]
def call(file:)
gpxfile = GeoRuby::Gpx4r::GpxFile.open(file.path)
gpx = GPX::GPXFile.new(gpx_file: file.path)
def call(path:)
gpxfile = GeoRuby::Gpx4r::GpxFile.open(path)
gpx = GPX::GPXFile.new(gpx_file: path)
x = gpxfile.as_line_string.points.flat_map { |p| p.x }
y = gpxfile.as_line_string.points.flat_map { |p| p.y }