plainrouter-sdk 0.1.0 → 0.2.0

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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/plainrouter/client.rb +73 -1
  4. data/lib/plainrouter/openapi/api/action_dry_run_api_api.rb +96 -0
  5. data/lib/plainrouter/openapi/api/action_proposal_api_api.rb +96 -0
  6. data/lib/plainrouter/openapi/api/action_read_api_api.rb +404 -0
  7. data/lib/plainrouter/openapi/api/event_api.rb +15 -15
  8. data/lib/plainrouter/openapi/api/operations_api.rb +24 -28
  9. data/lib/plainrouter/openapi/api/sandbox_api.rb +74 -17
  10. data/lib/plainrouter/openapi/api_client.rb +2 -2
  11. data/lib/plainrouter/openapi/api_error.rb +2 -2
  12. data/lib/plainrouter/openapi/api_model_base.rb +2 -2
  13. data/lib/plainrouter/openapi/configuration.rb +10 -3
  14. data/lib/plainrouter/openapi/models/action_batch_read.rb +164 -0
  15. data/lib/plainrouter/openapi/models/action_batch_read_data.rb +450 -0
  16. data/lib/plainrouter/openapi/models/action_current_disposition.rb +294 -0
  17. data/lib/plainrouter/openapi/models/action_decision_receipt_read.rb +244 -0
  18. data/lib/plainrouter/openapi/models/action_decision_receipt_read_chain_entry.rb +190 -0
  19. data/lib/plainrouter/openapi/models/action_detail_read.rb +164 -0
  20. data/lib/plainrouter/openapi/models/action_dry_run_read.rb +164 -0
  21. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run.rb +166 -0
  22. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner.rb +103 -0
  23. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of.rb +376 -0
  24. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of1.rb +268 -0
  25. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_diff.rb +162 -0
  26. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_target_entity.rb +199 -0
  27. data/lib/plainrouter/openapi/models/action_list_read.rb +192 -0
  28. data/lib/plainrouter/openapi/models/action_list_read_meta.rb +242 -0
  29. data/lib/plainrouter/openapi/models/action_policy_read.rb +164 -0
  30. data/lib/plainrouter/openapi/models/action_policy_read_data.rb +380 -0
  31. data/lib/plainrouter/openapi/models/action_proposal_input.rb +378 -0
  32. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner.rb +115 -0
  33. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of.rb +303 -0
  34. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1.rb +303 -0
  35. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10.rb +303 -0
  36. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params.rb +356 -0
  37. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11.rb +303 -0
  38. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11_params.rb +173 -0
  39. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12.rb +303 -0
  40. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params.rb +188 -0
  41. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13.rb +303 -0
  42. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13_params.rb +259 -0
  43. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of2.rb +303 -0
  44. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of3.rb +303 -0
  45. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4.rb +303 -0
  46. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4_target_entity.rb +253 -0
  47. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of5.rb +303 -0
  48. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of6.rb +303 -0
  49. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of7.rb +303 -0
  50. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of8.rb +303 -0
  51. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of9.rb +303 -0
  52. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_params.rb +173 -0
  53. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_target_entity.rb +264 -0
  54. data/lib/plainrouter/openapi/models/action_proposal_input_evidence_inner.rb +262 -0
  55. data/lib/plainrouter/openapi/models/action_proposal_read.rb +164 -0
  56. data/lib/plainrouter/openapi/models/action_proposal_read_proposal.rb +452 -0
  57. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner.rb +386 -0
  58. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner_params.rb +103 -0
  59. data/lib/plainrouter/openapi/models/action_proposal_read_proposal_proposed_by.rb +202 -0
  60. data/lib/plainrouter/openapi/models/action_read_item.rb +516 -0
  61. data/lib/plainrouter/openapi/models/create_event200_response.rb +2 -2
  62. data/lib/plainrouter/openapi/models/create_event202_response.rb +218 -0
  63. data/lib/plainrouter/openapi/models/create_event202_response_warnings_inner.rb +240 -0
  64. data/lib/plainrouter/openapi/models/create_event_request.rb +2 -2
  65. data/lib/plainrouter/openapi/models/create_event_request_any_of.rb +2 -2
  66. data/lib/plainrouter/openapi/models/create_event_request_any_of1.rb +2 -2
  67. data/lib/plainrouter/openapi/models/create_event_request_any_of_event_time.rb +2 -2
  68. data/lib/plainrouter/openapi/models/create_event_request_any_of_value_data.rb +2 -2
  69. data/lib/plainrouter/openapi/models/delete_user_data200_response.rb +2 -2
  70. data/lib/plainrouter/openapi/models/delete_user_data_request.rb +35 -36
  71. data/lib/plainrouter/openapi/models/delivery_status.rb +2 -2
  72. data/lib/plainrouter/openapi/models/destination.rb +30 -3
  73. data/lib/plainrouter/openapi/models/destination_credential_source.rb +3 -4
  74. data/lib/plainrouter/openapi/models/destination_status.rb +2 -2
  75. data/lib/plainrouter/openapi/models/destination_type.rb +2 -2
  76. data/lib/plainrouter/openapi/models/emq_snapshot.rb +30 -3
  77. data/lib/plainrouter/openapi/models/error_message.rb +2 -2
  78. data/lib/plainrouter/openapi/models/event.rb +89 -45
  79. data/lib/plainrouter/openapi/models/get_emq_report200_response.rb +2 -2
  80. data/lib/plainrouter/openapi/models/get_emq_report200_response_snapshots_inner.rb +30 -3
  81. data/lib/plainrouter/openapi/models/get_event200_response.rb +2 -2
  82. data/lib/plainrouter/openapi/models/get_event200_response_deliveries_inner.rb +30 -3
  83. data/lib/plainrouter/openapi/models/get_event200_response_event.rb +31 -4
  84. data/lib/plainrouter/openapi/models/get_event200_response_event_consent.rb +2 -2
  85. data/lib/plainrouter/openapi/models/get_event200_response_event_deliveries_inner.rb +30 -3
  86. data/lib/plainrouter/openapi/models/get_event200_response_event_user_data_hashed.rb +104 -0
  87. data/lib/plainrouter/openapi/models/get_event200_response_lineage.rb +2 -2
  88. data/lib/plainrouter/openapi/models/get_event200_response_lineage_children_inner.rb +31 -4
  89. data/lib/plainrouter/openapi/models/get_event200_response_lineage_parent.rb +31 -4
  90. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response.rb +2 -2
  91. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner.rb +30 -3
  92. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_buckets_value.rb +2 -2
  93. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts.rb +2 -2
  94. data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts_accepted.rb +2 -2
  95. data/lib/plainrouter/openapi/models/get_sandbox200_response.rb +2 -2
  96. data/lib/plainrouter/openapi/models/get_sandbox200_response_self_serve_key.rb +32 -6
  97. data/lib/plainrouter/openapi/models/{create_sandbox_key201_response.rb → get_sandbox200_response_self_serve_key_issued_key.rb} +6 -6
  98. data/lib/plainrouter/openapi/models/{create_sandbox_key201_response_use.rb → get_sandbox200_response_self_serve_key_issued_key_use.rb} +5 -5
  99. data/lib/plainrouter/openapi/models/get_sandbox200_response_try.rb +2 -2
  100. data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body.rb +2 -2
  101. data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body_value_data.rb +2 -2
  102. data/lib/plainrouter/openapi/models/ingestion_warning_code.rb +39 -0
  103. data/lib/plainrouter/openapi/models/jurisdiction_policy_class.rb +2 -2
  104. data/lib/plainrouter/openapi/models/list_events200_response.rb +2 -2
  105. data/lib/plainrouter/openapi/models/list_events200_response_events.rb +2 -2
  106. data/lib/plainrouter/openapi/models/list_events200_response_events_links_inner.rb +2 -2
  107. data/lib/plainrouter/openapi/models/list_events200_response_metrics.rb +2 -2
  108. data/lib/plainrouter/openapi/models/list_events_by_cursor200_response.rb +2 -2
  109. data/lib/plainrouter/openapi/models/list_events_by_cursor200_response_events.rb +2 -2
  110. data/lib/plainrouter/openapi/models/reconciliation_report.rb +31 -3
  111. data/lib/plainrouter/openapi/models/replay_deliveries202_response.rb +2 -2
  112. data/lib/plainrouter/openapi/models/replay_deliveries_request.rb +2 -2
  113. data/lib/plainrouter/openapi/models/send_test_purchase200_response.rb +2 -2
  114. data/lib/plainrouter/openapi/models/send_test_purchase422_response.rb +2 -2
  115. data/lib/plainrouter/openapi/models/send_test_purchase_request.rb +2 -2
  116. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response.rb +2 -2
  117. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response_destination.rb +30 -3
  118. data/lib/plainrouter/openapi/models/set_destination_test_mode_request.rb +2 -2
  119. data/lib/plainrouter/openapi/models/traffic_class.rb +2 -2
  120. data/lib/plainrouter/openapi/models/validate_sandbox_event200_response.rb +2 -2
  121. data/lib/plainrouter/openapi/models/validate_sandbox_event_request.rb +2 -2
  122. data/lib/plainrouter/openapi/models/validate_sandbox_event_request_value_data.rb +2 -2
  123. data/lib/plainrouter/openapi/models/validation_error.rb +2 -2
  124. data/lib/plainrouter/openapi/version.rb +3 -3
  125. data/lib/plainrouter/openapi.rb +58 -4
  126. data/lib/plainrouter/version.rb +1 -1
  127. metadata +64 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff1e75abcd245ad0ad31a3c468c687b32b8568530cae91e2170de9aee845a67a
