ittybit 0.8.14 → 1.0.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 (187) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ittybit/automations/client.rb +80 -60
  3. data/lib/ittybit/automations/types/automations_create_request_workflow_item.rb +81 -0
  4. data/lib/ittybit/automations/types/automations_create_request_workflow_item_kind.rb +20 -0
  5. data/lib/ittybit/automations/types/automations_create_request_workflow_item_next_item.rb +71 -0
  6. data/lib/ittybit/automations/types/automations_create_response.rb +133 -0
  7. data/lib/ittybit/automations/types/automations_create_response_status.rb +10 -0
  8. data/lib/ittybit/automations/types/automations_create_response_trigger.rb +67 -0
  9. data/lib/ittybit/automations/types/automations_create_response_workflow_item.rb +61 -0
  10. data/lib/ittybit/automations/types/automations_create_response_workflow_item_conditions.rb +86 -0
  11. data/lib/ittybit/automations/types/automations_create_response_workflow_item_conditions_conditions_item.rb +71 -0
  12. data/lib/ittybit/automations/types/automations_create_response_workflow_item_conditions_next_item.rb +71 -0
  13. data/lib/ittybit/automations/types/automations_create_response_workflow_item_ref.rb +83 -0
  14. data/lib/ittybit/automations/types/automations_create_response_workflow_item_ref_kind.rb +20 -0
  15. data/lib/ittybit/automations/types/automations_create_response_workflow_item_ref_next_item.rb +71 -0
  16. data/lib/ittybit/automations/types/automations_delete_response.rb +59 -0
  17. data/lib/ittybit/automations/types/automations_get_response.rb +133 -0
  18. data/lib/ittybit/automations/types/automations_get_response_status.rb +10 -0
  19. data/lib/ittybit/automations/types/automations_get_response_trigger.rb +67 -0
  20. data/lib/ittybit/automations/types/automations_get_response_workflow_item.rb +60 -0
  21. data/lib/ittybit/automations/types/automations_get_response_workflow_item_conditions.rb +86 -0
  22. data/lib/ittybit/automations/types/automations_get_response_workflow_item_conditions_conditions_item.rb +71 -0
  23. data/lib/ittybit/automations/types/automations_get_response_workflow_item_conditions_next_item.rb +71 -0
  24. data/lib/ittybit/automations/types/automations_get_response_workflow_item_ref.rb +82 -0
  25. data/lib/ittybit/automations/types/automations_get_response_workflow_item_ref_kind.rb +20 -0
  26. data/lib/ittybit/automations/types/automations_get_response_workflow_item_ref_next_item.rb +71 -0
  27. data/lib/ittybit/automations/types/automations_list_response_item.rb +133 -0
  28. data/lib/ittybit/automations/types/automations_list_response_item_status.rb +10 -0
  29. data/lib/ittybit/automations/types/automations_list_response_item_trigger.rb +67 -0
  30. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item.rb +61 -0
  31. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_conditions.rb +86 -0
  32. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_conditions_conditions_item.rb +71 -0
  33. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_conditions_next_item.rb +71 -0
  34. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_ref.rb +83 -0
  35. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_ref_kind.rb +20 -0
  36. data/lib/ittybit/automations/types/automations_list_response_item_workflow_item_ref_next_item.rb +71 -0
  37. data/lib/ittybit/automations/types/automations_update_request_workflow_item.rb +81 -0
  38. data/lib/ittybit/automations/types/automations_update_request_workflow_item_kind.rb +20 -0
  39. data/lib/ittybit/automations/types/automations_update_request_workflow_item_next_item.rb +71 -0
  40. data/lib/ittybit/automations/types/automations_update_response.rb +133 -0
  41. data/lib/ittybit/automations/types/automations_update_response_status.rb +10 -0
  42. data/lib/ittybit/automations/types/automations_update_response_trigger.rb +67 -0
  43. data/lib/ittybit/automations/types/automations_update_response_workflow_item.rb +61 -0
  44. data/lib/ittybit/automations/types/automations_update_response_workflow_item_conditions.rb +86 -0
  45. data/lib/ittybit/automations/types/automations_update_response_workflow_item_conditions_conditions_item.rb +71 -0
  46. data/lib/ittybit/automations/types/automations_update_response_workflow_item_conditions_next_item.rb +71 -0
  47. data/lib/ittybit/automations/types/automations_update_response_workflow_item_ref.rb +83 -0
  48. data/lib/ittybit/automations/types/automations_update_response_workflow_item_ref_kind.rb +20 -0
  49. data/lib/ittybit/automations/types/automations_update_response_workflow_item_ref_next_item.rb +71 -0
  50. data/lib/ittybit/files/client.rb +76 -55
  51. data/lib/ittybit/files/types/files_create_response.rb +317 -0
  52. data/lib/ittybit/files/types/files_create_response_kind.rb +11 -0
  53. data/lib/ittybit/files/types/files_create_response_object.rb +11 -0
  54. data/lib/ittybit/files/types/files_create_response_status.rb +12 -0
  55. data/lib/ittybit/files/types/files_delete_response.rb +59 -0
  56. data/lib/ittybit/files/types/files_get_response.rb +317 -0
  57. data/lib/ittybit/files/types/files_get_response_kind.rb +11 -0
  58. data/lib/ittybit/files/types/files_get_response_object.rb +11 -0
  59. data/lib/ittybit/files/types/files_get_response_status.rb +12 -0
  60. data/lib/ittybit/files/types/files_list_response_item.rb +317 -0
  61. data/lib/ittybit/files/types/files_list_response_item_kind.rb +11 -0
  62. data/lib/ittybit/files/types/files_list_response_item_object.rb +11 -0
  63. data/lib/ittybit/files/types/files_list_response_item_status.rb +12 -0
  64. data/lib/ittybit/files/types/files_update_response.rb +317 -0
  65. data/lib/ittybit/files/types/files_update_response_kind.rb +11 -0
  66. data/lib/ittybit/files/types/files_update_response_object.rb +11 -0
  67. data/lib/ittybit/files/types/files_update_response_status.rb +12 -0
  68. data/lib/ittybit/media/client.rb +77 -56
  69. data/lib/ittybit/media/types/media_create_response.rb +175 -0
  70. data/lib/ittybit/media/types/media_create_response_files_item.rb +262 -0
  71. data/lib/ittybit/media/types/media_create_response_files_item_kind.rb +11 -0
  72. data/lib/ittybit/media/types/media_create_response_files_item_object.rb +11 -0
  73. data/lib/ittybit/media/types/media_create_response_files_item_orientation.rb +11 -0
  74. data/lib/ittybit/media/types/media_create_response_files_item_status.rb +12 -0
  75. data/lib/ittybit/media/types/media_create_response_kind.rb +11 -0
  76. data/lib/ittybit/media/types/media_delete_response.rb +59 -0
  77. data/lib/ittybit/media/types/media_get_response.rb +175 -0
  78. data/lib/ittybit/media/types/media_get_response_files_item.rb +262 -0
  79. data/lib/ittybit/media/types/media_get_response_files_item_kind.rb +11 -0
  80. data/lib/ittybit/media/types/media_get_response_files_item_object.rb +11 -0
  81. data/lib/ittybit/media/types/media_get_response_files_item_orientation.rb +11 -0
  82. data/lib/ittybit/media/types/media_get_response_files_item_status.rb +12 -0
  83. data/lib/ittybit/media/types/media_get_response_kind.rb +11 -0
  84. data/lib/ittybit/media/types/media_update_response.rb +175 -0
  85. data/lib/ittybit/media/types/media_update_response_files_item.rb +262 -0
  86. data/lib/ittybit/media/types/media_update_response_files_item_kind.rb +11 -0
  87. data/lib/ittybit/media/types/media_update_response_files_item_object.rb +11 -0
  88. data/lib/ittybit/media/types/media_update_response_files_item_orientation.rb +11 -0
  89. data/lib/ittybit/media/types/media_update_response_files_item_status.rb +12 -0
  90. data/lib/ittybit/media/types/media_update_response_kind.rb +11 -0
  91. data/lib/ittybit/signatures/client.rb +13 -11
  92. data/lib/ittybit/signatures/types/signatures_create_response.rb +112 -0
  93. data/lib/ittybit/tasks/client.rb +47 -99
  94. data/lib/ittybit/tasks/types/tasks_create_response.rb +186 -0
  95. data/lib/ittybit/tasks/types/tasks_create_response_kind.rb +23 -0
  96. data/lib/ittybit/tasks/types/tasks_create_response_results.rb +76 -0
  97. data/lib/ittybit/tasks/types/tasks_create_response_status.rb +16 -0
  98. data/lib/ittybit/tasks/types/tasks_get_response.rb +186 -0
  99. data/lib/ittybit/tasks/types/tasks_get_response_kind.rb +23 -0
  100. data/lib/ittybit/tasks/types/tasks_get_response_results.rb +76 -0
  101. data/lib/ittybit/tasks/types/tasks_get_response_status.rb +16 -0
  102. data/lib/ittybit/tasks/types/tasks_list_response_item.rb +186 -0
  103. data/lib/ittybit/tasks/types/tasks_list_response_item_kind.rb +23 -0
  104. data/lib/ittybit/tasks/types/tasks_list_response_item_results.rb +76 -0
  105. data/lib/ittybit/tasks/types/tasks_list_response_item_status.rb +16 -0
  106. data/lib/ittybit/types/automation_list_response.rb +2 -98
  107. data/lib/ittybit/types/automation_list_response_item.rb +131 -0
  108. data/lib/ittybit/types/automation_list_response_item_status.rb +8 -0
  109. data/lib/ittybit/types/automation_list_response_item_trigger.rb +65 -0
  110. data/lib/ittybit/types/automation_list_response_item_workflow_item.rb +57 -0
  111. data/lib/ittybit/types/automation_list_response_item_workflow_item_conditions.rb +84 -0
  112. data/lib/ittybit/types/automation_list_response_item_workflow_item_conditions_conditions_item.rb +69 -0
  113. data/lib/ittybit/types/automation_list_response_item_workflow_item_conditions_next_item.rb +69 -0
  114. data/lib/ittybit/types/automation_list_response_item_workflow_item_ref.rb +81 -0
  115. data/lib/ittybit/types/automation_list_response_item_workflow_item_ref_kind.rb +18 -0
  116. data/lib/ittybit/types/automation_list_response_item_workflow_item_ref_next_item.rb +69 -0
  117. data/lib/ittybit/types/automation_response.rb +77 -46
  118. data/lib/ittybit/types/automation_response_status.rb +8 -0
  119. data/lib/ittybit/types/automation_response_trigger.rb +65 -0
  120. data/lib/ittybit/types/automation_response_workflow_item.rb +54 -0
  121. data/lib/ittybit/types/automation_response_workflow_item_conditions.rb +84 -0
  122. data/lib/ittybit/types/automation_response_workflow_item_conditions_conditions_item.rb +69 -0
  123. data/lib/ittybit/types/automation_response_workflow_item_conditions_next_item.rb +69 -0
  124. data/lib/ittybit/types/automation_response_workflow_item_ref.rb +79 -0
  125. data/lib/ittybit/types/automation_response_workflow_item_ref_kind.rb +18 -0
  126. data/lib/ittybit/types/automation_response_workflow_item_ref_next_item.rb +69 -0
  127. data/lib/ittybit/types/automation_workflow_item.rb +8 -8
  128. data/lib/ittybit/types/automation_workflow_item_conditions.rb +82 -0
  129. data/lib/ittybit/types/automation_workflow_item_conditions_conditions_item.rb +69 -0
  130. data/lib/ittybit/types/automation_workflow_item_conditions_next_item.rb +69 -0
  131. data/lib/ittybit/types/automation_workflow_item_ref.rb +79 -0
  132. data/lib/ittybit/types/automation_workflow_item_ref_kind.rb +18 -0
  133. data/lib/ittybit/types/automation_workflow_item_ref_next_item.rb +67 -0
  134. data/lib/ittybit/types/confirmation_response.rb +9 -52
  135. data/lib/ittybit/types/created_by.rb +5 -0
  136. data/lib/ittybit/types/error.rb +1 -53
  137. data/lib/ittybit/types/file_list_response.rb +2 -98
  138. data/lib/ittybit/types/file_list_response_item.rb +315 -0
  139. data/lib/ittybit/types/file_list_response_item_kind.rb +9 -0
  140. data/lib/ittybit/types/file_list_response_item_object.rb +9 -0
  141. data/lib/ittybit/types/file_list_response_item_status.rb +10 -0
  142. data/lib/ittybit/types/file_response.rb +264 -49
  143. data/lib/ittybit/types/file_response_kind.rb +9 -0
  144. data/lib/ittybit/types/file_response_object.rb +9 -0
  145. data/lib/ittybit/types/file_response_status.rb +10 -0
  146. data/lib/ittybit/types/kind.rb +21 -0
  147. data/lib/ittybit/types/links.rb +1 -63
  148. data/lib/ittybit/types/media.rb +4 -4
  149. data/lib/ittybit/types/media_files_item.rb +260 -0
  150. data/lib/ittybit/types/media_files_item_kind.rb +9 -0
  151. data/lib/ittybit/types/media_files_item_object.rb +9 -0
  152. data/lib/ittybit/types/media_files_item_orientation.rb +9 -0
  153. data/lib/ittybit/types/media_files_item_status.rb +10 -0
  154. data/lib/ittybit/types/media_list_response.rb +2 -98
  155. data/lib/ittybit/types/media_list_response_item.rb +173 -0
  156. data/lib/ittybit/types/media_list_response_item_files_item.rb +260 -0
  157. data/lib/ittybit/types/media_list_response_item_files_item_kind.rb +9 -0
  158. data/lib/ittybit/types/media_list_response_item_files_item_object.rb +9 -0
  159. data/lib/ittybit/types/media_list_response_item_files_item_orientation.rb +9 -0
  160. data/lib/ittybit/types/media_list_response_item_files_item_status.rb +10 -0
  161. data/lib/ittybit/types/media_list_response_item_kind.rb +9 -0
  162. data/lib/ittybit/types/media_response.rb +121 -48
  163. data/lib/ittybit/types/media_response_files_item.rb +260 -0
  164. data/lib/ittybit/types/media_response_files_item_kind.rb +9 -0
  165. data/lib/ittybit/types/media_response_files_item_object.rb +9 -0
  166. data/lib/ittybit/types/media_response_files_item_orientation.rb +9 -0
  167. data/lib/ittybit/types/media_response_files_item_status.rb +10 -0
  168. data/lib/ittybit/types/media_response_kind.rb +9 -0
  169. data/lib/ittybit/types/parent_id.rb +5 -0
  170. data/lib/ittybit/types/progress.rb +5 -0
  171. data/lib/ittybit/types/signature_response.rb +59 -49
  172. data/lib/ittybit/types/status.rb +14 -0
  173. data/lib/ittybit/types/task_list_response.rb +2 -98
  174. data/lib/ittybit/types/task_list_response_item.rb +184 -0
  175. data/lib/ittybit/types/task_list_response_item_kind.rb +21 -0
  176. data/lib/ittybit/types/task_list_response_item_results.rb +74 -0
  177. data/lib/ittybit/types/task_list_response_item_status.rb +14 -0
  178. data/lib/ittybit/types/task_response.rb +128 -44
  179. data/lib/ittybit/types/task_response_kind.rb +21 -0
  180. data/lib/ittybit/types/task_response_results.rb +74 -0
  181. data/lib/ittybit/types/task_response_status.rb +14 -0
  182. data/lib/requests.rb +2 -2
  183. data/lib/types_export.rb +168 -9
  184. metadata +163 -5
  185. data/lib/ittybit/types/links_list.rb +0 -88
  186. data/lib/ittybit/types/meta_list.rb +0 -128
  187. data/lib/ittybit/types/meta_list_type.rb +0 -8
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class AutomationListResponseItemWorkflowItemRefNextItem
8
+ # @return [String]
9
+ attr_reader :kind
10
+ # @return [String]
11
+ attr_reader :ref
12
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
13
+ attr_reader :additional_properties
14
+ # @return [Object]
15
+ attr_reader :_field_set
16
+ protected :_field_set
17
+
18
+ OMIT = Object.new
19
+
20
+ # @param kind [String]
21
+ # @param ref [String]
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [Ittybit::AutomationListResponseItemWorkflowItemRefNextItem]
24
+ def initialize(kind: OMIT, ref: OMIT, additional_properties: nil)
25
+ @kind = kind if kind != OMIT
26
+ @ref = ref if ref != OMIT
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "kind": kind, "ref": ref }.reject do |_k, v|
29
+ v == OMIT
30
+ end
31
+ end
32
+
33
+ # Deserialize a JSON object to an instance of
34
+ # AutomationListResponseItemWorkflowItemRefNextItem
35
+ #
36
+ # @param json_object [String]
37
+ # @return [Ittybit::AutomationListResponseItemWorkflowItemRefNextItem]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ parsed_json = JSON.parse(json_object)
41
+ kind = parsed_json["kind"]
42
+ ref = parsed_json["ref"]
43
+ new(
44
+ kind: kind,
45
+ ref: ref,
46
+ additional_properties: struct
47
+ )
48
+ end
49
+
50
+ # Serialize an instance of AutomationListResponseItemWorkflowItemRefNextItem to a
51
+ # JSON object
52
+ #
53
+ # @return [String]
54
+ def to_json(*_args)
55
+ @_field_set&.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.kind&.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
66
+ obj.ref&.is_a?(String) != false || raise("Passed value for field obj.ref is not the expected type, validation failed.")
67
+ end
68
+ end
69
+ end
@@ -1,22 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "meta"
4
- require_relative "automation"
5
- require_relative "error"
6
- require_relative "links"
3
+ require_relative "automation_response_trigger"
4
+ require_relative "automation_response_workflow_item"
5
+ require_relative "automation_response_status"
6
+ require "date"
7
7
  require "ostruct"
