tca_client 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/docs/AddGroupAttachmentRequest.md +16 -4
  4. data/docs/AddGroupAttachmentResponse.md +14 -3
  5. data/docs/AggregateGroup.md +24 -8
  6. data/docs/AnnotationsSettings.md +18 -0
  7. data/docs/AuthorMetadataOverride.md +16 -4
  8. data/docs/EULAApi.md +166 -92
  9. data/docs/Error.md +16 -4
  10. data/docs/Eula.md +18 -5
  11. data/docs/EulaAcceptListItem.md +20 -6
  12. data/docs/EulaAcceptRequest.md +20 -6
  13. data/docs/EulaVersion.md +22 -7
  14. data/docs/FeaturesApi.md +41 -23
  15. data/docs/FeaturesEnabled.md +20 -6
  16. data/docs/FeaturesGenerationSettings.md +16 -4
  17. data/docs/FeaturesSimilarity.md +18 -5
  18. data/docs/FeaturesSimilarityViewSettings.md +38 -15
  19. data/docs/FeaturesTenant.md +14 -3
  20. data/docs/FeaturesViewerModes.md +16 -4
  21. data/docs/GenerateSimilarityPDF.md +18 -0
  22. data/docs/GetGroupAttachments200Response.md +18 -0
  23. data/docs/Group.md +18 -5
  24. data/docs/GroupAttachmentResponse.md +20 -6
  25. data/docs/GroupContext.md +18 -5
  26. data/docs/GroupsApi.md +321 -177
  27. data/docs/IndexApi.md +84 -44
  28. data/docs/IndexStateSettings.md +14 -3
  29. data/docs/IndexingSettings.md +14 -3
  30. data/docs/PDFStatusWebhookRequest.md +24 -0
  31. data/docs/PdfStatusResponse.md +14 -3
  32. data/docs/RateLimitError.md +16 -4
  33. data/docs/RequestPdfResponse.md +14 -3
  34. data/docs/Sidebar.md +14 -3
  35. data/docs/SimilarityApi.md +239 -129
  36. data/docs/SimilarityCompleteWebhookRequest.md +38 -0
  37. data/docs/SimilarityGenerationSettings.md +20 -6
  38. data/docs/SimilarityMetadata.md +32 -12
  39. data/docs/SimilarityMetadataAllOf.md +28 -0
  40. data/docs/SimilarityMetadataAllOfTopMatches.md +30 -0
  41. data/docs/SimilarityPutRequest.md +18 -5
  42. data/docs/SimilarityScoreData.md +20 -6
  43. data/docs/SimilaritySettings.md +18 -5
  44. data/docs/SimilaritySettingsModes.md +16 -4
  45. data/docs/SimilaritySettingsViewSettings.md +14 -3
  46. data/docs/SimilarityViewSettings.md +38 -15
  47. data/docs/SimilarityViewerUrlResponse.md +14 -3
  48. data/docs/SimilarityViewerUrlSettings.md +30 -10
  49. data/docs/SimpleSubmissionResponse.md +22 -2
  50. data/docs/SimpleSubmissionResponseAllOf.md +26 -0
  51. data/docs/Submission.md +34 -2
  52. data/docs/SubmissionAllOf.md +38 -0
  53. data/docs/SubmissionApi.md +203 -112
  54. data/docs/SubmissionBase.md +30 -11
  55. data/docs/SubmissionBaseMetadata.md +24 -8
  56. data/docs/SubmissionCompleteWebhookRequest.md +40 -0
  57. data/docs/SubmissionCompleteWebhookRequestAllOf.md +18 -0
  58. data/docs/SubmissionCompleteWebhookRequestAllOfMetadata.md +18 -0
  59. data/docs/SubmissionSizeError.md +16 -4
  60. data/docs/SuccessMessage.md +14 -3
  61. data/docs/Users.md +20 -6
  62. data/docs/ViewerPermissions.md +22 -7
  63. data/docs/Webhook.md +24 -6
  64. data/docs/WebhookAllOf.md +20 -0
  65. data/docs/WebhookApi.md +193 -103
  66. data/docs/WebhookBase.md +20 -6
  67. data/docs/WebhookPathRequest.md +16 -4
  68. data/docs/WebhookWithSecret.md +22 -6
  69. data/docs/WebhookWithSecretAllOf.md +18 -0
  70. data/lib/tca_client/api/eula_api.rb +96 -63
  71. data/lib/tca_client/api/features_api.rb +21 -12
  72. data/lib/tca_client/api/groups_api.rb +225 -155
  73. data/lib/tca_client/api/index_api.rb +46 -27
  74. data/lib/tca_client/api/similarity_api.rb +165 -104
  75. data/lib/tca_client/api/submission_api.rb +140 -97
  76. data/lib/tca_client/api/webhook_api.rb +120 -77
  77. data/lib/tca_client/api_client.rb +61 -57
  78. data/lib/tca_client/api_error.rb +4 -4
  79. data/lib/tca_client/configuration.rb +93 -13
  80. data/lib/tca_client/models/add_group_attachment_request.rb +50 -13
  81. data/lib/tca_client/models/add_group_attachment_response.rb +25 -12
  82. data/lib/tca_client/models/aggregate_group.rb +34 -21
  83. data/lib/tca_client/models/annotations_settings.rb +220 -0
  84. data/lib/tca_client/models/author_metadata_override.rb +26 -13
  85. data/lib/tca_client/models/error.rb +26 -13
  86. data/lib/tca_client/models/eula.rb +27 -14
  87. data/lib/tca_client/models/eula_accept_list_item.rb +28 -15
  88. data/lib/tca_client/models/eula_accept_request.rb +28 -15
  89. data/lib/tca_client/models/eula_version.rb +29 -16
  90. data/lib/tca_client/models/features_enabled.rb +28 -15
  91. data/lib/tca_client/models/features_generation_settings.rb +26 -13
  92. data/lib/tca_client/models/features_similarity.rb +27 -14
  93. data/lib/tca_client/models/features_similarity_view_settings.rb +37 -24
  94. data/lib/tca_client/models/features_tenant.rb +25 -12
  95. data/lib/tca_client/models/features_viewer_modes.rb +26 -13
  96. data/lib/tca_client/models/generate_similarity_pdf.rb +254 -0
  97. data/lib/tca_client/models/{inline_response_200.rb → get_group_attachments200_response.rb} +28 -15
  98. data/lib/tca_client/models/group.rb +29 -16
  99. data/lib/tca_client/models/group_attachment_response.rb +38 -17
  100. data/lib/tca_client/models/group_context.rb +27 -14
  101. data/lib/tca_client/models/index_state_settings.rb +25 -12
  102. data/lib/tca_client/models/indexing_settings.rb +25 -12
  103. data/lib/tca_client/models/pdf_status_response.rb +27 -14
  104. data/lib/tca_client/models/pdf_status_webhook_request.rb +283 -0
  105. data/lib/tca_client/models/rate_limit_error.rb +36 -20
  106. data/lib/tca_client/models/request_pdf_response.rb +25 -12
  107. data/lib/tca_client/models/sidebar.rb +27 -14
  108. data/lib/tca_client/models/similarity_complete_webhook_request.rb +366 -0
  109. data/lib/tca_client/models/similarity_generation_settings.rb +30 -17
  110. data/lib/tca_client/models/similarity_metadata.rb +45 -28
  111. data/lib/tca_client/models/similarity_metadata_all_of.rb +301 -0
  112. data/lib/tca_client/models/{similarity_metadata_top_matches.rb → similarity_metadata_all_of_top_matches.rb} +34 -21
  113. data/lib/tca_client/models/similarity_put_request.rb +27 -14
  114. data/lib/tca_client/models/similarity_score_data.rb +28 -15
  115. data/lib/tca_client/models/similarity_settings.rb +29 -16
  116. data/lib/tca_client/models/similarity_settings_modes.rb +26 -13
  117. data/lib/tca_client/models/similarity_settings_view_settings.rb +25 -12
  118. data/lib/tca_client/models/similarity_view_settings.rb +37 -24
  119. data/lib/tca_client/models/similarity_viewer_url_response.rb +25 -12
  120. data/lib/tca_client/models/similarity_viewer_url_settings.rb +46 -24
  121. data/lib/tca_client/models/simple_submission_response.rb +117 -13
  122. data/lib/tca_client/models/simple_submission_response_all_of.rb +294 -0
  123. data/lib/tca_client/models/submission.rb +191 -13
  124. data/lib/tca_client/models/submission_all_of.rb +368 -0
  125. data/lib/tca_client/models/submission_base.rb +82 -23
  126. data/lib/tca_client/models/submission_base_metadata.rb +30 -17
  127. data/lib/tca_client/models/submission_complete_webhook_request.rb +385 -0
  128. data/lib/tca_client/models/submission_complete_webhook_request_all_of.rb +219 -0
  129. data/lib/tca_client/models/submission_complete_webhook_request_all_of_metadata.rb +219 -0
  130. data/lib/tca_client/models/submission_size_error.rb +36 -20
  131. data/lib/tca_client/models/success_message.rb +25 -12
  132. data/lib/tca_client/models/users.rb +28 -15
  133. data/lib/tca_client/models/viewer_permissions.rb +29 -16
  134. data/lib/tca_client/models/webhook.rb +62 -16
  135. data/lib/tca_client/models/webhook_all_of.rb +235 -0
  136. data/lib/tca_client/models/webhook_base.rb +28 -15
  137. data/lib/tca_client/models/webhook_path_request.rb +26 -13
  138. data/lib/tca_client/models/webhook_with_secret.rb +52 -16
  139. data/lib/tca_client/models/webhook_with_secret_all_of.rb +225 -0
  140. data/lib/tca_client/version.rb +5 -4
  141. data/lib/tca_client.rb +18 -5
  142. data/spec/api/submission_api_spec.rb +2 -2
  143. data/tca_client-1.0.0.gem +0 -0
  144. data/tca_client-1.0.1.gem +0 -0
  145. data/tca_client.gemspec +7 -7
  146. metadata +44 -38
  147. data/docs/InlineResponse200.md +0 -7
  148. data/docs/SimilarityMetadataTopMatches.md +0 -13