4
- data.tar.gz: 70d3746682bb357ed18a97bf4544901567377abe9b84930d25e70ec9f073f44f
3
+ metadata.gz: 3af4afbf5b335f3602353873f9cffac36d4d183a2528ca3f9966fe22ed971642
4
+ data.tar.gz: c9dba9aef741159204bf5eefa3b845ef24a7c7801631b5b8523824abf6c1e9da
5
5
  SHA512:
6
- metadata.gz: 93cfea87f18a57c2f376b4e1b9f1ce685056e25032c9480d1e7248f0cc73f6506eb8d00cc1eca870142612b1ed2fd1d164edbd5d12cad547548516d790139136
7
- data.tar.gz: 8eb146b15478ba75b4926245be3274787fc3ba70921a76a9cd8b84644162e8eea7d20d308b987b678fd7d3b5076cb528a783166126bd8d5633c1f394724e3ffe
6
+ metadata.gz: 16cefffc78d545efd2809b141e9f2fec84e7bc3e3a5bd326203a606f911bb94974b901a29ed903938a35e840ef11404faf78880ce08deb8f86326448b92317e2
7
+ data.tar.gz: 2ff1a28fbe3c4f75cbf45fd9ec50b1be157a83f147f7d7f009863628deca79ea5c7dbb95d940a1fe5b53f66d9fbfa09eaf1a29120a9b8a680d51027107c745fb
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # PlainRouter Ruby SDK
1
+ # Plainrouter Ruby SDK
2
2
 
