smplkit 3.0.69 → 3.0.70

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 14aa7741e38f0d7b46b59b99607d98e047a6c0f882f700186cbe9528f08b760c
4
- data.tar.gz: 77bb4129627ac94eb419edfa25142104ad478e6f1fd355f3ab98fe5945e6562c
3
+ metadata.gz: 4b676afd74dd6b0570d3f4c41dd3f4cdb28a04f79c4abd58e134984229e5e849
4
+ data.tar.gz: 1b0111b3a439df9adaafc5f70f65ebbe2e388559b060c92305faf95bc6b894cd
5
5
  SHA512:
6
- metadata.gz: 782b6881b4dc7d75cba1882936bb734365b30c34663cb31efffdde285b0b867edc8aad927bed3ae2df278e3d73ffb941e333c5fa3be2df7f30686d00e5e531f3
7
- data.tar.gz: 87bcc6f63ed76a1145460abca99c2eb0dd84e12aa592fedf88e0d2c657a4ee90fda1204a8906d298ea664ad3f2980a41550e61d54484d8e4ef7df6e33c80679b
6
+ metadata.gz: 61f4a645269c9c0c9a1a0c49d4ad389d796236c08f65c45b5f8a92c0fd05251c3d689a320e584bc712f0290fce70e8bcb94ed91eff3f2f8aa5719101b0efb842
7
+ data.tar.gz: e485197b9307b2c48a29d54086bf8dd6ff0ddd7c8d935937539f716ef7b2915eb3b3cc25214344e4907de10d1c82e8f4d848d5bde524339bdc88cd4389a1324a
@@ -0,0 +1,151 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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::Audit
16
+ class ExportsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create Export
23
+ # Mint a short-lived signed URL to stream an events download. The request body specifies `format` (`CSV` or `JSONL`) and any subset of the event filters accepted by `GET /api/v1/events`. The response returns the signed URL plus its expiry (30 seconds from mint). Open the URL in a browser to stream the file to disk; no `Authorization` header is required at download time. Filter rules match `GET /api/v1/events`: `filter[resource_id]` requires `filter[resource_type]`; `filter[search]` requires either `filter[occurred_at]` or `filter[resource_type]` + `filter[resource_id]`. Violations are rejected here at mint time. Reads are allowed on lapsed subscriptions per the smplcore convention — same gate as the events list.
24
+ # @param export_request [ExportRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [ExportResponse]
27
+ def create_export(export_request, opts = {})
28
+ data, _status_code, _headers = create_export_with_http_info(export_request, opts)
29
+ data
30
+ end
31
+
32
+ # Create Export
33
+ # Mint a short-lived signed URL to stream an events download. The request body specifies `format` (`CSV` or `JSONL`) and any subset of the event filters accepted by `GET /api/v1/events`. The response returns the signed URL plus its expiry (30 seconds from mint). Open the URL in a browser to stream the file to disk; no `Authorization` header is required at download time. Filter rules match `GET /api/v1/events`: `filter[resource_id]` requires `filter[resource_type]`; `filter[search]` requires either `filter[occurred_at]` or `filter[resource_type]` + `filter[resource_id]`. Violations are rejected here at mint time. Reads are allowed on lapsed subscriptions per the smplcore convention — same gate as the events list.
34
+ # @param export_request [ExportRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(ExportResponse, Integer, Hash)>] ExportResponse data, response status code and response headers
37
+ def create_export_with_http_info(export_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: ExportsApi.create_export ...'
40
+ end
41
+ # verify the required parameter 'export_request' is set
42
+ if @api_client.config.client_side_validation && export_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'export_request' when calling ExportsApi.create_export"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/exports'
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(export_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'ExportResponse'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"ExportsApi.create_export",
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: ExportsApi#create_export\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Download Export
91
+ # Stream a signed audit-events download — no `Authorization` header required. Authorization is the token itself: it carries the account, the chosen format, and the filters, all integrity-protected by HMAC. The endpoint verifies the signature and expiry, scopes the events query to the token's account, and streams the response. Any failure (bad signature, wrong audience, expired, malformed payload) returns `404 Not Found` — the response shape never leaks which check failed. The token is stateless and replayable until it expires (≤30s). Concurrent or duplicate GETs (browser retries, AV scanners, prefetchers) all succeed; there is no single-use behavior.
92
+ # @param token [String] Opaque signed download token from &#x60;POST /api/v1/exports&#x60;. Treat as a single short-lived URL — do not parse or store long-term.
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [nil]
95
+ def download_export(token, opts = {})
96
+ download_export_with_http_info(token, opts)
97
+ nil
98
+ end
99
+
100
+ # Download Export
101
+ # Stream a signed audit-events download — no &#x60;Authorization&#x60; header required. Authorization is the token itself: it carries the account, the chosen format, and the filters, all integrity-protected by HMAC. The endpoint verifies the signature and expiry, scopes the events query to the token&#39;s account, and streams the response. Any failure (bad signature, wrong audience, expired, malformed payload) returns &#x60;404 Not Found&#x60; — the response shape never leaks which check failed. The token is stateless and replayable until it expires (≤30s). Concurrent or duplicate GETs (browser retries, AV scanners, prefetchers) all succeed; there is no single-use behavior.
102
+ # @param token [String] Opaque signed download token from &#x60;POST /api/v1/exports&#x60;. Treat as a single short-lived URL — do not parse or store long-term.
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
105
+ def download_export_with_http_info(token, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: ExportsApi.download_export ...'
108
+ end
109
+ # verify the required parameter 'token' is set
110
+ if @api_client.config.client_side_validation && token.nil?
111
+ fail ArgumentError, "Missing the required parameter 'token' when calling ExportsApi.download_export"
112
+ end
113
+ # resource path
114
+ local_var_path = '/api/v1/exports/{token}'.sub('{token}', CGI.escape(token.to_s))
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+
122
+ # form parameters
123
+ form_params = opts[:form_params] || {}
124
+
125
+ # http body (model)
126
+ post_body = opts[:debug_body]
127
+
128
+ # return_type
129
+ return_type = opts[:debug_return_type]
130
+
131
+ # auth_names
132
+ auth_names = opts[:debug_auth_names] || []
133
+
134
+ new_options = opts.merge(
135
+ :operation => :"ExportsApi.download_export",
136
+ :header_params => header_params,
137
+ :query_params => query_params,
138
+ :form_params => form_params,
139
+ :body => post_body,
140
+ :auth_names => auth_names,
141
+ :return_type => return_type
142
+ )
143
+
144
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
145
+ if @api_client.config.debugging
146
+ @api_client.config.logger.debug "API called: ExportsApi#download_export\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
147
+ end
148
+ return data, status_code, headers
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,300 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'date'
14
+ require 'time'
15
+
16
+ module SmplkitGeneratedClient::Audit
17
+ # A request for a short-lived signed download URL. The customer chooses a `format` and supplies the same filter set the events list endpoint accepts. The server mints an HMAC-signed URL (valid for 30 seconds) that the browser navigates to for a native streaming download — no `Authorization` header required at download time. The download honors the **same filter-combination rules** as `GET /api/v1/events`: - `filter[resource_id]` must be accompanied by `filter[resource_type]`. - `filter[search]` must be accompanied by either `filter[occurred_at]` or `filter[resource_type]` + `filter[resource_id]`. A request that violates these rules is rejected at mint time with `400 Bad Request`.
18
+ class Export < ApiModelBase
19
+ # Output format for the download. `CSV` writes one row per event with the event payload (`data`) serialized as a JSON-encoded cell. `JSONL` writes one JSON object per line with `data` preserved as a nested object.
20
+ attr_accessor :format
21
+
22
+ # Date range using interval notation, e.g. `[2026-04-01T00:00:00Z,2026-04-15T00:00:00Z)`.
23
+ attr_accessor :filter_occurred_at
24
+
25
+ # Exact match on the event's `actor_type` field.
26
+ attr_accessor :filter_actor_type
27
+
28
+ # Exact match on the event's `actor_id` field.
29
+ attr_accessor :filter_actor_id
30
+
31
+ # Exact match on the event's `event_type` field.
32
+ attr_accessor :filter_event_type
33
+
34
+ # Exact match on the event's `resource_type` field.
35
+ attr_accessor :filter_resource_type
36
+
37
+ # Exact match on the event's `resource_id` field. Must be accompanied by `filter[resource_type]`.
38
+ attr_accessor :filter_resource_id
39
+
40
+ # Case-insensitive substring match against `resource_id` or `description`. Must be accompanied by either `filter[occurred_at]` or `filter[resource_type]` + `filter[resource_id]`.
41
+ attr_accessor :filter_search
42
+
43
+ # When set, restrict to events whose `do_not_forward` flag matches the given boolean.
44
+ attr_accessor :filter_do_not_forward
45
+
46
+ # Absolute, signed download URL. Open in a browser to stream the export to disk. Expires shortly after mint — see `expires_at`.
47
+ attr_accessor :url
48
+
49
+ # When the signed URL stops being valid (ISO-8601 UTC). Open the URL well before this time — the signed token is stateless, so a single mint cannot be 'refreshed'; mint a new export if the URL has expired.
50
+ attr_accessor :expires_at
51
+
52
+ class EnumAttributeValidator
53
+ attr_reader :datatype
54
+ attr_reader :allowable_values
55
+
56
+ def initialize(datatype, allowable_values)
57
+ @allowable_values = allowable_values.map do |value|
58
+ case datatype.to_s
59
+ when /Integer/i
60
+ value.to_i
61
+ when /Float/i
62
+ value.to_f
63
+ else
64
+ value
65
+ end
66
+ end
67
+ end
68
+
69
+ def valid?(value)
70
+ !value || allowable_values.include?(value)
71
+ end
72
+ end
73
+
74
+ # Attribute mapping from ruby-style variable name to JSON key.
75
+ def self.attribute_map
76
+ {
77
+ :'format' => :'format',
78
+ :'filter_occurred_at' => :'filter[occurred_at]',
79
+ :'filter_actor_type' => :'filter[actor_type]',
80
+ :'filter_actor_id' => :'filter[actor_id]',
81
+ :'filter_event_type' => :'filter[event_type]',
82
+ :'filter_resource_type' => :'filter[resource_type]',
83
+ :'filter_resource_id' => :'filter[resource_id]',
84
+ :'filter_search' => :'filter[search]',
85
+ :'filter_do_not_forward' => :'filter[do_not_forward]',
86
+ :'url' => :'url',
87
+ :'expires_at' => :'expires_at'
88
+ }
89
+ end
90
+
91
+ # Returns attribute mapping this model knows about
92
+ def self.acceptable_attribute_map
93
+ attribute_map
94
+ end
95
+
96
+ # Returns all the JSON keys this model knows about
97
+ def self.acceptable_attributes
98
+ acceptable_attribute_map.values
99
+ end
100
+
101
+ # Attribute type mapping.
102
+ def self.openapi_types
103
+ {
104
+ :'format' => :'String',
105
+ :'filter_occurred_at' => :'String',
106
+ :'filter_actor_type' => :'String',
107
+ :'filter_actor_id' => :'String',
108
+ :'filter_event_type' => :'String',
109
+ :'filter_resource_type' => :'String',
110
+ :'filter_resource_id' => :'String',
111
+ :'filter_search' => :'String',
112
+ :'filter_do_not_forward' => :'Boolean',
113
+ :'url' => :'String',
114
+ :'expires_at' => :'Time'
115
+ }
116
+ end
117
+
118
+ # List of attributes with nullable: true
119
+ def self.openapi_nullable
120
+ Set.new([
121
+ :'filter_occurred_at',
122
+ :'filter_actor_type',
123
+ :'filter_actor_id',
124
+ :'filter_event_type',
125
+ :'filter_resource_type',
126
+ :'filter_resource_id',
127
+ :'filter_search',
128
+ :'filter_do_not_forward',
129
+ :'url',
130
+ :'expires_at'
131
+ ])
132
+ end
133
+
134
+ # Initializes the object
135
+ # @param [Hash] attributes Model attributes in the form of hash
136
+ def initialize(attributes = {})
137
+ if (!attributes.is_a?(Hash))
138
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SmplkitGeneratedClient::Audit::Export` initialize method"
139
+ end
140
+
141
+ # check to see if the attribute exists and convert string to symbol for hash key
142
+ acceptable_attribute_map = self.class.acceptable_attribute_map
143
+ attributes = attributes.each_with_object({}) { |(k, v), h|
144
+ if (!acceptable_attribute_map.key?(k.to_sym))
145
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SmplkitGeneratedClient::Audit::Export`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
146
+ end
147
+ h[k.to_sym] = v
148
+ }
149
+
150
+ if attributes.key?(:'format')
151
+ self.format = attributes[:'format']
152
+ else
153
+ self.format = nil
154
+ end
155
+
156
+ if attributes.key?(:'filter_occurred_at')
157
+ self.filter_occurred_at = attributes[:'filter_occurred_at']
158
+ end
159
+
160
+ if attributes.key?(:'filter_actor_type')
161
+ self.filter_actor_type = attributes[:'filter_actor_type']
162
+ end
163
+
164
+ if attributes.key?(:'filter_actor_id')
165
+ self.filter_actor_id = attributes[:'filter_actor_id']
166
+ end
167
+
168
+ if attributes.key?(:'filter_event_type')
169
+ self.filter_event_type = attributes[:'filter_event_type']
170
+ end
171
+
172
+ if attributes.key?(:'filter_resource_type')
173
+ self.filter_resource_type = attributes[:'filter_resource_type']
174
+ end
175
+
176
+ if attributes.key?(:'filter_resource_id')
177
+ self.filter_resource_id = attributes[:'filter_resource_id']
178
+ end
179
+
180
+ if attributes.key?(:'filter_search')
181
+ self.filter_search = attributes[:'filter_search']
182
+ end
183
+
184
+ if attributes.key?(:'filter_do_not_forward')
185
+ self.filter_do_not_forward = attributes[:'filter_do_not_forward']
186
+ end
187
+
188
+ if attributes.key?(:'url')
189
+ self.url = attributes[:'url']
190
+ end
191
+
192
+ if attributes.key?(:'expires_at')
193
+ self.expires_at = attributes[:'expires_at']
194
+ end
195
+ end
196
+
197
+ # Show invalid properties with the reasons. Usually used together with valid?
198
+ # @return Array for valid properties with the reasons
199
+ def list_invalid_properties
200
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
201
+ invalid_properties = Array.new
202
+ if @format.nil?
203
+ invalid_properties.push('invalid value for "format", format cannot be nil.')
204
+ end
205
+
206
+ invalid_properties
207
+ end
208
+
209
+ # Check to see if the all the properties in the model are valid
210
+ # @return true if the model is valid
211
+ def valid?
212
+ warn '[DEPRECATED] the `valid?` method is obsolete'
213
+ return false if @format.nil?
214
+ format_validator = EnumAttributeValidator.new('String', ["CSV", "JSONL"])
215
+ return false unless format_validator.valid?(@format)
216
+ true
217
+ end
218
+
219
+ # Custom attribute writer method checking allowed values (enum).
220
+ # @param [Object] format Object to be assigned
221
+ def format=(format)
222
+ validator = EnumAttributeValidator.new('String', ["CSV", "JSONL"])
223
+ unless validator.valid?(format)
224
+ fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}."
225
+ end
226
+ @format = format
227
+ end
228
+
229
+ # Checks equality by comparing each attribute.
230
+ # @param [Object] Object to be compared
231
+ def ==(o)
232
+ return true if self.equal?(o)
233
+ self.class == o.class &&
234
+ format == o.format &&
235
+ filter_occurred_at == o.filter_occurred_at &&
236
+ filter_actor_type == o.filter_actor_type &&
237
+ filter_actor_id == o.filter_actor_id &&
238
+ filter_event_type == o.filter_event_type &&
239
+ filter_resource_type == o.filter_resource_type &&
240
+ filter_resource_id == o.filter_resource_id &&
241
+ filter_search == o.filter_search &&
242
+ filter_do_not_forward == o.filter_do_not_forward &&
243
+ url == o.url &&
244
+ expires_at == o.expires_at
245
+ end
246
+
247
+ # @see the `==` method
248
+ # @param [Object] Object to be compared
249
+ def eql?(o)
250
+ self == o
251
+ end
252
+
253
+ # Calculates hash code according to all attributes.
254
+ # @return [Integer] Hash code
255
+ def hash
256
+ [format, filter_occurred_at, filter_actor_type, filter_actor_id, filter_event_type, filter_resource_type, filter_resource_id, filter_search, filter_do_not_forward, url, expires_at].hash
257
+ end
258
+
259
+ # Builds the object from hash
260
+ # @param [Hash] attributes Model attributes in the form of hash
261
+ # @return [Object] Returns the model itself
262
+ def self.build_from_hash(attributes)
263
+ return nil unless attributes.is_a?(Hash)
264
+ attributes = attributes.transform_keys(&:to_sym)
265
+ transformed_hash = {}
266
+ openapi_types.each_pair do |key, type|
267
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
268
+ transformed_hash["#{key}"] = nil
269
+ elsif type =~ /\AArray<(.*)>/i
270
+ # check to ensure the input is an array given that the attribute
271
+ # is documented as an array but the input is not
272
+ if attributes[attribute_map[key]].is_a?(Array)
273
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
274
+ end
275
+ elsif !attributes[attribute_map[key]].nil?
276
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
277
+ end
278
+ end
279
+ new(transformed_hash)
280
+ end
281
+
282
+ # Returns the object in the form of hash
283
+ # @return [Hash] Returns the object in the form of hash
284
+ def to_hash
285
+ hash = {}
286
+ self.class.attribute_map.each_pair do |attr, param|
287
+ value = self.send(attr)
288
+ if value.nil?
289
+ is_nullable = self.class.openapi_nullable.include?(attr)
290
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
291
+ end
292
+
293
+ hash[param] = _to_hash(value)
294
+ end
295
+ hash
296
+ end
297
+
298
+ end
299
+
300
+ end
@@ -0,0 +1,165 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'date'
14
+ require 'time'
15
+
16
+ module SmplkitGeneratedClient::Audit
17
+ # JSON:API request envelope for minting a signed download URL.
18
+ class ExportRequest < ApiModelBase
19
+ attr_accessor :data
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'data' => :'data'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'ExportResource'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SmplkitGeneratedClient::Audit::ExportRequest` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SmplkitGeneratedClient::Audit::ExportRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'data')
68
+ self.data = attributes[:'data']
69
+ else
70
+ self.data = nil
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ if @data.nil?
80
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
81
+ end
82
+
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ warn '[DEPRECATED] the `valid?` method is obsolete'
90
+ return false if @data.nil?
91
+ true
92
+ end
93
+
94
+ # Custom attribute writer method with validation
95
+ # @param [Object] data Value to be assigned
96
+ def data=(data)
97
+ if data.nil?
98
+ fail ArgumentError, 'data cannot be nil'
99
+ end
100
+
101
+ @data = data
102
+ end
103
+
104
+ # Checks equality by comparing each attribute.
105
+ # @param [Object] Object to be compared
106
+ def ==(o)
107
+ return true if self.equal?(o)
108
+ self.class == o.class &&
109
+ data == o.data
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(o)
115
+ self == o
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ def hash
121
+ [data].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def self.build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ attributes = attributes.transform_keys(&:to_sym)
130
+ transformed_hash = {}
131
+ openapi_types.each_pair do |key, type|
132
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
133
+ transformed_hash["#{key}"] = nil
134
+ elsif type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[attribute_map[key]].is_a?(Array)
138
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
139
+ end
140
+ elsif !attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
142
+ end
143
+ end
144
+ new(transformed_hash)
145
+ end
146
+
147
+ # Returns the object in the form of hash
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = self.send(attr)
153
+ if value.nil?
154
+ is_nullable = self.class.openapi_nullable.include?(attr)
155
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
156
+ end
157
+
158
+ hash[param] = _to_hash(value)
159
+ end
160
+ hash
161
+ end
162
+
163
+ end
164
+
165
+ end
@@ -0,0 +1,186 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'date'
14
+ require 'time'
15
+
16
+ module SmplkitGeneratedClient::Audit
17
+ # JSON:API resource envelope for an export ticket. `id` must not be specified on create requests — the server assigns a fresh UUID per mint response. The UUID identifies this particular response envelope only; nothing is persisted behind it (the signed token inside `attributes.url` is the actual artifact).
18
+ class ExportResource < ApiModelBase
19
+ attr_accessor :id
20
+
21
+ attr_accessor :type
22
+
23
+ attr_accessor :attributes
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'id' => :'id',
29
+ :'type' => :'type',
30
+ :'attributes' => :'attributes'
31
+ }
32
+ end
33
+
34
+ # Returns attribute mapping this model knows about
35
+ def self.acceptable_attribute_map
36
+ attribute_map
37
+ end
38
+
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ acceptable_attribute_map.values
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.openapi_types
46
+ {
47
+ :'id' => :'String',
48
+ :'type' => :'String',
49
+ :'attributes' => :'Export'
50
+ }
51
+ end
52
+
53
+ # List of attributes with nullable: true
54
+ def self.openapi_nullable
55
+ Set.new([
56
+ :'id',
57
+ ])
58
+ end
59
+
60
+ # Initializes the object
61
+ # @param [Hash] attributes Model attributes in the form of hash
62
+ def initialize(attributes = {})
63
+ if (!attributes.is_a?(Hash))
64
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SmplkitGeneratedClient::Audit::ExportResource` initialize method"
65
+ end
66
+
67
+ # check to see if the attribute exists and convert string to symbol for hash key
68
+ acceptable_attribute_map = self.class.acceptable_attribute_map
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!acceptable_attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SmplkitGeneratedClient::Audit::ExportResource`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'id')
77
+ self.id = attributes[:'id']
78
+ end
79
+
80
+ if attributes.key?(:'type')
81
+ self.type = attributes[:'type']
82
+ else
83
+ self.type = 'export'
84
+ end
85
+
86
+ if attributes.key?(:'attributes')
87
+ self.attributes = attributes[:'attributes']
88
+ else
89
+ self.attributes = nil
90
+ end
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properties with the reasons
95
+ def list_invalid_properties
96
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
97
+ invalid_properties = Array.new
98
+ if @attributes.nil?
99
+ invalid_properties.push('invalid value for "attributes", attributes cannot be nil.')
100
+ end
101
+
102
+ invalid_properties
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ def valid?
108
+ warn '[DEPRECATED] the `valid?` method is obsolete'
109
+ return false if @attributes.nil?
110
+ true
111
+ end
112
+
113
+ # Custom attribute writer method with validation
114
+ # @param [Object] attributes Value to be assigned
115
+ def attributes=(attributes)
116
+ if attributes.nil?
117
+ fail ArgumentError, 'attributes cannot be nil'
118
+ end
119
+
120
+ @attributes = attributes
121
+ end
122
+
123
+ # Checks equality by comparing each attribute.
124
+ # @param [Object] Object to be compared
125
+ def ==(o)
126
+ return true if self.equal?(o)
127
+ self.class == o.class &&
128
+ id == o.id &&
129
+ type == o.type &&
130
+ attributes == o.attributes
131
+ end
132
+
133
+ # @see the `==` method
134
+ # @param [Object] Object to be compared
135
+ def eql?(o)
136
+ self == o
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Integer] Hash code
141
+ def hash
142
+ [id, type, attributes].hash
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def self.build_from_hash(attributes)
149
+ return nil unless attributes.is_a?(Hash)
150
+ attributes = attributes.transform_keys(&:to_sym)
151
+ transformed_hash = {}
152
+ openapi_types.each_pair do |key, type|
153
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
154
+ transformed_hash["#{key}"] = nil
155
+ elsif type =~ /\AArray<(.*)>/i
156
+ # check to ensure the input is an array given that the attribute
157
+ # is documented as an array but the input is not
158
+ if attributes[attribute_map[key]].is_a?(Array)
159
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
160
+ end
161
+ elsif !attributes[attribute_map[key]].nil?
162
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
163
+ end
164
+ end
165
+ new(transformed_hash)
166
+ end
167
+
168
+ # Returns the object in the form of hash
169
+ # @return [Hash] Returns the object in the form of hash
170
+ def to_hash
171
+ hash = {}
172
+ self.class.attribute_map.each_pair do |attr, param|
173
+ value = self.send(attr)
174
+ if value.nil?
175
+ is_nullable = self.class.openapi_nullable.include?(attr)
176
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
177
+ end
178
+
179
+ hash[param] = _to_hash(value)
180
+ end
181
+ hash
182
+ end
183
+
184
+ end
185
+
186
+ end
@@ -0,0 +1,165 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'date'
14
+ require 'time'
15
+
16
+ module SmplkitGeneratedClient::Audit
17
+ # JSON:API single-resource response carrying the signed URL.
18
+ class ExportResponse < ApiModelBase
19
+ attr_accessor :data
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'data' => :'data'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'ExportResource'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SmplkitGeneratedClient::Audit::ExportResponse` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SmplkitGeneratedClient::Audit::ExportResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'data')
68
+ self.data = attributes[:'data']
69
+ else
70
+ self.data = nil
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ if @data.nil?
80
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
81
+ end
82
+
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ warn '[DEPRECATED] the `valid?` method is obsolete'
90
+ return false if @data.nil?
91
+ true
92
+ end
93
+
94
+ # Custom attribute writer method with validation
95
+ # @param [Object] data Value to be assigned
96
+ def data=(data)
97
+ if data.nil?
98
+ fail ArgumentError, 'data cannot be nil'
99
+ end
100
+
101
+ @data = data
102
+ end
103
+
104
+ # Checks equality by comparing each attribute.
105
+ # @param [Object] Object to be compared
106
+ def ==(o)
107
+ return true if self.equal?(o)
108
+ self.class == o.class &&
109
+ data == o.data
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(o)
115
+ self == o
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ def hash
121
+ [data].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def self.build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ attributes = attributes.transform_keys(&:to_sym)
130
+ transformed_hash = {}
131
+ openapi_types.each_pair do |key, type|
132
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
133
+ transformed_hash["#{key}"] = nil
134
+ elsif type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[attribute_map[key]].is_a?(Array)
138
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
139
+ end
140
+ elsif !attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
142
+ end
143
+ end
144
+ new(transformed_hash)
145
+ end
146
+
147
+ # Returns the object in the form of hash
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = self.send(attr)
153
+ if value.nil?
154
+ is_nullable = self.class.openapi_nullable.include?(attr)
155
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
156
+ end
157
+
158
+ hash[param] = _to_hash(value)
159
+ end
160
+ hash
161
+ end
162
+
163
+ end
164
+
165
+ end
@@ -36,6 +36,10 @@ require 'smplkit_audit_client/models/event_search_scan_meta'
36
36
  require 'smplkit_audit_client/models/event_type_attributes'