@@ -3,13 +3,15 @@
3
3
 
4
4
  #Turnitin Core API (TCA) provides direct API access to the core functionality provided by Turnitin. TCA supports file submission, similarity report generation, group management, and visualization of report matches via Cloud Viewer or PDF download. Below is the full flow to successfully set up an integration scope, an API Key, and make calls to TCA. Integration Scope and API Key management is done via the Admin Console UI by logging in as an admin user. For more details, go to our [developer portal documentation page](https://developers.turnitin.com/docs). ## Integration Scope and API Key Management TCA API calls must provide an API Key for authentication, so you must first have at least one integration scope associated with at least one API Key to use TCA. ### Admin Console UI First, login to Admin Console UI as an *Admin* user with permission to create Integration Scopes, under a tenant that is licensed to use the TCA product Integration Scopes (you can create a new one, or add keys to existing) * Click `Integrations` in the side bar --> `+ Add Integration` at top the top of the page --> Enter a name --> `Add` Button API Keys * Click `Integrations` in the side bar --> `Create API Key` Button next to a given Integration Scope --> Enter a name --> click `Create and View button` * Copy/Save the key manually or click save to clipboard button to copy it (this is the only time it will show) ## TCA Flow * Register a webhook * Create a submission * Upload a file for the submission * Wait for the submission upload to process * If you registered a webhook, a callback will be sent to it when upload is complete * The status of the *submission* will also update to `COMPLETE` * Request a Similarity Report * Wait for similarity report to process * If you registered a webhook, a callback will be sent to it when report is complete * The status of the *report* will also be updated to `COMPLETE` * Request a URL with parameters to view the Similarity Report
