moonbase-sdk 0.1.0.pre.alpha.1
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.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +58 -0
- data/README.md +293 -0
- data/SECURITY.md +27 -0
- data/lib/moonbase/client.rb +135 -0
- data/lib/moonbase/errors.rb +214 -0
- data/lib/moonbase/file_part.rb +55 -0
- data/lib/moonbase/internal/cursor_page.rb +111 -0
- data/lib/moonbase/internal/transport/base_client.rb +563 -0
- data/lib/moonbase/internal/transport/pooled_net_requester.rb +209 -0
- data/lib/moonbase/internal/type/array_of.rb +167 -0
- data/lib/moonbase/internal/type/base_model.rb +536 -0
- data/lib/moonbase/internal/type/base_page.rb +55 -0
- data/lib/moonbase/internal/type/boolean.rb +77 -0
- data/lib/moonbase/internal/type/converter.rb +300 -0
- data/lib/moonbase/internal/type/enum.rb +131 -0
- data/lib/moonbase/internal/type/file_input.rb +108 -0
- data/lib/moonbase/internal/type/hash_of.rb +187 -0
- data/lib/moonbase/internal/type/request_parameters.rb +42 -0
- data/lib/moonbase/internal/type/union.rb +260 -0
- data/lib/moonbase/internal/type/unknown.rb +81 -0
- data/lib/moonbase/internal/util.rb +914 -0
- data/lib/moonbase/internal.rb +20 -0
- data/lib/moonbase/models/activity.rb +1166 -0
- data/lib/moonbase/models/activity_list_params.rb +46 -0
- data/lib/moonbase/models/activity_retrieve_params.rb +14 -0
- data/lib/moonbase/models/address.rb +111 -0
- data/lib/moonbase/models/attendee.rb +82 -0
- data/lib/moonbase/models/boolean_value.rb +23 -0
- data/lib/moonbase/models/call.rb +220 -0
- data/lib/moonbase/models/call_create_params.rb +157 -0
- data/lib/moonbase/models/choice.rb +46 -0
- data/lib/moonbase/models/collection.rb +111 -0
- data/lib/moonbase/models/collection_list_params.rb +46 -0
- data/lib/moonbase/models/collection_retrieve_params.rb +37 -0
- data/lib/moonbase/models/collections/field_retrieve_params.rb +22 -0
- data/lib/moonbase/models/date_value.rb +23 -0
- data/lib/moonbase/models/datetime_value.rb +23 -0
- data/lib/moonbase/models/domain_value.rb +23 -0
- data/lib/moonbase/models/email_message.rb +273 -0
- data/lib/moonbase/models/email_value.rb +23 -0
- data/lib/moonbase/models/error.rb +90 -0
- data/lib/moonbase/models/field.rb +305 -0
- data/lib/moonbase/models/field_value.rb +75 -0
- data/lib/moonbase/models/file_list_params.rb +46 -0
- data/lib/moonbase/models/file_retrieve_params.rb +14 -0
- data/lib/moonbase/models/float_value.rb +23 -0
- data/lib/moonbase/models/form.rb +111 -0
- data/lib/moonbase/models/form_list_params.rb +64 -0
- data/lib/moonbase/models/form_retrieve_params.rb +35 -0
- data/lib/moonbase/models/funnel_step.rb +46 -0
- data/lib/moonbase/models/geo_value.rb +23 -0
- data/lib/moonbase/models/inbox.rb +90 -0
- data/lib/moonbase/models/inbox_conversation.rb +225 -0
- data/lib/moonbase/models/inbox_conversation_list_params.rb +74 -0
- data/lib/moonbase/models/inbox_conversation_retrieve_params.rb +39 -0
- data/lib/moonbase/models/inbox_list_params.rb +46 -0
- data/lib/moonbase/models/inbox_message_list_params.rb +83 -0
- data/lib/moonbase/models/inbox_message_retrieve_params.rb +38 -0
- data/lib/moonbase/models/inbox_retrieve_params.rb +37 -0
- data/lib/moonbase/models/integer_value.rb +23 -0
- data/lib/moonbase/models/item.rb +67 -0
- data/lib/moonbase/models/item_create_params.rb +30 -0
- data/lib/moonbase/models/item_delete_params.rb +14 -0
- data/lib/moonbase/models/item_retrieve_params.rb +14 -0
- data/lib/moonbase/models/item_update_params.rb +61 -0
- data/lib/moonbase/models/item_upsert_params.rb +78 -0
- data/lib/moonbase/models/meeting.rb +217 -0
- data/lib/moonbase/models/meeting_list_params.rb +46 -0
- data/lib/moonbase/models/meeting_retrieve_params.rb +37 -0
- data/lib/moonbase/models/monetary_value.rb +46 -0
- data/lib/moonbase/models/moonbase_file.rb +98 -0
- data/lib/moonbase/models/multi_line_text_value.rb +23 -0
- data/lib/moonbase/models/note.rb +87 -0
- data/lib/moonbase/models/note_list_params.rb +46 -0
- data/lib/moonbase/models/note_retrieve_params.rb +14 -0
- data/lib/moonbase/models/organizer.rb +77 -0
- data/lib/moonbase/models/percentage_value.rb +23 -0
- data/lib/moonbase/models/program.rb +241 -0
- data/lib/moonbase/models/program_list_params.rb +46 -0
- data/lib/moonbase/models/program_message_create_params.rb +50 -0
- data/lib/moonbase/models/program_message_create_response.rb +74 -0
- data/lib/moonbase/models/program_retrieve_params.rb +37 -0
- data/lib/moonbase/models/program_template.rb +99 -0
- data/lib/moonbase/models/program_template_list_params.rb +65 -0
- data/lib/moonbase/models/program_template_retrieve_params.rb +38 -0
- data/lib/moonbase/models/relation_value.rb +29 -0
- data/lib/moonbase/models/single_line_text_value.rb +23 -0
- data/lib/moonbase/models/social_linked_in_value.rb +40 -0
- data/lib/moonbase/models/social_x_value.rb +40 -0
- data/lib/moonbase/models/tagset.rb +117 -0
- data/lib/moonbase/models/tagset_list_params.rb +46 -0
- data/lib/moonbase/models/tagset_retrieve_params.rb +14 -0
- data/lib/moonbase/models/telephone_number.rb +23 -0
- data/lib/moonbase/models/url_value.rb +23 -0
- data/lib/moonbase/models/value.rb +72 -0
- data/lib/moonbase/models/view.rb +100 -0
- data/lib/moonbase/models/view_retrieve_params.rb +35 -0
- data/lib/moonbase/models/views/item_list_params.rb +48 -0
- data/lib/moonbase/models.rb +191 -0
- data/lib/moonbase/request_options.rb +77 -0
- data/lib/moonbase/resources/activities.rb +64 -0
- data/lib/moonbase/resources/calls.rb +46 -0
- data/lib/moonbase/resources/collections/fields.rb +43 -0
- data/lib/moonbase/resources/collections.rb +75 -0
- data/lib/moonbase/resources/files.rb +64 -0
- data/lib/moonbase/resources/forms.rb +73 -0
- data/lib/moonbase/resources/inbox_conversations.rb +75 -0
- data/lib/moonbase/resources/inbox_messages.rb +77 -0
- data/lib/moonbase/resources/inboxes.rb +71 -0
- data/lib/moonbase/resources/items.rb +142 -0
- data/lib/moonbase/resources/meetings.rb +71 -0
- data/lib/moonbase/resources/notes.rb +64 -0
- data/lib/moonbase/resources/program_messages.rb +40 -0
- data/lib/moonbase/resources/program_templates.rb +73 -0
- data/lib/moonbase/resources/programs.rb +71 -0
- data/lib/moonbase/resources/tagsets.rb +64 -0
- data/lib/moonbase/resources/views/items.rb +48 -0
- data/lib/moonbase/resources/views.rb +45 -0
- data/lib/moonbase/version.rb +5 -0
- data/lib/moonbase.rb +148 -0
- data/manifest.yaml +15 -0
- data/rbi/moonbase/client.rbi +95 -0
- data/rbi/moonbase/errors.rbi +178 -0
- data/rbi/moonbase/file_part.rbi +37 -0
- data/rbi/moonbase/internal/cursor_page.rbi +59 -0
- data/rbi/moonbase/internal/transport/base_client.rbi +293 -0
- data/rbi/moonbase/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/moonbase/internal/type/array_of.rbi +104 -0
- data/rbi/moonbase/internal/type/base_model.rbi +302 -0
- data/rbi/moonbase/internal/type/base_page.rbi +42 -0
- data/rbi/moonbase/internal/type/boolean.rbi +58 -0
- data/rbi/moonbase/internal/type/converter.rbi +162 -0
- data/rbi/moonbase/internal/type/enum.rbi +82 -0
- data/rbi/moonbase/internal/type/file_input.rbi +59 -0
- data/rbi/moonbase/internal/type/hash_of.rbi +104 -0
- data/rbi/moonbase/internal/type/request_parameters.rbi +29 -0
- data/rbi/moonbase/internal/type/union.rbi +121 -0
- data/rbi/moonbase/internal/type/unknown.rbi +58 -0
- data/rbi/moonbase/internal/util.rbi +487 -0
- data/rbi/moonbase/internal.rbi +16 -0
- data/rbi/moonbase/models/activity.rbi +1976 -0
- data/rbi/moonbase/models/activity_list_params.rbi +78 -0
- data/rbi/moonbase/models/activity_retrieve_params.rbi +27 -0
- data/rbi/moonbase/models/address.rbi +158 -0
- data/rbi/moonbase/models/attendee.rbi +118 -0
- data/rbi/moonbase/models/boolean_value.rbi +29 -0
- data/rbi/moonbase/models/call.rbi +293 -0
- data/rbi/moonbase/models/call_create_params.rbi +263 -0
- data/rbi/moonbase/models/choice.rbi +65 -0
- data/rbi/moonbase/models/collection.rbi +155 -0
- data/rbi/moonbase/models/collection_list_params.rbi +78 -0
- data/rbi/moonbase/models/collection_retrieve_params.rbi +90 -0
- data/rbi/moonbase/models/collections/field_retrieve_params.rbi +40 -0
- data/rbi/moonbase/models/date_value.rbi +25 -0
- data/rbi/moonbase/models/datetime_value.rbi +27 -0
- data/rbi/moonbase/models/domain_value.rbi +27 -0
- data/rbi/moonbase/models/email_message.rbi +394 -0
- data/rbi/moonbase/models/email_value.rbi +27 -0
- data/rbi/moonbase/models/error.rbi +139 -0
- data/rbi/moonbase/models/field.rbi +471 -0
- data/rbi/moonbase/models/field_value.rbi +46 -0
- data/rbi/moonbase/models/file_list_params.rbi +78 -0
- data/rbi/moonbase/models/file_retrieve_params.rbi +27 -0
- data/rbi/moonbase/models/float_value.rbi +27 -0
- data/rbi/moonbase/models/form.rbi +161 -0
- data/rbi/moonbase/models/form_list_params.rbi +121 -0
- data/rbi/moonbase/models/form_retrieve_params.rbi +78 -0
- data/rbi/moonbase/models/funnel_step.rbi +67 -0
- data/rbi/moonbase/models/geo_value.rbi +25 -0
- data/rbi/moonbase/models/inbox.rbi +127 -0
- data/rbi/moonbase/models/inbox_conversation.rbi +323 -0
- data/rbi/moonbase/models/inbox_conversation_list_params.rbi +151 -0
- data/rbi/moonbase/models/inbox_conversation_retrieve_params.rbi +103 -0
- data/rbi/moonbase/models/inbox_list_params.rbi +78 -0
- data/rbi/moonbase/models/inbox_message_list_params.rbi +159 -0
- data/rbi/moonbase/models/inbox_message_retrieve_params.rbi +100 -0
- data/rbi/moonbase/models/inbox_retrieve_params.rbi +73 -0
- data/rbi/moonbase/models/integer_value.rbi +27 -0
- data/rbi/moonbase/models/item.rbi +107 -0
- data/rbi/moonbase/models/item_create_params.rbi +135 -0
- data/rbi/moonbase/models/item_delete_params.rbi +27 -0
- data/rbi/moonbase/models/item_retrieve_params.rbi +27 -0
- data/rbi/moonbase/models/item_update_params.rbi +236 -0
- data/rbi/moonbase/models/item_upsert_params.rbi +338 -0
- data/rbi/moonbase/models/meeting.rbi +299 -0
- data/rbi/moonbase/models/meeting_list_params.rbi +78 -0
- data/rbi/moonbase/models/meeting_retrieve_params.rbi +88 -0
- data/rbi/moonbase/models/monetary_value.rbi +73 -0
- data/rbi/moonbase/models/moonbase_file.rbi +133 -0
- data/rbi/moonbase/models/multi_line_text_value.rbi +27 -0
- data/rbi/moonbase/models/note.rbi +131 -0
- data/rbi/moonbase/models/note_list_params.rbi +78 -0
- data/rbi/moonbase/models/note_retrieve_params.rbi +27 -0
- data/rbi/moonbase/models/organizer.rbi +113 -0
- data/rbi/moonbase/models/percentage_value.rbi +27 -0
- data/rbi/moonbase/models/program.rbi +355 -0
- data/rbi/moonbase/models/program_list_params.rbi +78 -0
- data/rbi/moonbase/models/program_message_create_params.rbi +94 -0
- data/rbi/moonbase/models/program_message_create_response.rbi +116 -0
- data/rbi/moonbase/models/program_retrieve_params.rbi +88 -0
- data/rbi/moonbase/models/program_template.rbi +138 -0
- data/rbi/moonbase/models/program_template_list_params.rbi +131 -0
- data/rbi/moonbase/models/program_template_retrieve_params.rbi +94 -0
- data/rbi/moonbase/models/relation_value.rbi +39 -0
- data/rbi/moonbase/models/single_line_text_value.rbi +27 -0
- data/rbi/moonbase/models/social_linked_in_value.rbi +71 -0
- data/rbi/moonbase/models/social_x_value.rbi +66 -0
- data/rbi/moonbase/models/tagset.rbi +168 -0
- data/rbi/moonbase/models/tagset_list_params.rbi +78 -0
- data/rbi/moonbase/models/tagset_retrieve_params.rbi +27 -0
- data/rbi/moonbase/models/telephone_number.rbi +29 -0
- data/rbi/moonbase/models/url_value.rbi +25 -0
- data/rbi/moonbase/models/value.rbi +39 -0
- data/rbi/moonbase/models/view.rbi +141 -0
- data/rbi/moonbase/models/view_retrieve_params.rbi +78 -0
- data/rbi/moonbase/models/views/item_list_params.rbi +80 -0
- data/rbi/moonbase/models.rbi +155 -0
- data/rbi/moonbase/request_options.rbi +59 -0
- data/rbi/moonbase/resources/activities.rbi +51 -0
- data/rbi/moonbase/resources/calls.rbi +51 -0
- data/rbi/moonbase/resources/collections/fields.rbi +31 -0
- data/rbi/moonbase/resources/collections.rbi +59 -0
- data/rbi/moonbase/resources/files.rbi +51 -0
- data/rbi/moonbase/resources/forms.rbi +59 -0
- data/rbi/moonbase/resources/inbox_conversations.rbi +66 -0
- data/rbi/moonbase/resources/inbox_messages.rbi +67 -0
- data/rbi/moonbase/resources/inboxes.rbi +55 -0
- data/rbi/moonbase/resources/items.rbi +234 -0
- data/rbi/moonbase/resources/meetings.rbi +55 -0
- data/rbi/moonbase/resources/notes.rbi +51 -0
- data/rbi/moonbase/resources/program_messages.rbi +32 -0
- data/rbi/moonbase/resources/program_templates.rbi +63 -0
- data/rbi/moonbase/resources/programs.rbi +55 -0
- data/rbi/moonbase/resources/tagsets.rbi +51 -0
- data/rbi/moonbase/resources/views/items.rbi +42 -0
- data/rbi/moonbase/resources/views.rbi +33 -0
- data/rbi/moonbase/version.rbi +5 -0
- data/sig/moonbase/client.rbs +56 -0
- data/sig/moonbase/errors.rbs +110 -0
- data/sig/moonbase/file_part.rbs +21 -0
- data/sig/moonbase/internal/cursor_page.rbs +36 -0
- data/sig/moonbase/internal/transport/base_client.rbs +131 -0
- data/sig/moonbase/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/moonbase/internal/type/array_of.rbs +48 -0
- data/sig/moonbase/internal/type/base_model.rbs +102 -0
- data/sig/moonbase/internal/type/base_page.rbs +24 -0
- data/sig/moonbase/internal/type/boolean.rbs +26 -0
- data/sig/moonbase/internal/type/converter.rbs +62 -0
- data/sig/moonbase/internal/type/enum.rbs +32 -0
- data/sig/moonbase/internal/type/file_input.rbs +25 -0
- data/sig/moonbase/internal/type/hash_of.rbs +48 -0
- data/sig/moonbase/internal/type/request_parameters.rbs +17 -0
- data/sig/moonbase/internal/type/union.rbs +52 -0
- data/sig/moonbase/internal/type/unknown.rbs +26 -0
- data/sig/moonbase/internal/util.rbs +185 -0
- data/sig/moonbase/internal.rbs +9 -0
- data/sig/moonbase/models/activity.rbs +977 -0
- data/sig/moonbase/models/activity_list_params.rbs +38 -0
- data/sig/moonbase/models/activity_retrieve_params.rbs +15 -0
- data/sig/moonbase/models/address.rbs +90 -0
- data/sig/moonbase/models/attendee.rbs +61 -0
- data/sig/moonbase/models/boolean_value.rbs +15 -0
- data/sig/moonbase/models/call.rbs +194 -0
- data/sig/moonbase/models/call_create_params.rbs +152 -0
- data/sig/moonbase/models/choice.rbs +41 -0
- data/sig/moonbase/models/collection.rbs +85 -0
- data/sig/moonbase/models/collection_list_params.rbs +38 -0
- data/sig/moonbase/models/collection_retrieve_params.rbs +39 -0
- data/sig/moonbase/models/collections/field_retrieve_params.rbs +25 -0
- data/sig/moonbase/models/date_value.rbs +15 -0
- data/sig/moonbase/models/datetime_value.rbs +15 -0
- data/sig/moonbase/models/domain_value.rbs +15 -0
- data/sig/moonbase/models/email_message.rbs +221 -0
- data/sig/moonbase/models/email_value.rbs +15 -0
- data/sig/moonbase/models/error.rbs +78 -0
- data/sig/moonbase/models/field.rbs +266 -0
- data/sig/moonbase/models/field_value.rbs +33 -0
- data/sig/moonbase/models/file_list_params.rbs +38 -0
- data/sig/moonbase/models/file_retrieve_params.rbs +15 -0
- data/sig/moonbase/models/float_value.rbs +18 -0
- data/sig/moonbase/models/form.rbs +89 -0
- data/sig/moonbase/models/form_list_params.rbs +61 -0
- data/sig/moonbase/models/form_retrieve_params.rbs +38 -0
- data/sig/moonbase/models/funnel_step.rbs +38 -0
- data/sig/moonbase/models/geo_value.rbs +15 -0
- data/sig/moonbase/models/inbox.rbs +70 -0
- data/sig/moonbase/models/inbox_conversation.rbs +169 -0
- data/sig/moonbase/models/inbox_conversation_list_params.rbs +69 -0
- data/sig/moonbase/models/inbox_conversation_retrieve_params.rbs +41 -0
- data/sig/moonbase/models/inbox_list_params.rbs +38 -0
- data/sig/moonbase/models/inbox_message_list_params.rbs +77 -0
- data/sig/moonbase/models/inbox_message_retrieve_params.rbs +42 -0
- data/sig/moonbase/models/inbox_retrieve_params.rbs +38 -0
- data/sig/moonbase/models/integer_value.rbs +22 -0
- data/sig/moonbase/models/item.rbs +57 -0
- data/sig/moonbase/models/item_create_params.rbs +31 -0
- data/sig/moonbase/models/item_delete_params.rbs +15 -0
- data/sig/moonbase/models/item_retrieve_params.rbs +15 -0
- data/sig/moonbase/models/item_update_params.rbs +67 -0
- data/sig/moonbase/models/item_upsert_params.rbs +77 -0
- data/sig/moonbase/models/meeting.rbs +179 -0
- data/sig/moonbase/models/meeting_list_params.rbs +38 -0
- data/sig/moonbase/models/meeting_retrieve_params.rbs +39 -0
- data/sig/moonbase/models/monetary_value.rbs +48 -0
- data/sig/moonbase/models/moonbase_file.rbs +71 -0
- data/sig/moonbase/models/multi_line_text_value.rbs +16 -0
- data/sig/moonbase/models/note.rbs +75 -0
- data/sig/moonbase/models/note_list_params.rbs +38 -0
- data/sig/moonbase/models/note_retrieve_params.rbs +15 -0
- data/sig/moonbase/models/organizer.rbs +61 -0
- data/sig/moonbase/models/percentage_value.rbs +19 -0
- data/sig/moonbase/models/program.rbs +204 -0
- data/sig/moonbase/models/program_list_params.rbs +38 -0
- data/sig/moonbase/models/program_message_create_params.rbs +48 -0
- data/sig/moonbase/models/program_message_create_response.rbs +55 -0
- data/sig/moonbase/models/program_retrieve_params.rbs +39 -0
- data/sig/moonbase/models/program_template.rbs +75 -0
- data/sig/moonbase/models/program_template_list_params.rbs +61 -0
- data/sig/moonbase/models/program_template_retrieve_params.rbs +40 -0
- data/sig/moonbase/models/relation_value.rbs +15 -0
- data/sig/moonbase/models/single_line_text_value.rbs +16 -0
- data/sig/moonbase/models/social_linked_in_value.rbs +41 -0
- data/sig/moonbase/models/social_x_value.rbs +38 -0
- data/sig/moonbase/models/tagset.rbs +89 -0
- data/sig/moonbase/models/tagset_list_params.rbs +38 -0
- data/sig/moonbase/models/tagset_retrieve_params.rbs +15 -0
- data/sig/moonbase/models/telephone_number.rbs +22 -0
- data/sig/moonbase/models/url_value.rbs +15 -0
- data/sig/moonbase/models/value.rbs +30 -0
- data/sig/moonbase/models/view.rbs +80 -0
- data/sig/moonbase/models/view_retrieve_params.rbs +38 -0
- data/sig/moonbase/models/views/item_list_params.rbs +40 -0
- data/sig/moonbase/models.rbs +151 -0
- data/sig/moonbase/request_options.rbs +34 -0
- data/sig/moonbase/resources/activities.rbs +19 -0
- data/sig/moonbase/resources/calls.rbs +20 -0
- data/sig/moonbase/resources/collections/fields.rbs +15 -0
- data/sig/moonbase/resources/collections.rbs +22 -0
- data/sig/moonbase/resources/files.rbs +19 -0
- data/sig/moonbase/resources/forms.rbs +21 -0
- data/sig/moonbase/resources/inbox_conversations.rbs +22 -0
- data/sig/moonbase/resources/inbox_messages.rbs +23 -0
- data/sig/moonbase/resources/inboxes.rbs +20 -0
- data/sig/moonbase/resources/items.rbs +40 -0
- data/sig/moonbase/resources/meetings.rbs +20 -0
- data/sig/moonbase/resources/notes.rbs +19 -0
- data/sig/moonbase/resources/program_messages.rbs +14 -0
- data/sig/moonbase/resources/program_templates.rbs +21 -0
- data/sig/moonbase/resources/programs.rbs +20 -0
- data/sig/moonbase/resources/tagsets.rbs +19 -0
- data/sig/moonbase/resources/views/items.rbs +17 -0
- data/sig/moonbase/resources/views.rbs +15 -0
- data/sig/moonbase/version.rbs +3 -0
- metadata +413 -0
@@ -0,0 +1,355 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Moonbase
|
4
|
+
module Models
|
5
|
+
class Program < Moonbase::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias { T.any(Moonbase::Program, Moonbase::Internal::AnyHash) }
|
8
|
+
|
9
|
+
# Unique identifier for the object.
|
10
|
+
sig { returns(String) }
|
11
|
+
attr_accessor :id
|
12
|
+
|
13
|
+
sig { returns(Moonbase::Program::Links) }
|
14
|
+
attr_reader :links
|
15
|
+
|
16
|
+
sig { params(links: Moonbase::Program::Links::OrHash).void }
|
17
|
+
attr_writer :links
|
18
|
+
|
19
|
+
# The current status of the program. Can be `draft`, `published`, `paused`, or
|
20
|
+
# `archived`.
|
21
|
+
sig { returns(Moonbase::Program::Status::TaggedSymbol) }
|
22
|
+
attr_accessor :status
|
23
|
+
|
24
|
+
# The sending trigger for the program. Can be `api` for transactional sends or
|
25
|
+
# `broadcast` for scheduled sends.
|
26
|
+
sig { returns(Moonbase::Program::Trigger::TaggedSymbol) }
|
27
|
+
attr_accessor :trigger
|
28
|
+
|
29
|
+
# String representing the object’s type. Always `program` for this object.
|
30
|
+
sig { returns(Symbol) }
|
31
|
+
attr_accessor :type
|
32
|
+
|
33
|
+
# A `ProgramActivityMetrics` object summarizing engagement for this program.
|
34
|
+
sig { returns(T.nilable(Moonbase::Program::ActivityMetrics)) }
|
35
|
+
attr_reader :activity_metrics
|
36
|
+
|
37
|
+
sig do
|
38
|
+
params(
|
39
|
+
activity_metrics: Moonbase::Program::ActivityMetrics::OrHash
|
40
|
+
).void
|
41
|
+
end
|
42
|
+
attr_writer :activity_metrics
|
43
|
+
|
44
|
+
# Time at which the object was created, as an RFC 3339 timestamp.
|
45
|
+
sig { returns(T.nilable(Time)) }
|
46
|
+
attr_reader :created_at
|
47
|
+
|
48
|
+
sig { params(created_at: Time).void }
|
49
|
+
attr_writer :created_at
|
50
|
+
|
51
|
+
# The user-facing name of the program.
|
52
|
+
sig { returns(T.nilable(String)) }
|
53
|
+
attr_reader :display_name
|
54
|
+
|
55
|
+
sig { params(display_name: String).void }
|
56
|
+
attr_writer :display_name
|
57
|
+
|
58
|
+
# The `ProgramTemplate` used for messages in this program.
|
59
|
+
sig { returns(T.nilable(Moonbase::ProgramTemplate)) }
|
60
|
+
attr_reader :program_template
|
61
|
+
|
62
|
+
sig { params(program_template: Moonbase::ProgramTemplate).void }
|
63
|
+
attr_writer :program_template
|
64
|
+
|
65
|
+
# For `broadcast` programs, the time the program is scheduled to send, as an RFC
|
66
|
+
# 3339 timestamp.
|
67
|
+
sig { returns(T.nilable(Time)) }
|
68
|
+
attr_reader :scheduled_at
|
69
|
+
|
70
|
+
sig { params(scheduled_at: Time).void }
|
71
|
+
attr_writer :scheduled_at
|
72
|
+
|
73
|
+
# `true` if link clicks are tracked for this program.
|
74
|
+
sig { returns(T.nilable(T::Boolean)) }
|
75
|
+
attr_reader :track_clicks
|
76
|
+
|
77
|
+
sig { params(track_clicks: T::Boolean).void }
|
78
|
+
attr_writer :track_clicks
|
79
|
+
|
80
|
+
# `true` if email opens are tracked for this program.
|
81
|
+
sig { returns(T.nilable(T::Boolean)) }
|
82
|
+
attr_reader :track_opens
|
83
|
+
|
84
|
+
sig { params(track_opens: T::Boolean).void }
|
85
|
+
attr_writer :track_opens
|
86
|
+
|
87
|
+
# Time at which the object was last updated, as an RFC 3339 timestamp.
|
88
|
+
sig { returns(T.nilable(Time)) }
|
89
|
+
attr_reader :updated_at
|
90
|
+
|
91
|
+
sig { params(updated_at: Time).void }
|
92
|
+
attr_writer :updated_at
|
93
|
+
|
94
|
+
# The Program object represents an email campaign. It defines the sending behavior
|
95
|
+
# and tracks engagement metrics.
|
96
|
+
sig do
|
97
|
+
params(
|
98
|
+
id: String,
|
99
|
+
links: Moonbase::Program::Links::OrHash,
|
100
|
+
status: Moonbase::Program::Status::OrSymbol,
|
101
|
+
trigger: Moonbase::Program::Trigger::OrSymbol,
|
102
|
+
activity_metrics: Moonbase::Program::ActivityMetrics::OrHash,
|
103
|
+
created_at: Time,
|
104
|
+
display_name: String,
|
105
|
+
program_template: Moonbase::ProgramTemplate,
|
106
|
+
scheduled_at: Time,
|
107
|
+
track_clicks: T::Boolean,
|
108
|
+
track_opens: T::Boolean,
|
109
|
+
updated_at: Time,
|
110
|
+
type: Symbol
|
111
|
+
).returns(T.attached_class)
|
112
|
+
end
|
113
|
+
def self.new(
|
114
|
+
# Unique identifier for the object.
|
115
|
+
id:,
|
116
|
+
links:,
|
117
|
+
# The current status of the program. Can be `draft`, `published`, `paused`, or
|
118
|
+
# `archived`.
|
119
|
+
status:,
|
120
|
+
# The sending trigger for the program. Can be `api` for transactional sends or
|
121
|
+
# `broadcast` for scheduled sends.
|
122
|
+
trigger:,
|
123
|
+
# A `ProgramActivityMetrics` object summarizing engagement for this program.
|
124
|
+
activity_metrics: nil,
|
125
|
+
# Time at which the object was created, as an RFC 3339 timestamp.
|
126
|
+
created_at: nil,
|
127
|
+
# The user-facing name of the program.
|
128
|
+
display_name: nil,
|
129
|
+
# The `ProgramTemplate` used for messages in this program.
|
130
|
+
program_template: nil,
|
131
|
+
# For `broadcast` programs, the time the program is scheduled to send, as an RFC
|
132
|
+
# 3339 timestamp.
|
133
|
+
scheduled_at: nil,
|
134
|
+
# `true` if link clicks are tracked for this program.
|
135
|
+
track_clicks: nil,
|
136
|
+
# `true` if email opens are tracked for this program.
|
137
|
+
track_opens: nil,
|
138
|
+
# Time at which the object was last updated, as an RFC 3339 timestamp.
|
139
|
+
updated_at: nil,
|
140
|
+
# String representing the object’s type. Always `program` for this object.
|
141
|
+
type: :program
|
142
|
+
)
|
143
|
+
end
|
144
|
+
|
145
|
+
sig do
|
146
|
+
override.returns(
|
147
|
+
{
|
148
|
+
id: String,
|
149
|
+
links: Moonbase::Program::Links,
|
150
|
+
status: Moonbase::Program::Status::TaggedSymbol,
|
151
|
+
trigger: Moonbase::Program::Trigger::TaggedSymbol,
|
152
|
+
type: Symbol,
|
153
|
+
activity_metrics: Moonbase::Program::ActivityMetrics,
|
154
|
+
created_at: Time,
|
155
|
+
display_name: String,
|
156
|
+
program_template: Moonbase::ProgramTemplate,
|
157
|
+
scheduled_at: Time,
|
158
|
+
track_clicks: T::Boolean,
|
159
|
+
track_opens: T::Boolean,
|
160
|
+
updated_at: Time
|
161
|
+
}
|
162
|
+
)
|
163
|
+
end
|
164
|
+
def to_hash
|
165
|
+
end
|
166
|
+
|
167
|
+
class Links < Moonbase::Internal::Type::BaseModel
|
168
|
+
OrHash =
|
169
|
+
T.type_alias do
|
170
|
+
T.any(Moonbase::Program::Links, Moonbase::Internal::AnyHash)
|
171
|
+
end
|
172
|
+
|
173
|
+
# A link to the `ProgramTemplate` for this program.
|
174
|
+
sig { returns(String) }
|
175
|
+
attr_accessor :program_template
|
176
|
+
|
177
|
+
# The canonical URL for this object.
|
178
|
+
sig { returns(String) }
|
179
|
+
attr_accessor :self_
|
180
|
+
|
181
|
+
sig do
|
182
|
+
params(program_template: String, self_: String).returns(
|
183
|
+
T.attached_class
|
184
|
+
)
|
185
|
+
end
|
186
|
+
def self.new(
|
187
|
+
# A link to the `ProgramTemplate` for this program.
|
188
|
+
program_template:,
|
189
|
+
# The canonical URL for this object.
|
190
|
+
self_:
|
191
|
+
)
|
192
|
+
end
|
193
|
+
|
194
|
+
sig { override.returns({ program_template: String, self_: String }) }
|
195
|
+
def to_hash
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
# The current status of the program. Can be `draft`, `published`, `paused`, or
|
200
|
+
# `archived`.
|
201
|
+
module Status
|
202
|
+
extend Moonbase::Internal::Type::Enum
|
203
|
+
|
204
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, Moonbase::Program::Status) }
|
205
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
206
|
+
|
207
|
+
DRAFT = T.let(:draft, Moonbase::Program::Status::TaggedSymbol)
|
208
|
+
PUBLISHED = T.let(:published, Moonbase::Program::Status::TaggedSymbol)
|
209
|
+
PAUSED = T.let(:paused, Moonbase::Program::Status::TaggedSymbol)
|
210
|
+
ARCHIVED = T.let(:archived, Moonbase::Program::Status::TaggedSymbol)
|
211
|
+
|
212
|
+
sig do
|
213
|
+
override.returns(T::Array[Moonbase::Program::Status::TaggedSymbol])
|
214
|
+
end
|
215
|
+
def self.values
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
# The sending trigger for the program. Can be `api` for transactional sends or
|
220
|
+
# `broadcast` for scheduled sends.
|
221
|
+
module Trigger
|
222
|
+
extend Moonbase::Internal::Type::Enum
|
223
|
+
|
224
|
+
TaggedSymbol =
|
225
|
+
T.type_alias { T.all(Symbol, Moonbase::Program::Trigger) }
|
226
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
227
|
+
|
228
|
+
API = T.let(:api, Moonbase::Program::Trigger::TaggedSymbol)
|
229
|
+
BROADCAST = T.let(:broadcast, Moonbase::Program::Trigger::TaggedSymbol)
|
230
|
+
|
231
|
+
sig do
|
232
|
+
override.returns(T::Array[Moonbase::Program::Trigger::TaggedSymbol])
|
233
|
+
end
|
234
|
+
def self.values
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
class ActivityMetrics < Moonbase::Internal::Type::BaseModel
|
239
|
+
OrHash =
|
240
|
+
T.type_alias do
|
241
|
+
T.any(
|
242
|
+
Moonbase::Program::ActivityMetrics,
|
243
|
+
Moonbase::Internal::AnyHash
|
244
|
+
)
|
245
|
+
end
|
246
|
+
|
247
|
+
# The number of emails that could not be delivered.
|
248
|
+
sig { returns(T.nilable(Integer)) }
|
249
|
+
attr_reader :bounced
|
250
|
+
|
251
|
+
sig { params(bounced: Integer).void }
|
252
|
+
attr_writer :bounced
|
253
|
+
|
254
|
+
# The number of recipients who clicked at least one link.
|
255
|
+
sig { returns(T.nilable(Integer)) }
|
256
|
+
attr_reader :clicked
|
257
|
+
|
258
|
+
sig { params(clicked: Integer).void }
|
259
|
+
attr_writer :clicked
|
260
|
+
|
261
|
+
# The number of recipients who marked the email as spam.
|
262
|
+
sig { returns(T.nilable(Integer)) }
|
263
|
+
attr_reader :complained
|
264
|
+
|
265
|
+
sig { params(complained: Integer).void }
|
266
|
+
attr_writer :complained
|
267
|
+
|
268
|
+
# The number of emails that failed to send due to a technical issue.
|
269
|
+
sig { returns(T.nilable(Integer)) }
|
270
|
+
attr_reader :failed
|
271
|
+
|
272
|
+
sig { params(failed: Integer).void }
|
273
|
+
attr_writer :failed
|
274
|
+
|
275
|
+
# The number of recipients who opened the email.
|
276
|
+
sig { returns(T.nilable(Integer)) }
|
277
|
+
attr_reader :opened
|
278
|
+
|
279
|
+
sig { params(opened: Integer).void }
|
280
|
+
attr_writer :opened
|
281
|
+
|
282
|
+
# The total number of emails successfully sent.
|
283
|
+
sig { returns(T.nilable(Integer)) }
|
284
|
+
attr_reader :sent
|
285
|
+
|
286
|
+
sig { params(sent: Integer).void }
|
287
|
+
attr_writer :sent
|
288
|
+
|
289
|
+
# The number of emails blocked by delivery protection rules.
|
290
|
+
sig { returns(T.nilable(Integer)) }
|
291
|
+
attr_reader :shielded
|
292
|
+
|
293
|
+
sig { params(shielded: Integer).void }
|
294
|
+
attr_writer :shielded
|
295
|
+
|
296
|
+
# The number of recipients who unsubscribed.
|
297
|
+
sig { returns(T.nilable(Integer)) }
|
298
|
+
attr_reader :unsubscribed
|
299
|
+
|
300
|
+
sig { params(unsubscribed: Integer).void }
|
301
|
+
attr_writer :unsubscribed
|
302
|
+
|
303
|
+
# A `ProgramActivityMetrics` object summarizing engagement for this program.
|
304
|
+
sig do
|
305
|
+
params(
|
306
|
+
bounced: Integer,
|
307
|
+
clicked: Integer,
|
308
|
+
complained: Integer,
|
309
|
+
failed: Integer,
|
310
|
+
opened: Integer,
|
311
|
+
sent: Integer,
|
312
|
+
shielded: Integer,
|
313
|
+
unsubscribed: Integer
|
314
|
+
).returns(T.attached_class)
|
315
|
+
end
|
316
|
+
def self.new(
|
317
|
+
# The number of emails that could not be delivered.
|
318
|
+
bounced: nil,
|
319
|
+
# The number of recipients who clicked at least one link.
|
320
|
+
clicked: nil,
|
321
|
+
# The number of recipients who marked the email as spam.
|
322
|
+
complained: nil,
|
323
|
+
# The number of emails that failed to send due to a technical issue.
|
324
|
+
failed: nil,
|
325
|
+
# The number of recipients who opened the email.
|
326
|
+
opened: nil,
|
327
|
+
# The total number of emails successfully sent.
|
328
|
+
sent: nil,
|
329
|
+
# The number of emails blocked by delivery protection rules.
|
330
|
+
shielded: nil,
|
331
|
+
# The number of recipients who unsubscribed.
|
332
|
+
unsubscribed: nil
|
333
|
+
)
|
334
|
+
end
|
335
|
+
|
336
|
+
sig do
|
337
|
+
override.returns(
|
338
|
+
{
|
339
|
+
bounced: Integer,
|
340
|
+
clicked: Integer,
|
341
|
+
complained: Integer,
|
342
|
+
failed: Integer,
|
343
|
+
opened: Integer,
|
344
|
+
sent: Integer,
|
345
|
+
shielded: Integer,
|
346
|
+
unsubscribed: Integer
|
347
|
+
}
|
348
|
+
)
|
349
|
+
end
|
350
|
+
def to_hash
|
351
|
+
end
|
352
|
+
end
|
353
|
+
end
|
354
|
+
end
|
355
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Moonbase
|
4
|
+
module Models
|
5
|
+
class ProgramListParams < Moonbase::Internal::Type::BaseModel
|
6
|
+
extend Moonbase::Internal::Type::RequestParameters::Converter
|
7
|
+
include Moonbase::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(Moonbase::ProgramListParams, Moonbase::Internal::AnyHash)
|
12
|
+
end
|
13
|
+
|
14
|
+
# When specified, returns results starting immediately after the item identified
|
15
|
+
# by this cursor. Use the cursor value from the previous response's metadata to
|
16
|
+
# fetch the next page of results.
|
17
|
+
sig { returns(T.nilable(String)) }
|
18
|
+
attr_reader :after
|
19
|
+
|
20
|
+
sig { params(after: String).void }
|
21
|
+
attr_writer :after
|
22
|
+
|
23
|
+
# When specified, returns results starting immediately before the item identified
|
24
|
+
# by this cursor. Use the cursor value from the response's metadata to fetch the
|
25
|
+
# previous page of results.
|
26
|
+
sig { returns(T.nilable(String)) }
|
27
|
+
attr_reader :before
|
28
|
+
|
29
|
+
sig { params(before: String).void }
|
30
|
+
attr_writer :before
|
31
|
+
|
32
|
+
# Maximum number of items to return per page. Must be between 1 and 100. Defaults
|
33
|
+
# to 20 if not specified.
|
34
|
+
sig { returns(T.nilable(Integer)) }
|
35
|
+
attr_reader :limit
|
36
|
+
|
37
|
+
sig { params(limit: Integer).void }
|
38
|
+
attr_writer :limit
|
39
|
+
|
40
|
+
sig do
|
41
|
+
params(
|
42
|
+
after: String,
|
43
|
+
before: String,
|
44
|
+
limit: Integer,
|
45
|
+
request_options: Moonbase::RequestOptions::OrHash
|
46
|
+
).returns(T.attached_class)
|
47
|
+
end
|
48
|
+
def self.new(
|
49
|
+
# When specified, returns results starting immediately after the item identified
|
50
|
+
# by this cursor. Use the cursor value from the previous response's metadata to
|
51
|
+
# fetch the next page of results.
|
52
|
+
after: nil,
|
53
|
+
# When specified, returns results starting immediately before the item identified
|
54
|
+
# by this cursor. Use the cursor value from the response's metadata to fetch the
|
55
|
+
# previous page of results.
|
56
|
+
before: nil,
|
57
|
+
# Maximum number of items to return per page. Must be between 1 and 100. Defaults
|
58
|
+
# to 20 if not specified.
|
59
|
+
limit: nil,
|
60
|
+
request_options: {}
|
61
|
+
)
|
62
|
+
end
|
63
|
+
|
64
|
+
sig do
|
65
|
+
override.returns(
|
66
|
+
{
|
67
|
+
after: String,
|
68
|
+
before: String,
|
69
|
+
limit: Integer,
|
70
|
+
request_options: Moonbase::RequestOptions
|
71
|
+
}
|
72
|
+
)
|
73
|
+
end
|
74
|
+
def to_hash
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Moonbase
|
4
|
+
module Models
|
5
|
+
class ProgramMessageCreateParams < Moonbase::Internal::Type::BaseModel
|
6
|
+
extend Moonbase::Internal::Type::RequestParameters::Converter
|
7
|
+
include Moonbase::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
Moonbase::ProgramMessageCreateParams,
|
13
|
+
Moonbase::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# The person to send the message to.
|
18
|
+
sig { returns(Moonbase::ProgramMessageCreateParams::Person) }
|
19
|
+
attr_reader :person
|
20
|
+
|
21
|
+
sig do
|
22
|
+
params(
|
23
|
+
person: Moonbase::ProgramMessageCreateParams::Person::OrHash
|
24
|
+
).void
|
25
|
+
end
|
26
|
+
attr_writer :person
|
27
|
+
|
28
|
+
# The ID of the `ProgramTemplate` to use for sending the message.
|
29
|
+
sig { returns(String) }
|
30
|
+
attr_accessor :program_template_id
|
31
|
+
|
32
|
+
# Any custom Liquid variables to be interpolated into the message template.
|
33
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
34
|
+
attr_reader :custom_variables
|
35
|
+
|
36
|
+
sig { params(custom_variables: T::Hash[Symbol, T.anything]).void }
|
37
|
+
attr_writer :custom_variables
|
38
|
+
|
39
|
+
sig do
|
40
|
+
params(
|
41
|
+
person: Moonbase::ProgramMessageCreateParams::Person::OrHash,
|
42
|
+
program_template_id: String,
|
43
|
+
custom_variables: T::Hash[Symbol, T.anything],
|
44
|
+
request_options: Moonbase::RequestOptions::OrHash
|
45
|
+
).returns(T.attached_class)
|
46
|
+
end
|
47
|
+
def self.new(
|
48
|
+
# The person to send the message to.
|
49
|
+
person:,
|
50
|
+
# The ID of the `ProgramTemplate` to use for sending the message.
|
51
|
+
program_template_id:,
|
52
|
+
# Any custom Liquid variables to be interpolated into the message template.
|
53
|
+
custom_variables: nil,
|
54
|
+
request_options: {}
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
sig do
|
59
|
+
override.returns(
|
60
|
+
{
|
61
|
+
person: Moonbase::ProgramMessageCreateParams::Person,
|
62
|
+
program_template_id: String,
|
63
|
+
custom_variables: T::Hash[Symbol, T.anything],
|
64
|
+
request_options: Moonbase::RequestOptions
|
65
|
+
}
|
66
|
+
)
|
67
|
+
end
|
68
|
+
def to_hash
|
69
|
+
end
|
70
|
+
|
71
|
+
class Person < Moonbase::Internal::Type::BaseModel
|
72
|
+
OrHash =
|
73
|
+
T.type_alias do
|
74
|
+
T.any(
|
75
|
+
Moonbase::ProgramMessageCreateParams::Person,
|
76
|
+
Moonbase::Internal::AnyHash
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
sig { returns(String) }
|
81
|
+
attr_accessor :email
|
82
|
+
|
83
|
+
# The person to send the message to.
|
84
|
+
sig { params(email: String).returns(T.attached_class) }
|
85
|
+
def self.new(email:)
|
86
|
+
end
|
87
|
+
|
88
|
+
sig { override.returns({ email: String }) }
|
89
|
+
def to_hash
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Moonbase
|
4
|
+
module Models
|
5
|
+
class ProgramMessageCreateResponse < Moonbase::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(
|
9
|
+
Moonbase::Models::ProgramMessageCreateResponse,
|
10
|
+
Moonbase::Internal::AnyHash
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
# Unique identifier for the object.
|
15
|
+
sig { returns(String) }
|
16
|
+
attr_accessor :id
|
17
|
+
|
18
|
+
# Time at which the message was created and enqueued for sending, as an RFC 3339
|
19
|
+
# timestamp.
|
20
|
+
sig { returns(Time) }
|
21
|
+
attr_accessor :created_at
|
22
|
+
|
23
|
+
sig { returns(Moonbase::Models::ProgramMessageCreateResponse::Links) }
|
24
|
+
attr_reader :links
|
25
|
+
|
26
|
+
sig do
|
27
|
+
params(
|
28
|
+
links: Moonbase::Models::ProgramMessageCreateResponse::Links::OrHash
|
29
|
+
).void
|
30
|
+
end
|
31
|
+
attr_writer :links
|
32
|
+
|
33
|
+
# The `ProgramTemplate` used to generate this message.
|
34
|
+
sig { returns(Moonbase::ProgramTemplate) }
|
35
|
+
attr_reader :program_template
|
36
|
+
|
37
|
+
sig { params(program_template: Moonbase::ProgramTemplate::OrHash).void }
|
38
|
+
attr_writer :program_template
|
39
|
+
|
40
|
+
# String representing the object’s type. Always `program_message` for this object.
|
41
|
+
sig { returns(Symbol) }
|
42
|
+
attr_accessor :type
|
43
|
+
|
44
|
+
# Time at which the object was last updated, as an RFC 3339 timestamp.
|
45
|
+
sig { returns(Time) }
|
46
|
+
attr_accessor :updated_at
|
47
|
+
|
48
|
+
# Represents a single message sent as part of a `Program`.
|
49
|
+
sig do
|
50
|
+
params(
|
51
|
+
id: String,
|
52
|
+
created_at: Time,
|
53
|
+
links: Moonbase::Models::ProgramMessageCreateResponse::Links::OrHash,
|
54
|
+
program_template: Moonbase::ProgramTemplate::OrHash,
|
55
|
+
updated_at: Time,
|
56
|
+
type: Symbol
|
57
|
+
).returns(T.attached_class)
|
58
|
+
end
|
59
|
+
def self.new(
|
60
|
+
# Unique identifier for the object.
|
61
|
+
id:,
|
62
|
+
# Time at which the message was created and enqueued for sending, as an RFC 3339
|
63
|
+
# timestamp.
|
64
|
+
created_at:,
|
65
|
+
links:,
|
66
|
+
# The `ProgramTemplate` used to generate this message.
|
67
|
+
program_template:,
|
68
|
+
# Time at which the object was last updated, as an RFC 3339 timestamp.
|
69
|
+
updated_at:,
|
70
|
+
# String representing the object’s type. Always `program_message` for this object.
|
71
|
+
type: :program_message
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
75
|
+
sig do
|
76
|
+
override.returns(
|
77
|
+
{
|
78
|
+
id: String,
|
79
|
+
created_at: Time,
|
80
|
+
links: Moonbase::Models::ProgramMessageCreateResponse::Links,
|
81
|
+
program_template: Moonbase::ProgramTemplate,
|
82
|
+
type: Symbol,
|
83
|
+
updated_at: Time
|
84
|
+
}
|
85
|
+
)
|
86
|
+
end
|
87
|
+
def to_hash
|
88
|
+
end
|
89
|
+
|
90
|
+
class Links < Moonbase::Internal::Type::BaseModel
|
91
|
+
OrHash =
|
92
|
+
T.type_alias do
|
93
|
+
T.any(
|
94
|
+
Moonbase::Models::ProgramMessageCreateResponse::Links,
|
95
|
+
Moonbase::Internal::AnyHash
|
96
|
+
)
|
97
|
+
end
|
98
|
+
|
99
|
+
# A link to the `ProgramTemplate` used.
|
100
|
+
sig { returns(String) }
|
101
|
+
attr_accessor :program_template
|
102
|
+
|
103
|
+
sig { params(program_template: String).returns(T.attached_class) }
|
104
|
+
def self.new(
|
105
|
+
# A link to the `ProgramTemplate` used.
|
106
|
+
program_template:
|
107
|
+
)
|
108
|
+
end
|
109
|
+
|
110
|
+
sig { override.returns({ program_template: String }) }
|
111
|
+
def to_hash
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|