merge_ticketing_client 1.0.2 → 1.0.3

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -4
  3. data/docs/Account.md +9 -10
  4. data/docs/Attachment.md +13 -14
  5. data/docs/AttachmentRequest.md +9 -14
  6. data/docs/Collection.md +11 -12
  7. data/docs/Comment.md +14 -15
  8. data/docs/CommentRequest.md +10 -15
  9. data/docs/Contact.md +12 -13
  10. data/docs/DataPassthroughRequest.md +10 -11
  11. data/docs/FieldFormatEnum.md +15 -0
  12. data/docs/FieldTypeEnum.md +15 -0
  13. data/docs/Issue.md +10 -11
  14. data/docs/LinkedAccountCondition.md +8 -9
  15. data/docs/LinkedAccountConditionRequest.md +5 -6
  16. data/docs/MetaResponse.md +6 -7
  17. data/docs/PaginatedRemoteFieldClassList.md +22 -0
  18. data/docs/PatchedTicketRequest.md +20 -25
  19. data/docs/Project.md +9 -10
  20. data/docs/RemoteData.md +4 -5
  21. data/docs/RemoteField.md +19 -0
  22. data/docs/RemoteFieldClass.md +38 -0
  23. data/docs/RemoteFieldClassItemSchema.md +22 -0
  24. data/docs/RemoteResponse.md +9 -10
  25. data/docs/Tag.md +7 -8
  26. data/docs/Team.md +9 -10
  27. data/docs/Ticket.md +29 -28
  28. data/docs/TicketRequest.md +21 -28
  29. data/docs/TicketsApi.md +88 -0
  30. data/docs/User.md +12 -13
  31. data/lib/merge_ticketing_client/api/tickets_api.rb +83 -0
  32. data/lib/merge_ticketing_client/models/attachment_request.rb +1 -23
  33. data/lib/merge_ticketing_client/models/categories_enum.rb +2 -1
  34. data/lib/merge_ticketing_client/models/category_enum.rb +2 -1
  35. data/lib/merge_ticketing_client/models/comment_request.rb +1 -23
  36. data/lib/merge_ticketing_client/models/field_format_enum.rb +49 -0
  37. data/lib/merge_ticketing_client/models/field_type_enum.rb +49 -0
  38. data/lib/merge_ticketing_client/models/paginated_remote_field_class_list.rb +240 -0
  39. data/lib/merge_ticketing_client/models/patched_ticket_request.rb +1 -23
  40. data/lib/merge_ticketing_client/models/remote_data.rb +9 -7
  41. data/lib/merge_ticketing_client/models/remote_field.rb +231 -0
  42. data/lib/merge_ticketing_client/models/remote_field_class.rb +318 -0
  43. data/lib/merge_ticketing_client/models/remote_field_class_item_schema.rb +241 -0
  44. data/lib/merge_ticketing_client/models/ticket.rb +16 -5
  45. data/lib/merge_ticketing_client/models/ticket_request.rb +1 -34
  46. data/lib/merge_ticketing_client/version.rb +1 -1
  47. data/lib/merge_ticketing_client.rb +6 -0
  48. metadata +14 -2