5
5
 
6
- OpenAPI spec version: 1.0.249
6
+ The version of the OpenAPI document: 1.0.258
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.3.0-SNAPSHOT
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.35
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module TCAClient
15
17
  class Group
@@ -51,12 +53,17 @@ module TCAClient
51
53
  }
52
54
  end
53
55
 
56
+ # Returns all the JSON keys this model knows about
57
+ def self.acceptable_attributes
58
+ attribute_map.values
59
+ end
60
+
54
61
  # Attribute type mapping.
55
62
  def self.openapi_types
56
63
  {
57
- :'id' => :'Object',
58
- :'name' => :'Object',
59
- :'type' => :'Object'
64
+ :'id' => :'String',
65
+ :'name' => :'String',
66
+ :'type' => :'String'
60
67
  }
61
68
  end
62
69
 
@@ -65,7 +72,7 @@ module TCAClient
65
72
  Set.new([
66
73
  ])
67
74
  end
68
-
75
+
69
76
  # Initializes the object
70
77
  # @param [Hash] attributes Model attributes in the form of hash
71
78
  def initialize(attributes = {})
@@ -104,7 +111,7 @@ module TCAClient
104
111
  # Check to see if the all the properties in the model are valid
105
112
  # @return true if the model is valid
106
113
  def valid?