8
8
  require "json"
9
9
 
10
10
  module Ittybit
11
11
  class AutomationResponse
12
- # @return [Ittybit::META]
13
- attr_reader :meta
14
- # @return [Ittybit::Automation]
15
- attr_reader :data
16
- # @return [Ittybit::Error]
17
- attr_reader :error
18
- # @return [Ittybit::Links]
19
- attr_reader :links
12
+ # @return [String]
13
+ attr_reader :id
14
+ # @return [String]
15
+ attr_reader :name
16
+ # @return [String]
17
+ attr_reader :description
18
+ # @return [Ittybit::AutomationResponseTrigger]
19
+ attr_reader :trigger
20
+ # @return [Array<Ittybit::AutomationResponseWorkflowItem>]
21
+ attr_reader :workflow
22
+ # @return [Ittybit::AutomationResponseStatus]
23
+ attr_reader :status
24
+ # @return [DateTime]
25
+ attr_reader :created
26
+ # @return [DateTime]
27
+ attr_reader :updated
20
28
  # @return [OpenStruct] Additional properties unmapped to the current class definition
21
29
  attr_reader :additional_properties
22
30
  # @return [Object]
@@ -25,19 +33,37 @@ module Ittybit
25
33
 
26
34
  OMIT = Object.new
27
35
 