3
- The official Ruby SDK for the PlainRouter Signals Conversion API. It is generated from the repository's signed OpenAPI contract and is currently in `0.x` development.
3
+ The official Ruby SDK for the Plainrouter Signals Conversion API. It is generated from the repository's signed OpenAPI contract and is currently in `0.x` development.
4
4
 
5
5
  ## Install
6
6
 
@@ -1,10 +1,81 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "uri"
4
+ require "date"
4
5
 
5
6
  module PlainRouter
6
- # Compact entry point for the PlainRouter API.
7
+ # Compact entry point for the Plainrouter API.
7
8
  class Client
9
+ module EventsValidation
10
+ # Keep this literal identical to app/Domains/Signals/Data/ConsentDecision.php::CAPTURED_AT_PATTERN.
11
+ CAPTURED_AT_PATTERN = '/\A(?<datetime>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})(?:\.(?<fraction>\d{1,6}))?(?<offset>Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)\z/'
12
+ CAPTURED_AT_REGEX = Regexp.new(CAPTURED_AT_PATTERN[1...-1])
13
+
14
+ def create_event(create_event_request, opts = {})
15
+ data, _status_code, _headers = create_event_with_http_info(create_event_request, opts)
16
+ data
17
+ end
18
+
19
+ def create_event_with_http_info(create_event_request, opts = {})
20
+ validate_create_event_body(create_event_request)
21
+
22
+ data, status_code, headers = super(
23
+ create_event_request,
24
+ opts.merge(debug_return_type: "Object")
25
+ )
26
+
27
+ typed_data = case status_code
28
+ when 200
29
+ OpenAPI::CreateEvent200Response.build_from_hash(data)
30
+ when 202
31
+ OpenAPI::CreateEvent202Response.build_from_hash(data)
32
+ else
33
+ data
34
+ end
35
+
36
+ [typed_data, status_code, headers]
37
+ end
38
+
39
+ private
40
+
41
+ def validate_create_event_body(body)
42
+ visitor_id = event_value(body, :visitor_id)
43
+ user_data = event_value(body, :user_data)
44
+ return if visitor_id.nil? && user_data.nil?
45
+
46
+ consent = event_value(body, :consent)
47
+ captured_at = event_value(consent, :captured_at)
48
+
49
+ if captured_at.nil?
50
+ raise ArgumentError,
51
+ "consent.captured_at is required when visitor_id or user_data is present (missing)."
52
+ end
53
+
54
+ return if valid_captured_at?(captured_at)
55
+
56
+ raise ArgumentError,
57
+ "consent.captured_at has invalid format; expected the strict ISO-8601 capture time grammar (invalid format)."
58
+ end
59
+
60
+ def event_value(value, key)
61
+ source = value.respond_to?(:to_hash) ? value.to_hash : value
62
+ return nil unless source.is_a?(Hash)
63
+
64
+ source[key] || source[key.to_s]
65
+ end
66
+
67
+ def valid_captured_at?(value)
68
+ return false unless value.is_a?(String)
69
+
70
+ match = CAPTURED_AT_REGEX.match(value)
71
+ return false unless match
72
+
73
+ year, month, day, hour, minute, second = match[:datetime].scan(/\d+/).map(&:to_i)
74
+
75
+ Date.valid_date?(year, month, day) && hour <= 23 && minute <= 59 && second <= 59
76
+ end
77
+ end
78
+
8
79
  attr_reader :events, :operations, :sandbox