107
- type_validator = EnumAttributeValidator.new('Object', ['ASSIGNMENT', 'FOLDER'])
114
+ type_validator = EnumAttributeValidator.new('String', ["ASSIGNMENT", "FOLDER"])
108
115
  return false unless type_validator.valid?(@type)
109
116
  true
110
117
  end
@@ -112,7 +119,7 @@ module TCAClient
112
119
  # Custom attribute writer method checking allowed values (enum).
113
120
  # @param [Object] type Object to be assigned
114
121
  def type=(type)
115
- validator = EnumAttributeValidator.new('Object', ['ASSIGNMENT', 'FOLDER'])
122
+ validator = EnumAttributeValidator.new('String', ["ASSIGNMENT", "FOLDER"])
116
123
  unless validator.valid?(type)
117
124
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
118
125
  end
@@ -153,8 +160,11 @@ module TCAClient
153
160
  # @return [Object] Returns the model itself
154
161
  def build_from_hash(attributes)
155
162
  return nil unless attributes.is_a?(Hash)
163
+ attributes = attributes.transform_keys(&:to_sym)
156
164
  self.class.openapi_types.each_pair do |key, type|
157
- if type =~ /\AArray<(.*)>/i
165
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
166
+ self.send("#{key}=", nil)
167
+ elsif type =~ /\AArray<(.*)>/i
158
168
  # check to ensure the input is an array given that the attribute
159
169
  # is documented as an array but the input is not
160
170
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -162,8 +172,6 @@ module TCAClient
162
172
  end
163
173
  elsif !attributes[self.class.attribute_map[key]].nil?
164
174
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
165
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
166
- self.send("#{key}=", nil)
167
175
  end
168
176
  end
169
177
 
@@ -176,8 +184,8 @@ module TCAClient
176
184
  # @return [Object] Deserialized data
177
185
  def _deserialize(type, value)
178
186
  case type.to_sym
179
- when :DateTime
180
- DateTime.parse(value)
187
+ when :Time
188
+ Time.parse(value)
181
189
  when :Date
182
190
  Date.parse(value)
183
191
  when :String
@@ -207,7 +215,9 @@ module TCAClient
207
215
  end
208
216
  end
209
217
  else # model
210
- TCAClient.const_get(type).build_from_hash(value)
218
+ # models (e.g. Pet) or oneOf
219
+ klass = TCAClient.const_get(type)
220
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
211
221
  end
212
222
  end
213
223
 
@@ -255,5 +265,8 @@ module TCAClient
255
265
  else
256
266
  value
257
267
  end
258
- end end
268
+ end
269
+
270
+ end
271
+
259
272
  end
@@ -3,13 +3,15 @@
3
3
 
4
4
  #Turnitin Core API (TCA) provides direct API access to the core functionality provided by Turnitin. TCA supports file submission, similarity report generation, group management, and visualization of report matches via Cloud Viewer or PDF download. Below is the full flow to successfully set up an integration scope, an API Key, and make calls to TCA. Integration Scope and API Key management is done via the Admin Console UI by logging in as an admin user. For more details, go to our [developer portal documentation page](https://developers.turnitin.com/docs). ## Integration Scope and API Key Management TCA API calls must provide an API Key for authentication, so you must first have at least one integration scope associated with at least one API Key to use TCA. ### Admin Console UI First, login to Admin Console UI as an *Admin* user with permission to create Integration Scopes, under a tenant that is licensed to use the TCA product Integration Scopes (you can create a new one, or add keys to existing) * Click `Integrations` in the side bar --> `+ Add Integration` at top the top of the page --> Enter a name --> `Add` Button API Keys * Click `Integrations` in the side bar --> `Create API Key` Button next to a given Integration Scope --> Enter a name --> click `Create and View button` * Copy/Save the key manually or click save to clipboard button to copy it (this is the only time it will show) ## TCA Flow * Register a webhook * Create a submission * Upload a file for the submission * Wait for the submission upload to process * If you registered a webhook, a callback will be sent to it when upload is complete * The status of the *submission* will also update to `COMPLETE` * Request a Similarity Report * Wait for similarity report to process * If you registered a webhook, a callback will be sent to it when report is complete * The status of the *report* will also be updated to `COMPLETE` * Request a URL with parameters to view the Similarity Report
5
5
 
6
- OpenAPI spec version: 1.0.249
6
+ The version of the OpenAPI document: 1.0.258
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.3.0-SNAPSHOT
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.35
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module TCAClient
15
17
  # Object returned for group attachment.
