Initial commit

This commit is contained in:
Senad Uka
2022-03-23 05:44:42 +01:00
parent 1405281a5c
commit eea10dd03b
113 changed files with 3617 additions and 81 deletions

View File

@@ -0,0 +1,46 @@
# frozen_string_literal: true
require_relative '../log/loggable'
require_relative '../vendors/errors/schedule_publish_error'
module Vle
class VleVendorSchedule
include Log::Loggable
PATH = 'v1/vendor_schedule'
def initialize(vendor, player, schedule)
@vendor = vendor
@player = player
@schedule = schedule
end
def url
Vle::VleSettings.instance.scheduler_url(PATH)
end
def call(access_token)
res = Net::HTTP.post(
url,
{
vendor: @vendor,
player: @player,
schedule: @schedule
}.to_json,
{
"Authorization": "Bearer #{access_token}",
"Content-Type": 'application/json'
}
)
case res
when Net::HTTPSuccess
JSON.parse(res.body).with_indifferent_access
when Net::HTTPUnauthorized
raise Auth::Client::Errors::Unauthorized, 'Unauthorized'
else
logger.error "Error (#{res.code}) scheduling vendor content in ONEX: #{res.body}"
raise Vendors::Errors::SchedulePublishError
end
end
end
end