blueprint_ruby_client 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +65 -0
  3. data/LICENSE +201 -0
  4. data/README.md +25 -11
  5. data/docs/AssetTypeConfigsApi.md +63 -0
  6. data/docs/AssetTypeTemplatesApi.md +179 -0
  7. data/docs/AssetsApi.md +19 -19
  8. data/docs/HierarchyApi.md +35 -35
  9. data/docs/Integration.md +10 -0
  10. data/docs/IntegrationBody.md +9 -0
  11. data/docs/IntegrationTransform.md +11 -0
  12. data/docs/IntegrationTransformExample.md +9 -0
  13. data/docs/IntegrationsApi.md +329 -0
  14. data/docs/LTIApi.md +98 -0
  15. data/docs/Lti1IntegrationAttributes.md +11 -0
  16. data/docs/NodeAttributes.md +2 -0
  17. data/docs/SecurityApi.md +48 -0
  18. data/docs/Template.md +10 -0
  19. data/docs/TemplateAttributes.md +9 -0
  20. data/docs/TemplateBody.md +9 -0
  21. data/docs/{AssetAttributes.md → TemplateVariables.md} +3 -2
  22. data/generate.sh +1 -2
  23. data/git_push.sh +16 -1
  24. data/lib/blueprint_ruby_client/api/asset_type_configs_api.rb +84 -0
  25. data/lib/blueprint_ruby_client/api/asset_type_templates_api.rb +214 -0
  26. data/lib/blueprint_ruby_client/api/assets_api.rb +23 -191
  27. data/lib/blueprint_ruby_client/api/hierarchy_api.rb +49 -409
  28. data/lib/blueprint_ruby_client/api/integrations_api.rb +415 -0
  29. data/lib/blueprint_ruby_client/api/lti_api.rb +156 -0
  30. data/lib/blueprint_ruby_client/api/security_api.rb +75 -0
  31. data/lib/blueprint_ruby_client/api_client.rb +0 -2
  32. data/lib/blueprint_ruby_client/models/asset.rb +2 -59
  33. data/lib/blueprint_ruby_client/models/asset_body.rb +2 -42
  34. data/lib/blueprint_ruby_client/models/asset_relationship.rb +2 -57
  35. data/lib/blueprint_ruby_client/models/asset_result_set.rb +2 -57
  36. data/lib/blueprint_ruby_client/models/error.rb +2 -59
  37. data/lib/blueprint_ruby_client/models/errors.rb +2 -25
  38. data/lib/blueprint_ruby_client/models/integration.rb +225 -0
  39. data/lib/blueprint_ruby_client/models/{mixed_resource_result_set.rb → integration_body.rb} +27 -12
  40. data/lib/blueprint_ruby_client/models/integration_transform.rb +221 -0
  41. data/lib/blueprint_ruby_client/models/integration_transform_example.rb +197 -0
  42. data/lib/blueprint_ruby_client/models/links.rb +2 -57
  43. data/lib/blueprint_ruby_client/models/lti1_integration_attributes.rb +225 -0
  44. data/lib/blueprint_ruby_client/models/meta.rb +2 -57
  45. data/lib/blueprint_ruby_client/models/namespace.rb +2 -43
  46. data/lib/blueprint_ruby_client/models/namespace_relationship.rb +2 -25
  47. data/lib/blueprint_ruby_client/models/node.rb +2 -75
  48. data/lib/blueprint_ruby_client/models/node_attributes.rb +26 -109
  49. data/lib/blueprint_ruby_client/models/node_body.rb +2 -42
  50. data/lib/blueprint_ruby_client/models/node_relationship.rb +2 -57
  51. data/lib/blueprint_ruby_client/models/node_relationships.rb +2 -73
  52. data/lib/blueprint_ruby_client/models/node_result_set.rb +2 -57
  53. data/lib/blueprint_ruby_client/models/resource.rb +2 -59
  54. data/lib/blueprint_ruby_client/models/template.rb +215 -0
  55. data/lib/blueprint_ruby_client/models/template_attributes.rb +217 -0
  56. data/lib/blueprint_ruby_client/models/{asset_attributes.rb → template_body.rb} +23 -33
  57. data/lib/blueprint_ruby_client/models/template_variables.rb +237 -0
  58. data/lib/blueprint_ruby_client/version.rb +1 -1
  59. data/lib/blueprint_ruby_client.rb +14 -0
  60. data/spec/api/asset_type_configs_api_spec.rb +52 -0
  61. data/spec/api/asset_type_templates_api_spec.rb +88 -0
  62. data/spec/api/assets_api_spec.rb +9 -9
  63. data/spec/api/hierarchy_api_spec.rb +17 -17
  64. data/spec/api/integrations_api_spec.rb +141 -0
  65. data/spec/api/lti_api_spec.rb +69 -0
  66. data/spec/api/security_api_spec.rb +50 -0
  67. data/spec/api_client_spec.rb +226 -0
  68. data/spec/configuration_spec.rb +42 -0
  69. data/spec/models/integration_body_spec.rb +56 -0
  70. data/spec/models/integration_spec.rb +66 -0
  71. data/spec/models/integration_transform_example_spec.rb +56 -0
  72. data/spec/models/integration_transform_spec.rb +76 -0
  73. data/spec/models/lti1_integration_attributes_spec.rb +76 -0
  74. data/spec/models/node_attributes_spec.rb +20 -0
  75. data/spec/models/template_attributes_spec.rb +56 -0
  76. data/spec/models/{asset_attributes_spec.rb → template_body_spec.rb} +17 -7
  77. data/spec/models/template_spec.rb +66 -0
  78. data/spec/models/template_variables_spec.rb +56 -0
  79. data/spec/spec_helper.rb +111 -0
  80. data/swagger-codegen-cli.jar +0 -0
  81. data/templates/model.mustache +5 -5
  82. metadata +67 -12
  83. data/docs/MixedResourceResultSet.md +0 -7
  84. data/spec/models/mixed_resource_result_set_spec.rb +0 -36