@@ -26,6 +28,8 @@ module TCAClient
26
28
  # template
27
29
  attr_accessor :template
28
30
 
31
+ attr_accessor :error_code
32
+
29
33
  class EnumAttributeValidator
30
34
  attr_reader :datatype
31
35
  attr_reader :allowable_values
@@ -55,16 +59,23 @@ module TCAClient
55
59
  :'title' => :'title',
56
60
  :'status' => :'status',
57
61
  :'template' => :'template'
62
+ :'error_code' => :'error_code'
58
63
  }
59
64
  end
60
65
 
66
+ # Returns all the JSON keys this model knows about
67
+ def self.acceptable_attributes
68
+ attribute_map.values
69
+ end
70
+
61
71
  # Attribute type mapping.
62
72
  def self.openapi_types
63
73
  {
64
- :'id' => :'Object',
65
- :'title' => :'Object',
66
- :'status' => :'Object',
67
- :'template' => :'Object'
74
+ :'id' => :'String',
75
+ :'title' => :'String',
76
+ :'status' => :'String',
77
+ :'template' => :'Boolean',
78
+ :'error_code' => :'String'
68
79
  }
69
80
  end
70
81
 
@@ -73,7 +84,7 @@ module TCAClient
73
84
  Set.new([
74
85
  ])
75
86
  end
76
-
87
+
77
88
  # Initializes the object
78
89
  # @param [Hash] attributes Model attributes in the form of hash
79
90
  def initialize(attributes = {})
@@ -104,6 +115,10 @@ module TCAClient
104
115
  if attributes.key?(:'template')
105
116
  self.template = attributes[:'template']
106
117
  end
118
+
119
+ if attributes.key?(:'error_code')
120
+ self.template = attributes[:'error_code']
121
+ end
107
122
  end
108
123
 
109
124
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -116,7 +131,7 @@ module TCAClient
116
131
  # Check to see if the all the properties in the model are valid
117
132
  # @return true if the model is valid
118
133
  def valid?
119
- status_validator = EnumAttributeValidator.new('Object', ['CREATED', 'PROCESSING', 'COMPLETE', 'ERROR', 'DELETE'])
134
+ status_validator = EnumAttributeValidator.new('String', ["CREATED", "PROCESSING", "COMPLETE", "ERROR", "DELETE"])
120
135
  return false unless status_validator.valid?(@status)
121
136
  true
122
137
  end
@@ -124,7 +139,7 @@ module TCAClient
124
139
  # Custom attribute writer method checking allowed values (enum).
125
140
  # @param [Object] status Object to be assigned
126
141
  def status=(status)
127
- validator = EnumAttributeValidator.new('Object', ['CREATED', 'PROCESSING', 'COMPLETE', 'ERROR', 'DELETE'])
142
+ validator = EnumAttributeValidator.new('String', ["CREATED", "PROCESSING", "COMPLETE", "ERROR", "DELETE"])
128
143
  unless validator.valid?(status)
129
144
  fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
130
145
  end
@@ -166,8 +181,11 @@ module TCAClient
166
181
  # @return [Object] Returns the model itself
167
182
  def build_from_hash(attributes)
168
183
  return nil unless attributes.is_a?(Hash)
184
+ attributes = attributes.transform_keys(&:to_sym)
169
185
  self.class.openapi_types.each_pair do |key, type|
170
- if type =~ /\AArray<(.*)>/i
186
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
187
+ self.send("#{key}=", nil)
188
+ elsif type =~ /\AArray<(.*)>/i
171
189
  # check to ensure the input is an array given that the attribute
172
190
  # is documented as an array but the input is not
173
191
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -175,8 +193,6 @@ module TCAClient
175
193
  end
176
194
  elsif !attributes[self.class.attribute_map[key]].nil?
177
195
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
178
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
179
- self.send("#{key}=", nil)
180
196
  end
181
197
  end
182
198
 
@@ -189,8 +205,8 @@ module TCAClient
189
205
  # @return [Object] Deserialized data
190
206
  def _deserialize(type, value)
191
207
  case type.to_sym
192
- when :DateTime
193
- DateTime.parse(value)
208
+ when :Time
209
+ Time.parse(value)
194
210
  when :Date
195
211
  Date.parse(value)
196
212
  when :String
@@ -220,7 +236,9 @@ module TCAClient
220
236
  end
221
237
  end
222
238
  else # model
