# -*- encoding: utf-8 -*- module SendGrid4r::REST module Stats # # SendGrid Web API v3 Stats - Subuser # module Subuser include Request def self.url(subuser_name = nil, aggregate = nil) url = "#{BASE_URL}/subusers" if subuser_name.nil? url = "#{url}/stats" else url = "#{url}/#{subuser_name}/stats" end url = "#{url}/#{aggregate}" unless aggregate.nil? url end def get_subusers_stats( start_date:, end_date: nil, aggregated_by: nil, subusers:, &block) params = { start_date: start_date, end_date: end_date, aggregated_by: aggregated_by, subusers: subusers } resp = get(@auth, Subuser.url, params, &block) finish(resp, @raw_resp) { |r| Stats.create_top_stats(r) } end def get_subusers_stats_sums( start_date:, end_date: nil, sort_by_metric: nil, sort_by_direction: nil, limit: nil, offset: nil, &block) params = { start_date: start_date, end_date: end_date, sort_by_metric: sort_by_metric, sort_by_direction: sort_by_direction, limit: limit, offset: offset } resp = get(@auth, Subuser.url(nil, :sums), params, &block) finish(resp, @raw_resp) { |r| Stats.create_top_stat(r) } end def get_subusers_stats_monthly( date:, subuser: nil, sort_by_metric: nil, sort_by_direction: nil, limit: nil, offset: nil, &block) params = { date: date, subuser: subuser, sort_by_metric: sort_by_metric, sort_by_direction: sort_by_direction, limit: limit, offset: offset } resp = get(@auth, Subuser.url(nil, :monthly), params, &block) finish(resp, @raw_resp) { |r| Stats.create_top_stat(r) } end def get_subuser_stats_monthly( subuser_name:, date:, sort_by_metric: nil, sort_by_direction: nil, limit: nil, offset: nil, &block) params = { date: date, sort_by_metric: sort_by_metric, sort_by_direction: sort_by_direction, limit: limit, offset: offset } resp = get(@auth, Subuser.url(subuser_name, :monthly), params, &block) finish(resp, @raw_resp) { |r| Stats.create_top_stat(r) } end end end end