28
- # @param meta [Ittybit::META]
29
- # @param data [Ittybit::Automation]
30
- # @param error [Ittybit::Error]
31
- # @param links [Ittybit::Links]
36
+ # @param id [String]
37
+ # @param name [String]
38
+ # @param description [String]
39
+ # @param trigger [Ittybit::AutomationResponseTrigger]
40
+ # @param workflow [Array<Ittybit::AutomationResponseWorkflowItem>]
41
+ # @param status [Ittybit::AutomationResponseStatus]
42
+ # @param created [DateTime]
43
+ # @param updated [DateTime]
32
44
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
45
  # @return [Ittybit::AutomationResponse]
34
- def initialize(meta: OMIT, data: OMIT, error: OMIT, links: OMIT, additional_properties: nil)
35
- @meta = meta if meta != OMIT
36
- @data = data if data != OMIT
37
- @error = error if error != OMIT
38
- @links = links if links != OMIT
46
+ def initialize(id:, trigger:, workflow:, status:, created:, updated:, name: OMIT, description: OMIT,
47
+ additional_properties: nil)
48
+ @id = id
49
+ @name = name if name != OMIT
50
+ @description = description if description != OMIT
51
+ @trigger = trigger
52
+ @workflow = workflow
53
+ @status = status
54
+ @created = created
55
+ @updated = updated
39
56
  @additional_properties = additional_properties