223
- TCAClient.const_get(type).build_from_hash(value)
239
+ # models (e.g. Pet) or oneOf
240
+ klass = TCAClient.const_get(type)
241
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
224
242
  end
225
243
  end
226
244
 
@@ -268,5 +286,8 @@ module TCAClient
268
286
  else
269
287
  value
270
288
  end
271
- end end
289
+ end
290
+
291
+ end
292
+
272
293
  end
@@ -3,13 +3,15 @@
3
3
 
4
4
  #Turnitin Core API (TCA) provides direct API access to the core functionality provided by Turnitin. TCA supports file submission, similarity report generation, group management, and visualization of report matches via Cloud Viewer or PDF download. Below is the full flow to successfully set up an integration scope, an API Key, and make calls to TCA. Integration Scope and API Key management is done via the Admin Console UI by logging in as an admin user. For more details, go to our [developer portal documentation page](https://developers.turnitin.com/docs). ## Integration Scope and API Key Management TCA API calls must provide an API Key for authentication, so you must first have at least one integration scope associated with at least one API Key to use TCA. ### Admin Console UI First, login to Admin Console UI as an *Admin* user with permission to create Integration Scopes, under a tenant that is licensed to use the TCA product Integration Scopes (you can create a new one, or add keys to existing) * Click `Integrations` in the side bar --> `+ Add Integration` at top the top of the page --> Enter a name --> `Add` Button API Keys * Click `Integrations` in the side bar --> `Create API Key` Button next to a given Integration Scope --> Enter a name --> click `Create and View button` * Copy/Save the key manually or click save to clipboard button to copy it (this is the only time it will show) ## TCA Flow * Register a webhook * Create a submission * Upload a file for the submission * Wait for the submission upload to process * If you registered a webhook, a callback will be sent to it when upload is complete * The status of the *submission* will also update to `COMPLETE` * Request a Similarity Report * Wait for similarity report to process * If you registered a webhook, a callback will be sent to it when report is complete * The status of the *report* will also be updated to `COMPLETE` * Request a URL with parameters to view the Similarity Report
5
5
 
6
- OpenAPI spec version: 1.0.249
6
+ The version of the OpenAPI document: 1.0.258
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.3.0-SNAPSHOT
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.35
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module TCAClient
15
17
  class GroupContext
@@ -29,12 +31,17 @@ module TCAClient
29
31
  }
30
32
  end
31
33
 
34
+ # Returns all the JSON keys this model knows about
35
+ def self.acceptable_attributes
36
+ attribute_map.values
37
+ end
38
+
32
39
  # Attribute type mapping.
33
40
  def self.openapi_types
34
41
  {
35
- :'id' => :'Object',
36
- :'name' => :'Object',
37
- :'owners' => :'Object'
42
+ :'id' => :'String',
43
+ :'name' => :'String',
44
+ :'owners' => :'Array<Users>'
38
45
  }
39
46
  end
40
47
 
@@ -43,7 +50,7 @@ module TCAClient
43
50
  Set.new([
44
51
  ])
45
52
  end
46
-
53
+
47
54
  # Initializes the object
48
55
  # @param [Hash] attributes Model attributes in the form of hash
49
56
  def initialize(attributes = {})
@@ -121,8 +128,11 @@ module TCAClient
121
128
  # @return [Object] Returns the model itself
122
129
  def build_from_hash(attributes)
123
130
  return nil unless attributes.is_a?(Hash)
131
+ attributes = attributes.transform_keys(&:to_sym)
124
132
  self.class.openapi_types.each_pair do |key, type|
125
- if type =~ /\AArray<(.*)>/i
133
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
134
+ self.send("#{key}=", nil)
135
+ elsif type =~ /\AArray<(.*)>/i
126
136
  # check to ensure the input is an array given that the attribute
127
137
  # is documented as an array but the input is not
128
138
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -130,8 +140,6 @@ module TCAClient
130
140
  end
131
141
  elsif !attributes[self.class.attribute_map[key]].nil?
132
142
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
133
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
134
- self.send("#{key}=", nil)
135
143
  end
136
144
  end
137
145
 
@@ -144,8 +152,8 @@ module TCAClient
144
152
  # @return [Object] Deserialized data
145
153
  def _deserialize(type, value)
146
154
  case type.to_sym
147
- when :DateTime
148
- DateTime.parse(value)
155
+ when :Time
156
+ Time.parse(value)
149
157
  when :Date
150
158
  Date.parse(value)
151
159
  when :String