@@ -0,0 +1,240 @@
1
+ =begin
2
+ #Merge Ticketing API
3
+
4
+ #The unified API for building rich integrations with multiple Ticketing platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeTicketingClient
17
+ class PaginatedRemoteFieldClassList
18
+ attr_accessor :_next
19
+
20
+ attr_accessor :previous
21
+
22
+ attr_accessor :results
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'_next' => :'next',
28
+ :'previous' => :'previous',
29
+ :'results' => :'results'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'_next' => :'String',
42
+ :'previous' => :'String',
43
+ :'results' => :'Array<RemoteFieldClass>'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ :'_next',
51
+ :'previous',
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeTicketingClient::PaginatedRemoteFieldClassList` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}) { |(k, v), h|
64
+ if (!self.class.attribute_map.key?(k.to_sym))
65
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeTicketingClient::PaginatedRemoteFieldClassList`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
+ end
67
+ h[k.to_sym] = v
68
+ }
69
+
70
+ if attributes.key?(:'_next')
71
+ self._next = attributes[:'_next']
72
+ end
73
+
74
+ if attributes.key?(:'previous')
75
+ self.previous = attributes[:'previous']
76
+ end
77
+
78
+ if attributes.key?(:'results')
79
+ if (value = attributes[:'results']).is_a?(Array)
80
+ self.results = value
81
+ end
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ invalid_properties = Array.new
89
+ invalid_properties
90
+ end
91
+
92
+ # Check to see if the all the properties in the model are valid
93
+ # @return true if the model is valid
94
+ def valid?
95
+ true
96
+ end
97
+
98
+ # Checks equality by comparing each attribute.
99
+ # @param [Object] Object to be compared
100
+ def ==(o)
101
+ return true if self.equal?(o)
102
+ self.class == o.class &&
103
+ _next == o._next &&
104
+ previous == o.previous &&
105
+ results == o.results
106
+ end
107
+
108
+ # @see the `==` method
109
+ # @param [Object] Object to be compared
110
+ def eql?(o)
111
+ self == o
112
+ end
113
+
114
+ # Calculates hash code according to all attributes.
115
+ # @return [Integer] Hash code
116
+ def hash
117
+ [_next, previous, results].hash
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def self.build_from_hash(attributes)
124
+ new.build_from_hash(attributes)
125
+ end
126
+
127
+ # Builds the object from hash
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ # @return [Object] Returns the model itself
130
+ def build_from_hash(attributes)
131
+ return nil unless attributes.is_a?(Hash)
132
+ self.class.openapi_types.each_pair do |key, type|
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
136
+ # check to ensure the input is an array given that the attribute
137
+ # is documented as an array but the input is not
138
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
139
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
140
+ end
141
+ elsif !attributes[self.class.attribute_map[key]].nil?
142
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
143
+ end
144
+ end
145
+
146
+ self
147
+ end
148
+
149
+ # Deserializes the data based on type
150
+ # @param string type Data type
151
+ # @param string value Value to be deserialized
152
+ # @return [Object] Deserialized data
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :Time
156
+ Time.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :Boolean
166
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ # models (e.g. Pet) or oneOf
187
+ klass = MergeTicketingClient.const_get(type)
188
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
189
+ end
190
+ end
191
+
192
+ # Returns the string representation of the object
193
+ # @return [String] String presentation of the object
194
+ def to_s
195
+ to_hash.to_s
196
+ end
197
+
198
+ # to_body is an alias to to_hash (backward compatibility)
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_body
201
+ to_hash
202
+ end
203
+
204
+ # Returns the object in the form of hash
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_hash
207
+ hash = {}
208
+ self.class.attribute_map.each_pair do |attr, param|
209
+ value = self.send(attr)
210
+ if value.nil?
211
+ is_nullable = self.class.openapi_nullable.include?(attr)
212
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
213
+ end
214
+
215
+ hash[param] = _to_hash(value)
216
+ end
217
+ hash
218
+ end
219
+
220
+ # Outputs non-array value in the form of hash
221
+ # For object, use to_hash. Otherwise, just return the value
222
+ # @param [Object] value Any valid value
223
+ # @return [Hash] Returns the value in the form of hash
224
+ def _to_hash(value)
225
+ if value.is_a?(Array)
226
+ value.compact.map { |v| _to_hash(v) }
227
+ elsif value.is_a?(Hash)
228
+ {}.tap do |hash|
229
+ value.each { |k, v| hash[k] = _to_hash(v) }
230
+ end
231
+ elsif value.respond_to? :to_hash
232
+ value.to_hash
233
+ else
234
+ value
235
+ end
236
+ end
237
+
238
+ end
239
+
240
+ end
@@ -52,12 +52,6 @@ module MergeTicketingClient
52
52
 
53
53
  attr_accessor :tags
54
54
 