37
37
  require 'smplkit_audit_client/models/event_type_list_response'
38
38
  require 'smplkit_audit_client/models/event_type_resource'
39
+ require 'smplkit_audit_client/models/export'
40
+ require 'smplkit_audit_client/models/export_request'
41
+ require 'smplkit_audit_client/models/export_resource'
42
+ require 'smplkit_audit_client/models/export_response'
39
43
  require 'smplkit_audit_client/models/forwarder'
40
44
  require 'smplkit_audit_client/models/forwarder_create_request'
41
45
  require 'smplkit_audit_client/models/forwarder_create_resource'
@@ -77,6 +81,7 @@ require 'smplkit_audit_client/models/usage_response'
77
81
  require 'smplkit_audit_client/api/categories_api'
78
82
  require 'smplkit_audit_client/api/event_types_api'
79
83
  require 'smplkit_audit_client/api/events_api'
84
+ require 'smplkit_audit_client/api/exports_api'
80
85
  require 'smplkit_audit_client/api/forwarder_types_api'
81
86
  require 'smplkit_audit_client/api/forwarders_api'
82
87
  require 'smplkit_audit_client/api/resource_types_api'
@@ -0,0 +1,59 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for SmplkitGeneratedClient::Audit::ExportsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'ExportsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = SmplkitGeneratedClient::Audit::ExportsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of ExportsApi' do
30
+ it 'should create an instance of ExportsApi' do
31
+ expect(@api_instance).to be_instance_of(SmplkitGeneratedClient::Audit::ExportsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for create_export
36
+ # Create Export
37
+ # Mint a short-lived signed URL to stream an events download. The request body specifies &#x60;format&#x60; (&#x60;CSV&#x60; or &#x60;JSONL&#x60;) and any subset of the event filters accepted by &#x60;GET /api/v1/events&#x60;. The response returns the signed URL plus its expiry (30 seconds from mint). Open the URL in a browser to stream the file to disk; no &#x60;Authorization&#x60; header is required at download time. Filter rules match &#x60;GET /api/v1/events&#x60;: &#x60;filter[resource_id]&#x60; requires &#x60;filter[resource_type]&#x60;; &#x60;filter[search]&#x60; requires either &#x60;filter[occurred_at]&#x60; or &#x60;filter[resource_type]&#x60; + &#x60;filter[resource_id]&#x60;. Violations are rejected here at mint time. Reads are allowed on lapsed subscriptions per the smplcore convention — same gate as the events list.
38
+ # @param export_request
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [ExportResponse]
41
+ describe 'create_export test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
44
+ end
45
+ end
46
+
47
+ # unit tests for download_export
48
+ # Download Export
49
+ # Stream a signed audit-events download — no &#x60;Authorization&#x60; header required. Authorization is the token itself: it carries the account, the chosen format, and the filters, all integrity-protected by HMAC. The endpoint verifies the signature and expiry, scopes the events query to the token&#39;s account, and streams the response. Any failure (bad signature, wrong audience, expired, malformed payload) returns &#x60;404 Not Found&#x60; — the response shape never leaks which check failed. The token is stateless and replayable until it expires (≤30s). Concurrent or duplicate GETs (browser retries, AV scanners, prefetchers) all succeed; there is no single-use behavior.
50
+ # @param token Opaque signed download token from &#x60;POST /api/v1/exports&#x60;. Treat as a single short-lived URL — do not parse or store long-term.
51
+ # @param [Hash] opts the optional parameters
52
+ # @return [nil]
53
+ describe 'download_export test' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
56
+ end
57
+ end
58
+
59
+ end
@@ -0,0 +1,36 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for SmplkitGeneratedClient::Audit::ExportRequest
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe SmplkitGeneratedClient::Audit::ExportRequest do
21
+ #let(:instance) { SmplkitGeneratedClient::Audit::ExportRequest.new }
22
+
23
+ describe 'test an instance of ExportRequest' do
24
+ it 'should create an instance of ExportRequest' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(SmplkitGeneratedClient::Audit::ExportRequest)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "data"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ end
@@ -0,0 +1,48 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for SmplkitGeneratedClient::Audit::ExportResource
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe SmplkitGeneratedClient::Audit::ExportResource do
21
+ #let(:instance) { SmplkitGeneratedClient::Audit::ExportResource.new }
22
+
23
+ describe 'test an instance of ExportResource' do
24
+ it 'should create an instance of ExportResource' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(SmplkitGeneratedClient::Audit::ExportResource)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "id"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "type"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ describe 'test attribute "attributes"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ end
@@ -0,0 +1,36 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for SmplkitGeneratedClient::Audit::ExportResponse
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe SmplkitGeneratedClient::Audit::ExportResponse do
21
+ #let(:instance) { SmplkitGeneratedClient::Audit::ExportResponse.new }
22
+
23
+ describe 'test an instance of ExportResponse' do
24
+ it 'should create an instance of ExportResponse' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(SmplkitGeneratedClient::Audit::ExportResponse)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "data"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ end
@@ -0,0 +1,100 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for SmplkitGeneratedClient::Audit::Export
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe SmplkitGeneratedClient::Audit::Export do
21
+ #let(:instance) { SmplkitGeneratedClient::Audit::Export.new }
22
+
23
+ describe 'test an instance of Export' do
24
+ it 'should create an instance of Export' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(SmplkitGeneratedClient::Audit::Export)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "format"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["CSV", "JSONL"])
34
+ # validator.allowable_values.each do |value|
35
+ # expect { instance.format = value }.not_to raise_error
36
+ # end
37
+ end
38
+ end
39
+
40
+ describe 'test attribute "filter_occurred_at"' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
43
+ end
44
+ end
45
+
46
+ describe 'test attribute "filter_actor_type"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
49
+ end
50
+ end
51
+
52
+ describe 'test attribute "filter_actor_id"' do
53
+ it 'should work' do
54
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
55
+ end
56
+ end
57
+
58
+ describe 'test attribute "filter_event_type"' do
59
+ it 'should work' do
60
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
61
+ end
62
+ end
63
+
64
+ describe 'test attribute "filter_resource_type"' do
65
+ it 'should work' do
66
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
67
+ end
68
+ end
69
+
70
+ describe 'test attribute "filter_resource_id"' do
71
+ it 'should work' do
72
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
73
+ end
74
+ end
75
+
76
+ describe 'test attribute "filter_search"' do
77
+ it 'should work' do
78
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
79
+ end
80
+ end
81
+
82
+ describe 'test attribute "filter_do_not_forward"' do
83
+ it 'should work' do
84
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
85
+ end
86
+ end
87
+
88
+ describe 'test attribute "url"' do
89
+ it 'should work' do
90
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
91
+ end
92
+ end
93
+
94
+ describe 'test attribute "expires_at"' do
95
+ it 'should work' do
96
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
97
+ end
98
+ end
99
+
100
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smplkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.69
4
+ version: 3.0.70
5
5
  platform: ruby