@@ -175,7 +183,9 @@ module TCAClient
175
183
  end
176
184
  end
177
185
  else # model
178
- TCAClient.const_get(type).build_from_hash(value)
186
+ # models (e.g. Pet) or oneOf
187
+ klass = TCAClient.const_get(type)
188
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
179
189
  end
180
190
  end
181
191
 
@@ -223,5 +233,8 @@ module TCAClient
223
233
  else
224
234
  value
225
235
  end
226
- end end
236
+ end
237
+
238
+ end
239
+
227
240
  end
@@ -3,13 +3,15 @@
3
3
 
4
4
  #Turnitin Core API (TCA) provides direct API access to the core functionality provided by Turnitin. TCA supports file submission, similarity report generation, group management, and visualization of report matches via Cloud Viewer or PDF download. Below is the full flow to successfully set up an integration scope, an API Key, and make calls to TCA. Integration Scope and API Key management is done via the Admin Console UI by logging in as an admin user. For more details, go to our [developer portal documentation page](https://developers.turnitin.com/docs). ## Integration Scope and API Key Management TCA API calls must provide an API Key for authentication, so you must first have at least one integration scope associated with at least one API Key to use TCA. ### Admin Console UI First, login to Admin Console UI as an *Admin* user with permission to create Integration Scopes, under a tenant that is licensed to use the TCA product Integration Scopes (you can create a new one, or add keys to existing) * Click `Integrations` in the side bar --> `+ Add Integration` at top the top of the page --> Enter a name --> `Add` Button API Keys * Click `Integrations` in the side bar --> `Create API Key` Button next to a given Integration Scope --> Enter a name --> click `Create and View button` * Copy/Save the key manually or click save to clipboard button to copy it (this is the only time it will show) ## TCA Flow * Register a webhook * Create a submission * Upload a file for the submission * Wait for the submission upload to process * If you registered a webhook, a callback will be sent to it when upload is complete * The status of the *submission* will also update to `COMPLETE` * Request a Similarity Report * Wait for similarity report to process * If you registered a webhook, a callback will be sent to it when report is complete * The status of the *report* will also be updated to `COMPLETE` * Request a URL with parameters to view the Similarity Report
5
5
 
6
- OpenAPI spec version: 1.0.249
6
+ The version of the OpenAPI document: 1.0.258
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.3.0-SNAPSHOT
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.35
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module TCAClient
15
17
  class IndexStateSettings
@@ -23,10 +25,15 @@ module TCAClient
23
25
  }
24
26
  end
25
27
 
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
26
33
  # Attribute type mapping.
27
34
  def self.openapi_types
28
35
  {
29
- :'is_indexed' => :'Object'
36
+ :'is_indexed' => :'Boolean'
30
37
  }
31
38
  end
32
39
 
@@ -35,7 +42,7 @@ module TCAClient
35
42
  Set.new([
36
43
  ])
37
44
  end
38
-
45
+
39
46
  # Initializes the object
40
47
  # @param [Hash] attributes Model attributes in the form of hash
41
48
  def initialize(attributes = {})
@@ -101,8 +108,11 @@ module TCAClient
101
108
  # @return [Object] Returns the model itself
102
109
  def build_from_hash(attributes)
103
110
  return nil unless attributes.is_a?(Hash)
111
+ attributes = attributes.transform_keys(&:to_sym)
104
112
  self.class.openapi_types.each_pair do |key, type|
105
- if type =~ /\AArray<(.*)>/i
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
106
116
  # check to ensure the input is an array given that the attribute
107
117
  # is documented as an array but the input is not
108
118
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -110,8 +120,6 @@ module TCAClient
110
120
  end
111
121
  elsif !attributes[self.class.attribute_map[key]].nil?
112
122
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
113
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
- self.send("#{key}=", nil)
115
123
  end
116
124
  end
117
125
 
@@ -124,8 +132,8 @@ module TCAClient
124
132
  # @return [Object] Deserialized data
125
133
  def _deserialize(type, value)
126
134
  case type.to_sym
127
- when :DateTime
128
- DateTime.parse(value)
135
+ when :Time
136
+ Time.parse(value)
129
137
  when :Date
130
138
  Date.parse(value)
131
139
  when :String
@@ -155,7 +163,9 @@ module TCAClient
155
163
  end
156
164
  end
157
165
  else # model
158
- TCAClient.const_get(type).build_from_hash(value)
166
+ # models (e.g. Pet) or oneOf
167
+ klass = TCAClient.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
159
169
  end
