knockapi 1.0.0 → 1.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +41 -0
- data/README.md +101 -49
- data/lib/knockapi/client.rb +4 -4
- data/lib/knockapi/errors.rb +1 -1
- data/lib/knockapi/file_part.rb +2 -2
- data/lib/knockapi/internal/entries_cursor.rb +3 -3
- data/lib/knockapi/internal/items_cursor.rb +3 -3
- data/lib/knockapi/internal/ms_teams_pagination.rb +3 -3
- data/lib/knockapi/internal/slack_channels_cursor.rb +3 -3
- data/lib/knockapi/internal/transport/base_client.rb +79 -7
- data/lib/knockapi/internal/transport/pooled_net_requester.rb +17 -1
- data/lib/knockapi/internal/type/array_of.rb +1 -1
- data/lib/knockapi/internal/type/base_model.rb +71 -39
- data/lib/knockapi/internal/type/converter.rb +18 -0
- data/lib/knockapi/internal/type/enum.rb +1 -0
- data/lib/knockapi/internal/type/hash_of.rb +1 -1
- data/lib/knockapi/internal/type/request_parameters.rb +6 -12
- data/lib/knockapi/internal/type/union.rb +4 -3
- data/lib/knockapi/internal/util.rb +74 -2
- data/lib/knockapi/internal.rb +6 -0
- data/lib/knockapi/models/activity.rb +6 -6
- data/lib/knockapi/models/audience_add_members_params.rb +10 -8
- data/lib/knockapi/models/audience_add_members_response.rb +7 -0
- data/lib/knockapi/models/audience_list_members_response.rb +6 -6
- data/lib/knockapi/models/audience_member.rb +5 -6
- data/lib/knockapi/models/audience_remove_members_params.rb +12 -7
- data/lib/knockapi/models/audience_remove_members_response.rb +7 -0
- data/lib/knockapi/models/bulk_operation.rb +7 -8
- data/lib/knockapi/models/channels/bulk_update_message_status_params.rb +11 -10
- data/lib/knockapi/models/condition.rb +4 -4
- data/lib/knockapi/models/identify_user_request.rb +16 -17
- data/lib/knockapi/models/inline_identify_user_request.rb +64 -7
- data/lib/knockapi/models/inline_object_request.rb +8 -6
- data/lib/knockapi/models/inline_tenant_request.rb +6 -2
- data/lib/knockapi/models/message.rb +19 -23
- data/lib/knockapi/models/message_delivery_log.rb +26 -18
- data/lib/knockapi/models/message_event.rb +9 -10
- data/lib/knockapi/models/message_get_content_response.rb +21 -0
- data/lib/knockapi/models/message_list_params.rb +9 -13
- data/lib/knockapi/models/messages/batch_archive_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_get_content_response.rb +21 -0
- data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_unarchive_response.rb +1 -1
- data/lib/knockapi/models/object.rb +9 -1
- data/lib/knockapi/models/object_add_subscriptions_params.rb +3 -4
- data/lib/knockapi/models/object_add_subscriptions_response.rb +1 -1
- data/lib/knockapi/models/object_delete_response.rb +7 -0
- data/lib/knockapi/models/object_delete_subscriptions_params.rb +3 -5
- data/lib/knockapi/models/object_delete_subscriptions_response.rb +1 -1
- data/lib/knockapi/models/object_list_messages_params.rb +11 -12
- data/lib/knockapi/models/object_list_params.rb +3 -4
- data/lib/knockapi/models/object_list_preferences_response.rb +1 -1
- data/lib/knockapi/models/object_list_subscriptions_params.rb +14 -14
- data/lib/knockapi/models/object_set_params.rb +15 -13
- data/lib/knockapi/models/object_unset_channel_data_response.rb +7 -0
- data/lib/knockapi/models/objects/bulk_add_subscriptions_params.rb +9 -9
- data/lib/knockapi/models/objects/bulk_set_params.rb +3 -3
- data/lib/knockapi/models/providers/ms_team_list_channels_params.rb +4 -7
- data/lib/knockapi/models/providers/ms_team_list_teams_params.rb +4 -9
- data/lib/knockapi/models/providers/slack_list_channels_params.rb +4 -7
- data/lib/knockapi/models/recipient.rb +7 -3
- data/lib/knockapi/models/recipient_reference.rb +6 -2
- data/lib/knockapi/models/recipient_request.rb +7 -3
- data/lib/knockapi/models/recipients/channel_data.rb +26 -14
- data/lib/knockapi/models/recipients/channel_data_request.rb +22 -10
- data/lib/knockapi/models/recipients/discord_channel_data.rb +25 -10
- data/lib/knockapi/models/recipients/inline_channel_data_request.rb +36 -1
- data/lib/knockapi/models/recipients/inline_preference_set_request.rb +1 -1
- data/lib/knockapi/models/recipients/ms_teams_channel_data.rb +25 -10
- data/lib/knockapi/models/recipients/preference_set.rb +52 -28
- data/lib/knockapi/models/recipients/preference_set_channel_type_setting.rb +3 -3
- data/lib/knockapi/models/recipients/preference_set_channel_types.rb +60 -36
- data/lib/knockapi/models/recipients/preference_set_request.rb +52 -28
- data/lib/knockapi/models/recipients/slack_channel_data.rb +21 -10
- data/lib/knockapi/models/recipients/subscription.rb +6 -6
- data/lib/knockapi/models/schedule.rb +11 -12
- data/lib/knockapi/models/schedule_create_params.rb +10 -15
- data/lib/knockapi/models/schedule_create_response.rb +1 -1
- data/lib/knockapi/models/schedule_delete_response.rb +1 -1
- data/lib/knockapi/models/schedule_repeat_rule.rb +7 -7
- data/lib/knockapi/models/schedule_update_params.rb +9 -10
- data/lib/knockapi/models/schedule_update_response.rb +1 -1
- data/lib/knockapi/models/schedules/bulk_create_params.rb +16 -18
- data/lib/knockapi/models/tenant.rb +13 -16
- data/lib/knockapi/models/tenant_delete_response.rb +7 -0
- data/lib/knockapi/models/tenant_request.rb +20 -20
- data/lib/knockapi/models/tenant_set_params.rb +19 -19
- data/lib/knockapi/models/tenants/bulk_set_params.rb +3 -3
- data/lib/knockapi/models/user.rb +9 -11
- data/lib/knockapi/models/user_delete_response.rb +7 -0
- data/lib/knockapi/models/user_list_messages_params.rb +13 -12
- data/lib/knockapi/models/user_list_params.rb +3 -4
- data/lib/knockapi/models/user_list_preferences_response.rb +1 -1
- data/lib/knockapi/models/user_list_subscriptions_params.rb +3 -3
- data/lib/knockapi/models/user_unset_channel_data_response.rb +7 -0
- data/lib/knockapi/models/users/bulk_identify_params.rb +3 -3
- data/lib/knockapi/models/users/bulk_set_preferences_params.rb +3 -3
- data/lib/knockapi/models/users/feed_list_items_params.rb +6 -6
- data/lib/knockapi/models/users/feed_list_items_response.rb +15 -6
- data/lib/knockapi/models/workflow_cancel_params.rb +3 -5
- data/lib/knockapi/models/workflow_cancel_response.rb +7 -0
- data/lib/knockapi/models/workflow_trigger_params.rb +9 -12
- data/lib/knockapi/models/workflow_trigger_response.rb +0 -1
- data/lib/knockapi/models.rb +202 -0
- data/lib/knockapi/request_options.rb +4 -0
- data/lib/knockapi/resources/audiences.rb +4 -4
- data/lib/knockapi/resources/bulk_operations.rb +2 -2
- data/lib/knockapi/resources/channels/bulk.rb +7 -8
- data/lib/knockapi/resources/integrations/census.rb +1 -1
- data/lib/knockapi/resources/integrations/hightouch.rb +1 -1
- data/lib/knockapi/resources/messages/batch.rb +22 -22
- data/lib/knockapi/resources/messages.rb +32 -39
- data/lib/knockapi/resources/objects/bulk.rb +11 -11
- data/lib/knockapi/resources/objects.rb +52 -62
- data/lib/knockapi/resources/providers/ms_teams.rb +6 -6
- data/lib/knockapi/resources/providers/slack.rb +4 -4
- data/lib/knockapi/resources/schedules/bulk.rb +4 -4
- data/lib/knockapi/resources/schedules.rb +18 -23
- data/lib/knockapi/resources/tenants/bulk.rb +7 -7
- data/lib/knockapi/resources/tenants.rb +11 -11
- data/lib/knockapi/resources/users/bulk.rb +11 -11
- data/lib/knockapi/resources/users/feeds.rb +3 -3
- data/lib/knockapi/resources/users/guides.rb +4 -4
- data/lib/knockapi/resources/users.rb +46 -54
- data/lib/knockapi/resources/workflows.rb +6 -11
- data/lib/knockapi/version.rb +1 -1
- data/lib/knockapi.rb +11 -2
- data/rbi/knockapi/client.rbi +5 -4
- data/rbi/knockapi/errors.rbi +35 -16
- data/rbi/knockapi/file_part.rbi +9 -6
- data/rbi/knockapi/internal/entries_cursor.rbi +9 -4
- data/rbi/knockapi/internal/items_cursor.rbi +9 -4
- data/rbi/knockapi/internal/ms_teams_pagination.rbi +2 -1
- data/rbi/knockapi/internal/slack_channels_cursor.rbi +2 -1
- data/rbi/knockapi/internal/transport/base_client.rbi +158 -78
- data/rbi/knockapi/internal/transport/pooled_net_requester.rbi +32 -13
- data/rbi/knockapi/internal/type/array_of.rbi +34 -24
- data/rbi/knockapi/internal/type/base_model.rbi +151 -73
- data/rbi/knockapi/internal/type/base_page.rbi +12 -8
- data/rbi/knockapi/internal/type/boolean.rbi +16 -14
- data/rbi/knockapi/internal/type/converter.rbi +70 -28
- data/rbi/knockapi/internal/type/enum.rbi +28 -15
- data/rbi/knockapi/internal/type/file_input.rbi +8 -4
- data/rbi/knockapi/internal/type/hash_of.rbi +34 -24
- data/rbi/knockapi/internal/type/request_parameters.rbi +12 -4
- data/rbi/knockapi/internal/type/union.rbi +55 -19
- data/rbi/knockapi/internal/type/unknown.rbi +16 -6
- data/rbi/knockapi/internal/util.rbi +239 -87
- data/rbi/knockapi/internal.rbi +2 -0
- data/rbi/knockapi/models/activity.rbi +28 -22
- data/rbi/knockapi/models/audience_add_members_params.rbi +62 -27
- data/rbi/knockapi/models/audience_add_members_response.rbi +7 -0
- data/rbi/knockapi/models/audience_list_members_params.rbi +16 -5
- data/rbi/knockapi/models/audience_list_members_response.rbi +25 -11
- data/rbi/knockapi/models/audience_member.rbi +23 -11
- data/rbi/knockapi/models/audience_remove_members_params.rbi +65 -28
- data/rbi/knockapi/models/audience_remove_members_response.rbi +7 -0
- data/rbi/knockapi/models/bulk_operation.rbi +70 -42
- data/rbi/knockapi/models/bulk_operation_get_params.rbi +13 -5
- data/rbi/knockapi/models/channels/bulk_update_message_status_params.rbi +224 -79
- data/rbi/knockapi/models/condition.rbi +78 -31
- data/rbi/knockapi/models/identify_user_request.rbi +90 -36
- data/rbi/knockapi/models/inline_identify_user_request.rbi +135 -22
- data/rbi/knockapi/models/inline_object_request.rbi +76 -22
- data/rbi/knockapi/models/inline_tenant_request.rbi +7 -2
- data/rbi/knockapi/models/integrations/census_custom_destination_params.rbi +24 -15
- data/rbi/knockapi/models/integrations/census_custom_destination_response.rbi +21 -4
- data/rbi/knockapi/models/integrations/hightouch_embedded_destination_params.rbi +24 -15
- data/rbi/knockapi/models/integrations/hightouch_embedded_destination_response.rbi +21 -4
- data/rbi/knockapi/models/message.rbi +156 -72
- data/rbi/knockapi/models/message_archive_params.rbi +13 -5
- data/rbi/knockapi/models/message_delivery_log.rbi +153 -66
- data/rbi/knockapi/models/message_event.rbi +86 -37
- data/rbi/knockapi/models/message_get_content_params.rbi +13 -5
- data/rbi/knockapi/models/message_get_content_response.rbi +364 -203
- data/rbi/knockapi/models/message_get_params.rbi +13 -5
- data/rbi/knockapi/models/message_list_activities_params.rbi +24 -15
- data/rbi/knockapi/models/message_list_delivery_logs_params.rbi +23 -12
- data/rbi/knockapi/models/message_list_events_params.rbi +20 -12
- data/rbi/knockapi/models/message_list_params.rbi +147 -58
- data/rbi/knockapi/models/message_mark_as_interacted_params.rbi +21 -6
- data/rbi/knockapi/models/message_mark_as_read_params.rbi +13 -5
- data/rbi/knockapi/models/message_mark_as_seen_params.rbi +13 -5
- data/rbi/knockapi/models/message_mark_as_unread_params.rbi +16 -5
- data/rbi/knockapi/models/message_mark_as_unseen_params.rbi +16 -5
- data/rbi/knockapi/models/message_unarchive_params.rbi +13 -5
- data/rbi/knockapi/models/messages/batch_archive_params.rbi +23 -6
- data/rbi/knockapi/models/messages/batch_archive_response.rbi +4 -1
- data/rbi/knockapi/models/messages/batch_get_content_params.rbi +23 -6
- data/rbi/knockapi/models/messages/batch_get_content_response.rbi +367 -206
- data/rbi/knockapi/models/messages/batch_mark_as_interacted_params.rbi +22 -13
- data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +4 -1
- data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +23 -6
- data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +4 -1
- data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +23 -6
- data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +4 -1
- data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +23 -6
- data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +4 -1
- data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +23 -6
- data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +4 -1
- data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +23 -6
- data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +4 -1
- data/rbi/knockapi/models/object.rbi +31 -10
- data/rbi/knockapi/models/object_add_subscriptions_params.rbi +44 -22
- data/rbi/knockapi/models/object_add_subscriptions_response.rbi +1 -1
- data/rbi/knockapi/models/object_delete_params.rbi +13 -5
- data/rbi/knockapi/models/object_delete_response.rbi +7 -0
- data/rbi/knockapi/models/object_delete_subscriptions_params.rbi +36 -14
- data/rbi/knockapi/models/object_delete_subscriptions_response.rbi +1 -1
- data/rbi/knockapi/models/object_get_channel_data_params.rbi +16 -5
- data/rbi/knockapi/models/object_get_params.rbi +13 -5
- data/rbi/knockapi/models/object_get_preferences_params.rbi +16 -5
- data/rbi/knockapi/models/object_list_messages_params.rbi +169 -60
- data/rbi/knockapi/models/object_list_params.rbi +43 -22
- data/rbi/knockapi/models/object_list_preferences_params.rbi +16 -5
- data/rbi/knockapi/models/object_list_preferences_response.rbi +1 -1
- data/rbi/knockapi/models/object_list_schedules_params.rbi +25 -16
- data/rbi/knockapi/models/object_list_subscriptions_params.rbi +150 -46
- data/rbi/knockapi/models/object_set_channel_data_params.rbi +16 -5
- data/rbi/knockapi/models/object_set_params.rbi +89 -33
- data/rbi/knockapi/models/object_set_preferences_params.rbi +16 -5
- data/rbi/knockapi/models/object_unset_channel_data_params.rbi +16 -5
- data/rbi/knockapi/models/object_unset_channel_data_response.rbi +7 -0
- data/rbi/knockapi/models/objects/bulk_add_subscriptions_params.rbi +77 -34
- data/rbi/knockapi/models/objects/bulk_delete_params.rbi +23 -6
- data/rbi/knockapi/models/objects/bulk_set_params.rbi +20 -11
- data/rbi/knockapi/models/page_info.rbi +22 -11
- data/rbi/knockapi/models/providers/ms_team_check_auth_params.rbi +23 -6
- data/rbi/knockapi/models/providers/ms_team_check_auth_response.rbi +53 -14
- data/rbi/knockapi/models/providers/ms_team_list_channels_params.rbi +53 -23
- data/rbi/knockapi/models/providers/ms_team_list_channels_response.rbi +57 -30
- data/rbi/knockapi/models/providers/ms_team_list_teams_params.rbi +62 -22
- data/rbi/knockapi/models/providers/ms_team_list_teams_response.rbi +23 -4
- data/rbi/knockapi/models/providers/ms_team_revoke_access_params.rbi +23 -6
- data/rbi/knockapi/models/providers/ms_team_revoke_access_response.rbi +14 -3
- data/rbi/knockapi/models/providers/slack_check_auth_params.rbi +23 -6
- data/rbi/knockapi/models/providers/slack_check_auth_response.rbi +53 -14
- data/rbi/knockapi/models/providers/slack_list_channels_params.rbi +58 -30
- data/rbi/knockapi/models/providers/slack_list_channels_response.rbi +29 -12
- data/rbi/knockapi/models/providers/slack_revoke_access_params.rbi +23 -6
- data/rbi/knockapi/models/providers/slack_revoke_access_response.rbi +14 -3
- data/rbi/knockapi/models/recipient.rbi +5 -2
- data/rbi/knockapi/models/recipient_reference.rbi +22 -5
- data/rbi/knockapi/models/recipient_request.rbi +11 -4
- data/rbi/knockapi/models/recipients/channel_data.rbi +123 -50
- data/rbi/knockapi/models/recipients/channel_data_request.rbi +54 -33
- data/rbi/knockapi/models/recipients/discord_channel_data.rbi +100 -53
- data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +29 -1
- data/rbi/knockapi/models/recipients/inline_preference_set_request.rbi +3 -1
- data/rbi/knockapi/models/recipients/ms_teams_channel_data.rbi +109 -64
- data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +14 -3
- data/rbi/knockapi/models/recipients/preference_set.rbi +159 -88
- data/rbi/knockapi/models/recipients/preference_set_channel_type_setting.rbi +18 -6
- data/rbi/knockapi/models/recipients/preference_set_channel_types.rbi +276 -105
- data/rbi/knockapi/models/recipients/preference_set_request.rbi +162 -87
- data/rbi/knockapi/models/recipients/push_channel_data.rbi +14 -3
- data/rbi/knockapi/models/recipients/slack_channel_data.rbi +107 -49
- data/rbi/knockapi/models/recipients/subscription.rbi +29 -20
- data/rbi/knockapi/models/schedule.rbi +32 -27
- data/rbi/knockapi/models/schedule_create_params.rbi +52 -35
- data/rbi/knockapi/models/schedule_create_response.rbi +4 -1
- data/rbi/knockapi/models/schedule_delete_params.rbi +20 -6
- data/rbi/knockapi/models/schedule_delete_response.rbi +4 -1
- data/rbi/knockapi/models/schedule_list_params.rbi +23 -17
- data/rbi/knockapi/models/schedule_repeat_rule.rbi +69 -39
- data/rbi/knockapi/models/schedule_update_params.rbi +48 -27
- data/rbi/knockapi/models/schedule_update_response.rbi +4 -1
- data/rbi/knockapi/models/schedules/bulk_create_params.rbi +102 -61
- data/rbi/knockapi/models/tenant.rbi +71 -45
- data/rbi/knockapi/models/tenant_delete_params.rbi +13 -5
- data/rbi/knockapi/models/tenant_delete_response.rbi +7 -0
- data/rbi/knockapi/models/tenant_get_params.rbi +13 -5
- data/rbi/knockapi/models/tenant_list_params.rbi +22 -16
- data/rbi/knockapi/models/tenant_request.rbi +132 -57
- data/rbi/knockapi/models/tenant_set_params.rbi +134 -59
- data/rbi/knockapi/models/tenants/bulk_delete_params.rbi +23 -6
- data/rbi/knockapi/models/tenants/bulk_set_params.rbi +20 -11
- data/rbi/knockapi/models/user.rbi +32 -28
- data/rbi/knockapi/models/user_delete_params.rbi +13 -5
- data/rbi/knockapi/models/user_delete_response.rbi +7 -0
- data/rbi/knockapi/models/user_get_channel_data_params.rbi +13 -5
- data/rbi/knockapi/models/user_get_params.rbi +13 -5
- data/rbi/knockapi/models/user_get_preferences_params.rbi +19 -5
- data/rbi/knockapi/models/user_list_messages_params.rbi +168 -59
- data/rbi/knockapi/models/user_list_params.rbi +43 -22
- data/rbi/knockapi/models/user_list_preferences_params.rbi +16 -5
- data/rbi/knockapi/models/user_list_preferences_response.rbi +1 -1
- data/rbi/knockapi/models/user_list_schedules_params.rbi +22 -16
- data/rbi/knockapi/models/user_list_subscriptions_params.rbi +61 -23
- data/rbi/knockapi/models/user_merge_params.rbi +17 -6
- data/rbi/knockapi/models/user_set_channel_data_params.rbi +13 -5
- data/rbi/knockapi/models/user_set_preferences_params.rbi +13 -5
- data/rbi/knockapi/models/user_unset_channel_data_params.rbi +16 -5
- data/rbi/knockapi/models/user_unset_channel_data_response.rbi +7 -0
- data/rbi/knockapi/models/user_update_params.rbi +13 -5
- data/rbi/knockapi/models/users/bulk_delete_params.rbi +23 -6
- data/rbi/knockapi/models/users/bulk_identify_params.rbi +23 -11
- data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +26 -18
- data/rbi/knockapi/models/users/feed_get_settings_params.rbi +16 -5
- data/rbi/knockapi/models/users/feed_get_settings_response.rbi +47 -14
- data/rbi/knockapi/models/users/feed_list_items_params.rbi +119 -41
- data/rbi/knockapi/models/users/feed_list_items_response.rbi +197 -100
- data/rbi/knockapi/models/users/guide_get_channel_params.rbi +15 -5
- data/rbi/knockapi/models/users/guide_get_channel_response.rbi +84 -25
- data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +29 -20
- data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +14 -3
- data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +29 -20
- data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +14 -3
- data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +29 -20
- data/rbi/knockapi/models/users/guide_mark_message_as_seen_response.rbi +14 -3
- data/rbi/knockapi/models/workflow_cancel_params.rbi +42 -17
- data/rbi/knockapi/models/workflow_cancel_response.rbi +7 -0
- data/rbi/knockapi/models/workflow_trigger_params.rbi +65 -37
- data/rbi/knockapi/models/workflow_trigger_response.rbi +14 -3
- data/rbi/knockapi/models.rbi +179 -0
- data/rbi/knockapi/request_options.rbi +18 -7
- data/rbi/knockapi/resources/audiences.rbi +22 -14
- data/rbi/knockapi/resources/bulk_operations.rbi +11 -3
- data/rbi/knockapi/resources/channels/bulk.rbi +15 -9
- data/rbi/knockapi/resources/channels.rbi +2 -1
- data/rbi/knockapi/resources/integrations/census.rbi +8 -4
- data/rbi/knockapi/resources/integrations/hightouch.rbi +8 -4
- data/rbi/knockapi/resources/integrations.rbi +2 -1
- data/rbi/knockapi/resources/messages/batch.rbi +58 -26
- data/rbi/knockapi/resources/messages.rbi +102 -43
- data/rbi/knockapi/resources/objects/bulk.rbi +25 -14
- data/rbi/knockapi/resources/objects.rbi +177 -107
- data/rbi/knockapi/resources/providers/ms_teams.rbi +35 -16
- data/rbi/knockapi/resources/providers/slack.rbi +28 -11
- data/rbi/knockapi/resources/providers.rbi +2 -1
- data/rbi/knockapi/resources/recipients/channel_data.rbi +2 -1
- data/rbi/knockapi/resources/recipients/preferences.rbi +2 -1
- data/rbi/knockapi/resources/recipients/subscriptions.rbi +2 -1
- data/rbi/knockapi/resources/recipients.rbi +2 -1
- data/rbi/knockapi/resources/schedules/bulk.rbi +9 -6
- data/rbi/knockapi/resources/schedules.rbi +44 -33
- data/rbi/knockapi/resources/shared.rbi +2 -1
- data/rbi/knockapi/resources/tenants/bulk.rbi +15 -9
- data/rbi/knockapi/resources/tenants.rbi +51 -20
- data/rbi/knockapi/resources/users/bulk.rbi +21 -14
- data/rbi/knockapi/resources/users/feeds.rbi +20 -9
- data/rbi/knockapi/resources/users/guides.rbi +23 -16
- data/rbi/knockapi/resources/users.rbi +160 -91
- data/rbi/knockapi/resources/workflows.rbi +38 -29
- data/sig/knockapi/internal/entries_cursor.rbs +0 -2
- data/sig/knockapi/internal/items_cursor.rbs +0 -2
- data/sig/knockapi/internal/transport/base_client.rbs +16 -1
- data/sig/knockapi/internal/transport/pooled_net_requester.rbs +4 -0
- data/sig/knockapi/internal/type/base_model.rbs +11 -5
- data/sig/knockapi/internal/type/base_page.rbs +1 -1
- data/sig/knockapi/internal/type/converter.rbs +2 -0
- data/sig/knockapi/internal/type/enum.rbs +1 -0
- data/sig/knockapi/internal/type/request_parameters.rbs +3 -1
- data/sig/knockapi/internal/type/union.rbs +1 -0
- data/sig/knockapi/internal/util.rbs +15 -0
- data/sig/knockapi/internal.rbs +2 -0
- data/sig/knockapi/models/activity.rbs +0 -2
- data/sig/knockapi/models/audience_add_members_params.rbs +6 -12
- data/sig/knockapi/models/audience_add_members_response.rbs +5 -0
- data/sig/knockapi/models/audience_list_members_params.rbs +0 -2
- data/sig/knockapi/models/audience_list_members_response.rbs +6 -8
- data/sig/knockapi/models/audience_member.rbs +3 -5
- data/sig/knockapi/models/audience_remove_members_params.rbs +6 -14
- data/sig/knockapi/models/audience_remove_members_response.rbs +5 -0
- data/sig/knockapi/models/bulk_operation.rbs +9 -13
- data/sig/knockapi/models/bulk_operation_get_params.rbs +0 -2
- data/sig/knockapi/models/channels/bulk_update_message_status_params.rbs +0 -2
- data/sig/knockapi/models/condition.rbs +4 -6
- data/sig/knockapi/models/identify_user_request.rbs +0 -2
- data/sig/knockapi/models/inline_identify_user_request.rbs +26 -4
- data/sig/knockapi/models/inline_object_request.rbs +0 -2
- data/sig/knockapi/models/inline_tenant_request.rbs +2 -2
- data/sig/knockapi/models/integrations/census_custom_destination_params.rbs +0 -2
- data/sig/knockapi/models/integrations/census_custom_destination_response.rbs +0 -2
- data/sig/knockapi/models/integrations/hightouch_embedded_destination_params.rbs +0 -2
- data/sig/knockapi/models/integrations/hightouch_embedded_destination_response.rbs +0 -2
- data/sig/knockapi/models/message.rbs +15 -23
- data/sig/knockapi/models/message_archive_params.rbs +0 -2
- data/sig/knockapi/models/message_delivery_log.rbs +24 -30
- data/sig/knockapi/models/message_event.rbs +4 -6
- data/sig/knockapi/models/message_get_content_params.rbs +0 -2
- data/sig/knockapi/models/message_get_content_response.rbs +2 -24
- data/sig/knockapi/models/message_get_params.rbs +0 -2
- data/sig/knockapi/models/message_list_activities_params.rbs +0 -2
- data/sig/knockapi/models/message_list_delivery_logs_params.rbs +0 -2
- data/sig/knockapi/models/message_list_events_params.rbs +0 -2
- data/sig/knockapi/models/message_list_params.rbs +17 -21
- data/sig/knockapi/models/message_mark_as_interacted_params.rbs +0 -2
- data/sig/knockapi/models/message_mark_as_read_params.rbs +0 -2
- data/sig/knockapi/models/message_mark_as_seen_params.rbs +0 -2
- data/sig/knockapi/models/message_mark_as_unread_params.rbs +0 -2
- data/sig/knockapi/models/message_mark_as_unseen_params.rbs +0 -2
- data/sig/knockapi/models/message_unarchive_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_archive_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_archive_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_get_content_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_get_content_response.rbs +2 -24
- data/sig/knockapi/models/messages/batch_mark_as_interacted_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +1 -2
- data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_unarchive_params.rbs +0 -2
- data/sig/knockapi/models/messages/batch_unarchive_response.rbs +1 -1
- data/sig/knockapi/models/object.rbs +8 -4
- data/sig/knockapi/models/object_add_subscriptions_params.rbs +0 -2
- data/sig/knockapi/models/object_add_subscriptions_response.rbs +1 -1
- data/sig/knockapi/models/object_delete_params.rbs +0 -2
- data/sig/knockapi/models/object_delete_response.rbs +5 -0
- data/sig/knockapi/models/object_delete_subscriptions_params.rbs +0 -2
- data/sig/knockapi/models/object_delete_subscriptions_response.rbs +1 -1
- data/sig/knockapi/models/object_get_channel_data_params.rbs +0 -2
- data/sig/knockapi/models/object_get_params.rbs +0 -2
- data/sig/knockapi/models/object_get_preferences_params.rbs +0 -2
- data/sig/knockapi/models/object_list_messages_params.rbs +17 -21
- data/sig/knockapi/models/object_list_params.rbs +6 -8
- data/sig/knockapi/models/object_list_preferences_params.rbs +0 -2
- data/sig/knockapi/models/object_list_preferences_response.rbs +1 -1
- data/sig/knockapi/models/object_list_schedules_params.rbs +0 -2
- data/sig/knockapi/models/object_list_subscriptions_params.rbs +11 -15
- data/sig/knockapi/models/object_set_channel_data_params.rbs +0 -2
- data/sig/knockapi/models/object_set_params.rbs +0 -2
- data/sig/knockapi/models/object_set_preferences_params.rbs +0 -2
- data/sig/knockapi/models/object_unset_channel_data_params.rbs +0 -2
- data/sig/knockapi/models/object_unset_channel_data_response.rbs +5 -0
- data/sig/knockapi/models/objects/bulk_add_subscriptions_params.rbs +3 -7
- data/sig/knockapi/models/objects/bulk_delete_params.rbs +0 -2
- data/sig/knockapi/models/objects/bulk_set_params.rbs +3 -5
- data/sig/knockapi/models/page_info.rbs +0 -2
- data/sig/knockapi/models/providers/ms_team_check_auth_params.rbs +0 -2
- data/sig/knockapi/models/providers/ms_team_check_auth_response.rbs +0 -4
- data/sig/knockapi/models/providers/ms_team_list_channels_params.rbs +5 -9
- data/sig/knockapi/models/providers/ms_team_list_channels_response.rbs +0 -4
- data/sig/knockapi/models/providers/ms_team_list_teams_params.rbs +5 -9
- data/sig/knockapi/models/providers/ms_team_list_teams_response.rbs +0 -2
- data/sig/knockapi/models/providers/ms_team_revoke_access_params.rbs +0 -2
- data/sig/knockapi/models/providers/ms_team_revoke_access_response.rbs +0 -2
- data/sig/knockapi/models/providers/slack_check_auth_params.rbs +0 -2
- data/sig/knockapi/models/providers/slack_check_auth_response.rbs +0 -4
- data/sig/knockapi/models/providers/slack_list_channels_params.rbs +5 -9
- data/sig/knockapi/models/providers/slack_list_channels_response.rbs +0 -2
- data/sig/knockapi/models/providers/slack_revoke_access_params.rbs +0 -2
- data/sig/knockapi/models/providers/slack_revoke_access_response.rbs +0 -2
- data/sig/knockapi/models/recipient.rbs +2 -2
- data/sig/knockapi/models/recipient_reference.rbs +2 -4
- data/sig/knockapi/models/recipient_request.rbs +3 -3
- data/sig/knockapi/models/recipients/channel_data.rbs +15 -17
- data/sig/knockapi/models/recipients/channel_data_request.rbs +9 -11
- data/sig/knockapi/models/recipients/discord_channel_data.rbs +9 -17
- data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +14 -1
- data/sig/knockapi/models/recipients/inline_preference_set_request.rbs +1 -1
- data/sig/knockapi/models/recipients/ms_teams_channel_data.rbs +9 -17
- data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +0 -2
- data/sig/knockapi/models/recipients/preference_set.rbs +25 -31
- data/sig/knockapi/models/recipients/preference_set_channel_type_setting.rbs +3 -7
- data/sig/knockapi/models/recipients/preference_set_channel_types.rbs +42 -48
- data/sig/knockapi/models/recipients/preference_set_request.rbs +25 -31
- data/sig/knockapi/models/recipients/push_channel_data.rbs +0 -2
- data/sig/knockapi/models/recipients/slack_channel_data.rbs +9 -17
- data/sig/knockapi/models/recipients/subscription.rbs +3 -5
- data/sig/knockapi/models/schedule.rbs +3 -5
- data/sig/knockapi/models/schedule_create_params.rbs +3 -5
- data/sig/knockapi/models/schedule_create_response.rbs +1 -1
- data/sig/knockapi/models/schedule_delete_params.rbs +0 -2
- data/sig/knockapi/models/schedule_delete_response.rbs +1 -1
- data/sig/knockapi/models/schedule_list_params.rbs +0 -2
- data/sig/knockapi/models/schedule_repeat_rule.rbs +8 -10
- data/sig/knockapi/models/schedule_update_params.rbs +5 -7
- data/sig/knockapi/models/schedule_update_response.rbs +1 -1
- data/sig/knockapi/models/schedules/bulk_create_params.rbs +8 -14
- data/sig/knockapi/models/tenant.rbs +9 -15
- data/sig/knockapi/models/tenant_delete_params.rbs +0 -2
- data/sig/knockapi/models/tenant_delete_response.rbs +5 -0
- data/sig/knockapi/models/tenant_get_params.rbs +0 -2
- data/sig/knockapi/models/tenant_list_params.rbs +0 -2
- data/sig/knockapi/models/tenant_request.rbs +13 -19
- data/sig/knockapi/models/tenant_set_params.rbs +13 -19
- data/sig/knockapi/models/tenants/bulk_delete_params.rbs +0 -2
- data/sig/knockapi/models/tenants/bulk_set_params.rbs +0 -2
- data/sig/knockapi/models/user.rbs +0 -2
- data/sig/knockapi/models/user_delete_params.rbs +0 -2
- data/sig/knockapi/models/user_delete_response.rbs +5 -0
- data/sig/knockapi/models/user_get_channel_data_params.rbs +0 -2
- data/sig/knockapi/models/user_get_params.rbs +0 -2
- data/sig/knockapi/models/user_get_preferences_params.rbs +0 -2
- data/sig/knockapi/models/user_list_messages_params.rbs +17 -21
- data/sig/knockapi/models/user_list_params.rbs +6 -8
- data/sig/knockapi/models/user_list_preferences_params.rbs +0 -2
- data/sig/knockapi/models/user_list_preferences_response.rbs +1 -1
- data/sig/knockapi/models/user_list_schedules_params.rbs +0 -2
- data/sig/knockapi/models/user_list_subscriptions_params.rbs +6 -8
- data/sig/knockapi/models/user_merge_params.rbs +0 -2
- data/sig/knockapi/models/user_set_channel_data_params.rbs +0 -2
- data/sig/knockapi/models/user_set_preferences_params.rbs +0 -2
- data/sig/knockapi/models/user_unset_channel_data_params.rbs +0 -2
- data/sig/knockapi/models/user_unset_channel_data_response.rbs +5 -0
- data/sig/knockapi/models/user_update_params.rbs +0 -2
- data/sig/knockapi/models/users/bulk_delete_params.rbs +0 -2
- data/sig/knockapi/models/users/bulk_identify_params.rbs +3 -5
- data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +3 -5
- data/sig/knockapi/models/users/feed_get_settings_params.rbs +0 -2
- data/sig/knockapi/models/users/feed_get_settings_response.rbs +0 -4
- data/sig/knockapi/models/users/feed_list_items_params.rbs +0 -2
- data/sig/knockapi/models/users/feed_list_items_response.rbs +4 -14
- data/sig/knockapi/models/users/guide_get_channel_params.rbs +0 -2
- data/sig/knockapi/models/users/guide_get_channel_response.rbs +0 -6
- data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +0 -2
- data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +0 -2
- data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +0 -2
- data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +0 -2
- data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +0 -2
- data/sig/knockapi/models/users/guide_mark_message_as_seen_response.rbs +0 -2
- data/sig/knockapi/models/workflow_cancel_params.rbs +0 -2
- data/sig/knockapi/models/workflow_cancel_response.rbs +5 -0
- data/sig/knockapi/models/workflow_trigger_params.rbs +0 -2
- data/sig/knockapi/models/workflow_trigger_response.rbs +0 -2
- data/sig/knockapi/models.rbs +173 -0
- data/sig/knockapi/request_options.rbs +1 -1
- data/sig/knockapi/resources/audiences.rbs +2 -2
- data/sig/knockapi/resources/bulk_operations.rbs +1 -1
- data/sig/knockapi/resources/channels/bulk.rbs +1 -1
- data/sig/knockapi/resources/messages.rbs +15 -17
- data/sig/knockapi/resources/objects/bulk.rbs +5 -5
- data/sig/knockapi/resources/objects.rbs +19 -19
- data/sig/knockapi/resources/providers/ms_teams.rbs +2 -2
- data/sig/knockapi/resources/providers/slack.rbs +1 -1
- data/sig/knockapi/resources/schedules/bulk.rbs +2 -2
- data/sig/knockapi/resources/schedules.rbs +3 -3
- data/sig/knockapi/resources/tenants/bulk.rbs +2 -2
- data/sig/knockapi/resources/tenants.rbs +4 -4
- data/sig/knockapi/resources/users/bulk.rbs +5 -5
- data/sig/knockapi/resources/users.rbs +19 -19
- metadata +29 -8
- data/lib/knockapi/models/messages/activity_list_params.rb +0 -48
- data/lib/knockapi/resources/messages/activities.rb +0 -47
- data/rbi/knockapi/models/messages/activity_list_params.rbi +0 -75
- data/rbi/knockapi/resources/messages/activities.rbi +0 -38
- data/sig/knockapi/models/messages/activity_list_params.rbs +0 -45
- data/sig/knockapi/resources/messages/activities.rbs +0 -18
@@ -6,6 +6,7 @@ module Knockapi
|
|
6
6
|
# @abstract
|
7
7
|
class BaseModel
|
8
8
|
extend Knockapi::Internal::Type::Converter
|
9
|
+
extend Knockapi::Internal::Util::SorbetRuntimeSupport
|
9
10
|
|
10
11
|
class << self
|
11
12
|
# @api private
|
@@ -13,11 +14,17 @@ module Knockapi
|
|
13
14
|
# Assumes superclass fields are totally defined before fields are accessed /
|
14
15
|
# defined on subclasses.
|
15
16
|
#
|
16
|
-
# @
|
17
|
-
def
|
18
|
-
|
17
|
+
# @param child [Class<Knockapi::Internal::Type::BaseModel>]
|
18
|
+
def inherited(child)
|
19
|
+
super
|
20
|
+
child.known_fields.replace(known_fields.dup)
|
19
21
|
end
|
20
22
|
|
23
|
+
# @api private
|
24
|
+
#
|
25
|
+
# @return [Hash{Symbol=>Hash{Symbol=>Object}}]
|
26
|
+
def known_fields = @known_fields ||= {}
|
27
|
+
|
21
28
|
# @api private
|
22
29
|
#
|
23
30
|
# @return [Hash{Symbol=>Hash{Symbol=>Object}}]
|
@@ -206,7 +213,7 @@ module Knockapi
|
|
206
213
|
#
|
207
214
|
# @option state [Integer] :branched
|
208
215
|
#
|
209
|
-
# @return [
|
216
|
+
# @return [self, Object]
|
210
217
|
def coerce(value, state:)
|
211
218
|
exactness = state.fetch(:exactness)
|
212
219
|
|
@@ -265,7 +272,7 @@ module Knockapi
|
|
265
272
|
|
266
273
|
# @api private
|
267
274
|
#
|
268
|
-
# @param value [
|
275
|
+
# @param value [self, Object]
|
269
276
|
#
|
270
277
|
# @param state [Hash{Symbol=>Object}] .
|
271
278
|
#
|
@@ -306,6 +313,39 @@ module Knockapi
|
|
306
313
|
end
|
307
314
|
end
|
308
315
|
|
316
|
+
class << self
|
317
|
+
# @api private
|
318
|
+
#
|
319
|
+
# @param model [Knockapi::Internal::Type::BaseModel]
|
320
|
+
# @param convert [Boolean]
|
321
|
+
#
|
322
|
+
# @return [Hash{Symbol=>Object}]
|
323
|
+
def recursively_to_h(model, convert:)
|
324
|
+
rec = ->(x) do
|
325
|
+
case x
|
326
|
+
in Knockapi::Internal::Type::BaseModel
|
327
|
+
if convert
|
328
|
+
fields = x.class.known_fields
|
329
|
+
x.to_h.to_h do |key, val|
|
330
|
+
[key, rec.call(fields.key?(key) ? x.public_send(key) : val)]
|
331
|
+
rescue Knockapi::Errors::ConversionError
|
332
|
+
[key, rec.call(val)]
|
333
|
+
end
|
334
|
+
else
|
335
|
+
rec.call(x.to_h)
|
336
|
+
end
|
337
|
+
in Hash
|
338
|
+
x.transform_values(&rec)
|
339
|
+
in Array
|
340
|
+
x.map(&rec)
|
341
|
+
else
|
342
|
+
x
|
343
|
+
end
|
344
|
+
end
|
345
|
+
rec.call(model)
|
346
|
+
end
|
347
|
+
end
|
348
|
+
|
309
349
|
# @api public
|
310
350
|
#
|
311
351
|
# Returns the raw value associated with the given key, if found. Otherwise, nil is
|
@@ -342,9 +382,25 @@ module Knockapi
|
|
342
382
|
|
343
383
|
alias_method :to_hash, :to_h
|
344
384
|
|
385
|
+
# @api public
|
386
|
+
#
|
387
|
+
# In addition to the behaviour of `#to_h`, this method will recursively call
|
388
|
+
# `#to_h` on nested models.
|
389
|
+
#
|
390
|
+
# @return [Hash{Symbol=>Object}]
|
391
|
+
def deep_to_h = self.class.recursively_to_h(@data, convert: false)
|
392
|
+
|
345
393
|
# @param keys [Array<Symbol>, nil]
|
346
394
|
#
|
347
395
|
# @return [Hash{Symbol=>Object}]
|
396
|
+
#
|
397
|
+
# @example
|
398
|
+
# # `condition` is a `Knockapi::Condition`
|
399
|
+
# condition => {
|
400
|
+
# argument: argument,
|
401
|
+
# operator: operator,
|
402
|
+
# variable: variable
|
403
|
+
# }
|
348
404
|
def deconstruct_keys(keys)
|
349
405
|
(keys || self.class.known_fields.keys)
|
350
406
|
.filter_map do |k|
|
@@ -357,29 +413,6 @@ module Knockapi
|
|
357
413
|
.to_h
|
358
414
|
end
|
359
415
|
|
360
|
-
class << self
|
361
|
-
# @api private
|
362
|
-
#
|
363
|
-
# @param model [Knockapi::Internal::Type::BaseModel]
|
364
|
-
#
|
365
|
-
# @return [Hash{Symbol=>Object}]
|
366
|
-
def walk(model)
|
367
|
-
walk = ->(x) do
|
368
|
-
case x
|
369
|
-
in Knockapi::Internal::Type::BaseModel
|
370
|
-
walk.call(x.to_h)
|
371
|
-
in Hash
|
372
|
-
x.transform_values(&walk)
|
373
|
-
in Array
|
374
|
-
x.map(&walk)
|
375
|
-
else
|
376
|
-
x
|
377
|
-
end
|
378
|
-
end
|
379
|
-
walk.call(model)
|
380
|
-
end
|
381
|
-
end
|
382
|
-
|
383
416
|
# @api public
|
384
417
|
#
|
385
418
|
# @param a [Object]
|
@@ -397,15 +430,7 @@ module Knockapi
|
|
397
430
|
# Create a new instance of a model.
|
398
431
|
#
|
399
432
|
# @param data [Hash{Symbol=>Object}, self]
|
400
|
-
def initialize(data = {})
|
401
|
-
case Knockapi::Internal::Util.coerce_hash(data)
|
402
|
-
in Hash => coerced
|
403
|
-
@data = coerced
|
404
|
-
else
|
405
|
-
message = "Expected a #{Hash} or #{Knockapi::Internal::Type::BaseModel}, got #{data.inspect}"
|
406
|
-
raise ArgumentError.new(message)
|
407
|
-
end
|
408
|
-
end
|
433
|
+
def initialize(data = {}) = (@data = Knockapi::Internal::Util.coerce_hash!(data).to_h)
|
409
434
|
|
410
435
|
class << self
|
411
436
|
# @api private
|
@@ -433,12 +458,19 @@ module Knockapi
|
|
433
458
|
# @api public
|
434
459
|
#
|
435
460
|
# @return [String]
|
436
|
-
def to_s =
|
461
|
+
def to_s = deep_to_h.to_s
|
437
462
|
|
438
463
|
# @api private
|
439
464
|
#
|
440
465
|
# @return [String]
|
441
|
-
def inspect
|
466
|
+
def inspect
|
467
|
+
converted = self.class.recursively_to_h(self, convert: true)
|
468
|
+
"#<#{self.class}:0x#{object_id.to_s(16)} #{converted}>"
|
469
|
+
end
|
470
|
+
|
471
|
+
define_sorbet_constant!(:KnownField) do
|
472
|
+
T.type_alias { {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean} }
|
473
|
+
end
|
442
474
|
end
|
443
475
|
end
|
444
476
|
end
|
@@ -5,6 +5,8 @@ module Knockapi
|
|
5
5
|
module Type
|
6
6
|
# @api private
|
7
7
|
module Converter
|
8
|
+
extend Knockapi::Internal::Util::SorbetRuntimeSupport
|
9
|
+
|
8
10
|
# rubocop:disable Lint/UnusedMethodArgument
|
9
11
|
|
10
12
|
# @api private
|
@@ -268,6 +270,22 @@ module Knockapi
|
|
268
270
|
end
|
269
271
|
end
|
270
272
|
end
|
273
|
+
|
274
|
+
define_sorbet_constant!(:Input) do
|
275
|
+
T.type_alias { T.any(Knockapi::Internal::Type::Converter, T::Class[T.anything]) }
|
276
|
+
end
|
277
|
+
define_sorbet_constant!(:CoerceState) do
|
278
|
+
T.type_alias do
|
279
|
+
{
|
280
|
+
strictness: T.any(T::Boolean, Symbol),
|
281
|
+
exactness: {yes: Integer, no: Integer, maybe: Integer},
|
282
|
+
branched: Integer
|
283
|
+
}
|
284
|
+
end
|
285
|
+
end
|
286
|
+
define_sorbet_constant!(:DumpState) do
|
287
|
+
T.type_alias { {can_retry: T::Boolean} }
|
288
|
+
end
|
271
289
|
end
|
272
290
|
end
|
273
291
|
end
|
@@ -5,10 +5,10 @@ module Knockapi
|
|
5
5
|
module Type
|
6
6
|
# @api private
|
7
7
|
module RequestParameters
|
8
|
-
# @!
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
8
|
+
# @!attribute request_options
|
9
|
+
# Options to specify HTTP behaviour for this request.
|
10
|
+
#
|
11
|
+
# @return [Knockapi::RequestOptions, Hash{Symbol=>Object}]
|
12
12
|
|
13
13
|
# @param mod [Module]
|
14
14
|
def self.included(mod)
|
@@ -28,14 +28,8 @@ module Knockapi
|
|
28
28
|
state = {can_retry: true}
|
29
29
|
case (dumped = dump(params, state: state))
|
30
30
|
in Hash
|
31
|
-
options = Knockapi::Internal::Util.coerce_hash(dumped[:request_options])
|
32
|
-
request_options =
|
33
|
-
case [options, state.fetch(:can_retry)]
|
34
|
-
in [Hash | nil, false]
|
35
|
-
{**options.to_h, max_retries: 0}
|
36
|
-
else
|
37
|
-
options
|
38
|
-
end
|
31
|
+
options = Knockapi::Internal::Util.coerce_hash!(dumped[:request_options]).to_h
|
32
|
+
request_options = state.fetch(:can_retry) ? options : {**options, max_retries: 0}
|
39
33
|
[dumped.except(:request_options), request_options]
|
40
34
|
else
|
41
35
|
[dumped, nil]
|
@@ -6,17 +6,18 @@ module Knockapi
|
|
6
6
|
# @api private
|
7
7
|
#
|
8
8
|
# @example
|
9
|
-
# # `recipient` is a `Knockapi::
|
9
|
+
# # `recipient` is a `Knockapi::Recipient`
|
10
10
|
# case recipient
|
11
|
-
# when Knockapi::
|
11
|
+
# when Knockapi::User
|
12
12
|
# puts(recipient.id)
|
13
|
-
# when Knockapi::
|
13
|
+
# when Knockapi::Object
|
14
14
|
# puts(recipient._typename)
|
15
15
|
# else
|
16
16
|
# puts(recipient)
|
17
17
|
# end
|
18
18
|
module Union
|
19
19
|
include Knockapi::Internal::Type::Converter
|
20
|
+
include Knockapi::Internal::Util::SorbetRuntimeSupport
|
20
21
|
|
21
22
|
# @api private
|
22
23
|
#
|
@@ -128,6 +128,22 @@ module Knockapi
|
|
128
128
|
input.respond_to?(:to_h) ? input.to_h : input
|
129
129
|
end
|
130
130
|
end
|
131
|
+
|
132
|
+
# @api private
|
133
|
+
#
|
134
|
+
# @param input [Object]
|
135
|
+
#
|
136
|
+
# @raise [ArgumentError]
|
137
|
+
# @return [Hash{Object=>Object}, nil]
|
138
|
+
def coerce_hash!(input)
|
139
|
+
case coerce_hash(input)
|
140
|
+
in Hash | nil => coerced
|
141
|
+
coerced
|
142
|
+
else
|
143
|
+
message = "Expected a #{Hash} or #{Knockapi::Internal::Type::BaseModel}, got #{data.inspect}"
|
144
|
+
raise ArgumentError.new(message)
|
145
|
+
end
|
146
|
+
end
|
131
147
|
end
|
132
148
|
|
133
149
|
class << self
|
@@ -454,7 +470,7 @@ module Knockapi
|
|
454
470
|
# @type [Regexp]
|
455
471
|
JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
|
456
472
|
# @type [Regexp]
|
457
|
-
JSONL_CONTENT = %r{^application/(?:x-)?jsonl}
|
473
|
+
JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
|
458
474
|
|
459
475
|
class << self
|
460
476
|
# @api private
|
@@ -519,7 +535,7 @@ module Knockapi
|
|
519
535
|
filename = ERB::Util.url_encode(val.filename)
|
520
536
|
y << "; filename=\"#{filename}\""
|
521
537
|
in Pathname | IO
|
522
|
-
filename = ERB::Util.url_encode(File.basename(val.to_path))
|
538
|
+
filename = ERB::Util.url_encode(::File.basename(val.to_path))
|
523
539
|
y << "; filename=\"#{filename}\""
|
524
540
|
else
|
525
541
|
end
|
@@ -785,6 +801,62 @@ module Knockapi
|
|
785
801
|
end
|
786
802
|
end
|
787
803
|
end
|
804
|
+
|
805
|
+
# @api private
|
806
|
+
module SorbetRuntimeSupport
|
807
|
+
class MissingSorbetRuntimeError < ::RuntimeError
|
808
|
+
end
|
809
|
+
|
810
|
+
# @api private
|
811
|
+
#
|
812
|
+
# @return [Hash{Symbol=>Object}]
|
813
|
+
private def sorbet_runtime_constants = @sorbet_runtime_constants ||= {}
|
814
|
+
|
815
|
+
# @api private
|
816
|
+
#
|
817
|
+
# @param name [Symbol]
|
818
|
+
def const_missing(name)
|
819
|
+
super unless sorbet_runtime_constants.key?(name)
|
820
|
+
|
821
|
+
unless Object.const_defined?(:T)
|
822
|
+
message = "Trying to access a Sorbet constant #{name.inspect} without `sorbet-runtime`."
|
823
|
+
raise MissingSorbetRuntimeError.new(message)
|
824
|
+
end
|
825
|
+
|
826
|
+
sorbet_runtime_constants.fetch(name).call
|
827
|
+
end
|
828
|
+
|
829
|
+
# @api private
|
830
|
+
#
|
831
|
+
# @param name [Symbol]
|
832
|
+
# @param blk [Proc]
|
833
|
+
def define_sorbet_constant!(name, &blk) = sorbet_runtime_constants.store(name, blk)
|
834
|
+
end
|
835
|
+
|
836
|
+
extend Knockapi::Internal::Util::SorbetRuntimeSupport
|
837
|
+
|
838
|
+
define_sorbet_constant!(:ParsedUri) do
|
839
|
+
T.type_alias do
|
840
|
+
{
|
841
|
+
scheme: T.nilable(String),
|
842
|
+
host: T.nilable(String),
|
843
|
+
port: T.nilable(Integer),
|
844
|
+
path: T.nilable(String),
|
845
|
+
query: T::Hash[String, T::Array[String]]
|
846
|
+
}
|
847
|
+
end
|
848
|
+
end
|
849
|
+
|
850
|
+
define_sorbet_constant!(:ServerSentEvent) do
|
851
|
+
T.type_alias do
|
852
|
+
{
|
853
|
+
event: T.nilable(String),
|
854
|
+
data: T.nilable(String),
|
855
|
+
id: T.nilable(String),
|
856
|
+
retry: T.nilable(Integer)
|
857
|
+
}
|
858
|
+
end
|
859
|
+
end
|
788
860
|
end
|
789
861
|
end
|
790
862
|
end
|
data/lib/knockapi/internal.rb
CHANGED
@@ -2,10 +2,16 @@
|
|
2
2
|
|
3
3
|
module Knockapi
|
4
4
|
module Internal
|
5
|
+
extend Knockapi::Internal::Util::SorbetRuntimeSupport
|
6
|
+
|
5
7
|
OMIT =
|
6
8
|
Object.new.tap do
|
7
9
|
_1.define_singleton_method(:inspect) { "#<#{Knockapi::Internal}::OMIT>" }
|
8
10
|
end
|
9
11
|
.freeze
|
12
|
+
|
13
|
+
define_sorbet_constant!(:AnyHash) do
|
14
|
+
T.type_alias { T::Hash[Symbol, T.anything] }
|
15
|
+
end
|
10
16
|
end
|
11
17
|
end
|
@@ -19,8 +19,8 @@ module Knockapi
|
|
19
19
|
# @!attribute actor
|
20
20
|
# A recipient of a notification, which is either a user or an object.
|
21
21
|
#
|
22
|
-
# @return [Knockapi::
|
23
|
-
optional :actor, union: -> { Knockapi::
|
22
|
+
# @return [Knockapi::User, Knockapi::Object, nil]
|
23
|
+
optional :actor, union: -> { Knockapi::Recipient }, nil?: true
|
24
24
|
|
25
25
|
# @!attribute data
|
26
26
|
# The workflow trigger `data` payload associated with the activity.
|
@@ -37,8 +37,8 @@ module Knockapi
|
|
37
37
|
# @!attribute recipient
|
38
38
|
# A recipient of a notification, which is either a user or an object.
|
39
39
|
#
|
40
|
-
# @return [Knockapi::
|
41
|
-
optional :recipient, union: -> { Knockapi::
|
40
|
+
# @return [Knockapi::User, Knockapi::Object, nil]
|
41
|
+
optional :recipient, union: -> { Knockapi::Recipient }
|
42
42
|
|
43
43
|
# @!attribute updated_at
|
44
44
|
# Timestamp when the activity was last updated.
|
@@ -56,13 +56,13 @@ module Knockapi
|
|
56
56
|
#
|
57
57
|
# @param _typename [String] The typename of the schema.
|
58
58
|
#
|
59
|
-
# @param actor [Knockapi::
|
59
|
+
# @param actor [Knockapi::User, Knockapi::Object, nil] A recipient of a notification, which is either a user or an object.
|
60
60
|
#
|
61
61
|
# @param data [Hash{Symbol=>Object}, nil] The workflow trigger `data` payload associated with the activity.
|
62
62
|
#
|
63
63
|
# @param inserted_at [Time] Timestamp when the activity was created.
|
64
64
|
#
|
65
|
-
# @param recipient [Knockapi::
|
65
|
+
# @param recipient [Knockapi::User, Knockapi::Object] A recipient of a notification, which is either a user or an object.
|
66
66
|
#
|
67
67
|
# @param updated_at [Time] Timestamp when the activity was last updated.
|
68
68
|
end
|
@@ -10,20 +10,20 @@ module Knockapi
|
|
10
10
|
# @!attribute members
|
11
11
|
# A list of audience members to add.
|
12
12
|
#
|
13
|
-
# @return [Array<Knockapi::
|
14
|
-
required :members,
|
15
|
-
-> { Knockapi::Internal::Type::ArrayOf[Knockapi::Models::AudienceAddMembersParams::Member] }
|
13
|
+
# @return [Array<Knockapi::AudienceAddMembersParams::Member>]
|
14
|
+
required :members, -> { Knockapi::Internal::Type::ArrayOf[Knockapi::AudienceAddMembersParams::Member] }
|
16
15
|
|
17
16
|
# @!method initialize(members:, request_options: {})
|
18
|
-
# @param members [Array<Knockapi::
|
17
|
+
# @param members [Array<Knockapi::AudienceAddMembersParams::Member>] A list of audience members to add.
|
19
18
|
#
|
20
19
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}]
|
21
20
|
|
22
21
|
class Member < Knockapi::Internal::Type::BaseModel
|
23
22
|
# @!attribute user
|
23
|
+
# An object containing the user's ID.
|
24
24
|
#
|
25
|
-
# @return [Knockapi::
|
26
|
-
required :user, -> { Knockapi::
|
25
|
+
# @return [Knockapi::AudienceAddMembersParams::Member::User]
|
26
|
+
required :user, -> { Knockapi::AudienceAddMembersParams::Member::User }
|
27
27
|
|
28
28
|
# @!attribute tenant
|
29
29
|
# The unique identifier for the tenant.
|
@@ -34,11 +34,11 @@ module Knockapi
|
|
34
34
|
# @!method initialize(user:, tenant: nil)
|
35
35
|
# An audience member.
|
36
36
|
#
|
37
|
-
# @param user [Knockapi::
|
37
|
+
# @param user [Knockapi::AudienceAddMembersParams::Member::User] An object containing the user's ID.
|
38
38
|
#
|
39
39
|
# @param tenant [String, nil] The unique identifier for the tenant.
|
40
40
|
|
41
|
-
# @see Knockapi::
|
41
|
+
# @see Knockapi::AudienceAddMembersParams::Member#user
|
42
42
|
class User < Knockapi::Internal::Type::BaseModel
|
43
43
|
# @!attribute id
|
44
44
|
# The ID for the user that you set when identifying them in Knock.
|
@@ -47,6 +47,8 @@ module Knockapi
|
|
47
47
|
optional :id, String
|
48
48
|
|
49
49
|
# @!method initialize(id: nil)
|
50
|
+
# An object containing the user's ID.
|
51
|
+
#
|
50
52
|
# @param id [String] The ID for the user that you set when identifying them in Knock.
|
51
53
|
end
|
52
54
|
end
|
@@ -7,21 +7,21 @@ module Knockapi
|
|
7
7
|
# @!attribute entries
|
8
8
|
# A list of audience members.
|
9
9
|
#
|
10
|
-
# @return [Array<Knockapi::
|
11
|
-
required :entries, -> { Knockapi::Internal::Type::ArrayOf[Knockapi::
|
10
|
+
# @return [Array<Knockapi::AudienceMember>]
|
11
|
+
required :entries, -> { Knockapi::Internal::Type::ArrayOf[Knockapi::AudienceMember] }
|
12
12
|
|
13
13
|
# @!attribute page_info
|
14
14
|
# Pagination information for a list of resources.
|
15
15
|
#
|
16
|
-
# @return [Knockapi::
|
17
|
-
required :page_info, -> { Knockapi::
|
16
|
+
# @return [Knockapi::PageInfo]
|
17
|
+
required :page_info, -> { Knockapi::PageInfo }
|
18
18
|
|
19
19
|
# @!method initialize(entries:, page_info:)
|
20
20
|
# A paginated list of audience members.
|
21
21
|
#
|
22
|
-
# @param entries [Array<Knockapi::
|
22
|
+
# @param entries [Array<Knockapi::AudienceMember>] A list of audience members.
|
23
23
|
#
|
24
|
-
# @param page_info [Knockapi::
|
24
|
+
# @param page_info [Knockapi::PageInfo] Pagination information for a list of resources.
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -20,8 +20,8 @@ module Knockapi
|
|
20
20
|
# receive notifications through Knock. Users are the most common recipients of
|
21
21
|
# notifications and are always referenced by your internal identifier.
|
22
22
|
#
|
23
|
-
# @return [Knockapi::
|
24
|
-
required :user, -> { Knockapi::
|
23
|
+
# @return [Knockapi::User]
|
24
|
+
required :user, -> { Knockapi::User }
|
25
25
|
|
26
26
|
# @!attribute user_id
|
27
27
|
# The ID for the user that you set when identifying them in Knock.
|
@@ -36,8 +36,8 @@ module Knockapi
|
|
36
36
|
optional :tenant, String, nil?: true
|
37
37
|
|
38
38
|
# @!method initialize(_typename:, added_at:, user:, user_id:, tenant: nil)
|
39
|
-
# Some parameter documentations has been truncated, see
|
40
|
-
#
|
39
|
+
# Some parameter documentations has been truncated, see {Knockapi::AudienceMember}
|
40
|
+
# for more details.
|
41
41
|
#
|
42
42
|
# An audience member.
|
43
43
|
#
|
@@ -45,8 +45,7 @@ module Knockapi
|
|
45
45
|
#
|
46
46
|
# @param added_at [Time] Timestamp when the resource was created.
|
47
47
|
#
|
48
|
-
# @param user [Knockapi::
|
49
|
-
# ...
|
48
|
+
# @param user [Knockapi::User] A [User](/concepts/users) represents an individual in your system who can receiv
|
50
49
|
#
|
51
50
|
# @param user_id [String] The ID for the user that you set when identifying them in Knock.
|
52
51
|
#
|
@@ -10,20 +10,23 @@ module Knockapi
|
|
10
10
|
# @!attribute members
|
11
11
|
# A list of audience members to remove.
|
12
12
|
#
|
13
|
-
# @return [Array<Knockapi::
|
13
|
+
# @return [Array<Knockapi::AudienceRemoveMembersParams::Member>]
|
14
14
|
required :members,
|
15
|
-
-> {
|
15
|
+
-> {
|
16
|
+
Knockapi::Internal::Type::ArrayOf[Knockapi::AudienceRemoveMembersParams::Member]
|
17
|
+
}
|
16
18
|
|
17
19
|
# @!method initialize(members:, request_options: {})
|
18
|
-
# @param members [Array<Knockapi::
|
20
|
+
# @param members [Array<Knockapi::AudienceRemoveMembersParams::Member>] A list of audience members to remove.
|
19
21
|
#
|
20
22
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}]
|
21
23
|
|
22
24
|
class Member < Knockapi::Internal::Type::BaseModel
|
23
25
|
# @!attribute user
|
26
|
+
# An object containing the user's ID.
|
24
27
|
#
|
25
|
-
# @return [Knockapi::
|
26
|
-
required :user, -> { Knockapi::
|
28
|
+
# @return [Knockapi::AudienceRemoveMembersParams::Member::User]
|
29
|
+
required :user, -> { Knockapi::AudienceRemoveMembersParams::Member::User }
|
27
30
|
|
28
31
|
# @!attribute tenant
|
29
32
|
# The unique identifier for the tenant.
|
@@ -34,11 +37,11 @@ module Knockapi
|
|
34
37
|
# @!method initialize(user:, tenant: nil)
|
35
38
|
# An audience member.
|
36
39
|
#
|
37
|
-
# @param user [Knockapi::
|
40
|
+
# @param user [Knockapi::AudienceRemoveMembersParams::Member::User] An object containing the user's ID.
|
38
41
|
#
|
39
42
|
# @param tenant [String, nil] The unique identifier for the tenant.
|
40
43
|
|
41
|
-
# @see Knockapi::
|
44
|
+
# @see Knockapi::AudienceRemoveMembersParams::Member#user
|
42
45
|
class User < Knockapi::Internal::Type::BaseModel
|
43
46
|
# @!attribute id
|
44
47
|
# The ID for the user that you set when identifying them in Knock.
|
@@ -47,6 +50,8 @@ module Knockapi
|
|
47
50
|
optional :id, String
|
48
51
|
|
49
52
|
# @!method initialize(id: nil)
|
53
|
+
# An object containing the user's ID.
|
54
|
+
#
|
50
55
|
# @param id [String] The ID for the user that you set when identifying them in Knock.
|
51
56
|
end
|
52
57
|
end
|
@@ -43,8 +43,8 @@ module Knockapi
|
|
43
43
|
# @!attribute status
|
44
44
|
# The status of the bulk operation.
|
45
45
|
#
|
46
|
-
# @return [Symbol, Knockapi::
|
47
|
-
required :status, enum: -> { Knockapi::
|
46
|
+
# @return [Symbol, Knockapi::BulkOperation::Status]
|
47
|
+
required :status, enum: -> { Knockapi::BulkOperation::Status }
|
48
48
|
|
49
49
|
# @!attribute success_count
|
50
50
|
# The number of successful operations.
|
@@ -73,9 +73,8 @@ module Knockapi
|
|
73
73
|
# @!attribute error_items
|
74
74
|
# A list of items that failed to be processed.
|
75
75
|
#
|
76
|
-
# @return [Array<Knockapi::
|
77
|
-
optional :error_items,
|
78
|
-
-> { Knockapi::Internal::Type::ArrayOf[Knockapi::Models::BulkOperation::ErrorItem] }
|
76
|
+
# @return [Array<Knockapi::BulkOperation::ErrorItem>, nil]
|
77
|
+
optional :error_items, -> { Knockapi::Internal::Type::ArrayOf[Knockapi::BulkOperation::ErrorItem] }
|
79
78
|
|
80
79
|
# @!attribute failed_at
|
81
80
|
# Timestamp when the bulk operation failed.
|
@@ -110,7 +109,7 @@ module Knockapi
|
|
110
109
|
#
|
111
110
|
# @param processed_rows [Integer] The number of rows processed so far.
|
112
111
|
#
|
113
|
-
# @param status [Symbol, Knockapi::
|
112
|
+
# @param status [Symbol, Knockapi::BulkOperation::Status] The status of the bulk operation.
|
114
113
|
#
|
115
114
|
# @param success_count [Integer] The number of successful operations.
|
116
115
|
#
|
@@ -120,7 +119,7 @@ module Knockapi
|
|
120
119
|
#
|
121
120
|
# @param error_count [Integer] The number of failed operations.
|
122
121
|
#
|
123
|
-
# @param error_items [Array<Knockapi::
|
122
|
+
# @param error_items [Array<Knockapi::BulkOperation::ErrorItem>] A list of items that failed to be processed.
|
124
123
|
#
|
125
124
|
# @param failed_at [Time, nil] Timestamp when the bulk operation failed.
|
126
125
|
#
|
@@ -130,7 +129,7 @@ module Knockapi
|
|
130
129
|
|
131
130
|
# The status of the bulk operation.
|
132
131
|
#
|
133
|
-
# @see Knockapi::
|
132
|
+
# @see Knockapi::BulkOperation#status
|
134
133
|
module Status
|
135
134
|
extend Knockapi::Internal::Type::Enum
|
136
135
|
|