@@ -0,0 +1,415 @@
1
+ =begin
2
+ Talis Blueprint API
3
+
4
+ This is the API documentation for [Blueprint](https://github.com/talis/blueprint-server), a primitive for institutional structure and time periods
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+
11
+ =end
12
+
13
+ require "uri"
14
+
15
+ module BlueprintClient
16
+ class IntegrationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+
23
+ #
24
+ # Add an integration
25
+ # @param namespace identifier namespacing the blueprint.
26
+ # @param body integration
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [IntegrationBody]
29
+ def add_integration(namespace, body, opts = {})
30
+ data, _status_code, _headers = add_integration_with_http_info(namespace, body, opts)
31
+ return data
32
+ end
33
+
34
+ #
35
+ # Add an integration
36
+ # @param namespace identifier namespacing the blueprint.
37
+ # @param body integration
38
+ # @param [Hash] opts the optional parameters
39
+ # @return [Array<(IntegrationBody, Fixnum, Hash)>] IntegrationBody data, response status code and response headers
40
+ def add_integration_with_http_info(namespace, body, opts = {})
41
+ if @api_client.config.debugging
42
+ @api_client.config.logger.debug "Calling API: IntegrationsApi.add_integration ..."
43
+ end
44
+ # verify the required parameter 'namespace' is set
45
+ fail ArgumentError, "Missing the required parameter 'namespace' when calling IntegrationsApi.add_integration" if namespace.nil?
46
+ # verify the required parameter 'body' is set
47
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationsApi.add_integration" if body.nil?
48
+ # resource path
49
+ local_var_path = "/{namespace}/integrations".sub('{format}','json').sub('{' + 'namespace' + '}', namespace.to_s)
50
+
51
+ # query parameters
52
+ query_params = {}
53
+
54
+ # header parameters
55
+ header_params = {}
56
+
57
+ # HTTP header 'Accept' (if needed)
58
+ local_header_accept = ['application/vnd.api+json']
59
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
60
+
61
+ # HTTP header 'Content-Type'
62
+ local_header_content_type = ['application/json']
63
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
64
+
65
+ # form parameters
66
+ form_params = {}
67
+
68
+ # http body (model)
69
+ post_body = @api_client.object_to_http_body(body)
70
+ auth_names = ['oauth2']
71
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
72
+ :header_params => header_params,
73
+ :query_params => query_params,
74
+ :form_params => form_params,
75
+ :body => post_body,
76
+ :auth_names => auth_names,
77
+ :return_type => 'IntegrationBody')
78
+ if @api_client.config.debugging
79
+ @api_client.config.logger.debug "API called: IntegrationsApi#add_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
80
+ end
81
+ return data, status_code, headers
82
+ end
83
+
84
+ #
85
+ # Delete an integration
86
+ # @param namespace identifier namespacing the blueprint.
87
+ # @param integration_id id of an integration
88
+ # @param integration_type Type of external integration, e.g. &#39;lti1&#39;
89
+ # @param [Hash] opts the optional parameters
90
+ # @return [nil]
91
+ def delete_integration(namespace, integration_id, integration_type, opts = {})
92
+ delete_integration_with_http_info(namespace, integration_id, integration_type, opts)
93
+ return nil
94
+ end
95
+
96
+ #
97
+ # Delete an integration
98
+ # @param namespace identifier namespacing the blueprint.
99
+ # @param integration_id id of an integration
100
+ # @param integration_type Type of external integration, e.g. &#39;lti1&#39;
101
+ # @param [Hash] opts the optional parameters
102
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
103
+ def delete_integration_with_http_info(namespace, integration_id, integration_type, opts = {})
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug "Calling API: IntegrationsApi.delete_integration ..."
106
+ end
107
+ # verify the required parameter 'namespace' is set
108
+ fail ArgumentError, "Missing the required parameter 'namespace' when calling IntegrationsApi.delete_integration" if namespace.nil?
109
+ # verify the required parameter 'integration_id' is set
110
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationsApi.delete_integration" if integration_id.nil?
111
+ # verify the required parameter 'integration_type' is set
112
+ fail ArgumentError, "Missing the required parameter 'integration_type' when calling IntegrationsApi.delete_integration" if integration_type.nil?
113
+ # resource path
114
+ local_var_path = "/{namespace}/integrations/{integrationType}/{integrationId}".sub('{format}','json').sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'integrationId' + '}', integration_id.to_s).sub('{' + 'integrationType' + '}', integration_type.to_s)
115
+
116
+ # query parameters
117
+ query_params = {}
118
+
119
+ # header parameters
120
+ header_params = {}
121
+
122
+ # HTTP header 'Accept' (if needed)
123
+ local_header_accept = ['application/vnd.api+json']
124
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
125
+
126
+ # HTTP header 'Content-Type'
127
+ local_header_content_type = ['application/json']
128
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
129
+
130
+ # form parameters
131
+ form_params = {}
132
+
133
+ # http body (model)
134
+ post_body = nil
135
+ auth_names = ['oauth2']
136
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
137
+ :header_params => header_params,
138
+ :query_params => query_params,
139
+ :form_params => form_params,
140
+ :body => post_body,
141
+ :auth_names => auth_names)
142
+ if @api_client.config.debugging
143
+ @api_client.config.logger.debug "API called: IntegrationsApi#delete_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
144
+ end
145
+ return data, status_code, headers
146
+ end
147
+
148
+ #
149
+ # Get details of a given integration
150
+ # @param namespace identifier namespacing the blueprint.
151
+ # @param integration_type Type of external integration, e.g. &#39;lti1&#39;
152
+ # @param integration_id id of an integration
153
+ # @param [Hash] opts the optional parameters
154
+ # @return [IntegrationBody]
155
+ def get_integration(namespace, integration_type, integration_id, opts = {})
156
+ data, _status_code, _headers = get_integration_with_http_info(namespace, integration_type, integration_id, opts)
157
+ return data
158
+ end
159
+
160
+ #
161
+ # Get details of a given integration
162
+ # @param namespace identifier namespacing the blueprint.
163
+ # @param integration_type Type of external integration, e.g. &#39;lti1&#39;
164
+ # @param integration_id id of an integration
165
+ # @param [Hash] opts the optional parameters
166
+ # @return [Array<(IntegrationBody, Fixnum, Hash)>] IntegrationBody data, response status code and response headers
167
+ def get_integration_with_http_info(namespace, integration_type, integration_id, opts = {})
168
+ if @api_client.config.debugging
169
+ @api_client.config.logger.debug "Calling API: IntegrationsApi.get_integration ..."
170
+ end
171
+ # verify the required parameter 'namespace' is set
172
+ fail ArgumentError, "Missing the required parameter 'namespace' when calling IntegrationsApi.get_integration" if namespace.nil?
173
+ # verify the required parameter 'integration_type' is set
174
+ fail ArgumentError, "Missing the required parameter 'integration_type' when calling IntegrationsApi.get_integration" if integration_type.nil?
175
+ # verify the required parameter 'integration_id' is set
176
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationsApi.get_integration" if integration_id.nil?
177
+ # resource path
178
+ local_var_path = "/{namespace}/integrations/{integrationType}/{integrationId}".sub('{format}','json').sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'integrationType' + '}', integration_type.to_s).sub('{' + 'integrationId' + '}', integration_id.to_s)
179
+
180
+ # query parameters
181
+ query_params = {}
182
+
183
+ # header parameters
184
+ header_params = {}
185
+
186
+ # HTTP header 'Accept' (if needed)
187
+ local_header_accept = ['application/vnd.api+json']
188
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
189
+
190
+ # HTTP header 'Content-Type'
191
+ local_header_content_type = ['application/json']
192
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
193
+
194
+ # form parameters
195
+ form_params = {}
196
+
197
+ # http body (model)
198
+ post_body = nil
199
+ auth_names = ['oauth2']
200
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
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 => 'IntegrationBody')
207
+ if @api_client.config.debugging
208
+ @api_client.config.logger.debug "API called: IntegrationsApi#get_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
209
+ end
210
+ return data, status_code, headers
211
+ end
212
+
213
+ #
214
+ # LTI launch url for integration
215
+ # @param namespace identifier namespacing the blueprint.
216
+ # @param integration_id id of an integration
217
+ # @param asset_type subtype of Asset, e.g. &#39;textbooks&#39;, &#39;digitisations&#39;, etc.
218
+ # @param asset_id id of an asset
219
+ # @param lti_message_type LTI launch data message type, must be &#39;basic-lti-launch-request&#39;
220
+ # @param lti_version LTI launch version, must be &#39;LTI-1p0&#39;
221
+ # @param resource_link_id LTI resource_link_id parameters
222
+ # @param [Hash] opts the optional parameters
223
+ # @option opts [String] :oauth_consumer_key OAuth 1.0 consumer_key parameters
224
+ # @option opts [String] :oauth_consumer_key2 OAuth 1.0 consumer_key parameters
225
+ # @option opts [String] :oauth_signature_method OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
226
+ # @option opts [String] :oauth_signature_method2 OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
227
+ # @option opts [Integer] :oauth_timestamp OAuth 1.0 timestamp of request
228
+ # @option opts [Integer] :oauth_timestamp2 OAuth 1.0 timestamp of request
229
+ # @option opts [Float] :oauth_version OAuth 1.0 version, must be &#39;1.0&#39;
230
+ # @option opts [Float] :oauth_version2 OAuth 1.0 version, must be &#39;1.0&#39;
231
+ # @option opts [String] :oauth_nonce OAuth 1.0 Nonce
232
+ # @option opts [String] :oauth_nonce2 OAuth 1.0 Nonce
233
+ # @option opts [String] :oauth_signature OAuth 1.0 request signature
234
+ # @option opts [String] :oauth_signature2 OAuth 1.0 request signature
235
+ # @return [nil]
236
+ def namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post(namespace, integration_id, asset_type, asset_id, lti_message_type, lti_version, resource_link_id, opts = {})
237
+ namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post_with_http_info(namespace, integration_id, asset_type, asset_id, lti_message_type, lti_version, resource_link_id, opts)
238
+ return nil
239
+ end
240
+
241
+ #
242
+ # LTI launch url for integration
243
+ # @param namespace identifier namespacing the blueprint.
244
+ # @param integration_id id of an integration
245
+ # @param asset_type subtype of Asset, e.g. &#39;textbooks&#39;, &#39;digitisations&#39;, etc.
246
+ # @param asset_id id of an asset
247
+ # @param lti_message_type LTI launch data message type, must be &#39;basic-lti-launch-request&#39;
248
+ # @param lti_version LTI launch version, must be &#39;LTI-1p0&#39;
249
+ # @param resource_link_id LTI resource_link_id parameters
250
+ # @param [Hash] opts the optional parameters
251
+ # @option opts [String] :oauth_consumer_key OAuth 1.0 consumer_key parameters
252
+ # @option opts [String] :oauth_consumer_key2 OAuth 1.0 consumer_key parameters
253
+ # @option opts [String] :oauth_signature_method OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
254
+ # @option opts [String] :oauth_signature_method2 OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
255
+ # @option opts [Integer] :oauth_timestamp OAuth 1.0 timestamp of request
256
+ # @option opts [Integer] :oauth_timestamp2 OAuth 1.0 timestamp of request
257
+ # @option opts [Float] :oauth_version OAuth 1.0 version, must be &#39;1.0&#39;
258
+ # @option opts [Float] :oauth_version2 OAuth 1.0 version, must be &#39;1.0&#39;
259
+ # @option opts [String] :oauth_nonce OAuth 1.0 Nonce
260
+ # @option opts [String] :oauth_nonce2 OAuth 1.0 Nonce
261
+ # @option opts [String] :oauth_signature OAuth 1.0 request signature
262
+ # @option opts [String] :oauth_signature2 OAuth 1.0 request signature
263
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
264
+ def namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post_with_http_info(namespace, integration_id, asset_type, asset_id, lti_message_type, lti_version, resource_link_id, opts = {})
265
+ if @api_client.config.debugging
266
+ @api_client.config.logger.debug "Calling API: IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post ..."
267
+ end
268
+ # verify the required parameter 'namespace' is set
269
+ fail ArgumentError, "Missing the required parameter 'namespace' when calling IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if namespace.nil?
270
+ # verify the required parameter 'integration_id' is set
271
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if integration_id.nil?
272
+ # verify the required parameter 'asset_type' is set
273
+ fail ArgumentError, "Missing the required parameter 'asset_type' when calling IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if asset_type.nil?
274
+ # verify the required parameter 'asset_id' is set
275
+ fail ArgumentError, "Missing the required parameter 'asset_id' when calling IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if asset_id.nil?
276
+ # verify the required parameter 'lti_message_type' is set
277
+ fail ArgumentError, "Missing the required parameter 'lti_message_type' when calling IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if lti_message_type.nil?
278
+ # verify enum value
279
+ unless ['basic-lti-launch-request'].include?(lti_message_type)
280
+ fail ArgumentError, "invalid value for 'lti_message_type', must be one of basic-lti-launch-request"
281
+ end
282
+ # verify the required parameter 'lti_version' is set
283
+ fail ArgumentError, "Missing the required parameter 'lti_version' when calling IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if lti_version.nil?
284
+ # verify enum value
285
+ unless ['LTI-1p0'].include?(lti_version)
286
+ fail ArgumentError, "invalid value for 'lti_version', must be one of LTI-1p0"
287
+ end
288
+ # verify the required parameter 'resource_link_id' is set
289
+ fail ArgumentError, "Missing the required parameter 'resource_link_id' when calling IntegrationsApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if resource_link_id.nil?
290
+ if opts[:'oauth_signature_method'] && !['HMAC-SHA1'].include?(opts[:'oauth_signature_method'])
291
+ fail ArgumentError, 'invalid value for "oauth_signature_method", must be one of HMAC-SHA1'
292
+ end
293
+ if opts[:'oauth_signature_method2'] && !['HMAC-SHA1'].include?(opts[:'oauth_signature_method2'])
294
+ fail ArgumentError, 'invalid value for "oauth_signature_method2", must be one of HMAC-SHA1'
295
+ end
296
+ # resource path
297
+ local_var_path = "/{namespace}/integrations/lti1/{integrationId}/assets/{assetType}/{assetId}".sub('{format}','json').sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'integrationId' + '}', integration_id.to_s).sub('{' + 'assetType' + '}', asset_type.to_s).sub('{' + 'assetId' + '}', asset_id.to_s)
298
+
299
+ # query parameters
300
+ query_params = {}
301
+
302
+ # header parameters
303
+ header_params = {}
304
+
305
+ # HTTP header 'Accept' (if needed)
306
+ local_header_accept = ['text/html']
307
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
308
+
309
+ # HTTP header 'Content-Type'
310
+ local_header_content_type = ['application/x-www-form-urlencoded']
311
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
312
+ header_params[:'oauth_consumer_key'] = opts[:'oauth_consumer_key2'] if opts[:'oauth_consumer_key2']
313
+ header_params[:'oauth_signature_method'] = opts[:'oauth_signature_method2'] if opts[:'oauth_signature_method2']
314
+ header_params[:'oauth_timestamp'] = opts[:'oauth_timestamp2'] if opts[:'oauth_timestamp2']
315
+ header_params[:'oauth_version'] = opts[:'oauth_version2'] if opts[:'oauth_version2']
316
+ header_params[:'oauth_nonce'] = opts[:'oauth_nonce2'] if opts[:'oauth_nonce2']
317
+ header_params[:'oauth_signature'] = opts[:'oauth_signature2'] if opts[:'oauth_signature2']
318
+
319
+ # form parameters
320
+ form_params = {}
321
+ form_params["lti_message_type"] = lti_message_type
322
+ form_params["lti_version"] = lti_version
323
+ form_params["resource_link_id"] = resource_link_id
324
+ form_params["oauth_consumer_key"] = opts[:'oauth_consumer_key'] if opts[:'oauth_consumer_key']
325
+ form_params["oauth_signature_method"] = opts[:'oauth_signature_method'] if opts[:'oauth_signature_method']
326
+ form_params["oauth_timestamp"] = opts[:'oauth_timestamp'] if opts[:'oauth_timestamp']
327
+ form_params["oauth_version"] = opts[:'oauth_version'] if opts[:'oauth_version']
328
+ form_params["oauth_nonce"] = opts[:'oauth_nonce'] if opts[:'oauth_nonce']
329
+ form_params["oauth_signature"] = opts[:'oauth_signature'] if opts[:'oauth_signature']
330
+
331
+ # http body (model)
332
+ post_body = nil
333
+ auth_names = []
334
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
335
+ :header_params => header_params,
336
+ :query_params => query_params,
337
+ :form_params => form_params,
338
+ :body => post_body,
339
+ :auth_names => auth_names)
340
+ if @api_client.config.debugging
341
+ @api_client.config.logger.debug "API called: IntegrationsApi#namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
342
+ end
343
+ return data, status_code, headers
344
+ end
345
+
346
+ #
347
+ # Replace an integration
348
+ # @param namespace identifier namespacing the blueprint.
349
+ # @param integration_id id of an integration
350
+ # @param integration_type Type of external integration, e.g. &#39;lti1&#39;
351
+ # @param body integration
352
+ # @param [Hash] opts the optional parameters
353
+ # @return [IntegrationBody]
354
+ def replace_integration(namespace, integration_id, integration_type, body, opts = {})
355
+ data, _status_code, _headers = replace_integration_with_http_info(namespace, integration_id, integration_type, body, opts)
356
+ return data
357
+ end
358
+
359
+ #
360
+ # Replace an integration
361
+ # @param namespace identifier namespacing the blueprint.
362
+ # @param integration_id id of an integration
363
+ # @param integration_type Type of external integration, e.g. &#39;lti1&#39;
364
+ # @param body integration
365
+ # @param [Hash] opts the optional parameters
366
+ # @return [Array<(IntegrationBody, Fixnum, Hash)>] IntegrationBody data, response status code and response headers
367
+ def replace_integration_with_http_info(namespace, integration_id, integration_type, body, opts = {})
368
+ if @api_client.config.debugging
369
+ @api_client.config.logger.debug "Calling API: IntegrationsApi.replace_integration ..."
370
+ end
371
+ # verify the required parameter 'namespace' is set
372
+ fail ArgumentError, "Missing the required parameter 'namespace' when calling IntegrationsApi.replace_integration" if namespace.nil?
373
+ # verify the required parameter 'integration_id' is set
374
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationsApi.replace_integration" if integration_id.nil?
375
+ # verify the required parameter 'integration_type' is set
376
+ fail ArgumentError, "Missing the required parameter 'integration_type' when calling IntegrationsApi.replace_integration" if integration_type.nil?
377
+ # verify the required parameter 'body' is set
378
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationsApi.replace_integration" if body.nil?
379
+ # resource path
380
+ local_var_path = "/{namespace}/integrations/{integrationType}/{integrationId}".sub('{format}','json').sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'integrationId' + '}', integration_id.to_s).sub('{' + 'integrationType' + '}', integration_type.to_s)
381
+
382
+ # query parameters
383
+ query_params = {}
384
+
385
+ # header parameters
386
+ header_params = {}
387
+
388
+ # HTTP header 'Accept' (if needed)
389
+ local_header_accept = ['application/vnd.api+json']
390
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
391
+
392
+ # HTTP header 'Content-Type'
393
+ local_header_content_type = ['application/json']
394
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
395
+
396
+ # form parameters
397
+ form_params = {}
398
+
399
+ # http body (model)
400
+ post_body = @api_client.object_to_http_body(body)
401
+ auth_names = ['oauth2']
402
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
403
+ :header_params => header_params,
404
+ :query_params => query_params,
405
+ :form_params => form_params,
406
+ :body => post_body,
407
+ :auth_names => auth_names,
408
+ :return_type => 'IntegrationBody')
409
+ if @api_client.config.debugging
410
+ @api_client.config.logger.debug "API called: IntegrationsApi#replace_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
411
+ end
412
+ return data, status_code, headers
413
+ end
414
+ end
415
+ end
@@ -0,0 +1,156 @@
1
+ =begin
2
+ Talis Blueprint API
3
+
4
+ This is the API documentation for [Blueprint](https://github.com/talis/blueprint-server), a primitive for institutional structure and time periods
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+
11
+ =end
12
+
13
+ require "uri"
14
+
15
+ module BlueprintClient
16
+ class LTIApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+
23
+ #
24
+ # LTI launch url for integration
25
+ # @param namespace identifier namespacing the blueprint.
26
+ # @param integration_id id of an integration
27
+ # @param asset_type subtype of Asset, e.g. &#39;textbooks&#39;, &#39;digitisations&#39;, etc.
28
+ # @param asset_id id of an asset
29
+ # @param lti_message_type LTI launch data message type, must be &#39;basic-lti-launch-request&#39;
30
+ # @param lti_version LTI launch version, must be &#39;LTI-1p0&#39;
31
+ # @param resource_link_id LTI resource_link_id parameters
32
+ # @param [Hash] opts the optional parameters
33
+ # @option opts [String] :oauth_consumer_key OAuth 1.0 consumer_key parameters
34
+ # @option opts [String] :oauth_consumer_key2 OAuth 1.0 consumer_key parameters
35
+ # @option opts [String] :oauth_signature_method OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
36
+ # @option opts [String] :oauth_signature_method2 OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
37
+ # @option opts [Integer] :oauth_timestamp OAuth 1.0 timestamp of request
38
+ # @option opts [Integer] :oauth_timestamp2 OAuth 1.0 timestamp of request
39
+ # @option opts [Float] :oauth_version OAuth 1.0 version, must be &#39;1.0&#39;
40
+ # @option opts [Float] :oauth_version2 OAuth 1.0 version, must be &#39;1.0&#39;
41
+ # @option opts [String] :oauth_nonce OAuth 1.0 Nonce
42
+ # @option opts [String] :oauth_nonce2 OAuth 1.0 Nonce
43
+ # @option opts [String] :oauth_signature OAuth 1.0 request signature
44
+ # @option opts [String] :oauth_signature2 OAuth 1.0 request signature
45
+ # @return [nil]
46
+ def namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post(namespace, integration_id, asset_type, asset_id, lti_message_type, lti_version, resource_link_id, opts = {})
47
+ namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post_with_http_info(namespace, integration_id, asset_type, asset_id, lti_message_type, lti_version, resource_link_id, opts)
48
+ return nil
49
+ end
50
+
51
+ #
52
+ # LTI launch url for integration
53
+ # @param namespace identifier namespacing the blueprint.
54
+ # @param integration_id id of an integration
55
+ # @param asset_type subtype of Asset, e.g. &#39;textbooks&#39;, &#39;digitisations&#39;, etc.
56
+ # @param asset_id id of an asset
57
+ # @param lti_message_type LTI launch data message type, must be &#39;basic-lti-launch-request&#39;
58
+ # @param lti_version LTI launch version, must be &#39;LTI-1p0&#39;
59
+ # @param resource_link_id LTI resource_link_id parameters
60
+ # @param [Hash] opts the optional parameters
61
+ # @option opts [String] :oauth_consumer_key OAuth 1.0 consumer_key parameters
62
+ # @option opts [String] :oauth_consumer_key2 OAuth 1.0 consumer_key parameters
63
+ # @option opts [String] :oauth_signature_method OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
64
+ # @option opts [String] :oauth_signature_method2 OAuth 1.0 signature method, must be &#39;HMAC-SHA1&#39;
65
+ # @option opts [Integer] :oauth_timestamp OAuth 1.0 timestamp of request
66
+ # @option opts [Integer] :oauth_timestamp2 OAuth 1.0 timestamp of request
67
+ # @option opts [Float] :oauth_version OAuth 1.0 version, must be &#39;1.0&#39;
68
+ # @option opts [Float] :oauth_version2 OAuth 1.0 version, must be &#39;1.0&#39;
69
+ # @option opts [String] :oauth_nonce OAuth 1.0 Nonce
70
+ # @option opts [String] :oauth_nonce2 OAuth 1.0 Nonce
71
+ # @option opts [String] :oauth_signature OAuth 1.0 request signature
72
+ # @option opts [String] :oauth_signature2 OAuth 1.0 request signature
73
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
74
+ def namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post_with_http_info(namespace, integration_id, asset_type, asset_id, lti_message_type, lti_version, resource_link_id, opts = {})
75
+ if @api_client.config.debugging
76
+ @api_client.config.logger.debug "Calling API: LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post ..."
77
+ end
78
+ # verify the required parameter 'namespace' is set
79
+ fail ArgumentError, "Missing the required parameter 'namespace' when calling LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if namespace.nil?
80
+ # verify the required parameter 'integration_id' is set
81
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if integration_id.nil?
82
+ # verify the required parameter 'asset_type' is set
83
+ fail ArgumentError, "Missing the required parameter 'asset_type' when calling LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if asset_type.nil?
84
+ # verify the required parameter 'asset_id' is set
85
+ fail ArgumentError, "Missing the required parameter 'asset_id' when calling LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if asset_id.nil?
86
+ # verify the required parameter 'lti_message_type' is set
87
+ fail ArgumentError, "Missing the required parameter 'lti_message_type' when calling LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if lti_message_type.nil?
88
+ # verify enum value
89
+ unless ['basic-lti-launch-request'].include?(lti_message_type)
90
+ fail ArgumentError, "invalid value for 'lti_message_type', must be one of basic-lti-launch-request"
91
+ end
92
+ # verify the required parameter 'lti_version' is set
93
+ fail ArgumentError, "Missing the required parameter 'lti_version' when calling LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if lti_version.nil?
94
+ # verify enum value
95
+ unless ['LTI-1p0'].include?(lti_version)
96
+ fail ArgumentError, "invalid value for 'lti_version', must be one of LTI-1p0"
97
+ end
98
+ # verify the required parameter 'resource_link_id' is set
99
+ fail ArgumentError, "Missing the required parameter 'resource_link_id' when calling LTIApi.namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post" if resource_link_id.nil?
100
+ if opts[:'oauth_signature_method'] && !['HMAC-SHA1'].include?(opts[:'oauth_signature_method'])
101
+ fail ArgumentError, 'invalid value for "oauth_signature_method", must be one of HMAC-SHA1'
102
+ end
103
+ if opts[:'oauth_signature_method2'] && !['HMAC-SHA1'].include?(opts[:'oauth_signature_method2'])
104
+ fail ArgumentError, 'invalid value for "oauth_signature_method2", must be one of HMAC-SHA1'
105
+ end
106
+ # resource path
107
+ local_var_path = "/{namespace}/integrations/lti1/{integrationId}/assets/{assetType}/{assetId}".sub('{format}','json').sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'integrationId' + '}', integration_id.to_s).sub('{' + 'assetType' + '}', asset_type.to_s).sub('{' + 'assetId' + '}', asset_id.to_s)
108
+
109
+ # query parameters
110
+ query_params = {}
111
+
112
+ # header parameters
113
+ header_params = {}
114
+
115
+ # HTTP header 'Accept' (if needed)
116
+ local_header_accept = ['text/html']
117
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
118
+
119
+ # HTTP header 'Content-Type'
120
+ local_header_content_type = ['application/x-www-form-urlencoded']
121
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
122
+ header_params[:'oauth_consumer_key'] = opts[:'oauth_consumer_key2'] if opts[:'oauth_consumer_key2']
123
+ header_params[:'oauth_signature_method'] = opts[:'oauth_signature_method2'] if opts[:'oauth_signature_method2']
124
+ header_params[:'oauth_timestamp'] = opts[:'oauth_timestamp2'] if opts[:'oauth_timestamp2']
125
+ header_params[:'oauth_version'] = opts[:'oauth_version2'] if opts[:'oauth_version2']
126
+ header_params[:'oauth_nonce'] = opts[:'oauth_nonce2'] if opts[:'oauth_nonce2']
127
+ header_params[:'oauth_signature'] = opts[:'oauth_signature2'] if opts[:'oauth_signature2']
128
+
129
+ # form parameters
130
+ form_params = {}
131
+ form_params["lti_message_type"] = lti_message_type
132
+ form_params["lti_version"] = lti_version
133
+ form_params["resource_link_id"] = resource_link_id
134
+ form_params["oauth_consumer_key"] = opts[:'oauth_consumer_key'] if opts[:'oauth_consumer_key']
135
+ form_params["oauth_signature_method"] = opts[:'oauth_signature_method'] if opts[:'oauth_signature_method']
136
+ form_params["oauth_timestamp"] = opts[:'oauth_timestamp'] if opts[:'oauth_timestamp']
137
+ form_params["oauth_version"] = opts[:'oauth_version'] if opts[:'oauth_version']
138
+ form_params["oauth_nonce"] = opts[:'oauth_nonce'] if opts[:'oauth_nonce']
139
+ form_params["oauth_signature"] = opts[:'oauth_signature'] if opts[:'oauth_signature']
140
+
141
+ # http body (model)
142
+ post_body = nil
143
+ auth_names = []
144
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
145
+ :header_params => header_params,
146
+ :query_params => query_params,
147
+ :form_params => form_params,
148
+ :body => post_body,
149
+ :auth_names => auth_names)
150
+ if @api_client.config.debugging
151
+ @api_client.config.logger.debug "API called: LTIApi#namespace_integrations_lti1_integration_id_assets_asset_type_asset_id_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
152
+ end
153
+ return data, status_code, headers
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,75 @@
1
+ =begin
2
+ Talis Blueprint API
3
+
4
+ This is the API documentation for [Blueprint](https://github.com/talis/blueprint-server), a primitive for institutional structure and time periods
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+
11
+ =end
12
+
13
+ require "uri"
14
+
15
+ module BlueprintClient
16
+ class SecurityApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+
23
+ #
24
+ # Return public key that is used to verify signed data
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [nil]
27
+ def get_public_certificate(opts = {})
28
+ get_public_certificate_with_http_info(opts)
29
+ return nil
30
+ end
31
+
32
+ #
33
+ # Return public key that is used to verify signed data
34
+ # @param [Hash] opts the optional parameters
35
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
36
+ def get_public_certificate_with_http_info(opts = {})
37
+ if @api_client.config.debugging
38
+ @api_client.config.logger.debug "Calling API: SecurityApi.get_public_certificate ..."
39
+ end
40
+ # resource path
41
+ local_var_path = "/keys/public".sub('{format}','json')
42
+
43
+ # query parameters
44
+ query_params = {}
45
+
46
+ # header parameters
47
+ header_params = {}
48
+
49
+ # HTTP header 'Accept' (if needed)
50
+ local_header_accept = ['text/plain']
51
+ local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result
52
+
53
+ # HTTP header 'Content-Type'
54
+ local_header_content_type = ['application/json']
55
+ header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)
56
+
57
+ # form parameters
58
+ form_params = {}
59
+
60
+ # http body (model)
61
+ post_body = nil
62
+ auth_names = []
63
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
64
+ :header_params => header_params,
65
+ :query_params => query_params,
66
+ :form_params => form_params,
67
+ :body => post_body,
68
+ :auth_names => auth_names)
69
+ if @api_client.config.debugging
70
+ @api_client.config.logger.debug "API called: SecurityApi#get_public_certificate\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
71
+ end
72
+ return data, status_code, headers
73
+ end
74
+ end
75
+ end
@@ -86,9 +86,7 @@ module BlueprintClient
86
86
  query_params = opts[:query_params] || {}
87
87
  form_params = opts[:form_params] || {}
88
88
 
89
-
90
89
  update_params_for_auth! header_params, query_params, opts[:auth_names]
91
-
92
90
 
93
91
  req_opts = {
94
92
  :method => http_method,