55
- # When the third party's ticket was created.
56
- attr_accessor :remote_created_at
57
-
58
- # When the third party's ticket was updated.
59
- attr_accessor :remote_updated_at
60
-
61
55
  # When the ticket was completed.
62
56
  attr_accessor :completed_at
63
57
 
@@ -87,8 +81,6 @@ module MergeTicketingClient
87
81
  :'contact' => :'contact',
88
82
  :'parent_ticket' => :'parent_ticket',
89
83
  :'tags' => :'tags',
90
- :'remote_created_at' => :'remote_created_at',
91
- :'remote_updated_at' => :'remote_updated_at',
92
84
  :'completed_at' => :'completed_at',
93
85
  :'ticket_url' => :'ticket_url',
94
86
  :'priority' => :'priority',
@@ -118,8 +110,6 @@ module MergeTicketingClient
118
110
  :'contact' => :'String',
119
111
  :'parent_ticket' => :'String',
120
112
  :'tags' => :'Array<String>',
121
- :'remote_created_at' => :'Time',
122
- :'remote_updated_at' => :'Time',
123
113
  :'completed_at' => :'Time',
124
114
  :'ticket_url' => :'String',
125
115
  :'priority' => :'PriorityEnum',
@@ -141,8 +131,6 @@ module MergeTicketingClient
141
131
  :'account',
142
132
  :'contact',
143
133
  :'parent_ticket',
144
- :'remote_created_at',
145
- :'remote_updated_at',
146
134
  :'completed_at',
147
135
  :'ticket_url',
148
136
  :'priority',
@@ -224,14 +212,6 @@ module MergeTicketingClient
224
212
  end
225
213
  end
226
214
 
227
- if attributes.key?(:'remote_created_at')
228
- self.remote_created_at = attributes[:'remote_created_at']
229
- end
230
-
231
- if attributes.key?(:'remote_updated_at')
232
- self.remote_updated_at = attributes[:'remote_updated_at']
233
- end
234
-
235
215
  if attributes.key?(:'completed_at')
236
216
  self.completed_at = attributes[:'completed_at']
237
217
  end
@@ -303,8 +283,6 @@ module MergeTicketingClient
303
283
  contact == o.contact &&
304
284
  parent_ticket == o.parent_ticket &&
305
285
  tags == o.tags &&
306
- remote_created_at == o.remote_created_at &&
307
- remote_updated_at == o.remote_updated_at &&
308
286
  completed_at == o.completed_at &&
309
287
  ticket_url == o.ticket_url &&
310
288
  priority == o.priority &&
@@ -321,7 +299,7 @@ module MergeTicketingClient
321
299
  # Calculates hash code according to all attributes.
322
300
  # @return [Integer] Hash code
323
301
  def hash
324
- [name, assignees, creator, due_date, status, description, project, collections, ticket_type, account, contact, parent_ticket, tags, remote_created_at, remote_updated_at, completed_at, ticket_url, priority, integration_params, linked_account_params].hash
302
+ [name, assignees, creator, due_date, status, description, project, collections, ticket_type, account, contact, parent_ticket, tags, completed_at, ticket_url, priority, integration_params, linked_account_params].hash
325
303
  end
326
304
 
327
305
  # Builds the object from hash
@@ -66,9 +66,7 @@ module MergeTicketingClient
66
66
  end
67
67
 
68
68
  if attributes.key?(:'data')
69
- if (value = attributes[:'data']).is_a?(Hash)
70
- self.data = value
71
- end
69
+ self.data = attributes[:'data']
72
70
  end
73
71
  end
74
72
 
@@ -171,10 +169,14 @@ module MergeTicketingClient
171
169
  when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
172
170
  k_type = Regexp.last_match[:k_type]
173
171
  v_type = Regexp.last_match[:v_type]
174
- {}.tap do |hash|
175
- value.each do |k, v|
176
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
177
- end
172
+ if value.is_a? Hash
173
+ {}.tap do |hash|
174
+ value.each do |k, v|
175
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
176
+ end
177
+ end
178
+ else
179
+ _deserialize(v_type, value)
178
180
  end
