1
1
# frozen_string_literal: true
2
2
3
3
require_relative "../../requests"
4
- require_relative "../types/analytics_query"
5
- require_relative "../types/analytics_query_result"
6
- require "json"
7
4
require "async"
8
5
9
6
module Vapi
@@ -17,27 +14,17 @@ def initialize(request_client:)
17
14
@request_client = request_client
18
15
end
19
16
20
- # @param queries [Array<Hash>] This is the list of metric queries you want to perform.Request of type Array<Vapi::AnalyticsQuery>, as a Hash
21
- # * :table (String)
22
- # * :group_by (Array<Vapi::AnalyticsQueryGroupByItem>)
23
- # * :name (String)
24
- # * :time_range (Hash)
25
- # * :step (Vapi::TimeRangeStep)
26
- # * :start (DateTime)
27
- # * :end_ (DateTime)
28
- # * :timezone (String)
29
- # * :operations (Array<Vapi::AnalyticsOperation>)
30
17
# @param request_options [Vapi::RequestOptions]
31
- # @return [Array<Vapi::AnalyticsQueryResult> ]
18
+ # @return [Void ]
32
19
# @example
33
20
# api = Vapi::Client.new(
34
21
# base_url: "https://api.example.com",
35
22
# environment: Vapi::Environment::DEFAULT,
36
23
# token: "YOUR_AUTH_TOKEN"
37
24
# )
38
- # api.analytics.get(queries: [{ table: "call", name: "name", operations: [{ operation: SUM, column: ID }] }])
39
- def get ( queries : , request_options : nil )
40
- response = @request_client . conn . post do |req |
25
+ # api.analytics.get
26
+ def get ( request_options : nil )
27
+ @request_client . conn . post do |req |
41
28
req . options . timeout = request_options . timeout_in_seconds unless request_options &.timeout_in_seconds . nil?
42
29
req . headers [ "Authorization" ] = request_options . token unless request_options &.token . nil?
43
30
req . headers = {
@@ -48,14 +35,11 @@ def get(queries:, request_options: nil)
48
35
unless request_options . nil? || request_options &.additional_query_parameters . nil?
49
36
req . params = { **( request_options &.additional_query_parameters || { } ) } . compact
50
37
end
51
- req . body = { **( request_options &.additional_body_parameters || { } ) , queries : queries } . compact
38
+ unless request_options . nil? || request_options &.additional_body_parameters . nil?
39
+ req . body = { **( request_options &.additional_body_parameters || { } ) } . compact
40
+ end
52
41
req . url "#{ @request_client . get_url ( request_options : request_options ) } /analytics"
53
42
end
54
- parsed_json = JSON . parse ( response . body )
55
- parsed_json &.map do |item |
56
- item = item . to_json
57
- Vapi ::AnalyticsQueryResult . from_json ( json_object : item )
58
- end
59
43
end
60
44
end
61
45
@@ -69,28 +53,18 @@ def initialize(request_client:)
69
53
@request_client = request_client
70
54
end
71
55
72
- # @param queries [Array<Hash>] This is the list of metric queries you want to perform.Request of type Array<Vapi::AnalyticsQuery>, as a Hash
73
- # * :table (String)
74
- # * :group_by (Array<Vapi::AnalyticsQueryGroupByItem>)
75
- # * :name (String)
76
- # * :time_range (Hash)
77
- # * :step (Vapi::TimeRangeStep)
78
- # * :start (DateTime)
79
- # * :end_ (DateTime)
80
- # * :timezone (String)
81
- # * :operations (Array<Vapi::AnalyticsOperation>)
82
56
# @param request_options [Vapi::RequestOptions]
83
- # @return [Array<Vapi::AnalyticsQueryResult> ]
57
+ # @return [Void ]
84
58
# @example
85
59
# api = Vapi::Client.new(
86
60
# base_url: "https://api.example.com",
87
61
# environment: Vapi::Environment::DEFAULT,
88
62
# token: "YOUR_AUTH_TOKEN"
89
63
# )
90
- # api.analytics.get(queries: [{ table: "call", name: "name", operations: [{ operation: SUM, column: ID }] }])
91
- def get ( queries : , request_options : nil )
64
+ # api.analytics.get
65
+ def get ( request_options : nil )
92
66
Async do
93
- response = @request_client . conn . post do |req |
67
+ @request_client . conn . post do |req |
94
68
req . options . timeout = request_options . timeout_in_seconds unless request_options &.timeout_in_seconds . nil?
95
69
req . headers [ "Authorization" ] = request_options . token unless request_options &.token . nil?
96
70
req . headers = {
@@ -101,14 +75,11 @@ def get(queries:, request_options: nil)
101
75
unless request_options . nil? || request_options &.additional_query_parameters . nil?
102
76
req . params = { **( request_options &.additional_query_parameters || { } ) } . compact
103
77
end
104
- req . body = { **( request_options &.additional_body_parameters || { } ) , queries : queries } . compact
78
+ unless request_options . nil? || request_options &.additional_body_parameters . nil?
79
+ req . body = { **( request_options &.additional_body_parameters || { } ) } . compact
80
+ end
105
81
req . url "#{ @request_client . get_url ( request_options : request_options ) } /analytics"
106
82
end
107
- parsed_json = JSON . parse ( response . body )
108
- parsed_json &.map do |item |
109
- item = item . to_json
110
- Vapi ::AnalyticsQueryResult . from_json ( json_object : item )
111
- end
112
83
end
113
84
end
114
85
end
0 commit comments