40
- @_field_set = { "meta": meta, "data": data, "error": error, "links": links }.reject do |_k, v|
57
+ @_field_set = {
58
+ "id": id,
59
+ "name": name,
60
+ "description": description,
61
+ "trigger": trigger,
62
+ "workflow": workflow,
63
+ "status": status,
64
+ "created": created,
65
+ "updated": updated
66
+ }.reject do |_k, v|
41
67
  v == OMIT
42
68
  end
43
69
  end
@@ -49,30 +75,31 @@ module Ittybit
49
75
  def self.from_json(json_object:)
50
76
  struct = JSON.parse(json_object, object_class: OpenStruct)
51
77
  parsed_json = JSON.parse(json_object)
52
- meta = parsed_json["meta"]
53
- if parsed_json["data"].nil?
54
- data = nil
78
+ id = parsed_json["id"]
79
+ name = parsed_json["name"]
80
+ description = parsed_json["description"]
81
+ if parsed_json["trigger"].nil?
82
+ trigger = nil
55
83
  else
56
- data = parsed_json["data"].to_json
57
- data = Ittybit::Automation.from_json(json_object: data)
84
+ trigger = parsed_json["trigger"].to_json
85
+ trigger = Ittybit::AutomationResponseTrigger.from_json(json_object: trigger)
58
86
  end