179
181
  else # model
180
182
  # models (e.g. Pet) or oneOf
@@ -0,0 +1,231 @@
1
+ =begin
2
+ #Merge Ticketing API
3
+
4
+ #The unified API for building rich integrations with multiple Ticketing platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeTicketingClient
17
+ class RemoteField
18
+ attr_accessor :value
19
+
20
+ attr_accessor :remote_field_class
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'value' => :'value',
26
+ :'remote_field_class' => :'remote_field_class'
27
+ }
28
+ end
29
+
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'value' => :'Hash<String, Object>',
39
+ :'remote_field_class' => :'String'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ :'value',
47
+ :'remote_field_class'
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 `MergeTicketingClient::RemoteField` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeTicketingClient::RemoteField`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'value')
67
+ if (value = attributes[:'value']).is_a?(Hash)
68
+ self.value = value
69
+ end
70
+ end
71
+
72
+ if attributes.key?(:'remote_field_class')
73
+ self.remote_field_class = attributes[:'remote_field_class']
74
+ end
75
+ end
76
+
77
+ # Show invalid properties with the reasons. Usually used together with valid?
78
+ # @return Array for valid properties with the reasons
79
+ def list_invalid_properties
80
+ invalid_properties = Array.new
81
+ invalid_properties
82
+ end
83
+
84
+ # Check to see if the all the properties in the model are valid
85
+ # @return true if the model is valid
86
+ def valid?
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ value == o.value &&
96
+ remote_field_class == o.remote_field_class
97
+ end
98
+
99
+ # @see the `==` method
100
+ # @param [Object] Object to be compared
101
+ def eql?(o)
102
+ self == o
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ def hash
108
+ [value, remote_field_class].hash
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def self.build_from_hash(attributes)
115
+ new.build_from_hash(attributes)
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ self.class.openapi_types.each_pair do |key, type|
124
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
125
+ self.send("#{key}=", nil)
126
+ elsif type =~ /\AArray<(.*)>/i
127
+ # check to ensure the input is an array given that the attribute
128
+ # is documented as an array but the input is not
129
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
130
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
131
+ end
132
+ elsif !attributes[self.class.attribute_map[key]].nil?
133
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
134
+ end
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :Time
147
+ Time.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :Boolean
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ # models (e.g. Pet) or oneOf
178
+ klass = MergeTicketingClient.const_get(type)
179
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
180
+ end
181
+ end
182
+
183
+ # Returns the string representation of the object
184
+ # @return [String] String presentation of the object
185
+ def to_s
186
+ to_hash.to_s
187
+ end
188
+
189
+ # to_body is an alias to to_hash (backward compatibility)
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_body
192
+ to_hash
193
+ end
194
+
195
+ # Returns the object in the form of hash
196
+ # @return [Hash] Returns the object in the form of hash
197
+ def to_hash
198
+ hash = {}
199
+ self.class.attribute_map.each_pair do |attr, param|
200
+ value = self.send(attr)
201
+ if value.nil?
202
+ is_nullable = self.class.openapi_nullable.include?(attr)
203
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
204
+ end
205
+
206
+ hash[param] = _to_hash(value)
207
+ end
208
+ hash
209
+ end
210
+
211
+ # Outputs non-array value in the form of hash
212
+ # For object, use to_hash. Otherwise, just return the value
213
+ # @param [Object] value Any valid value
214
+ # @return [Hash] Returns the value in the form of hash
215
+ def _to_hash(value)
216
+ if value.is_a?(Array)
217
+ value.compact.map { |v| _to_hash(v) }
218
+ elsif value.is_a?(Hash)
219
+ {}.tap do |hash|
220
+ value.each { |k, v| hash[k] = _to_hash(v) }
221
+ end
222
+ elsif value.respond_to? :to_hash
223
+ value.to_hash
224
+ else
225
+ value
226
+ end
227
+ end
228
+
229
+ end
230
+
231
+ end