stackone_client 0.6.0 → 0.7.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/lib/stack_one/accounts.rb +279 -36
- data/lib/stack_one/ats.rb +4075 -580
- data/lib/stack_one/connect_sessions.rb +123 -22
- data/lib/stack_one/connectors.rb +111 -14
- data/lib/stack_one/crm.rb +563 -78
- data/lib/stack_one/hris.rb +3401 -458
- data/lib/stack_one/iam.rb +675 -56
- data/lib/stack_one/lms.rb +1533 -220
- data/lib/stack_one/marketing.rb +1503 -230
- data/lib/stack_one/models/operations/hris_update_employee_time_off_request_request.rb +33 -0
- data/lib/stack_one/models/operations/hris_update_employee_time_off_request_response.rb +36 -0
- data/lib/stack_one/models/operations/iam_delete_user_request.rb +27 -0
- data/lib/stack_one/models/operations/iam_delete_user_response.rb +36 -0
- data/lib/stack_one/models/operations/iam_update_user_request.rb +30 -0
- data/lib/stack_one/models/operations/iam_update_user_response.rb +36 -0
- data/lib/stack_one/models/operations/lms_list_users_queryparam_filter.rb +5 -2
- data/lib/stack_one/models/operations.rb +6 -0
- data/lib/stack_one/models/shared/atscreatejobrequestdto.rb +5 -2
- data/lib/stack_one/models/shared/atsupdatejobrequestdto.rb +5 -2
- data/lib/stack_one/models/shared/hriscreatetimeoffrequestdto.rb +2 -0
- data/lib/stack_one/models/shared/hriscreatetimeoffrequestdto_type.rb +2 -0
- data/lib/stack_one/models/shared/iamupdateuserrequestdto.rb +45 -0
- data/lib/stack_one/models/shared/iamupdateuserrequestdto_status.rb +27 -0
- data/lib/stack_one/models/shared/iamupdateuserrequestdto_value.rb +20 -0
- data/lib/stack_one/models/shared/job.rb +5 -2
- data/lib/stack_one/models/shared/rawresponse.rb +2 -2
- data/lib/stack_one/models/shared/timeoff.rb +2 -0
- data/lib/stack_one/models/shared/timeoff_type.rb +2 -0
- data/lib/stack_one/models/shared/updateuserapimodel.rb +45 -0
- data/lib/stack_one/models/shared/updateuserapimodel_status.rb +27 -0
- data/lib/stack_one/models/shared/updateuserapimodel_value.rb +20 -0
- data/lib/stack_one/models/shared.rb +6 -0
- data/lib/stack_one/proxy.rb +62 -11
- data/lib/stack_one/sdk_hooks/hooks.rb +101 -0
- data/lib/stack_one/sdk_hooks/types.rb +152 -0
- data/lib/stack_one/sdkconfiguration.rb +11 -4
- data/lib/stack_one/stackone.rb +22 -8
- data/lib/stack_one/utils/utils.rb +10 -0
- metadata +16 -2
data/lib/stack_one/proxy.rb
CHANGED
@@ -7,6 +7,7 @@ require 'faraday'
|
|
7
7
|
require 'faraday/multipart'
|
8
8
|
require 'faraday/retry'
|
9
9
|
require 'sorbet-runtime'
|
10
|
+
require_relative 'sdk_hooks/hooks'
|
10
11
|
require_relative 'utils/retries'
|
11
12
|
|
12
13
|
module StackOne
|
@@ -21,8 +22,8 @@ module StackOne
|
|
21
22
|
end
|
22
23
|
|
23
24
|
|
24
|
-
sig { params(proxy_request_body: ::StackOne::Shared::ProxyRequestBody, x_account_id: ::String, retries: T.nilable(Utils::RetryConfig)).returns(::StackOne::Operations::StackoneProxyRequestResponse) }
|
25
|
-
def proxy_request(proxy_request_body, x_account_id, retries = nil)
|
25
|
+
sig { params(proxy_request_body: ::StackOne::Shared::ProxyRequestBody, x_account_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(::StackOne::Operations::StackoneProxyRequestResponse) }
|
26
|
+
def proxy_request(proxy_request_body, x_account_id, retries = nil, timeout_ms = nil)
|
26
27
|
# proxy_request - Proxy Request
|
27
28
|
request = ::StackOne::Operations::StackoneProxyRequestRequest.new(
|
28
29
|
|
@@ -36,6 +37,14 @@ module StackOne
|
|
36
37
|
req_content_type, data, form = Utils.serialize_request_body(request, :proxy_request_body, :json)
|
37
38
|
headers['content-type'] = req_content_type
|
38
39
|
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
40
|
+
|
41
|
+
if form
|
42
|
+
body = Utils.encode_form(form)
|
43
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
44
|
+
body = URI.encode_www_form(data)
|
45
|
+
else
|
46
|
+
body = data
|
47
|
+
end
|
39
48
|
headers['Accept'] = '*/*'
|
40
49
|
headers['user-agent'] = @sdk_configuration.user_agent
|
41
50
|
retries ||= @sdk_configuration.retry_config
|
@@ -52,19 +61,61 @@ module StackOne
|
|
52
61
|
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
53
62
|
retry_options[:retry_statuses] = [429, 408]
|
54
63
|
|
64
|
+
security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
|
65
|
+
|
66
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
67
|
+
timeout ||= @sdk_configuration.timeout
|
68
|
+
|
55
69
|
connection = @sdk_configuration.client.dup
|
56
70
|
connection.request :retry, retry_options
|
57
71
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
72
|
+
hook_ctx = SDKHooks::HookContext.new(
|
73
|
+
base_url: base_url,
|
74
|
+
oauth2_scopes: [],
|
75
|
+
operation_id: 'stackone_proxy_request',
|
76
|
+
security_source: @sdk_configuration.security_source
|
77
|
+
)
|
78
|
+
|
79
|
+
error = T.let(nil, T.nilable(StandardError))
|
80
|
+
r = T.let(nil, T.nilable(Faraday::Response))
|
81
|
+
|
82
|
+
begin
|
83
|
+
r = connection.post(url) do |req|
|
84
|
+
req.body = body
|
85
|
+
req.headers.merge!(headers)
|
86
|
+
req.options.timeout = timeout unless timeout.nil?
|
87
|
+
Utils.configure_request_security(req, security)
|
88
|
+
|
89
|
+
@sdk_configuration.hooks.before_request(
|
90
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
91
|
+
hook_ctx: hook_ctx
|
92
|
+
),
|
93
|
+
request: req
|
94
|
+
)
|
95
|
+
end
|
96
|
+
rescue StandardError => e
|
97
|
+
error = e
|
98
|
+
ensure
|
99
|
+
if r.nil? || Utils.error_status?(r.status)
|
100
|
+
r = @sdk_configuration.hooks.after_error(
|
101
|
+
error: error,
|
102
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
103
|
+
hook_ctx: hook_ctx
|
104
|
+
),
|
105
|
+
response: r
|
106
|
+
)
|
66
107
|
else
|
67
|
-
|
108
|
+
r = @sdk_configuration.hooks.after_success(
|
109
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
110
|
+
hook_ctx: hook_ctx
|
111
|
+
),
|
112
|
+
response: r
|
113
|
+
)
|
114
|
+
end
|
115
|
+
|
116
|
+
if r.nil?
|
117
|
+
raise error if !error.nil?
|
118
|
+
raise 'no response'
|
68
119
|
end
|
69
120
|
end
|
70
121
|
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require_relative './types'
|
7
|
+
|
8
|
+
require 'sorbet-runtime'
|
9
|
+
|
10
|
+
module StackOne
|
11
|
+
module SDKHooks
|
12
|
+
class Hooks
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
sig { void }
|
16
|
+
def initialize
|
17
|
+
@sdk_init_hooks = T.let([], T::Array[AbstractSDKInitHook])
|
18
|
+
@before_request_hooks = T.let([], T::Array[AbstractBeforeRequestHook])
|
19
|
+
@after_success_hooks = T.let([], T::Array[AbstractAfterSuccessHook])
|
20
|
+
@after_error_hooks = T.let([], T::Array[AbstractAfterErrorHook])
|
21
|
+
end
|
22
|
+
|
23
|
+
sig { params(hook: AbstractSDKInitHook).void }
|
24
|
+
def register_sdk_init_hook(hook)
|
25
|
+
@sdk_init_hooks << hook
|
26
|
+
end
|
27
|
+
|
28
|
+
sig { params(hook: AbstractBeforeRequestHook).void }
|
29
|
+
def register_before_request_hook(hook)
|
30
|
+
@before_request_hooks << hook
|
31
|
+
end
|
32
|
+
|
33
|
+
sig { params(hook: AbstractAfterSuccessHook).void }
|
34
|
+
def register_after_success_hook(hook)
|
35
|
+
@after_success_hooks << hook
|
36
|
+
end
|
37
|
+
|
38
|
+
sig { params(hook: AbstractAfterErrorHook).void }
|
39
|
+
def register_after_error_hook(hook)
|
40
|
+
@after_error_hooks << hook
|
41
|
+
end
|
42
|
+
|
43
|
+
sig do
|
44
|
+
params(
|
45
|
+
base_url: String,
|
46
|
+
client: Faraday::Connection
|
47
|
+
).returns([String, Faraday::Connection])
|
48
|
+
end
|
49
|
+
def sdk_init(base_url:, client:)
|
50
|
+
@sdk_init_hooks.each do |hook|
|
51
|
+
base_url, client = hook.sdk_init(base_url: base_url, client: client)
|
52
|
+
end
|
53
|
+
|
54
|
+
return base_url, client
|
55
|
+
end
|
56
|
+
|
57
|
+
sig do
|
58
|
+
params(
|
59
|
+
hook_ctx: BeforeRequestHookContext,
|
60
|
+
request: Faraday::Request
|
61
|
+
).returns(Faraday::Request)
|
62
|
+
end
|
63
|
+
def before_request(hook_ctx:, request:)
|
64
|
+
@before_request_hooks.each do |hook|
|
65
|
+
request = hook.before_request(hook_ctx: hook_ctx, request: request)
|
66
|
+
end
|
67
|
+
|
68
|
+
request
|
69
|
+
end
|
70
|
+
|
71
|
+
sig do
|
72
|
+
params(
|
73
|
+
hook_ctx: AfterSuccessHookContext,
|
74
|
+
response: Faraday::Response
|
75
|
+
).returns(Faraday::Response)
|
76
|
+
end
|
77
|
+
def after_success(hook_ctx:, response:)
|
78
|
+
@after_success_hooks.each do |hook|
|
79
|
+
response = hook.after_success(hook_ctx: hook_ctx, response: response)
|
80
|
+
end
|
81
|
+
|
82
|
+
response
|
83
|
+
end
|
84
|
+
|
85
|
+
sig do
|
86
|
+
params(
|
87
|
+
error: T.nilable(StandardError),
|
88
|
+
hook_ctx: AfterErrorHookContext,
|
89
|
+
response: T.nilable(Faraday::Response)
|
90
|
+
).returns(T.nilable(Faraday::Response))
|
91
|
+
end
|
92
|
+
def after_error(error:, hook_ctx:, response:)
|
93
|
+
@after_error_hooks.each do |hook|
|
94
|
+
response = hook.after_error(error: error, hook_ctx: hook_ctx, response: response)
|
95
|
+
end
|
96
|
+
|
97
|
+
response
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,152 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
|
8
|
+
module StackOne
|
9
|
+
module SDKHooks
|
10
|
+
class HookContext
|
11
|
+
extend T::Sig
|
12
|
+
|
13
|
+
sig { returns(String) }
|
14
|
+
attr_accessor :base_url
|
15
|
+
|
16
|
+
sig { returns(T.nilable(T::Array[String])) }
|
17
|
+
attr_accessor :oauth2_scopes
|
18
|
+
|
19
|
+
sig { returns(String) }
|
20
|
+
attr_accessor :operation_id
|
21
|
+
|
22
|
+
sig { returns(T.nilable(T.proc.returns(T.untyped))) }
|
23
|
+
attr_accessor :security_source
|
24
|
+
|
25
|
+
sig do
|
26
|
+
params(
|
27
|
+
base_url: String,
|
28
|
+
oauth2_scopes: T.nilable(T::Array[String]),
|
29
|
+
operation_id: String,
|
30
|
+
security_source: T.nilable(T.proc.returns(T.untyped))
|
31
|
+
).void
|
32
|
+
end
|
33
|
+
def initialize(base_url:, oauth2_scopes:, operation_id:, security_source:)
|
34
|
+
@base_url = T.let(base_url, String)
|
35
|
+
@oauth2_scopes = T.let(oauth2_scopes, T.nilable(T::Array[String]))
|
36
|
+
@operation_id = T.let(operation_id, String)
|
37
|
+
@security_source = T.let(security_source, T.nilable(T.proc.returns(T.untyped)))
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class BeforeRequestHookContext < HookContext
|
42
|
+
extend T::Sig
|
43
|
+
|
44
|
+
sig do
|
45
|
+
params(
|
46
|
+
hook_ctx: HookContext
|
47
|
+
).void
|
48
|
+
end
|
49
|
+
def initialize(hook_ctx:)
|
50
|
+
super(
|
51
|
+
base_url: hook_ctx.base_url,
|
52
|
+
operation_id: hook_ctx.operation_id,
|
53
|
+
oauth2_scopes: hook_ctx.oauth2_scopes,
|
54
|
+
security_source: hook_ctx.security_source
|
55
|
+
)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
class AfterSuccessHookContext < HookContext
|
60
|
+
extend T::Sig
|
61
|
+
|
62
|
+
sig do
|
63
|
+
params(
|
64
|
+
hook_ctx: HookContext
|
65
|
+
).void
|
66
|
+
end
|
67
|
+
def initialize(hook_ctx:)
|
68
|
+
super(
|
69
|
+
base_url: hook_ctx.base_url,
|
70
|
+
operation_id: hook_ctx.operation_id,
|
71
|
+
oauth2_scopes: hook_ctx.oauth2_scopes,
|
72
|
+
security_source: hook_ctx.security_source
|
73
|
+
)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
class AfterErrorHookContext < HookContext
|
78
|
+
extend T::Sig
|
79
|
+
|
80
|
+
sig do
|
81
|
+
params(
|
82
|
+
hook_ctx: HookContext
|
83
|
+
).void
|
84
|
+
end
|
85
|
+
def initialize(hook_ctx:)
|
86
|
+
super(
|
87
|
+
base_url: hook_ctx.base_url,
|
88
|
+
operation_id: hook_ctx.operation_id,
|
89
|
+
oauth2_scopes: hook_ctx.oauth2_scopes,
|
90
|
+
security_source: hook_ctx.security_source
|
91
|
+
)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
module AbstractSDKInitHook
|
96
|
+
extend T::Sig
|
97
|
+
extend T::Helpers
|
98
|
+
abstract!
|
99
|
+
|
100
|
+
sig do
|
101
|
+
abstract.params(
|
102
|
+
base_url: String,
|
103
|
+
client: Faraday::Connection
|
104
|
+
).returns([String, Faraday::Connection])
|
105
|
+
end
|
106
|
+
def sdk_init(base_url:, client:); end
|
107
|
+
end
|
108
|
+
|
109
|
+
module AbstractBeforeRequestHook
|
110
|
+
extend T::Sig
|
111
|
+
extend T::Helpers
|
112
|
+
abstract!
|
113
|
+
|
114
|
+
sig do
|
115
|
+
abstract.params(
|
116
|
+
hook_ctx: BeforeRequestHookContext,
|
117
|
+
request: Faraday::Request
|
118
|
+
).returns(Faraday::Request)
|
119
|
+
end
|
120
|
+
def before_request(hook_ctx:, request:); end
|
121
|
+
end
|
122
|
+
|
123
|
+
module AbstractAfterSuccessHook
|
124
|
+
extend T::Sig
|
125
|
+
extend T::Helpers
|
126
|
+
abstract!
|
127
|
+
|
128
|
+
sig do
|
129
|
+
abstract.params(
|
130
|
+
hook_ctx: AfterSuccessHookContext,
|
131
|
+
response: Faraday::Response
|
132
|
+
).returns(Faraday::Response)
|
133
|
+
end
|
134
|
+
def after_success(hook_ctx:, response:); end
|
135
|
+
end
|
136
|
+
|
137
|
+
module AbstractAfterErrorHook
|
138
|
+
extend T::Sig
|
139
|
+
extend T::Helpers
|
140
|
+
abstract!
|
141
|
+
|
142
|
+
sig do
|
143
|
+
abstract.params(
|
144
|
+
error: T.nilable(StandardError),
|
145
|
+
hook_ctx: AfterErrorHookContext,
|
146
|
+
response: T.nilable(Faraday::Response)
|
147
|
+
).returns(T.nilable(Faraday::Response))
|
148
|
+
end
|
149
|
+
def after_error(error:, hook_ctx:, response:); end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
@@ -7,6 +7,7 @@ require 'faraday'
|
|
7
7
|
require 'faraday/multipart'
|
8
8
|
require 'faraday/retry'
|
9
9
|
require 'sorbet-runtime'
|
10
|
+
require_relative 'sdk_hooks/hooks'
|
10
11
|
require_relative 'utils/retries'
|
11
12
|
|
12
13
|
module StackOne
|
@@ -21,7 +22,9 @@ module StackOne
|
|
21
22
|
extend T::Sig
|
22
23
|
|
23
24
|
field :client, T.nilable(Faraday::Connection)
|
25
|
+
field :hooks, ::StackOne::SDKHooks::Hooks
|
24
26
|
field :retry_config, T.nilable(::StackOne::Utils::RetryConfig)
|
27
|
+
field :timeout, T.nilable(Float)
|
25
28
|
field :security_source, T.nilable(T.proc.returns(T.nilable(::StackOne::Shared::Security)))
|
26
29
|
field :server_url, T.nilable(String)
|
27
30
|
field :server_idx, T.nilable(Integer)
|
@@ -34,17 +37,21 @@ module StackOne
|
|
34
37
|
sig do
|
35
38
|
params(
|
36
39
|
client: T.nilable(Faraday::Connection),
|
40
|
+
hooks: ::StackOne::SDKHooks::Hooks,
|
37
41
|
retry_config: T.nilable(::StackOne::Utils::RetryConfig),
|
42
|
+
timeout_ms: T.nilable(Integer),
|
38
43
|
security: T.nilable(::StackOne::Shared::Security),
|
39
44
|
security_source: T.nilable(T.proc.returns(::StackOne::Shared::Security)),
|
40
45
|
server_url: T.nilable(String),
|
41
46
|
server_idx: T.nilable(Integer)
|
42
47
|
).void
|
43
48
|
end
|
44
|
-
def initialize(client, retry_config, security, security_source, server_url, server_idx)
|
49
|
+
def initialize(client, hooks, retry_config, timeout_ms, security, security_source, server_url, server_idx)
|
45
50
|
@client = client
|
51
|
+
@hooks = hooks
|
46
52
|
@retry_config = retry_config
|
47
53
|
@server_url = server_url
|
54
|
+
@timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
48
55
|
@server_idx = server_idx.nil? ? 0 : server_idx
|
49
56
|
raise StandardError, "Invalid server index #{server_idx}" if @server_idx.negative? || @server_idx >= SERVERS.length
|
50
57
|
if !security_source.nil?
|
@@ -54,9 +61,9 @@ module StackOne
|
|
54
61
|
end
|
55
62
|
@language = 'ruby'
|
56
63
|
@openapi_doc_version = '1.0.0'
|
57
|
-
@sdk_version = '0.
|
58
|
-
@gen_version = '2.
|
59
|
-
@user_agent = 'speakeasy-sdk/ruby 0.
|
64
|
+
@sdk_version = '0.7.0'
|
65
|
+
@gen_version = '2.559.0'
|
66
|
+
@user_agent = 'speakeasy-sdk/ruby 0.7.0 2.559.0 1.0.0 stackone_client'
|
60
67
|
end
|
61
68
|
|
62
69
|
sig { returns([String, T::Hash[Symbol, String]]) }
|
data/lib/stack_one/stackone.rb
CHANGED
@@ -7,6 +7,7 @@ require 'faraday'
|
|
7
7
|
require 'faraday/multipart'
|
8
8
|
require 'faraday/retry'
|
9
9
|
require 'sorbet-runtime'
|
10
|
+
require_relative 'sdk_hooks/hooks'
|
10
11
|
require_relative 'utils/retries'
|
11
12
|
|
12
13
|
module StackOne
|
@@ -21,6 +22,7 @@ module StackOne
|
|
21
22
|
params(
|
22
23
|
client: T.nilable(Faraday::Connection),
|
23
24
|
retry_config: T.nilable(::StackOne::Utils::RetryConfig),
|
25
|
+
timeout_ms: T.nilable(Integer),
|
24
26
|
security: T.nilable(::StackOne::Shared::Security),
|
25
27
|
security_source: T.nilable(T.proc.returns(::StackOne::Shared::Security)),
|
26
28
|
server_idx: T.nilable(Integer),
|
@@ -28,23 +30,27 @@ module StackOne
|
|
28
30
|
url_params: T.nilable(T::Hash[Symbol, String])
|
29
31
|
).void
|
30
32
|
end
|
31
|
-
def initialize(client: nil, retry_config: nil, security: nil, security_source: nil, server_idx: nil, server_url: nil, url_params: nil)
|
33
|
+
def initialize(client: nil, retry_config: nil, timeout_ms: nil, security: nil, security_source: nil, server_idx: nil, server_url: nil, url_params: nil)
|
32
34
|
## Instantiates the SDK configuring it with the provided parameters.
|
33
35
|
# @param [T.nilable(Faraday::Connection)] client The faraday HTTP client to use for all operations
|
34
36
|
# @param [T.nilable(::StackOne::Utils::RetryConfig)] retry_config The retry configuration to use for all operations
|
37
|
+
# @param [T.nilable(Integer)] timeout_ms Request timeout in milliseconds for all operations
|
35
38
|
# @param [T.nilable(::StackOne::Shared::Security)] security: The security details required for authentication
|
36
39
|
# @param [T.proc.returns(T.nilable(::StackOne::Shared::Security))] security_source: A function that returns security details required for authentication
|
37
40
|
# @param [T.nilable(::Integer)] server_idx The index of the server to use for all operations
|
38
41
|
# @param [T.nilable(::String)] server_url The server URL to use for all operations
|
39
42
|
# @param [T.nilable(::Hash<::Symbol, ::String>)] url_params Parameters to optionally template the server URL with
|
40
43
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
connection_options = {
|
45
|
+
request: {
|
46
|
+
params_encoder: Faraday::FlatParamsEncoder
|
47
|
+
}
|
48
|
+
}
|
49
|
+
connection_options[:request][:timeout] = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
50
|
+
|
51
|
+
client ||= Faraday.new(**connection_options) do |f|
|
52
|
+
f.request :multipart, {}
|
53
|
+
# f.response :logger, nil, { headers: true, bodies: true, errors: true }
|
48
54
|
end
|
49
55
|
|
50
56
|
if !server_url.nil?
|
@@ -54,14 +60,22 @@ module StackOne
|
|
54
60
|
end
|
55
61
|
|
56
62
|
server_idx = 0 if server_idx.nil?
|
63
|
+
hooks = SDKHooks::Hooks.new
|
57
64
|
@sdk_configuration = SDKConfiguration.new(
|
58
65
|
client,
|
66
|
+
hooks,
|
59
67
|
retry_config,
|
68
|
+
timeout_ms,
|
60
69
|
security,
|
61
70
|
security_source,
|
62
71
|
server_url,
|
63
72
|
server_idx
|
64
73
|
)
|
74
|
+
|
75
|
+
original_server_url = @sdk_configuration.get_server_details.first
|
76
|
+
new_server_url, @sdk_configuration.client = hooks.sdk_init(base_url: original_server_url, client: client)
|
77
|
+
@sdk_configuration.server_url = new_server_url if new_server_url != original_server_url
|
78
|
+
|
65
79
|
init_sdks
|
66
80
|
end
|
67
81
|
|
@@ -351,6 +351,15 @@ module StackOne
|
|
351
351
|
server_url.delete_suffix('/') + path
|
352
352
|
end
|
353
353
|
|
354
|
+
sig { params(status: Integer).returns(T::Boolean) }
|
355
|
+
def self.error_status?(status)
|
356
|
+
status_major = status / 100
|
357
|
+
return true if status_major == 4
|
358
|
+
return true if status_major == 5
|
359
|
+
|
360
|
+
false
|
361
|
+
end
|
362
|
+
|
354
363
|
sig { params(content_type: String, pattern: String).returns(T::Boolean) }
|
355
364
|
def self.match_content_type(content_type, pattern)
|
356
365
|
return true if content_type == pattern || ['*', '*/*'].include?(pattern)
|
@@ -365,6 +374,7 @@ module StackOne
|
|
365
374
|
|
366
375
|
sig { params(req: Faraday::Request, security: Object).void }
|
367
376
|
def self.configure_request_security(req, security)
|
377
|
+
return if security.nil?
|
368
378
|
sec_fields = security.fields
|
369
379
|
sec_fields.each do |sec_field|
|
370
380
|
value = security.send(sec_field.name)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackone_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- StackOne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-03-
|
11
|
+
date: 2025-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -526,12 +526,16 @@ files:
|
|
526
526
|
- lib/stack_one/models/operations/hris_update_employee_employment_response.rb
|
527
527
|
- lib/stack_one/models/operations/hris_update_employee_request.rb
|
528
528
|
- lib/stack_one/models/operations/hris_update_employee_response.rb
|
529
|
+
- lib/stack_one/models/operations/hris_update_employee_time_off_request_request.rb
|
530
|
+
- lib/stack_one/models/operations/hris_update_employee_time_off_request_response.rb
|
529
531
|
- lib/stack_one/models/operations/hris_update_employee_work_eligibility_request_request.rb
|
530
532
|
- lib/stack_one/models/operations/hris_update_employee_work_eligibility_request_response.rb
|
531
533
|
- lib/stack_one/models/operations/hris_update_time_off_request_request.rb
|
532
534
|
- lib/stack_one/models/operations/hris_update_time_off_request_response.rb
|
533
535
|
- lib/stack_one/models/operations/hris_upload_employee_document_request.rb
|
534
536
|
- lib/stack_one/models/operations/hris_upload_employee_document_response.rb
|
537
|
+
- lib/stack_one/models/operations/iam_delete_user_request.rb
|
538
|
+
- lib/stack_one/models/operations/iam_delete_user_response.rb
|
535
539
|
- lib/stack_one/models/operations/iam_get_group_request.rb
|
536
540
|
- lib/stack_one/models/operations/iam_get_group_response.rb
|
537
541
|
- lib/stack_one/models/operations/iam_get_policy_request.rb
|
@@ -552,6 +556,8 @@ files:
|
|
552
556
|
- lib/stack_one/models/operations/iam_list_users_queryparam_filter.rb
|
553
557
|
- lib/stack_one/models/operations/iam_list_users_request.rb
|
554
558
|
- lib/stack_one/models/operations/iam_list_users_response.rb
|
559
|
+
- lib/stack_one/models/operations/iam_update_user_request.rb
|
560
|
+
- lib/stack_one/models/operations/iam_update_user_response.rb
|
555
561
|
- lib/stack_one/models/operations/job_status.rb
|
556
562
|
- lib/stack_one/models/operations/lms_batch_upsert_content_request.rb
|
557
563
|
- lib/stack_one/models/operations/lms_batch_upsert_content_response.rb
|
@@ -1190,6 +1196,9 @@ files:
|
|
1190
1196
|
- lib/stack_one/models/shared/iamrole_value.rb
|
1191
1197
|
- lib/stack_one/models/shared/iamroleresult.rb
|
1192
1198
|
- lib/stack_one/models/shared/iamrolespaginated.rb
|
1199
|
+
- lib/stack_one/models/shared/iamupdateuserrequestdto.rb
|
1200
|
+
- lib/stack_one/models/shared/iamupdateuserrequestdto_status.rb
|
1201
|
+
- lib/stack_one/models/shared/iamupdateuserrequestdto_value.rb
|
1193
1202
|
- lib/stack_one/models/shared/iamuser.rb
|
1194
1203
|
- lib/stack_one/models/shared/iamuser_avatar.rb
|
1195
1204
|
- lib/stack_one/models/shared/iamuser_category.rb
|
@@ -1491,6 +1500,9 @@ files:
|
|
1491
1500
|
- lib/stack_one/models/shared/updateemployeeapimodel_work_location.rb
|
1492
1501
|
- lib/stack_one/models/shared/updatepackage.rb
|
1493
1502
|
- lib/stack_one/models/shared/updateresult.rb
|
1503
|
+
- lib/stack_one/models/shared/updateuserapimodel.rb
|
1504
|
+
- lib/stack_one/models/shared/updateuserapimodel_status.rb
|
1505
|
+
- lib/stack_one/models/shared/updateuserapimodel_value.rb
|
1494
1506
|
- lib/stack_one/models/shared/upsertresult.rb
|
1495
1507
|
- lib/stack_one/models/shared/upsertresultdataexternalreferencemodel.rb
|
1496
1508
|
- lib/stack_one/models/shared/userresult.rb
|
@@ -1511,6 +1523,8 @@ files:
|
|
1511
1523
|
- lib/stack_one/models/shared/workeligibilityresult.rb
|
1512
1524
|
- lib/stack_one/models/shared/writeresultapimodel.rb
|
1513
1525
|
- lib/stack_one/proxy.rb
|
1526
|
+
- lib/stack_one/sdk_hooks/hooks.rb
|
1527
|
+
- lib/stack_one/sdk_hooks/types.rb
|
1514
1528
|
- lib/stack_one/sdkconfiguration.rb
|
1515
1529
|
- lib/stack_one/stackone.rb
|
1516
1530
|
- lib/stack_one/utils/retries.rb
|