59
- if parsed_json["error"].nil?
60
- error = nil
61
- else
62
- error = parsed_json["error"].to_json
63
- error = Ittybit::Error.from_json(json_object: error)
64
- end
65
- if parsed_json["links"].nil?
66
- links = nil
67
- else
68
- links = parsed_json["links"].to_json
69
- links = Ittybit::Links.from_json(json_object: links)
87
+ workflow = parsed_json["workflow"]&.map do |item|
88
+ item = item.to_json
89
+ Ittybit::AutomationResponseWorkflowItem.from_json(json_object: item)
70
90
  end
91
+ status = parsed_json["status"]
92
+ created = (DateTime.parse(parsed_json["created"]) unless parsed_json["created"].nil?)
93
+ updated = (DateTime.parse(parsed_json["updated"]) unless parsed_json["updated"].nil?)
71
94
  new(
72
- meta: meta,
73
- data: data,
74
- error: error,
75
- links: links,
95
+ id: id,
96
+ name: name,
97
+ description: description,
98
+ trigger: trigger,
99
+ workflow: workflow,
100
+ status: status,
101
+ created: created,
102
+ updated: updated,
76
103
  additional_properties: struct
77
104
  )
78
105
  end
@@ -91,10 +118,14 @@ module Ittybit
91
118
  # @param obj [Object]
92
119
  # @return [Void]
93
120
  def self.validate_raw(obj:)