9
80
 
10
81
  def initialize(token: nil, base_url: DEFAULT_BASE_URL, timeout: 30, user_agent: nil)
@@ -18,6 +89,7 @@ module PlainRouter
18
89
  api_client.user_agent = user_agent || "plainrouter-ruby/#{VERSION}"
19
90
 
20
91
  @events = OpenAPI::EventApi.new(api_client)
92
+ @events.singleton_class.prepend(EventsValidation)
21
93
  @operations = OpenAPI::OperationsApi.new(api_client)
22
94
  @sandbox = OpenAPI::SandboxApi.new(api_client)
23
95
  end
@@ -0,0 +1,96 @@
1
+ =begin
2
+ #Plainrouter Conversion API
3
+
4
+ #Plainrouter public Signals Conversion API.
5
+
6
+ The version of the OpenAPI document: 0.5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module PlainRouter::OpenAPI
16
+ class ActionDryRunApiApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Preview actions
23
+ # Evaluate a governed proposal for the approved account and preview each policy decision and execution diff without creating a batch or action.
24
+ # @param workspace [Integer] The workspace ID
25
+ # @param action_proposal_input [ActionProposalInput]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [ActionDryRunRead]
28
+ def actions_api_dry_run(workspace, action_proposal_input, opts = {})
29
+ data, _status_code, _headers = actions_api_dry_run_with_http_info(workspace, action_proposal_input, opts)
30
+ data
31
+ end
32
+
33
+ # Preview actions
34
+ # Evaluate a governed proposal for the approved account and preview each policy decision and execution diff without creating a batch or action.
35
+ # @param workspace [Integer] The workspace ID
36
+ # @param action_proposal_input [ActionProposalInput]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(ActionDryRunRead, Integer, Hash)>] ActionDryRunRead data, response status code and response headers
39
+ def actions_api_dry_run_with_http_info(workspace, action_proposal_input, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: ActionDryRunApiApi.actions_api_dry_run ...'
42
+ end
43
+ # verify the required parameter 'workspace' is set
44
+ if @api_client.config.client_side_validation && workspace.nil?
45
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling ActionDryRunApiApi.actions_api_dry_run"
46
+ end
47
+ # verify the required parameter 'action_proposal_input' is set
48
+ if @api_client.config.client_side_validation && action_proposal_input.nil?
49
+ fail ArgumentError, "Missing the required parameter 'action_proposal_input' when calling ActionDryRunApiApi.actions_api_dry_run"
50
+ end
51
+ # resource path
52
+ local_var_path = '/agent/workspaces/{workspace}/actions/dry-run'.sub('{workspace}', CGI.escape(workspace.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(action_proposal_input)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'ActionDryRunRead'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['workspaceActionKey']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"ActionDryRunApiApi.actions_api_dry_run",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: ActionDryRunApiApi#actions_api_dry_run\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,96 @@
1
+ =begin
2
+ #Plainrouter Conversion API
3
+
4
+ #Plainrouter public Signals Conversion API.
5
+
6
+ The version of the OpenAPI document: 0.5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module PlainRouter::OpenAPI
16
+ class ActionProposalApiApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Propose actions
23
+ # Submit a governed proposal for an advertising account available to this workspace key. A matching idempotency key returns the saved batch.
24
+ # @param workspace [Integer] The workspace ID
25
+ # @param action_proposal_input [ActionProposalInput]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [ActionProposalRead]
28
+ def actions_api_propose(workspace, action_proposal_input, opts = {})
29
+ data, _status_code, _headers = actions_api_propose_with_http_info(workspace, action_proposal_input, opts)
30
+ data
31
+ end
32
+
33
+ # Propose actions
34
+ # Submit a governed proposal for an advertising account available to this workspace key. A matching idempotency key returns the saved batch.
35
+ # @param workspace [Integer] The workspace ID
36
+ # @param action_proposal_input [ActionProposalInput]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(ActionProposalRead, Integer, Hash)>] ActionProposalRead data, response status code and response headers
39
+ def actions_api_propose_with_http_info(workspace, action_proposal_input, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: ActionProposalApiApi.actions_api_propose ...'
42
+ end
43
+ # verify the required parameter 'workspace' is set
44
+ if @api_client.config.client_side_validation && workspace.nil?
45
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling ActionProposalApiApi.actions_api_propose"
46
+ end
47
+ # verify the required parameter 'action_proposal_input' is set
48
+ if @api_client.config.client_side_validation && action_proposal_input.nil?
49
+ fail ArgumentError, "Missing the required parameter 'action_proposal_input' when calling ActionProposalApiApi.actions_api_propose"
50
+ end
51
+ # resource path
52
+ local_var_path = '/agent/workspaces/{workspace}/actions'.sub('{workspace}', CGI.escape(workspace.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(action_proposal_input)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'ActionProposalRead'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['workspaceActionKey']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"ActionProposalApiApi.actions_api_propose",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: ActionProposalApiApi#actions_api_propose\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+ end
96
+ end