6
6
  authors:
7
7
  - Smpl Solutions LLC
@@ -486,6 +486,7 @@ files:
486
486
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/categories_api.rb
487
487
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/event_types_api.rb
488
488
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/events_api.rb
489
+ - lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/exports_api.rb
489
490
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/forwarder_types_api.rb
490
491
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/forwarders_api.rb
491
492
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/resource_types_api.rb
@@ -512,6 +513,10 @@ files:
512
513
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_type_attributes.rb
513
514
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_type_list_response.rb
514
515
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_type_resource.rb
516
+ - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/export.rb
517
+ - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/export_request.rb
518
+ - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/export_resource.rb
519
+ - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/export_response.rb
515
520
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder.rb
516
521
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_create_request.rb
517
522
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_create_resource.rb
@@ -552,6 +557,7 @@ files:
552
557
  - lib/smplkit/_generated/audit/spec/api/categories_api_spec.rb
553
558
  - lib/smplkit/_generated/audit/spec/api/event_types_api_spec.rb
554
559
  - lib/smplkit/_generated/audit/spec/api/events_api_spec.rb
560
+ - lib/smplkit/_generated/audit/spec/api/exports_api_spec.rb
555
561
  - lib/smplkit/_generated/audit/spec/api/forwarder_types_api_spec.rb
556
562
  - lib/smplkit/_generated/audit/spec/api/forwarders_api_spec.rb
557
563
  - lib/smplkit/_generated/audit/spec/api/resource_types_api_spec.rb
@@ -574,6 +580,10 @@ files:
574
580
  - lib/smplkit/_generated/audit/spec/models/event_type_attributes_spec.rb
575
581
  - lib/smplkit/_generated/audit/spec/models/event_type_list_response_spec.rb
576
582
  - lib/smplkit/_generated/audit/spec/models/event_type_resource_spec.rb
583
+ - lib/smplkit/_generated/audit/spec/models/export_request_spec.rb
584
+ - lib/smplkit/_generated/audit/spec/models/export_resource_spec.rb
585
+ - lib/smplkit/_generated/audit/spec/models/export_response_spec.rb
586
+ - lib/smplkit/_generated/audit/spec/models/export_spec.rb
577
587
  - lib/smplkit/_generated/audit/spec/models/forwarder_create_request_spec.rb
578
588
  - lib/smplkit/_generated/audit/spec/models/forwarder_create_resource_spec.rb
579
589
  - lib/smplkit/_generated/audit/spec/models/forwarder_delivery_list_links_spec.rb