require "alma_api/collection" require "json" require_relative "../users" class AlmaApi::Client::Users::Requests def initialize(client, user_id, request_id = nil) @client = client @request_id = request_id @user_id = user_id end def get(options = {}) (options = options.deep_dup).symbolize_keys!.reverse_merge!({ request_type: nil, # :HOLD, :DIGITIZATION, :BOOKING limit: 10, offset: 0, status: :active # :active, :history }) # sanitize api quirks options[:request_type] = options[:request_type].try(:to_s).try(:upcase).try(:to_sym) options[:status] = options[:status].to_s.downcase.to_sym @client.http(:get, "/v1/users/#{@user_id}/requests", options).try do |_response| if _response.status == 200 AlmaApi::Collection.new(JSON.parse(_response.body), "user_request") end end end end