Files
adamantium/app/actions/media/create.rb
2023-01-31 19:20:25 +11:00

33 lines
742 B
Ruby

module Adamantium
module Actions
module Media
class Create < Action
include Deps["commands.media.upload", "logger"]
before :authenticate!
def handle(req, res)
logger.info("I am CREATE")
data = req.params[:file]
halt 401 unless verify_scope(req: req, scope: :media)
upload.call(file: data) do |m|
m.failure do |v|
res.status = 422
end
m.success do |v|
logger.info("I have CREATED")
res.status = 201
res.headers["Location"] = v
res.body = {
url: v
}.to_json
end
end
end
end
end
end
end