plainrouter-sdk 0.1.1 → 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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/plainrouter/client.rb +73 -1
- data/lib/plainrouter/openapi/api/action_dry_run_api_api.rb +96 -0
- data/lib/plainrouter/openapi/api/action_proposal_api_api.rb +96 -0
- data/lib/plainrouter/openapi/api/action_read_api_api.rb +404 -0
- data/lib/plainrouter/openapi/api/event_api.rb +15 -15
- data/lib/plainrouter/openapi/api/operations_api.rb +24 -28
- data/lib/plainrouter/openapi/api/sandbox_api.rb +74 -17
- data/lib/plainrouter/openapi/api_client.rb +2 -2
- data/lib/plainrouter/openapi/api_error.rb +2 -2
- data/lib/plainrouter/openapi/api_model_base.rb +2 -2
- data/lib/plainrouter/openapi/configuration.rb +10 -3
- data/lib/plainrouter/openapi/models/action_batch_read.rb +164 -0
- data/lib/plainrouter/openapi/models/action_batch_read_data.rb +450 -0
- data/lib/plainrouter/openapi/models/action_current_disposition.rb +294 -0
- data/lib/plainrouter/openapi/models/action_decision_receipt_read.rb +244 -0
- data/lib/plainrouter/openapi/models/action_decision_receipt_read_chain_entry.rb +190 -0
- data/lib/plainrouter/openapi/models/action_detail_read.rb +164 -0
- data/lib/plainrouter/openapi/models/action_dry_run_read.rb +164 -0
- data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run.rb +166 -0
- data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner.rb +103 -0
- data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of.rb +376 -0
- data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of1.rb +268 -0
- data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_diff.rb +162 -0
- data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run_actions_inner_any_of_target_entity.rb +199 -0
- data/lib/plainrouter/openapi/models/action_list_read.rb +192 -0
- data/lib/plainrouter/openapi/models/action_list_read_meta.rb +242 -0
- data/lib/plainrouter/openapi/models/action_policy_read.rb +164 -0
- data/lib/plainrouter/openapi/models/action_policy_read_data.rb +380 -0
- data/lib/plainrouter/openapi/models/action_proposal_input.rb +378 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner.rb +115 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params.rb +356 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11_params.rb +173 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params.rb +188 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13_params.rb +259 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of2.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of3.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4_target_entity.rb +253 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of5.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of6.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of7.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of8.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of9.rb +303 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_params.rb +173 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_target_entity.rb +264 -0
- data/lib/plainrouter/openapi/models/action_proposal_input_evidence_inner.rb +262 -0
- data/lib/plainrouter/openapi/models/action_proposal_read.rb +164 -0
- data/lib/plainrouter/openapi/models/action_proposal_read_proposal.rb +452 -0
- data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner.rb +386 -0
- data/lib/plainrouter/openapi/models/action_proposal_read_proposal_actions_inner_params.rb +103 -0
- data/lib/plainrouter/openapi/models/action_proposal_read_proposal_proposed_by.rb +202 -0
- data/lib/plainrouter/openapi/models/action_read_item.rb +516 -0
- data/lib/plainrouter/openapi/models/create_event200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/create_event202_response.rb +218 -0
- data/lib/plainrouter/openapi/models/create_event202_response_warnings_inner.rb +240 -0
- data/lib/plainrouter/openapi/models/create_event_request.rb +2 -2
- data/lib/plainrouter/openapi/models/create_event_request_any_of.rb +2 -2
- data/lib/plainrouter/openapi/models/create_event_request_any_of1.rb +2 -2
- data/lib/plainrouter/openapi/models/create_event_request_any_of_event_time.rb +2 -2
- data/lib/plainrouter/openapi/models/create_event_request_any_of_value_data.rb +2 -2
- data/lib/plainrouter/openapi/models/delete_user_data200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/delete_user_data_request.rb +35 -36
- data/lib/plainrouter/openapi/models/delivery_status.rb +2 -2
- data/lib/plainrouter/openapi/models/destination.rb +30 -3
- data/lib/plainrouter/openapi/models/destination_credential_source.rb +3 -4
- data/lib/plainrouter/openapi/models/destination_status.rb +2 -2
- data/lib/plainrouter/openapi/models/destination_type.rb +2 -2
- data/lib/plainrouter/openapi/models/emq_snapshot.rb +30 -3
- data/lib/plainrouter/openapi/models/error_message.rb +2 -2
- data/lib/plainrouter/openapi/models/event.rb +89 -45
- data/lib/plainrouter/openapi/models/get_emq_report200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/get_emq_report200_response_snapshots_inner.rb +30 -3
- data/lib/plainrouter/openapi/models/get_event200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/get_event200_response_deliveries_inner.rb +30 -3
- data/lib/plainrouter/openapi/models/get_event200_response_event.rb +31 -4
- data/lib/plainrouter/openapi/models/get_event200_response_event_consent.rb +2 -2
- data/lib/plainrouter/openapi/models/get_event200_response_event_deliveries_inner.rb +30 -3
- data/lib/plainrouter/openapi/models/get_event200_response_event_user_data_hashed.rb +104 -0
- data/lib/plainrouter/openapi/models/get_event200_response_lineage.rb +2 -2
- data/lib/plainrouter/openapi/models/get_event200_response_lineage_children_inner.rb +31 -4
- data/lib/plainrouter/openapi/models/get_event200_response_lineage_parent.rb +31 -4
- data/lib/plainrouter/openapi/models/get_reconciliation_report200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner.rb +30 -3
- data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_buckets_value.rb +2 -2
- data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts.rb +2 -2
- data/lib/plainrouter/openapi/models/get_reconciliation_report200_response_reports_inner_event_counts_accepted.rb +2 -2
- data/lib/plainrouter/openapi/models/get_sandbox200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/get_sandbox200_response_self_serve_key.rb +32 -6
- data/lib/plainrouter/openapi/models/{create_sandbox_key201_response.rb → get_sandbox200_response_self_serve_key_issued_key.rb} +6 -6
- data/lib/plainrouter/openapi/models/{create_sandbox_key201_response_use.rb → get_sandbox200_response_self_serve_key_issued_key_use.rb} +5 -5
- data/lib/plainrouter/openapi/models/get_sandbox200_response_try.rb +2 -2
- data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body.rb +2 -2
- data/lib/plainrouter/openapi/models/get_sandbox200_response_try_body_value_data.rb +2 -2
- data/lib/plainrouter/openapi/models/ingestion_warning_code.rb +39 -0
- data/lib/plainrouter/openapi/models/jurisdiction_policy_class.rb +2 -2
- data/lib/plainrouter/openapi/models/list_events200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/list_events200_response_events.rb +2 -2
- data/lib/plainrouter/openapi/models/list_events200_response_events_links_inner.rb +2 -2
- data/lib/plainrouter/openapi/models/list_events200_response_metrics.rb +2 -2
- data/lib/plainrouter/openapi/models/list_events_by_cursor200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/list_events_by_cursor200_response_events.rb +2 -2
- data/lib/plainrouter/openapi/models/reconciliation_report.rb +31 -3
- data/lib/plainrouter/openapi/models/replay_deliveries202_response.rb +2 -2
- data/lib/plainrouter/openapi/models/replay_deliveries_request.rb +2 -2
- data/lib/plainrouter/openapi/models/send_test_purchase200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/send_test_purchase422_response.rb +2 -2
- data/lib/plainrouter/openapi/models/send_test_purchase_request.rb +2 -2
- data/lib/plainrouter/openapi/models/set_destination_test_mode200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/set_destination_test_mode200_response_destination.rb +30 -3
- data/lib/plainrouter/openapi/models/set_destination_test_mode_request.rb +2 -2
- data/lib/plainrouter/openapi/models/traffic_class.rb +2 -2
- data/lib/plainrouter/openapi/models/validate_sandbox_event200_response.rb +2 -2
- data/lib/plainrouter/openapi/models/validate_sandbox_event_request.rb +2 -2
- data/lib/plainrouter/openapi/models/validate_sandbox_event_request_value_data.rb +2 -2
- data/lib/plainrouter/openapi/models/validation_error.rb +2 -2
- data/lib/plainrouter/openapi/version.rb +3 -3
- data/lib/plainrouter/openapi.rb +58 -4
- data/lib/plainrouter/version.rb +1 -1
- metadata +61 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3af4afbf5b335f3602353873f9cffac36d4d183a2528ca3f9966fe22ed971642
|
|
4
|
+
data.tar.gz: c9dba9aef741159204bf5eefa3b845ef24a7c7801631b5b8523824abf6c1e9da
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 16cefffc78d545efd2809b141e9f2fec84e7bc3e3a5bd326203a606f911bb94974b901a29ed903938a35e840ef11404faf78880ce08deb8f86326448b92317e2
|
|
7
|
+
data.tar.gz: 2ff1a28fbe3c4f75cbf45fd9ec50b1be157a83f147f7d7f009863628deca79ea5c7dbb95d940a1fe5b53f66d9fbfa09eaf1a29120a9b8a680d51027107c745fb
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Plainrouter Ruby SDK
|
|
2
2
|
|
|
3
|
-
The official Ruby SDK for the
|
|
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
|
|
data/lib/plainrouter/client.rb
CHANGED
|
@@ -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
|
|
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
|