94
- obj.meta&.is_a?(Object) != false || raise("Passed value for field obj.meta is not the expected type, validation failed.")
95
- obj.data.nil? || Ittybit::Automation.validate_raw(obj: obj.data)
96
- obj.error.nil? || Ittybit::Error.validate_raw(obj: obj.error)
97
- obj.links.nil? || Ittybit::Links.validate_raw(obj: obj.links)
121
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
122
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
123
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
124
+ Ittybit::AutomationResponseTrigger.validate_raw(obj: obj.trigger)
125
+ obj.workflow.is_a?(Array) != false || raise("Passed value for field obj.workflow is not the expected type, validation failed.")
126
+ obj.status.is_a?(Ittybit::AutomationResponseStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
127
+ obj.created.is_a?(DateTime) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
128
+ obj.updated.is_a?(DateTime) != false || raise("Passed value for field obj.updated is not the expected type, validation failed.")
98
129
  end
99
130
  end
100
131
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ittybit
4
+ class AutomationResponseStatus
5
+ ACTIVE = "active"
6
+ PAUSED = "paused"
7
+ end
8
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class AutomationResponseTrigger
8
+ # @return [String]
9
+ attr_reader :kind
10
+ # @return [String]
11
+ attr_reader :event
12
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
13
+ attr_reader :additional_properties
14
+ # @return [Object]
15
+ attr_reader :_field_set
16
+ protected :_field_set
17
+
18
+ OMIT = Object.new
19
+
20
+ # @param kind [String]
21
+ # @param event [String]
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [Ittybit::AutomationResponseTrigger]
24
+ def initialize(kind:, event:, additional_properties: nil)
25
+ @kind = kind
26
+ @event = event
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "kind": kind, "event": event }
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of AutomationResponseTrigger
32
+ #
33
+ # @param json_object [String]
34
+ # @return [Ittybit::AutomationResponseTrigger]
35
+ def self.from_json(json_object:)
36
+ struct = JSON.parse(json_object, object_class: OpenStruct)
37
+ parsed_json = JSON.parse(json_object)
38
+ kind = parsed_json["kind"]
39
+ event = parsed_json["event"]
40
+ new(
41
+ kind: kind,
42
+ event: event,
43
+ additional_properties: struct
44
+ )
45
+ end
46
+
47
+ # Serialize an instance of AutomationResponseTrigger to a JSON object
48
+ #
49
+ # @return [String]
50
+ def to_json(*_args)
51
+ @_field_set&.to_json
52
+ end
53
+
54
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
55
+ # hash and check each fields type against the current object's property
56
+ # definitions.
57
+ #
58
+ # @param obj [Object]
59
+ # @return [Void]
60
+ def self.validate_raw(obj:)
61
+ obj.kind.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
62
+ obj.event.is_a?(String) != false || raise("Passed value for field obj.event is not the expected type, validation failed.")
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "automation_response_workflow_item_ref"
5
+ require_relative "automation_response_workflow_item_conditions"
6
+
7
+ module Ittybit
8
+ class AutomationResponseWorkflowItem
9
+ # Deserialize a JSON object to an instance of AutomationResponseWorkflowItem
10
+ #
11
+ # @param json_object [String]
12
+ # @return [Ittybit::AutomationResponseWorkflowItem]
13
+ def self.from_json(json_object:)
14
+ struct = JSON.parse(json_object, object_class: OpenStruct)
15
+ begin
16
+ Ittybit::AutomationResponseWorkflowItemRef.validate_raw(obj: struct)
17
+ return Ittybit::AutomationResponseWorkflowItemRef.from_json(json_object: struct) unless struct.nil?
18
+
19
+ return nil
20
+ rescue StandardError
21
+ # noop
22
+ end
23
+ begin
24
+ Ittybit::AutomationResponseWorkflowItemConditions.validate_raw(obj: struct)
25
+ return Ittybit::AutomationResponseWorkflowItemConditions.from_json(json_object: struct) unless struct.nil?
26
+
27
+ return nil
28
+ rescue StandardError
29
+ # noop
30
+ end
31
+ struct
32
+ end
33
+
34
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
35
+ # hash and check each fields type against the current object's property
36
+ # definitions.
37
+ #
38
+ # @param obj [Object]
39
+ # @return [Void]
40
+ def self.validate_raw(obj:)
41
+ begin
42
+ return Ittybit::AutomationResponseWorkflowItemRef.validate_raw(obj: obj)
43
+ rescue StandardError
44
+ # noop
45
+ end
46
+ begin
47
+ return Ittybit::AutomationResponseWorkflowItemConditions.validate_raw(obj: obj)
48
+ rescue StandardError
49
+ # noop
50
+ end
51
+ raise("Passed value matched no type within the union, validation failed.")
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "automation_response_workflow_item_conditions_conditions_item"
4
+ require_relative "automation_response_workflow_item_conditions_next_item"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Ittybit
9
+ class AutomationResponseWorkflowItemConditions
10
+ # @return [String]
11
+ attr_reader :kind
12
+ # @return [Array<Ittybit::AutomationResponseWorkflowItemConditionsConditionsItem>]
13
+ attr_reader :conditions
14
+ # @return [Array<Ittybit::AutomationResponseWorkflowItemConditionsNextItem>]
15
+ attr_reader :next_
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param kind [String]
25
+ # @param conditions [Array<Ittybit::AutomationResponseWorkflowItemConditionsConditionsItem>]
26
+ # @param next_ [Array<Ittybit::AutomationResponseWorkflowItemConditionsNextItem>]
27
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
+ # @return [Ittybit::AutomationResponseWorkflowItemConditions]
29
+ def initialize(kind:, conditions:, next_: OMIT, additional_properties: nil)
30
+ @kind = kind
31
+ @conditions = conditions
32
+ @next_ = next_ if next_ != OMIT
33
+ @additional_properties = additional_properties
34
+ @_field_set = { "kind": kind, "conditions": conditions, "next": next_ }.reject do |_k, v|
35
+ v == OMIT
36
+ end
37
+ end
38
+
39
+ # Deserialize a JSON object to an instance of
40
+ # AutomationResponseWorkflowItemConditions
41
+ #
42
+ # @param json_object [String]
43
+ # @return [Ittybit::AutomationResponseWorkflowItemConditions]
44
+ def self.from_json(json_object:)
45
+ struct = JSON.parse(json_object, object_class: OpenStruct)
46
+ parsed_json = JSON.parse(json_object)
47
+ kind = parsed_json["kind"]
48
+ conditions = parsed_json["conditions"]&.map do |item|
49
+ item = item.to_json
50
+ Ittybit::AutomationResponseWorkflowItemConditionsConditionsItem.from_json(json_object: item)
51
+ end
52
+ next_ = parsed_json["next"]&.map do |item|
53
+ item = item.to_json
54
+ Ittybit::AutomationResponseWorkflowItemConditionsNextItem.from_json(json_object: item)
55
+ end
56
+ new(
57
+ kind: kind,
58
+ conditions: conditions,
59
+ next_: next_,
60
+ additional_properties: struct
61
+ )
62
+ end
63
+
64
+ # Serialize an instance of AutomationResponseWorkflowItemConditions to a JSON
65
+ # object
66
+ #
67
+ # @return [String]
68
+ def to_json(*_args)
69
+ @_field_set&.to_json
70
+ end
71
+
72
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
73
+ # hash and check each fields type against the current object's property
74
+ # definitions.
75
+ #
76
+ # @param obj [Object]
77
+ # @return [Void]
78
+ def self.validate_raw(obj:)
79
+ obj.kind.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
80
+ obj.conditions.is_a?(Array) != false || raise("Passed value for field obj.conditions is not the expected type, validation failed.")
81
+ obj.next_&.is_a?(Array) != false || raise("Passed value for field obj.next_ is not the expected type, validation failed.")
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class AutomationResponseWorkflowItemConditionsConditionsItem
8
+ # @return [String]
9
+ attr_reader :prop
10
+ # @return [String]
11
+ attr_reader :value
12
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
13
+ attr_reader :additional_properties
14
+ # @return [Object]
15
+ attr_reader :_field_set
16
+ protected :_field_set
17
+
18
+ OMIT = Object.new
19
+
20
+ # @param prop [String]
21
+ # @param value [String]
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [Ittybit::AutomationResponseWorkflowItemConditionsConditionsItem]
24
+ def initialize(prop: OMIT, value: OMIT, additional_properties: nil)
25
+ @prop = prop if prop != OMIT
26
+ @value = value if value != OMIT
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "prop": prop, "value": value }.reject do |_k, v|
29
+ v == OMIT
30
+ end
31
+ end
32
+
33
+ # Deserialize a JSON object to an instance of
34
+ # AutomationResponseWorkflowItemConditionsConditionsItem
35
+ #
36
+ # @param json_object [String]
37
+ # @return [Ittybit::AutomationResponseWorkflowItemConditionsConditionsItem]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ parsed_json = JSON.parse(json_object)
41
+ prop = parsed_json["prop"]
42
+ value = parsed_json["value"]
43
+ new(
44
+ prop: prop,
45
+ value: value,
46
+ additional_properties: struct
47
+ )
48
+ end
49
+
50
+ # Serialize an instance of AutomationResponseWorkflowItemConditionsConditionsItem
51
+ # to a JSON object
52
+ #
53
+ # @return [String]
54
+ def to_json(*_args)
55
+ @_field_set&.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.prop&.is_a?(String) != false || raise("Passed value for field obj.prop is not the expected type, validation failed.")
66
+ obj.value&.is_a?(String) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class AutomationResponseWorkflowItemConditionsNextItem
8
+ # @return [String]
9
+ attr_reader :kind
10
+ # @return [String]
11
+ attr_reader :ref
12
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
13
+ attr_reader :additional_properties
14
+ # @return [Object]
15
+ attr_reader :_field_set
16
+ protected :_field_set
17
+
18
+ OMIT = Object.new
19
+
20
+ # @param kind [String]
21
+ # @param ref [String]
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [Ittybit::AutomationResponseWorkflowItemConditionsNextItem]
24
+ def initialize(kind: OMIT, ref: OMIT, additional_properties: nil)
25
+ @kind = kind if kind != OMIT
26
+ @ref = ref if ref != OMIT
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "kind": kind, "ref": ref }.reject do |_k, v|
29
+ v == OMIT
30
+ end
31
+ end
32
+
33
+ # Deserialize a JSON object to an instance of
34
+ # AutomationResponseWorkflowItemConditionsNextItem
35
+ #
36
+ # @param json_object [String]
37
+ # @return [Ittybit::AutomationResponseWorkflowItemConditionsNextItem]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ parsed_json = JSON.parse(json_object)
41
+ kind = parsed_json["kind"]
42
+ ref = parsed_json["ref"]
43
+ new(
44
+ kind: kind,
45
+ ref: ref,
46
+ additional_properties: struct
47
+ )
48
+ end
49
+
50
+ # Serialize an instance of AutomationResponseWorkflowItemConditionsNextItem to a
51
+ # JSON object
52
+ #
53
+ # @return [String]
54
+ def to_json(*_args)
55
+ @_field_set&.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.kind&.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
66
+ obj.ref&.is_a?(String) != false || raise("Passed value for field obj.ref is not the expected type, validation failed.")
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "automation_response_workflow_item_ref_kind"
4
+ require_relative "automation_response_workflow_item_ref_next_item"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Ittybit
9
+ class AutomationResponseWorkflowItemRef
10
+ # @return [Ittybit::AutomationResponseWorkflowItemRefKind]
11
+ attr_reader :kind
12
+ # @return [String]
13
+ attr_reader :ref
14
+ # @return [Array<Ittybit::AutomationResponseWorkflowItemRefNextItem>]
15
+ attr_reader :next_
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param kind [Ittybit::AutomationResponseWorkflowItemRefKind]
25
+ # @param ref [String]
26
+ # @param next_ [Array<Ittybit::AutomationResponseWorkflowItemRefNextItem>]
27
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
+ # @return [Ittybit::AutomationResponseWorkflowItemRef]
29
+ def initialize(kind:, ref: OMIT, next_: OMIT, additional_properties: nil)
30
+ @kind = kind
31
+ @ref = ref if ref != OMIT
32
+ @next_ = next_ if next_ != OMIT
33
+ @additional_properties = additional_properties
34
+ @_field_set = { "kind": kind, "ref": ref, "next": next_ }.reject do |_k, v|
35
+ v == OMIT
36
+ end
37
+ end
38
+
39
+ # Deserialize a JSON object to an instance of AutomationResponseWorkflowItemRef
40
+ #
41
+ # @param json_object [String]
42
+ # @return [Ittybit::AutomationResponseWorkflowItemRef]
43
+ def self.from_json(json_object:)
44
+ struct = JSON.parse(json_object, object_class: OpenStruct)
45
+ parsed_json = JSON.parse(json_object)
46
+ kind = parsed_json["kind"]
47
+ ref = parsed_json["ref"]
48
+ next_ = parsed_json["next"]&.map do |item|
49
+ item = item.to_json
50
+ Ittybit::AutomationResponseWorkflowItemRefNextItem.from_json(json_object: item)
51
+ end
52
+ new(
53
+ kind: kind,
54
+ ref: ref,
55
+ next_: next_,
56
+ additional_properties: struct
57
+ )
58
+ end
59
+
60
+ # Serialize an instance of AutomationResponseWorkflowItemRef to a JSON object
61
+ #
62
+ # @return [String]
63
+ def to_json(*_args)
64
+ @_field_set&.to_json
65
+ end
66
+
67
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
68
+ # hash and check each fields type against the current object's property
69
+ # definitions.
70
+ #
71
+ # @param obj [Object]
72
+ # @return [Void]
73
+ def self.validate_raw(obj:)
74
+ obj.kind.is_a?(Ittybit::AutomationResponseWorkflowItemRefKind) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
75
+ obj.ref&.is_a?(String) != false || raise("Passed value for field obj.ref is not the expected type, validation failed.")
76
+ obj.next_&.is_a?(Array) != false || raise("Passed value for field obj.next_ is not the expected type, validation failed.")
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ittybit
4
+ class AutomationResponseWorkflowItemRefKind
5
+ VIDEO = "video"
6
+ IMAGE = "image"
7
+ AUDIO = "audio"
8
+ CHAPTERS = "chapters"
9
+ SUBTITLES = "subtitles"
10
+ THUMBNAILS = "thumbnails"
11
+ NSFW = "nsfw"
12
+ SPEECH = "speech"
13
+ DESCRIPTION = "description"
14
+ OUTLINE = "outline"
15
+ PROMPT = "prompt"
16
+ HTTP = "http"
17
+ end
18
+ end