160
170
  end
161
171
 
@@ -203,5 +213,8 @@ module TCAClient
203
213
  else
204
214
  value
205
215
  end
206
- end end
216
+ end
217
+
218
+ end
219
+
207
220
  end
@@ -3,13 +3,15 @@
3
3
 
4
4
  #Turnitin Core API (TCA) provides direct API access to the core functionality provided by Turnitin. TCA supports file submission, similarity report generation, group management, and visualization of report matches via Cloud Viewer or PDF download. Below is the full flow to successfully set up an integration scope, an API Key, and make calls to TCA. Integration Scope and API Key management is done via the Admin Console UI by logging in as an admin user. For more details, go to our [developer portal documentation page](https://developers.turnitin.com/docs). ## Integration Scope and API Key Management TCA API calls must provide an API Key for authentication, so you must first have at least one integration scope associated with at least one API Key to use TCA. ### Admin Console UI First, login to Admin Console UI as an *Admin* user with permission to create Integration Scopes, under a tenant that is licensed to use the TCA product Integration Scopes (you can create a new one, or add keys to existing) * Click `Integrations` in the side bar --> `+ Add Integration` at top the top of the page --> Enter a name --> `Add` Button API Keys * Click `Integrations` in the side bar --> `Create API Key` Button next to a given Integration Scope --> Enter a name --> click `Create and View button` * Copy/Save the key manually or click save to clipboard button to copy it (this is the only time it will show) ## TCA Flow * Register a webhook * Create a submission * Upload a file for the submission * Wait for the submission upload to process * If you registered a webhook, a callback will be sent to it when upload is complete * The status of the *submission* will also update to `COMPLETE` * Request a Similarity Report * Wait for similarity report to process * If you registered a webhook, a callback will be sent to it when report is complete * The status of the *report* will also be updated to `COMPLETE` * Request a URL with parameters to view the Similarity Report
5
5
 
6
- OpenAPI spec version: 1.0.249
6
+ The version of the OpenAPI document: 1.0.258
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.3.0-SNAPSHOT
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.35
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module TCAClient
15
17
  class IndexingSettings
@@ -23,10 +25,15 @@ module TCAClient
23
25
  }
24
26
  end
25
27
 
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
26
33
  # Attribute type mapping.
27
34
  def self.openapi_types
28
35
  {
29
- :'add_to_index' => :'Object'
36
+ :'add_to_index' => :'Boolean'
30
37
  }
31
38
  end
32
39
 
@@ -35,7 +42,7 @@ module TCAClient
35
42
  Set.new([
36
43
  ])
37
44
  end
38
-
45
+
39
46
  # Initializes the object
40
47
  # @param [Hash] attributes Model attributes in the form of hash
41
48
  def initialize(attributes = {})
@@ -101,8 +108,11 @@ module TCAClient
101
108
  # @return [Object] Returns the model itself
102
109
  def build_from_hash(attributes)
103
110
  return nil unless attributes.is_a?(Hash)
111
+ attributes = attributes.transform_keys(&:to_sym)
104
112
  self.class.openapi_types.each_pair do |key, type|
105
- if type =~ /\AArray<(.*)>/i
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
106
116
  # check to ensure the input is an array given that the attribute
107
117
  # is documented as an array but the input is not
108
118
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -110,8 +120,6 @@ module TCAClient
110
120
  end
111
121
  elsif !attributes[self.class.attribute_map[key]].nil?
112
122
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
113
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
- self.send("#{key}=", nil)
115
123
  end
116
124
  end
117
125
 
@@ -124,8 +132,8 @@ module TCAClient
124
132
  # @return [Object] Deserialized data
125
133
  def _deserialize(type, value)
126
134
  case type.to_sym
127
- when :DateTime
128
- DateTime.parse(value)
135
+ when :Time
136
+ Time.parse(value)
129
137
  when :Date
130
138
  Date.parse(value)
131
139
  when :String
@@ -155,7 +163,9 @@ module TCAClient
155
163
  end
156
164
  end
157
165
  else # model
158
- TCAClient.const_get(type).build_from_hash(value)
166
+ # models (e.g. Pet) or oneOf
167
+ klass = TCAClient.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
159
169
  end
160
170
  end
161
171
 
@@ -203,5 +213,8 @@ module TCAClient
203
213
  else
204
214
  value
205
215
  end
206
- end end
216
+ end
217
+
218
+ end
219
+
207
220
  end