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,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "automations_get_response_trigger"
4
+ require_relative "automations_get_response_workflow_item"
5
+ require_relative "automations_get_response_status"
6
+ require "date"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Ittybit
11
+ class Automations
12
+ class AutomationsGetResponse
13
+ # @return [String]
14
+ attr_reader :id
15
+ # @return [String]
16
+ attr_reader :name
17
+ # @return [String]
18
+ attr_reader :description
19
+ # @return [Ittybit::Automations::AutomationsGetResponseTrigger]
20
+ attr_reader :trigger
21
+ # @return [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItem>]
22
+ attr_reader :workflow
23
+ # @return [Ittybit::Automations::AutomationsGetResponseStatus]
24
+ attr_reader :status
25
+ # @return [DateTime]
26
+ attr_reader :created
27
+ # @return [DateTime]
28
+ attr_reader :updated
29
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
30
+ attr_reader :additional_properties
31
+ # @return [Object]
32
+ attr_reader :_field_set
33
+ protected :_field_set
34
+
35
+ OMIT = Object.new
36
+
37
+ # @param id [String]
38
+ # @param name [String]
39
+ # @param description [String]
40
+ # @param trigger [Ittybit::Automations::AutomationsGetResponseTrigger]
41
+ # @param workflow [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItem>]
42
+ # @param status [Ittybit::Automations::AutomationsGetResponseStatus]
43
+ # @param created [DateTime]
44
+ # @param updated [DateTime]
45
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
46
+ # @return [Ittybit::Automations::AutomationsGetResponse]
47
+ def initialize(id:, trigger:, workflow:, status:, created:, updated:, name: OMIT, description: OMIT,
48
+ additional_properties: nil)
49
+ @id = id
50
+ @name = name if name != OMIT
51
+ @description = description if description != OMIT
52
+ @trigger = trigger
53
+ @workflow = workflow
54
+ @status = status
55
+ @created = created
56
+ @updated = updated
57
+ @additional_properties = additional_properties
58
+ @_field_set = {
59
+ "id": id,
60
+ "name": name,
61
+ "description": description,
62
+ "trigger": trigger,
63
+ "workflow": workflow,
64
+ "status": status,
65
+ "created": created,
66
+ "updated": updated
67
+ }.reject do |_k, v|
68
+ v == OMIT
69
+ end
70
+ end
71
+
72
+ # Deserialize a JSON object to an instance of AutomationsGetResponse
73
+ #
74
+ # @param json_object [String]
75
+ # @return [Ittybit::Automations::AutomationsGetResponse]
76
+ def self.from_json(json_object:)
77
+ struct = JSON.parse(json_object, object_class: OpenStruct)
78
+ parsed_json = JSON.parse(json_object)
79
+ id = parsed_json["id"]
80
+ name = parsed_json["name"]
81
+ description = parsed_json["description"]
82
+ if parsed_json["trigger"].nil?
83
+ trigger = nil
84
+ else
85
+ trigger = parsed_json["trigger"].to_json
86
+ trigger = Ittybit::Automations::AutomationsGetResponseTrigger.from_json(json_object: trigger)
87
+ end
88
+ workflow = parsed_json["workflow"]&.map do |item|
89
+ item = item.to_json
90
+ Ittybit::Automations::AutomationsGetResponseWorkflowItem.from_json(json_object: item)
91
+ end
92
+ status = parsed_json["status"]
93
+ created = (DateTime.parse(parsed_json["created"]) unless parsed_json["created"].nil?)
94
+ updated = (DateTime.parse(parsed_json["updated"]) unless parsed_json["updated"].nil?)
95
+ new(
96
+ id: id,
97
+ name: name,
98
+ description: description,
99
+ trigger: trigger,
100
+ workflow: workflow,
101
+ status: status,
102
+ created: created,
103
+ updated: updated,
104
+ additional_properties: struct
105
+ )
106
+ end
107
+
108
+ # Serialize an instance of AutomationsGetResponse to a JSON object
109
+ #
110
+ # @return [String]
111
+ def to_json(*_args)
112
+ @_field_set&.to_json
113
+ end
114
+
115
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
116
+ # hash and check each fields type against the current object's property
117
+ # definitions.
118
+ #
119
+ # @param obj [Object]
120
+ # @return [Void]
121
+ def self.validate_raw(obj:)
122
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
123
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
124
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
125
+ Ittybit::Automations::AutomationsGetResponseTrigger.validate_raw(obj: obj.trigger)
126
+ obj.workflow.is_a?(Array) != false || raise("Passed value for field obj.workflow is not the expected type, validation failed.")
127
+ obj.status.is_a?(Ittybit::Automations::AutomationsGetResponseStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
128
+ obj.created.is_a?(DateTime) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
129
+ obj.updated.is_a?(DateTime) != false || raise("Passed value for field obj.updated is not the expected type, validation failed.")
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ittybit
4
+ class Automations
5
+ class AutomationsGetResponseStatus
6
+ ACTIVE = "active"
7
+ PAUSED = "paused"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class Automations
8
+ class AutomationsGetResponseTrigger
9
+ # @return [String]
10
+ attr_reader :kind
11
+ # @return [String]
12
+ attr_reader :event
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param kind [String]
22
+ # @param event [String]
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Ittybit::Automations::AutomationsGetResponseTrigger]
25
+ def initialize(kind:, event:, additional_properties: nil)
26
+ @kind = kind
27
+ @event = event
28
+ @additional_properties = additional_properties
29
+ @_field_set = { "kind": kind, "event": event }
30
+ end
31
+
32
+ # Deserialize a JSON object to an instance of AutomationsGetResponseTrigger
33
+ #
34
+ # @param json_object [String]
35
+ # @return [Ittybit::Automations::AutomationsGetResponseTrigger]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ parsed_json = JSON.parse(json_object)
39
+ kind = parsed_json["kind"]
40
+ event = parsed_json["event"]
41
+ new(
42
+ kind: kind,
43
+ event: event,
44
+ additional_properties: struct
45
+ )
46
+ end
47
+
48
+ # Serialize an instance of AutomationsGetResponseTrigger to a JSON object
49
+ #
50
+ # @return [String]
51
+ def to_json(*_args)
52
+ @_field_set&.to_json
53
+ end
54
+
55
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
56
+ # hash and check each fields type against the current object's property
57
+ # definitions.
58
+ #
59
+ # @param obj [Object]
60
+ # @return [Void]
61
+ def self.validate_raw(obj:)
62
+ obj.kind.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
63
+ obj.event.is_a?(String) != false || raise("Passed value for field obj.event is not the expected type, validation failed.")
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "automations_get_response_workflow_item_ref"
5
+ require_relative "automations_get_response_workflow_item_conditions"
6
+
7
+ module Ittybit
8
+ class Automations
9
+ class AutomationsGetResponseWorkflowItem
10
+ # Deserialize a JSON object to an instance of AutomationsGetResponseWorkflowItem
11
+ #
12
+ # @param json_object [String]
13
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItem]
14
+ def self.from_json(json_object:)
15
+ struct = JSON.parse(json_object, object_class: OpenStruct)
16
+ begin
17
+ Ittybit::Automations::AutomationsGetResponseWorkflowItemRef.validate_raw(obj: struct)
18
+ unless struct.nil?
19
+ return Ittybit::Automations::AutomationsGetResponseWorkflowItemRef.from_json(json_object: struct)
20
+ end
21
+
22
+ return nil
23
+ rescue StandardError
24
+ # noop
25
+ end
26
+ begin
27
+ Ittybit::Automations::AutomationsGetResponseWorkflowItemConditions.validate_raw(obj: struct)
28
+ unless struct.nil?
29
+ return Ittybit::Automations::AutomationsGetResponseWorkflowItemConditions.from_json(json_object: struct)
30
+ end
31
+
32
+ return nil
33
+ rescue StandardError
34
+ # noop
35
+ end
36
+ struct
37
+ end
38
+
39
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
40
+ # hash and check each fields type against the current object's property
41
+ # definitions.
42
+ #
43
+ # @param obj [Object]
44
+ # @return [Void]
45
+ def self.validate_raw(obj:)
46
+ begin
47
+ return Ittybit::Automations::AutomationsGetResponseWorkflowItemRef.validate_raw(obj: obj)
48
+ rescue StandardError
49
+ # noop
50
+ end
51
+ begin
52
+ return Ittybit::Automations::AutomationsGetResponseWorkflowItemConditions.validate_raw(obj: obj)
53
+ rescue StandardError
54
+ # noop
55
+ end
56
+ raise("Passed value matched no type within the union, validation failed.")
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "automations_get_response_workflow_item_conditions_conditions_item"
4
+ require_relative "automations_get_response_workflow_item_conditions_next_item"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Ittybit
9
+ class Automations
10
+ class AutomationsGetResponseWorkflowItemConditions
11
+ # @return [String]
12
+ attr_reader :kind
13
+ # @return [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsConditionsItem>]
14
+ attr_reader :conditions
15
+ # @return [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsNextItem>]
16
+ attr_reader :next_
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param kind [String]
26
+ # @param conditions [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsConditionsItem>]
27
+ # @param next_ [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsNextItem>]
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemConditions]
30
+ def initialize(kind:, conditions:, next_: OMIT, additional_properties: nil)
31
+ @kind = kind
32
+ @conditions = conditions
33
+ @next_ = next_ if next_ != OMIT
34
+ @additional_properties = additional_properties
35
+ @_field_set = { "kind": kind, "conditions": conditions, "next": next_ }.reject do |_k, v|
36
+ v == OMIT
37
+ end
38
+ end
39
+
40
+ # Deserialize a JSON object to an instance of
41
+ # AutomationsGetResponseWorkflowItemConditions
42
+ #
43
+ # @param json_object [String]
44
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemConditions]
45
+ def self.from_json(json_object:)
46
+ struct = JSON.parse(json_object, object_class: OpenStruct)
47
+ parsed_json = JSON.parse(json_object)
48
+ kind = parsed_json["kind"]
49
+ conditions = parsed_json["conditions"]&.map do |item|
50
+ item = item.to_json
51
+ Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsConditionsItem.from_json(json_object: item)
52
+ end
53
+ next_ = parsed_json["next"]&.map do |item|
54
+ item = item.to_json
55
+ Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsNextItem.from_json(json_object: item)
56
+ end
57
+ new(
58
+ kind: kind,
59
+ conditions: conditions,
60
+ next_: next_,
61
+ additional_properties: struct
62
+ )
63
+ end
64
+
65
+ # Serialize an instance of AutomationsGetResponseWorkflowItemConditions to a JSON
66
+ # object
67
+ #
68
+ # @return [String]
69
+ def to_json(*_args)
70
+ @_field_set&.to_json
71
+ end
72
+
73
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
74
+ # hash and check each fields type against the current object's property
75
+ # definitions.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Void]
79
+ def self.validate_raw(obj:)
80
+ obj.kind.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
81
+ obj.conditions.is_a?(Array) != false || raise("Passed value for field obj.conditions is not the expected type, validation failed.")
82
+ obj.next_&.is_a?(Array) != false || raise("Passed value for field obj.next_ is not the expected type, validation failed.")
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class Automations
8
+ class AutomationsGetResponseWorkflowItemConditionsConditionsItem
9
+ # @return [String]
10
+ attr_reader :prop
11
+ # @return [String]
12
+ attr_reader :value
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param prop [String]
22
+ # @param value [String]
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsConditionsItem]
25
+ def initialize(prop: OMIT, value: OMIT, additional_properties: nil)
26
+ @prop = prop if prop != OMIT
27
+ @value = value if value != OMIT
28
+ @additional_properties = additional_properties
29
+ @_field_set = { "prop": prop, "value": value }.reject do |_k, v|
30
+ v == OMIT
31
+ end
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of
35
+ # AutomationsGetResponseWorkflowItemConditionsConditionsItem
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsConditionsItem]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ prop = parsed_json["prop"]
43
+ value = parsed_json["value"]
44
+ new(
45
+ prop: prop,
46
+ value: value,
47
+ additional_properties: struct
48
+ )
49
+ end
50
+
51
+ # Serialize an instance of
52
+ # AutomationsGetResponseWorkflowItemConditionsConditionsItem to a JSON object
53
+ #
54
+ # @return [String]
55
+ def to_json(*_args)
56
+ @_field_set&.to_json
57
+ end
58
+
59
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
60
+ # hash and check each fields type against the current object's property
61
+ # definitions.
62
+ #
63
+ # @param obj [Object]
64
+ # @return [Void]
65
+ def self.validate_raw(obj:)
66
+ obj.prop&.is_a?(String) != false || raise("Passed value for field obj.prop is not the expected type, validation failed.")
67
+ obj.value&.is_a?(String) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class Automations
8
+ class AutomationsGetResponseWorkflowItemConditionsNextItem
9
+ # @return [String]
10
+ attr_reader :kind
11
+ # @return [String]
12
+ attr_reader :ref
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param kind [String]
22
+ # @param ref [String]
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsNextItem]
25
+ def initialize(kind: OMIT, ref: OMIT, additional_properties: nil)
26
+ @kind = kind if kind != OMIT
27
+ @ref = ref if ref != OMIT
28
+ @additional_properties = additional_properties
29
+ @_field_set = { "kind": kind, "ref": ref }.reject do |_k, v|
30
+ v == OMIT
31
+ end
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of
35
+ # AutomationsGetResponseWorkflowItemConditionsNextItem
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemConditionsNextItem]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ kind = parsed_json["kind"]
43
+ ref = parsed_json["ref"]
44
+ new(
45
+ kind: kind,
46
+ ref: ref,
47
+ additional_properties: struct
48
+ )
49
+ end
50
+
51
+ # Serialize an instance of AutomationsGetResponseWorkflowItemConditionsNextItem to
52
+ # a JSON object
53
+ #
54
+ # @return [String]
55
+ def to_json(*_args)
56
+ @_field_set&.to_json
57
+ end
58
+
59
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
60
+ # hash and check each fields type against the current object's property
61
+ # definitions.
62
+ #
63
+ # @param obj [Object]
64
+ # @return [Void]
65
+ def self.validate_raw(obj:)
66
+ obj.kind&.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
67
+ obj.ref&.is_a?(String) != false || raise("Passed value for field obj.ref is not the expected type, validation failed.")
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "automations_get_response_workflow_item_ref_kind"
4
+ require_relative "automations_get_response_workflow_item_ref_next_item"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Ittybit
9
+ class Automations
10
+ class AutomationsGetResponseWorkflowItemRef
11
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemRefKind]
12
+ attr_reader :kind
13
+ # @return [String]
14
+ attr_reader :ref
15
+ # @return [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItemRefNextItem>]
16
+ attr_reader :next_
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param kind [Ittybit::Automations::AutomationsGetResponseWorkflowItemRefKind]
26
+ # @param ref [String]
27
+ # @param next_ [Array<Ittybit::Automations::AutomationsGetResponseWorkflowItemRefNextItem>]
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemRef]
30
+ def initialize(kind:, ref: OMIT, next_: OMIT, additional_properties: nil)
31
+ @kind = kind
32
+ @ref = ref if ref != OMIT
33
+ @next_ = next_ if next_ != OMIT
34
+ @additional_properties = additional_properties
35
+ @_field_set = { "kind": kind, "ref": ref, "next": next_ }.reject do |_k, v|
36
+ v == OMIT
37
+ end
38
+ end
39
+
40
+ # Deserialize a JSON object to an instance of
41
+ # AutomationsGetResponseWorkflowItemRef
42
+ #
43
+ # @param json_object [String]
44
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemRef]
45
+ def self.from_json(json_object:)
46
+ struct = JSON.parse(json_object, object_class: OpenStruct)
47
+ parsed_json = JSON.parse(json_object)
48
+ kind = parsed_json["kind"]
49
+ ref = parsed_json["ref"]
50
+ next_ = parsed_json["next"]&.map do |item|
51
+ item = item.to_json
52
+ Ittybit::Automations::AutomationsGetResponseWorkflowItemRefNextItem.from_json(json_object: item)
53
+ end
54
+ new(
55
+ kind: kind,
56
+ ref: ref,
57
+ next_: next_,
58
+ additional_properties: struct
59
+ )
60
+ end
61
+
62
+ # Serialize an instance of AutomationsGetResponseWorkflowItemRef to a JSON object
63
+ #
64
+ # @return [String]
65
+ def to_json(*_args)
66
+ @_field_set&.to_json
67
+ end
68
+
69
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
70
+ # hash and check each fields type against the current object's property
71
+ # definitions.
72
+ #
73
+ # @param obj [Object]
74
+ # @return [Void]
75
+ def self.validate_raw(obj:)
76
+ obj.kind.is_a?(Ittybit::Automations::AutomationsGetResponseWorkflowItemRefKind) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
77
+ obj.ref&.is_a?(String) != false || raise("Passed value for field obj.ref is not the expected type, validation failed.")
78
+ obj.next_&.is_a?(Array) != false || raise("Passed value for field obj.next_ is not the expected type, validation failed.")
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ittybit
4
+ class Automations
5
+ class AutomationsGetResponseWorkflowItemRefKind
6
+ VIDEO = "video"
7
+ IMAGE = "image"
8
+ AUDIO = "audio"
9
+ CHAPTERS = "chapters"
10
+ SUBTITLES = "subtitles"
11
+ THUMBNAILS = "thumbnails"
12
+ NSFW = "nsfw"
13
+ SPEECH = "speech"
14
+ DESCRIPTION = "description"
15
+ OUTLINE = "outline"
16
+ PROMPT = "prompt"
17
+ HTTP = "http"
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Ittybit
7
+ class Automations
8
+ class AutomationsGetResponseWorkflowItemRefNextItem
9
+ # @return [String]
10
+ attr_reader :kind
11
+ # @return [String]
12
+ attr_reader :ref
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param kind [String]
22
+ # @param ref [String]
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemRefNextItem]
25
+ def initialize(kind: OMIT, ref: OMIT, additional_properties: nil)
26
+ @kind = kind if kind != OMIT
27
+ @ref = ref if ref != OMIT
28
+ @additional_properties = additional_properties
29
+ @_field_set = { "kind": kind, "ref": ref }.reject do |_k, v|
30
+ v == OMIT
31
+ end
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of
35
+ # AutomationsGetResponseWorkflowItemRefNextItem
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Ittybit::Automations::AutomationsGetResponseWorkflowItemRefNextItem]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ kind = parsed_json["kind"]
43
+ ref = parsed_json["ref"]
44
+ new(
45
+ kind: kind,
46
+ ref: ref,
47
+ additional_properties: struct
48
+ )
49
+ end
50
+
51
+ # Serialize an instance of AutomationsGetResponseWorkflowItemRefNextItem to a JSON
52
+ # object
53
+ #
54
+ # @return [String]
55
+ def to_json(*_args)
56
+ @_field_set&.to_json
57
+ end
58
+
59
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
60
+ # hash and check each fields type against the current object's property
61
+ # definitions.
62
+ #
63
+ # @param obj [Object]
64
+ # @return [Void]
65
+ def self.validate_raw(obj:)
66
+ obj.kind&.is_a?(String) != false || raise("Passed value for field obj.kind is not the expected type, validation failed.")
67
+ obj.ref&.is_a?(String) != false || raise("Passed value for field obj.ref is not the expected type, validation failed.")
68
+ end
69
+ end
70
+ end
71
+ end