smplkit 3.0.65 → 3.0.66
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/smplkit/_generated/app/lib/smplkit_app_client/api/group_memberships_api.rb +295 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/groups_api.rb +366 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group.rb +247 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_create_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_create_resource.rb +242 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_list_response.rb +193 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership.rb +215 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_list_response.rb +193 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_resource.rb +225 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_response.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_resource.rb +225 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_response.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation.rb +14 -1
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_create_item.rb +17 -4
- data/lib/smplkit/_generated/app/lib/smplkit_app_client.rb +14 -0
- data/lib/smplkit/_generated/app/spec/api/group_memberships_api_spec.rb +88 -0
- data/lib/smplkit/_generated/app/spec/api/groups_api_spec.rb +100 -0
- data/lib/smplkit/_generated/app/spec/models/group_create_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/group_create_resource_spec.rb +52 -0
- data/lib/smplkit/_generated/app/spec/models/group_list_response_spec.rb +42 -0
- data/lib/smplkit/_generated/app/spec/models/group_membership_list_response_spec.rb +42 -0
- data/lib/smplkit/_generated/app/spec/models/group_membership_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/group_membership_resource_spec.rb +52 -0
- data/lib/smplkit/_generated/app/spec/models/group_membership_response_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/group_membership_spec.rb +54 -0
- data/lib/smplkit/_generated/app/spec/models/group_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/group_resource_spec.rb +52 -0
- data/lib/smplkit/_generated/app/spec/models/group_response_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/group_spec.rb +66 -0
- data/lib/smplkit/_generated/app/spec/models/invitation_create_item_spec.rb +6 -0
- data/lib/smplkit/_generated/app/spec/models/invitation_spec.rb +6 -0
- metadata +29 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d5625133c3c3fc48e8d783211e3ccfee90572775dbad53141ea6f809e8e79f0d
|
|
4
|
+
data.tar.gz: c06c855003e82bfd116fcdec13430b64d199ef00a81e84b6b176d2bda42e104c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e3483d8514c812a512d857eef02a591eb023e65c38c4408ffbbeba6be650ce9c058c42b6421934bdb37eb6a40730cc5a2659c5e042067edc54c604691601595f
|
|
7
|
+
data.tar.gz: 065be639582028946d863d675b4000c49c34a96e377a15d4b23a484eb05bd95f812cc4815258c788fd68e233e71d8abe834655e70c8e575b9fb96c5cee5cbe73
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#smplkit API
|
|
3
|
+
|
|
4
|
+
#API for the smplkit platform.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.1.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.22.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module SmplkitGeneratedClient::App
|
|
16
|
+
class GroupMembershipsApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Create Group Membership
|
|
23
|
+
# Add a user to a group. The body references the user (UUID) and the group (key) in the resource attributes. Returns `409` if this user is already a member of this group, or `422` if either the user is not a member of the account or the group does not exist.
|
|
24
|
+
# @param group_membership_request [GroupMembershipRequest]
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [GroupMembershipResponse]
|
|
27
|
+
def create_group_membership(group_membership_request, opts = {})
|
|
28
|
+
data, _status_code, _headers = create_group_membership_with_http_info(group_membership_request, opts)
|
|
29
|
+
data
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Create Group Membership
|
|
33
|
+
# Add a user to a group. The body references the user (UUID) and the group (key) in the resource attributes. Returns `409` if this user is already a member of this group, or `422` if either the user is not a member of the account or the group does not exist.
|
|
34
|
+
# @param group_membership_request [GroupMembershipRequest]
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(GroupMembershipResponse, Integer, Hash)>] GroupMembershipResponse data, response status code and response headers
|
|
37
|
+
def create_group_membership_with_http_info(group_membership_request, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: GroupMembershipsApi.create_group_membership ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'group_membership_request' is set
|
|
42
|
+
if @api_client.config.client_side_validation && group_membership_request.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'group_membership_request' when calling GroupMembershipsApi.create_group_membership"
|
|
44
|
+
end
|
|
45
|
+
# resource path
|
|
46
|
+
local_var_path = '/api/v1/group_memberships'
|
|
47
|
+
|
|
48
|
+
# query parameters
|
|
49
|
+
query_params = opts[:query_params] || {}
|
|
50
|
+
|
|
51
|
+
# header parameters
|
|
52
|
+
header_params = opts[:header_params] || {}
|
|
53
|
+
# HTTP header 'Accept' (if needed)
|
|
54
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
55
|
+
# HTTP header 'Content-Type'
|
|
56
|
+
content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
|
|
57
|
+
if !content_type.nil?
|
|
58
|
+
header_params['Content-Type'] = content_type
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# form parameters
|
|
62
|
+
form_params = opts[:form_params] || {}
|
|
63
|
+
|
|
64
|
+
# http body (model)
|
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(group_membership_request)
|
|
66
|
+
|
|
67
|
+
# return_type
|
|
68
|
+
return_type = opts[:debug_return_type] || 'GroupMembershipResponse'
|
|
69
|
+
|
|
70
|
+
# auth_names
|
|
71
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
72
|
+
|
|
73
|
+
new_options = opts.merge(
|
|
74
|
+
:operation => :"GroupMembershipsApi.create_group_membership",
|
|
75
|
+
:header_params => header_params,
|
|
76
|
+
:query_params => query_params,
|
|
77
|
+
:form_params => form_params,
|
|
78
|
+
:body => post_body,
|
|
79
|
+
:auth_names => auth_names,
|
|
80
|
+
:return_type => return_type
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
84
|
+
if @api_client.config.debugging
|
|
85
|
+
@api_client.config.logger.debug "API called: GroupMembershipsApi#create_group_membership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
86
|
+
end
|
|
87
|
+
return data, status_code, headers
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Delete Group Membership
|
|
91
|
+
# Remove a user from a group. Returns `409` when the membership is the user's `default` membership — every user must remain in the `default` group per ADR-055 §4.
|
|
92
|
+
# @param id [String]
|
|
93
|
+
# @param [Hash] opts the optional parameters
|
|
94
|
+
# @return [nil]
|
|
95
|
+
def delete_group_membership(id, opts = {})
|
|
96
|
+
delete_group_membership_with_http_info(id, opts)
|
|
97
|
+
nil
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Delete Group Membership
|
|
101
|
+
# Remove a user from a group. Returns `409` when the membership is the user's `default` membership — every user must remain in the `default` group per ADR-055 §4.
|
|
102
|
+
# @param id [String]
|
|
103
|
+
# @param [Hash] opts the optional parameters
|
|
104
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
|
105
|
+
def delete_group_membership_with_http_info(id, opts = {})
|
|
106
|
+
if @api_client.config.debugging
|
|
107
|
+
@api_client.config.logger.debug 'Calling API: GroupMembershipsApi.delete_group_membership ...'
|
|
108
|
+
end
|
|
109
|
+
# verify the required parameter 'id' is set
|
|
110
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
111
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling GroupMembershipsApi.delete_group_membership"
|
|
112
|
+
end
|
|
113
|
+
# resource path
|
|
114
|
+
local_var_path = '/api/v1/group_memberships/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
115
|
+
|
|
116
|
+
# query parameters
|
|
117
|
+
query_params = opts[:query_params] || {}
|
|
118
|
+
|
|
119
|
+
# header parameters
|
|
120
|
+
header_params = opts[:header_params] || {}
|
|
121
|
+
# HTTP header 'Accept' (if needed)
|
|
122
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
123
|
+
|
|
124
|
+
# form parameters
|
|
125
|
+
form_params = opts[:form_params] || {}
|
|
126
|
+
|
|
127
|
+
# http body (model)
|
|
128
|
+
post_body = opts[:debug_body]
|
|
129
|
+
|
|
130
|
+
# return_type
|
|
131
|
+
return_type = opts[:debug_return_type]
|
|
132
|
+
|
|
133
|
+
# auth_names
|
|
134
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
135
|
+
|
|
136
|
+
new_options = opts.merge(
|
|
137
|
+
:operation => :"GroupMembershipsApi.delete_group_membership",
|
|
138
|
+
:header_params => header_params,
|
|
139
|
+
:query_params => query_params,
|
|
140
|
+
:form_params => form_params,
|
|
141
|
+
:body => post_body,
|
|
142
|
+
:auth_names => auth_names,
|
|
143
|
+
:return_type => return_type
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
|
|
147
|
+
if @api_client.config.debugging
|
|
148
|
+
@api_client.config.logger.debug "API called: GroupMembershipsApi#delete_group_membership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
149
|
+
end
|
|
150
|
+
return data, status_code, headers
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Get Group Membership
|
|
154
|
+
# Return a single membership by id.
|
|
155
|
+
# @param id [String]
|
|
156
|
+
# @param [Hash] opts the optional parameters
|
|
157
|
+
# @return [GroupMembershipResponse]
|
|
158
|
+
def get_group_membership(id, opts = {})
|
|
159
|
+
data, _status_code, _headers = get_group_membership_with_http_info(id, opts)
|
|
160
|
+
data
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Get Group Membership
|
|
164
|
+
# Return a single membership by id.
|
|
165
|
+
# @param id [String]
|
|
166
|
+
# @param [Hash] opts the optional parameters
|
|
167
|
+
# @return [Array<(GroupMembershipResponse, Integer, Hash)>] GroupMembershipResponse data, response status code and response headers
|
|
168
|
+
def get_group_membership_with_http_info(id, opts = {})
|
|
169
|
+
if @api_client.config.debugging
|
|
170
|
+
@api_client.config.logger.debug 'Calling API: GroupMembershipsApi.get_group_membership ...'
|
|
171
|
+
end
|
|
172
|
+
# verify the required parameter 'id' is set
|
|
173
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
174
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling GroupMembershipsApi.get_group_membership"
|
|
175
|
+
end
|
|
176
|
+
# resource path
|
|
177
|
+
local_var_path = '/api/v1/group_memberships/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
178
|
+
|
|
179
|
+
# query parameters
|
|
180
|
+
query_params = opts[:query_params] || {}
|
|
181
|
+
|
|
182
|
+
# header parameters
|
|
183
|
+
header_params = opts[:header_params] || {}
|
|
184
|
+
# HTTP header 'Accept' (if needed)
|
|
185
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
186
|
+
|
|
187
|
+
# form parameters
|
|
188
|
+
form_params = opts[:form_params] || {}
|
|
189
|
+
|
|
190
|
+
# http body (model)
|
|
191
|
+
post_body = opts[:debug_body]
|
|
192
|
+
|
|
193
|
+
# return_type
|
|
194
|
+
return_type = opts[:debug_return_type] || 'GroupMembershipResponse'
|
|
195
|
+
|
|
196
|
+
# auth_names
|
|
197
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
198
|
+
|
|
199
|
+
new_options = opts.merge(
|
|
200
|
+
:operation => :"GroupMembershipsApi.get_group_membership",
|
|
201
|
+
:header_params => header_params,
|
|
202
|
+
:query_params => query_params,
|
|
203
|
+
:form_params => form_params,
|
|
204
|
+
:body => post_body,
|
|
205
|
+
:auth_names => auth_names,
|
|
206
|
+
:return_type => return_type
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
210
|
+
if @api_client.config.debugging
|
|
211
|
+
@api_client.config.logger.debug "API called: GroupMembershipsApi#get_group_membership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
212
|
+
end
|
|
213
|
+
return data, status_code, headers
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# List Group Memberships
|
|
217
|
+
# List group memberships in the authenticated account. Pass `filter[group]` (a group key) to list members of a single group, or `filter[user]` (a UUID) to list a single user's memberships. The two filters may be combined to look up a specific (user, group) pair.
|
|
218
|
+
# @param [Hash] opts the optional parameters
|
|
219
|
+
# @option opts [String] :filter_group Group key to narrow the result to memberships in that group.
|
|
220
|
+
# @option opts [String] :filter_user User UUID to narrow the result to memberships for that user.
|
|
221
|
+
# @option opts [String] :sort Field to sort by. Prefix with `-` for descending order. Default: `created_at`. Allowed values: `created_at`, `-created_at`, `updated_at`, `-updated_at`. (default to 'created_at')
|
|
222
|
+
# @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to `1` when omitted. Must be `>= 1` — requests with a smaller value are rejected with a 400 error. (default to 1)
|
|
223
|
+
# @option opts [Integer] :page_size Number of items per page. Optional; defaults to `1000` when omitted. Must be between `1` and `1000` inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
|
|
224
|
+
# @option opts [Boolean] :meta_total When `true`, the response's `meta.pagination` block includes `total` (the total number of matching items across all pages) and `total_pages`. Computing these requires an extra `COUNT` query, so omit (or pass `false`) when the totals are not needed. Defaults to `false`. (default to false)
|
|
225
|
+
# @return [GroupMembershipListResponse]
|
|
226
|
+
def list_group_memberships(opts = {})
|
|
227
|
+
data, _status_code, _headers = list_group_memberships_with_http_info(opts)
|
|
228
|
+
data
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# List Group Memberships
|
|
232
|
+
# List group memberships in the authenticated account. Pass `filter[group]` (a group key) to list members of a single group, or `filter[user]` (a UUID) to list a single user's memberships. The two filters may be combined to look up a specific (user, group) pair.
|
|
233
|
+
# @param [Hash] opts the optional parameters
|
|
234
|
+
# @option opts [String] :filter_group Group key to narrow the result to memberships in that group.
|
|
235
|
+
# @option opts [String] :filter_user User UUID to narrow the result to memberships for that user.
|
|
236
|
+
# @option opts [String] :sort Field to sort by. Prefix with `-` for descending order. Default: `created_at`. Allowed values: `created_at`, `-created_at`, `updated_at`, `-updated_at`. (default to 'created_at')
|
|
237
|
+
# @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to `1` when omitted. Must be `>= 1` — requests with a smaller value are rejected with a 400 error. (default to 1)
|
|
238
|
+
# @option opts [Integer] :page_size Number of items per page. Optional; defaults to `1000` when omitted. Must be between `1` and `1000` inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
|
|
239
|
+
# @option opts [Boolean] :meta_total When `true`, the response's `meta.pagination` block includes `total` (the total number of matching items across all pages) and `total_pages`. Computing these requires an extra `COUNT` query, so omit (or pass `false`) when the totals are not needed. Defaults to `false`. (default to false)
|
|
240
|
+
# @return [Array<(GroupMembershipListResponse, Integer, Hash)>] GroupMembershipListResponse data, response status code and response headers
|
|
241
|
+
def list_group_memberships_with_http_info(opts = {})
|
|
242
|
+
if @api_client.config.debugging
|
|
243
|
+
@api_client.config.logger.debug 'Calling API: GroupMembershipsApi.list_group_memberships ...'
|
|
244
|
+
end
|
|
245
|
+
allowable_values = ["created_at", "-created_at", "updated_at", "-updated_at"]
|
|
246
|
+
if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
|
|
247
|
+
fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
|
|
248
|
+
end
|
|
249
|
+
# resource path
|
|
250
|
+
local_var_path = '/api/v1/group_memberships'
|
|
251
|
+
|
|
252
|
+
# query parameters
|
|
253
|
+
query_params = opts[:query_params] || {}
|
|
254
|
+
query_params[:'filter[group]'] = opts[:'filter_group'] if !opts[:'filter_group'].nil?
|
|
255
|
+
query_params[:'filter[user]'] = opts[:'filter_user'] if !opts[:'filter_user'].nil?
|
|
256
|
+
query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
|
|
257
|
+
query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
|
|
258
|
+
query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
|
|
259
|
+
query_params[:'meta[total]'] = opts[:'meta_total'] if !opts[:'meta_total'].nil?
|
|
260
|
+
|
|
261
|
+
# header parameters
|
|
262
|
+
header_params = opts[:header_params] || {}
|
|
263
|
+
# HTTP header 'Accept' (if needed)
|
|
264
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
265
|
+
|
|
266
|
+
# form parameters
|
|
267
|
+
form_params = opts[:form_params] || {}
|
|
268
|
+
|
|
269
|
+
# http body (model)
|
|
270
|
+
post_body = opts[:debug_body]
|
|
271
|
+
|
|
272
|
+
# return_type
|
|
273
|
+
return_type = opts[:debug_return_type] || 'GroupMembershipListResponse'
|
|
274
|
+
|
|
275
|
+
# auth_names
|
|
276
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
277
|
+
|
|
278
|
+
new_options = opts.merge(
|
|
279
|
+
:operation => :"GroupMembershipsApi.list_group_memberships",
|
|
280
|
+
:header_params => header_params,
|
|
281
|
+
:query_params => query_params,
|
|
282
|
+
:form_params => form_params,
|
|
283
|
+
:body => post_body,
|
|
284
|
+
:auth_names => auth_names,
|
|
285
|
+
:return_type => return_type
|
|
286
|
+
)
|
|
287
|
+
|
|
288
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
289
|
+
if @api_client.config.debugging
|
|
290
|
+
@api_client.config.logger.debug "API called: GroupMembershipsApi#list_group_memberships\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
291
|
+
end
|
|
292
|
+
return data, status_code, headers
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
end
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#smplkit API
|
|
3
|
+
|
|
4
|
+
#API for the smplkit platform.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.1.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.22.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module SmplkitGeneratedClient::App
|
|
16
|
+
class GroupsApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Create Group
|
|
23
|
+
# Create an Environment Access Group. The caller provides the group id (a snake-case key, unique within the account) in the request body. The id is immutable thereafter. Returns `409` if a group with that id already exists, or `422` if `managed_environments` is not exactly `['*']` or a subset of the account's standard environment keys.
|
|
24
|
+
# @param group_create_request [GroupCreateRequest]
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [GroupResponse]
|
|
27
|
+
def create_group(group_create_request, opts = {})
|
|
28
|
+
data, _status_code, _headers = create_group_with_http_info(group_create_request, opts)
|
|
29
|
+
data
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Create Group
|
|
33
|
+
# Create an Environment Access Group. The caller provides the group id (a snake-case key, unique within the account) in the request body. The id is immutable thereafter. Returns `409` if a group with that id already exists, or `422` if `managed_environments` is not exactly `['*']` or a subset of the account's standard environment keys.
|
|
34
|
+
# @param group_create_request [GroupCreateRequest]
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(GroupResponse, Integer, Hash)>] GroupResponse data, response status code and response headers
|
|
37
|
+
def create_group_with_http_info(group_create_request, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: GroupsApi.create_group ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'group_create_request' is set
|
|
42
|
+
if @api_client.config.client_side_validation && group_create_request.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'group_create_request' when calling GroupsApi.create_group"
|
|
44
|
+
end
|
|
45
|
+
# resource path
|
|
46
|
+
local_var_path = '/api/v1/groups'
|
|
47
|
+
|
|
48
|
+
# query parameters
|
|
49
|
+
query_params = opts[:query_params] || {}
|
|
50
|
+
|
|
51
|
+
# header parameters
|
|
52
|
+
header_params = opts[:header_params] || {}
|
|
53
|
+
# HTTP header 'Accept' (if needed)
|
|
54
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
55
|
+
# HTTP header 'Content-Type'
|
|
56
|
+
content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
|
|
57
|
+
if !content_type.nil?
|
|
58
|
+
header_params['Content-Type'] = content_type
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# form parameters
|
|
62
|
+
form_params = opts[:form_params] || {}
|
|
63
|
+
|
|
64
|
+
# http body (model)
|
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(group_create_request)
|
|
66
|
+
|
|
67
|
+
# return_type
|
|
68
|
+
return_type = opts[:debug_return_type] || 'GroupResponse'
|
|
69
|
+
|
|
70
|
+
# auth_names
|
|
71
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
72
|
+
|
|
73
|
+
new_options = opts.merge(
|
|
74
|
+
:operation => :"GroupsApi.create_group",
|
|
75
|
+
:header_params => header_params,
|
|
76
|
+
:query_params => query_params,
|
|
77
|
+
:form_params => form_params,
|
|
78
|
+
:body => post_body,
|
|
79
|
+
:auth_names => auth_names,
|
|
80
|
+
:return_type => return_type
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
84
|
+
if @api_client.config.debugging
|
|
85
|
+
@api_client.config.logger.debug "API called: GroupsApi#create_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
86
|
+
end
|
|
87
|
+
return data, status_code, headers
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Delete Group
|
|
91
|
+
# Delete a group by id. Returns `409` for the reserved `default` group, which every account requires. Deleting a group also cascades to its memberships.
|
|
92
|
+
# @param id [String]
|
|
93
|
+
# @param [Hash] opts the optional parameters
|
|
94
|
+
# @return [nil]
|
|
95
|
+
def delete_group(id, opts = {})
|
|
96
|
+
delete_group_with_http_info(id, opts)
|
|
97
|
+
nil
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Delete Group
|
|
101
|
+
# Delete a group by id. Returns `409` for the reserved `default` group, which every account requires. Deleting a group also cascades to its memberships.
|
|
102
|
+
# @param id [String]
|
|
103
|
+
# @param [Hash] opts the optional parameters
|
|
104
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
|
105
|
+
def delete_group_with_http_info(id, opts = {})
|
|
106
|
+
if @api_client.config.debugging
|
|
107
|
+
@api_client.config.logger.debug 'Calling API: GroupsApi.delete_group ...'
|
|
108
|
+
end
|
|
109
|
+
# verify the required parameter 'id' is set
|
|
110
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
111
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.delete_group"
|
|
112
|
+
end
|
|
113
|
+
# resource path
|
|
114
|
+
local_var_path = '/api/v1/groups/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
115
|
+
|
|
116
|
+
# query parameters
|
|
117
|
+
query_params = opts[:query_params] || {}
|
|
118
|
+
|
|
119
|
+
# header parameters
|
|
120
|
+
header_params = opts[:header_params] || {}
|
|
121
|
+
# HTTP header 'Accept' (if needed)
|
|
122
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
123
|
+
|
|
124
|
+
# form parameters
|
|
125
|
+
form_params = opts[:form_params] || {}
|
|
126
|
+
|
|
127
|
+
# http body (model)
|
|
128
|
+
post_body = opts[:debug_body]
|
|
129
|
+
|
|
130
|
+
# return_type
|
|
131
|
+
return_type = opts[:debug_return_type]
|
|
132
|
+
|
|
133
|
+
# auth_names
|
|
134
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
135
|
+
|
|
136
|
+
new_options = opts.merge(
|
|
137
|
+
:operation => :"GroupsApi.delete_group",
|
|
138
|
+
:header_params => header_params,
|
|
139
|
+
:query_params => query_params,
|
|
140
|
+
:form_params => form_params,
|
|
141
|
+
:body => post_body,
|
|
142
|
+
:auth_names => auth_names,
|
|
143
|
+
:return_type => return_type
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
|
|
147
|
+
if @api_client.config.debugging
|
|
148
|
+
@api_client.config.logger.debug "API called: GroupsApi#delete_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
149
|
+
end
|
|
150
|
+
return data, status_code, headers
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Get Group
|
|
154
|
+
# Return a group by id.
|
|
155
|
+
# @param id [String]
|
|
156
|
+
# @param [Hash] opts the optional parameters
|
|
157
|
+
# @return [GroupResponse]
|
|
158
|
+
def get_group(id, opts = {})
|
|
159
|
+
data, _status_code, _headers = get_group_with_http_info(id, opts)
|
|
160
|
+
data
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Get Group
|
|
164
|
+
# Return a group by id.
|
|
165
|
+
# @param id [String]
|
|
166
|
+
# @param [Hash] opts the optional parameters
|
|
167
|
+
# @return [Array<(GroupResponse, Integer, Hash)>] GroupResponse data, response status code and response headers
|
|
168
|
+
def get_group_with_http_info(id, opts = {})
|
|
169
|
+
if @api_client.config.debugging
|
|
170
|
+
@api_client.config.logger.debug 'Calling API: GroupsApi.get_group ...'
|
|
171
|
+
end
|
|
172
|
+
# verify the required parameter 'id' is set
|
|
173
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
174
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.get_group"
|
|
175
|
+
end
|
|
176
|
+
# resource path
|
|
177
|
+
local_var_path = '/api/v1/groups/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
178
|
+
|
|
179
|
+
# query parameters
|
|
180
|
+
query_params = opts[:query_params] || {}
|
|
181
|
+
|
|
182
|
+
# header parameters
|
|
183
|
+
header_params = opts[:header_params] || {}
|
|
184
|
+
# HTTP header 'Accept' (if needed)
|
|
185
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
186
|
+
|
|
187
|
+
# form parameters
|
|
188
|
+
form_params = opts[:form_params] || {}
|
|
189
|
+
|
|
190
|
+
# http body (model)
|
|
191
|
+
post_body = opts[:debug_body]
|
|
192
|
+
|
|
193
|
+
# return_type
|
|
194
|
+
return_type = opts[:debug_return_type] || 'GroupResponse'
|
|
195
|
+
|
|
196
|
+
# auth_names
|
|
197
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
198
|
+
|
|
199
|
+
new_options = opts.merge(
|
|
200
|
+
:operation => :"GroupsApi.get_group",
|
|
201
|
+
:header_params => header_params,
|
|
202
|
+
:query_params => query_params,
|
|
203
|
+
:form_params => form_params,
|
|
204
|
+
:body => post_body,
|
|
205
|
+
:auth_names => auth_names,
|
|
206
|
+
:return_type => return_type
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
210
|
+
if @api_client.config.debugging
|
|
211
|
+
@api_client.config.logger.debug "API called: GroupsApi#get_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
212
|
+
end
|
|
213
|
+
return data, status_code, headers
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# List Groups
|
|
217
|
+
# List Environment Access Groups for the authenticated account. `filter[search]` does a case-insensitive substring match against the group `key` and `name`.
|
|
218
|
+
# @param [Hash] opts the optional parameters
|
|
219
|
+
# @option opts [String] :filter_search Case-insensitive substring match against the group `key` and `name`. A group is returned if either field contains the search term.
|
|
220
|
+
# @option opts [String] :sort Field to sort by. Prefix with `-` for descending order. Default: `name`. Allowed values: `created_at`, `-created_at`, `key`, `-key`, `name`, `-name`, `updated_at`, `-updated_at`. (default to 'name')
|
|
221
|
+
# @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to `1` when omitted. Must be `>= 1` — requests with a smaller value are rejected with a 400 error. (default to 1)
|
|
222
|
+
# @option opts [Integer] :page_size Number of items per page. Optional; defaults to `1000` when omitted. Must be between `1` and `1000` inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
|
|
223
|
+
# @option opts [Boolean] :meta_total When `true`, the response's `meta.pagination` block includes `total` (the total number of matching items across all pages) and `total_pages`. Computing these requires an extra `COUNT` query, so omit (or pass `false`) when the totals are not needed. Defaults to `false`. (default to false)
|
|
224
|
+
# @return [GroupListResponse]
|
|
225
|
+
def list_groups(opts = {})
|
|
226
|
+
data, _status_code, _headers = list_groups_with_http_info(opts)
|
|
227
|
+
data
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
# List Groups
|
|
231
|
+
# List Environment Access Groups for the authenticated account. `filter[search]` does a case-insensitive substring match against the group `key` and `name`.
|
|
232
|
+
# @param [Hash] opts the optional parameters
|
|
233
|
+
# @option opts [String] :filter_search Case-insensitive substring match against the group `key` and `name`. A group is returned if either field contains the search term.
|
|
234
|
+
# @option opts [String] :sort Field to sort by. Prefix with `-` for descending order. Default: `name`. Allowed values: `created_at`, `-created_at`, `key`, `-key`, `name`, `-name`, `updated_at`, `-updated_at`. (default to 'name')
|
|
235
|
+
# @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to `1` when omitted. Must be `>= 1` — requests with a smaller value are rejected with a 400 error. (default to 1)
|
|
236
|
+
# @option opts [Integer] :page_size Number of items per page. Optional; defaults to `1000` when omitted. Must be between `1` and `1000` inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
|
|
237
|
+
# @option opts [Boolean] :meta_total When `true`, the response's `meta.pagination` block includes `total` (the total number of matching items across all pages) and `total_pages`. Computing these requires an extra `COUNT` query, so omit (or pass `false`) when the totals are not needed. Defaults to `false`. (default to false)
|
|
238
|
+
# @return [Array<(GroupListResponse, Integer, Hash)>] GroupListResponse data, response status code and response headers
|
|
239
|
+
def list_groups_with_http_info(opts = {})
|
|
240
|
+
if @api_client.config.debugging
|
|
241
|
+
@api_client.config.logger.debug 'Calling API: GroupsApi.list_groups ...'
|
|
242
|
+
end
|
|
243
|
+
allowable_values = ["created_at", "-created_at", "key", "-key", "name", "-name", "updated_at", "-updated_at"]
|
|
244
|
+
if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
|
|
245
|
+
fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
|
|
246
|
+
end
|
|
247
|
+
# resource path
|
|
248
|
+
local_var_path = '/api/v1/groups'
|
|
249
|
+
|
|
250
|
+
# query parameters
|
|
251
|
+
query_params = opts[:query_params] || {}
|
|
252
|
+
query_params[:'filter[search]'] = opts[:'filter_search'] if !opts[:'filter_search'].nil?
|
|
253
|
+
query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
|
|
254
|
+
query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
|
|
255
|
+
query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
|
|
256
|
+
query_params[:'meta[total]'] = opts[:'meta_total'] if !opts[:'meta_total'].nil?
|
|
257
|
+
|
|
258
|
+
# header parameters
|
|
259
|
+
header_params = opts[:header_params] || {}
|
|
260
|
+
# HTTP header 'Accept' (if needed)
|
|
261
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
262
|
+
|
|
263
|
+
# form parameters
|
|
264
|
+
form_params = opts[:form_params] || {}
|
|
265
|
+
|
|
266
|
+
# http body (model)
|
|
267
|
+
post_body = opts[:debug_body]
|
|
268
|
+
|
|
269
|
+
# return_type
|
|
270
|
+
return_type = opts[:debug_return_type] || 'GroupListResponse'
|
|
271
|
+
|
|
272
|
+
# auth_names
|
|
273
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
274
|
+
|
|
275
|
+
new_options = opts.merge(
|
|
276
|
+
:operation => :"GroupsApi.list_groups",
|
|
277
|
+
:header_params => header_params,
|
|
278
|
+
:query_params => query_params,
|
|
279
|
+
:form_params => form_params,
|
|
280
|
+
:body => post_body,
|
|
281
|
+
:auth_names => auth_names,
|
|
282
|
+
:return_type => return_type
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
286
|
+
if @api_client.config.debugging
|
|
287
|
+
@api_client.config.logger.debug "API called: GroupsApi#list_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
288
|
+
end
|
|
289
|
+
return data, status_code, headers
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
# Update Group
|
|
293
|
+
# Update a group's name, description, and managed environments. Whole-resource semantics — submit every writable attribute. For the reserved `default` group, `managed_environments` may be changed (this is the lever that narrows the account-wide baseline), but renaming or other identity changes are rejected with `409`. Invalid `managed_environments` is `422`.
|
|
294
|
+
# @param id [String]
|
|
295
|
+
# @param group_request [GroupRequest]
|
|
296
|
+
# @param [Hash] opts the optional parameters
|
|
297
|
+
# @return [GroupResponse]
|
|
298
|
+
def update_group(id, group_request, opts = {})
|
|
299
|
+
data, _status_code, _headers = update_group_with_http_info(id, group_request, opts)
|
|
300
|
+
data
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
# Update Group
|
|
304
|
+
# Update a group's name, description, and managed environments. Whole-resource semantics — submit every writable attribute. For the reserved `default` group, `managed_environments` may be changed (this is the lever that narrows the account-wide baseline), but renaming or other identity changes are rejected with `409`. Invalid `managed_environments` is `422`.
|
|
305
|
+
# @param id [String]
|
|
306
|
+
# @param group_request [GroupRequest]
|
|
307
|
+
# @param [Hash] opts the optional parameters
|
|
308
|
+
# @return [Array<(GroupResponse, Integer, Hash)>] GroupResponse data, response status code and response headers
|
|
309
|
+
def update_group_with_http_info(id, group_request, opts = {})
|
|
310
|
+
if @api_client.config.debugging
|
|
311
|
+
@api_client.config.logger.debug 'Calling API: GroupsApi.update_group ...'
|
|
312
|
+
end
|
|
313
|
+
# verify the required parameter 'id' is set
|
|
314
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
315
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.update_group"
|
|
316
|
+
end
|
|
317
|
+
# verify the required parameter 'group_request' is set
|
|
318
|
+
if @api_client.config.client_side_validation && group_request.nil?
|
|
319
|
+
fail ArgumentError, "Missing the required parameter 'group_request' when calling GroupsApi.update_group"
|
|
320
|
+
end
|
|
321
|
+
# resource path
|
|
322
|
+
local_var_path = '/api/v1/groups/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
323
|
+
|
|
324
|
+
# query parameters
|
|
325
|
+
query_params = opts[:query_params] || {}
|
|
326
|
+
|
|
327
|
+
# header parameters
|
|
328
|
+
header_params = opts[:header_params] || {}
|
|
329
|
+
# HTTP header 'Accept' (if needed)
|
|
330
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
|
|
331
|
+
# HTTP header 'Content-Type'
|
|
332
|
+
content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
|
|
333
|
+
if !content_type.nil?
|
|
334
|
+
header_params['Content-Type'] = content_type
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
# form parameters
|
|
338
|
+
form_params = opts[:form_params] || {}
|
|
339
|
+
|
|
340
|
+
# http body (model)
|
|
341
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(group_request)
|
|
342
|
+
|
|
343
|
+
# return_type
|
|
344
|
+
return_type = opts[:debug_return_type] || 'GroupResponse'
|
|
345
|
+
|
|
346
|
+
# auth_names
|
|
347
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
|
348
|
+
|
|
349
|
+
new_options = opts.merge(
|
|
350
|
+
:operation => :"GroupsApi.update_group",
|
|
351
|
+
:header_params => header_params,
|
|
352
|
+
:query_params => query_params,
|
|
353
|
+
:form_params => form_params,
|
|
354
|
+
:body => post_body,
|
|
355
|
+
:auth_names => auth_names,
|
|
356
|
+
:return_type => return_type
|
|
357
|
+
)
|
|
358
|
+
|
|
359
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
|
|
360
|
+
if @api_client.config.debugging
|
|
361
|
+
@api_client.config.logger.debug "API called: GroupsApi#update_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
362
|
+
end
|
|
363
|
+
return data, status_code, headers
|
|
364
|
+
end
|
|
365
|
+
end
|
|
366
|
+
end
|