test_sdk 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +7 -0
  2. data/lib/core/file_utilities.rb +26 -0
  3. data/lib/environment.rb +7 -0
  4. data/lib/gemconfig.rb +14 -0
  5. data/lib/requests.rb +166 -0
  6. data/lib/test_sdk/benchmark/client.rb +1031 -0
  7. data/lib/test_sdk/company/client.rb +474 -0
  8. data/lib/test_sdk/deal/client.rb +584 -0
  9. data/lib/test_sdk/file/client.rb +692 -0
  10. data/lib/test_sdk/financials/client.rb +97 -0
  11. data/lib/test_sdk/group/client.rb +737 -0
  12. data/lib/test_sdk/macro/client.rb +422 -0
  13. data/lib/test_sdk/metadata/client.rb +95 -0
  14. data/lib/test_sdk/product/client.rb +419 -0
  15. data/lib/test_sdk/talent/client.rb +266 -0
  16. data/lib/test_sdk/types/account_manager_response.rb +74 -0
  17. data/lib/test_sdk/types/all_data_metadata_response.rb +68 -0
  18. data/lib/test_sdk/types/area.rb +74 -0
  19. data/lib/test_sdk/types/authenticate_api_key_response.rb +55 -0
  20. data/lib/test_sdk/types/available_categories_response.rb +5 -0
  21. data/lib/test_sdk/types/available_models_response.rb +69 -0
  22. data/lib/test_sdk/types/band_response.rb +83 -0
  23. data/lib/test_sdk/types/benchmark_quantile.rb +465 -0
  24. data/lib/test_sdk/types/categories_metadata_response.rb +72 -0
  25. data/lib/test_sdk/types/category_growth_rates.rb +143 -0
  26. data/lib/test_sdk/types/category_metadata.rb +79 -0
  27. data/lib/test_sdk/types/category_metadata_default_user_type.rb +8 -0
  28. data/lib/test_sdk/types/cohorts_response.rb +132 -0
  29. data/lib/test_sdk/types/column_metadata.rb +110 -0
  30. data/lib/test_sdk/types/column_mini_metadata.rb +83 -0
  31. data/lib/test_sdk/types/columns_metadata_response.rb +72 -0
  32. data/lib/test_sdk/types/company_response.rb +120 -0
  33. data/lib/test_sdk/types/concentration_endpoint_cdf_detail.rb +96 -0
  34. data/lib/test_sdk/types/concentration_endpoint_top_users_detail.rb +72 -0
  35. data/lib/test_sdk/types/concentration_response.rb +103 -0
  36. data/lib/test_sdk/types/concentration_timeseries_detail.rb +159 -0
  37. data/lib/test_sdk/types/contribution_response.rb +135 -0
  38. data/lib/test_sdk/types/create_api_key_response.rb +55 -0
  39. data/lib/test_sdk/types/create_file_for_signed_url_response.rb +127 -0
  40. data/lib/test_sdk/types/create_file_response.rb +113 -0
  41. data/lib/test_sdk/types/deal_combined_metrics_response.rb +477 -0
  42. data/lib/test_sdk/types/deal_data_availablity_response.rb +109 -0
  43. data/lib/test_sdk/types/deal_with_files_response.rb +194 -0
  44. data/lib/test_sdk/types/endpoint_seniority_count.rb +66 -0
  45. data/lib/test_sdk/types/executive_profile.rb +91 -0
  46. data/lib/test_sdk/types/executive_profile_position.rb +97 -0
  47. data/lib/test_sdk/types/file_response.rb +113 -0
  48. data/lib/test_sdk/types/file_type.rb +14 -0
  49. data/lib/test_sdk/types/financial_metrics.rb +113 -0
  50. data/lib/test_sdk/types/financials_response.rb +102 -0
  51. data/lib/test_sdk/types/frequency.rb +9 -0
  52. data/lib/test_sdk/types/function_level_growth_accounting.rb +111 -0
  53. data/lib/test_sdk/types/gcs_signed_url_response.rb +81 -0
  54. data/lib/test_sdk/types/group_response.rb +158 -0
  55. data/lib/test_sdk/types/group_user.rb +124 -0
  56. data/lib/test_sdk/types/group_with_users_response.rb +170 -0
  57. data/lib/test_sdk/types/growth_accounting_response.rb +226 -0
  58. data/lib/test_sdk/types/healthz_response.rb +55 -0
  59. data/lib/test_sdk/types/http_validation_error.rb +61 -0
  60. data/lib/test_sdk/types/income_statement_entry.rb +81 -0
  61. data/lib/test_sdk/types/model_metadata.rb +76 -0
  62. data/lib/test_sdk/types/models_metadata_response.rb +76 -0
  63. data/lib/test_sdk/types/paginated_response_company_response.rb +83 -0
  64. data/lib/test_sdk/types/paginated_response_deal_with_files_response.rb +84 -0
  65. data/lib/test_sdk/types/paginated_response_file_response.rb +83 -0
  66. data/lib/test_sdk/types/paginated_response_group_user.rb +83 -0
  67. data/lib/test_sdk/types/permission_model.rb +65 -0
  68. data/lib/test_sdk/types/priority.rb +10 -0
  69. data/lib/test_sdk/types/product_info_response.rb +65 -0
  70. data/lib/test_sdk/types/role_response.rb +95 -0
  71. data/lib/test_sdk/types/scale.rb +72 -0
  72. data/lib/test_sdk/types/scale_model.rb +80 -0
  73. data/lib/test_sdk/types/scale_models_response.rb +5 -0
  74. data/lib/test_sdk/types/scaling.rb +10 -0
  75. data/lib/test_sdk/types/status.rb +12 -0
  76. data/lib/test_sdk/types/tradeoff_model.rb +95 -0
  77. data/lib/test_sdk/types/tradeoff_models_response.rb +5 -0
  78. data/lib/test_sdk/types/unit.rb +12 -0
  79. data/lib/test_sdk/types/unit_economics_info_response.rb +55 -0
  80. data/lib/test_sdk/types/user_accounting_response.rb +168 -0
  81. data/lib/test_sdk/types/user_role_response.rb +77 -0
  82. data/lib/test_sdk/types/user_type.rb +12 -0
  83. data/lib/test_sdk/types/user_with_groups_response.rb +140 -0
  84. data/lib/test_sdk/types/user_with_permissions_response.rb +153 -0
  85. data/lib/test_sdk/types/validation_error.rb +76 -0
  86. data/lib/test_sdk/types/validation_error_loc_item.rb +52 -0
  87. data/lib/test_sdk/types/weather_components.rb +123 -0
  88. data/lib/test_sdk/types/weather_gauge.rb +76 -0
  89. data/lib/test_sdk/types/weather_market_context.rb +109 -0
  90. data/lib/test_sdk/types/weather_metadata.rb +113 -0
  91. data/lib/test_sdk/unit_economics/client.rb +124 -0
  92. data/lib/test_sdk/user/client.rb +363 -0
  93. data/lib/test_sdk.rb +190 -0
  94. data/lib/types_export.rb +77 -0
  95. metadata +251 -0
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "../types/financials_response"
5
+ require "async"
6
+
7
+ module NewDemoApiClient
8
+ class FinancialsClient
9
+ # @return [NewDemoApiClient::RequestClient]
10
+ attr_reader :request_client
11
+
12
+ # @param request_client [NewDemoApiClient::RequestClient]
13
+ # @return [NewDemoApiClient::FinancialsClient]
14
+ def initialize(request_client:)
15
+ @request_client = request_client
16
+ end
17
+
18
+ # Get the financials for the company associated with the deal.
19
+ #
20
+ # @param group_id [Integer]
21
+ # @param deal_id [Integer]
22
+ # @param request_options [NewDemoApiClient::RequestOptions]
23
+ # @return [NewDemoApiClient::FinancialsResponse]
24
+ # @example
25
+ # api = NewDemoApiClient::Client.new(
26
+ # base_url: "https://api.example.com",
27
+ # environment: NewDemoApiClient::Environment::DEFAULT,
28
+ # token: "YOUR_AUTH_TOKEN"
29
+ # )
30
+ # api.financials.get(group_id: 1, deal_id: 1)
31
+ def get(group_id:, deal_id:, request_options: nil)
32
+ response = @request_client.conn.get do |req|
33
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
34
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
35
+ req.headers = {
36
+ **(req.headers || {}),
37
+ **@request_client.get_headers,
38
+ **(request_options&.additional_headers || {})
39
+ }.compact
40
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
41
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
42
+ end
43
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
44
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
45
+ end
46
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/#{deal_id}/data/financials"
47
+ end
48
+ NewDemoApiClient::FinancialsResponse.from_json(json_object: response.body)
49
+ end
50
+ end
51
+
52
+ class AsyncFinancialsClient
53
+ # @return [NewDemoApiClient::AsyncRequestClient]
54
+ attr_reader :request_client
55
+
56
+ # @param request_client [NewDemoApiClient::AsyncRequestClient]
57
+ # @return [NewDemoApiClient::AsyncFinancialsClient]
58
+ def initialize(request_client:)
59
+ @request_client = request_client
60
+ end
61
+
62
+ # Get the financials for the company associated with the deal.
63
+ #
64
+ # @param group_id [Integer]
65
+ # @param deal_id [Integer]
66
+ # @param request_options [NewDemoApiClient::RequestOptions]
67
+ # @return [NewDemoApiClient::FinancialsResponse]
68
+ # @example
69
+ # api = NewDemoApiClient::Client.new(
70
+ # base_url: "https://api.example.com",
71
+ # environment: NewDemoApiClient::Environment::DEFAULT,
72
+ # token: "YOUR_AUTH_TOKEN"
73
+ # )
74
+ # api.financials.get(group_id: 1, deal_id: 1)
75
+ def get(group_id:, deal_id:, request_options: nil)
76
+ Async do
77
+ response = @request_client.conn.get do |req|
78
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
79
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
80
+ req.headers = {
81
+ **(req.headers || {}),
82
+ **@request_client.get_headers,
83
+ **(request_options&.additional_headers || {})
84
+ }.compact
85
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
86
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
87
+ end
88
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
89
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
90
+ end
91
+ req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/deal/#{deal_id}/data/financials"
92
+ end
93
+ NewDemoApiClient::FinancialsResponse.from_json(json_object: response.body)
94
+ end
95
+ end
96
+ end
97
+ end