knockapi 0.6.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ignore +2 -0
- data/CHANGELOG.md +20 -0
- data/README.md +157 -94
- data/SECURITY.md +27 -0
- data/lib/knockapi/client.rb +122 -0
- data/lib/knockapi/errors.rb +192 -0
- data/lib/knockapi/file_part.rb +55 -0
- data/lib/knockapi/internal/entries_cursor.rb +101 -0
- data/lib/knockapi/internal/items_cursor.rb +101 -0
- data/lib/knockapi/internal/ms_teams_pagination.rb +86 -0
- data/lib/knockapi/internal/slack_channels_cursor.rb +86 -0
- data/lib/knockapi/internal/transport/base_client.rb +483 -0
- data/lib/knockapi/internal/transport/pooled_net_requester.rb +193 -0
- data/lib/knockapi/internal/type/array_of.rb +154 -0
- data/lib/knockapi/internal/type/base_model.rb +445 -0
- data/lib/knockapi/internal/type/base_page.rb +55 -0
- data/lib/knockapi/internal/type/boolean.rb +63 -0
- data/lib/knockapi/internal/type/converter.rb +274 -0
- data/lib/knockapi/internal/type/enum.rb +107 -0
- data/lib/knockapi/internal/type/file_input.rb +96 -0
- data/lib/knockapi/internal/type/hash_of.rb +174 -0
- data/lib/knockapi/internal/type/request_parameters.rb +48 -0
- data/lib/knockapi/internal/type/union.rb +225 -0
- data/lib/knockapi/internal/type/unknown.rb +67 -0
- data/lib/knockapi/internal/util.rb +790 -0
- data/lib/knockapi/internal.rb +11 -0
- data/lib/knockapi/models/activity.rb +70 -0
- data/lib/knockapi/models/audience_add_members_params.rb +55 -0
- data/lib/knockapi/models/audience_list_members_params.rb +14 -0
- data/lib/knockapi/models/audience_list_members_response.rb +27 -0
- data/lib/knockapi/models/audience_member.rb +56 -0
- data/lib/knockapi/models/audience_remove_members_params.rb +55 -0
- data/lib/knockapi/models/bulk_operation.rb +166 -0
- data/lib/knockapi/models/bulk_operation_get_params.rb +14 -0
- data/lib/knockapi/models/channels/bulk_update_message_status_params.rb +167 -0
- data/lib/knockapi/models/condition.rb +63 -0
- data/lib/knockapi/models/identify_user_request.rb +98 -0
- data/lib/knockapi/models/inline_identify_user_request.rb +49 -0
- data/lib/knockapi/models/inline_object_request.rb +54 -0
- data/lib/knockapi/models/inline_tenant_request.rb +19 -0
- data/lib/knockapi/models/integrations/census_custom_destination_params.rb +48 -0
- data/lib/knockapi/models/integrations/census_custom_destination_response.rb +27 -0
- data/lib/knockapi/models/integrations/hightouch_embedded_destination_params.rb +48 -0
- data/lib/knockapi/models/integrations/hightouch_embedded_destination_response.rb +27 -0
- data/lib/knockapi/models/message.rb +268 -0
- data/lib/knockapi/models/message_archive_params.rb +14 -0
- data/lib/knockapi/models/message_delivery_log.rb +202 -0
- data/lib/knockapi/models/message_event.rb +91 -0
- data/lib/knockapi/models/message_get_content_params.rb +14 -0
- data/lib/knockapi/models/message_get_content_response.rb +496 -0
- data/lib/knockapi/models/message_get_params.rb +14 -0
- data/lib/knockapi/models/message_list_activities_params.rb +46 -0
- data/lib/knockapi/models/message_list_delivery_logs_params.rb +38 -0
- data/lib/knockapi/models/message_list_events_params.rb +38 -0
- data/lib/knockapi/models/message_list_params.rb +200 -0
- data/lib/knockapi/models/message_mark_as_interacted_params.rb +22 -0
- data/lib/knockapi/models/message_mark_as_read_params.rb +14 -0
- data/lib/knockapi/models/message_mark_as_seen_params.rb +14 -0
- data/lib/knockapi/models/message_mark_as_unread_params.rb +14 -0
- data/lib/knockapi/models/message_mark_as_unseen_params.rb +14 -0
- data/lib/knockapi/models/message_unarchive_params.rb +14 -0
- data/lib/knockapi/models/messages/activity_list_params.rb +48 -0
- data/lib/knockapi/models/messages/batch_archive_params.rb +24 -0
- data/lib/knockapi/models/messages/batch_archive_response.rb +10 -0
- data/lib/knockapi/models/messages/batch_get_content_params.rb +24 -0
- data/lib/knockapi/models/messages/batch_get_content_response.rb +504 -0
- data/lib/knockapi/models/messages/batch_mark_as_interacted_params.rb +32 -0
- data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +10 -0
- data/lib/knockapi/models/messages/batch_mark_as_read_params.rb +24 -0
- data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +10 -0
- data/lib/knockapi/models/messages/batch_mark_as_seen_params.rb +24 -0
- data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +10 -0
- data/lib/knockapi/models/messages/batch_mark_as_unread_params.rb +24 -0
- data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +10 -0
- data/lib/knockapi/models/messages/batch_mark_as_unseen_params.rb +24 -0
- data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +10 -0
- data/lib/knockapi/models/messages/batch_unarchive_params.rb +24 -0
- data/lib/knockapi/models/messages/batch_unarchive_response.rb +10 -0
- data/lib/knockapi/models/object.rb +51 -0
- data/lib/knockapi/models/object_add_subscriptions_params.rb +35 -0
- data/lib/knockapi/models/object_add_subscriptions_response.rb +9 -0
- data/lib/knockapi/models/object_delete_params.rb +14 -0
- data/lib/knockapi/models/object_delete_subscriptions_params.rb +28 -0
- data/lib/knockapi/models/object_delete_subscriptions_response.rb +9 -0
- data/lib/knockapi/models/object_get_channel_data_params.rb +14 -0
- data/lib/knockapi/models/object_get_params.rb +14 -0
- data/lib/knockapi/models/object_get_preferences_params.rb +14 -0
- data/lib/knockapi/models/object_list_messages_params.rb +200 -0
- data/lib/knockapi/models/object_list_params.rb +56 -0
- data/lib/knockapi/models/object_list_preferences_params.rb +14 -0
- data/lib/knockapi/models/object_list_preferences_response.rb +9 -0
- data/lib/knockapi/models/object_list_schedules_params.rb +54 -0
- data/lib/knockapi/models/object_list_subscriptions_params.rb +122 -0
- data/lib/knockapi/models/object_set_channel_data_params.rb +14 -0
- data/lib/knockapi/models/object_set_params.rb +57 -0
- data/lib/knockapi/models/object_set_preferences_params.rb +14 -0
- data/lib/knockapi/models/object_unset_channel_data_params.rb +14 -0
- data/lib/knockapi/models/objects/bulk_add_subscriptions_params.rb +52 -0
- data/lib/knockapi/models/objects/bulk_delete_params.rb +24 -0
- data/lib/knockapi/models/objects/bulk_set_params.rb +24 -0
- data/lib/knockapi/models/page_info.rb +42 -0
- data/lib/knockapi/models/providers/ms_team_check_auth_params.rb +24 -0
- data/lib/knockapi/models/providers/ms_team_check_auth_response.rb +43 -0
- data/lib/knockapi/models/providers/ms_team_list_channels_params.rb +66 -0
- data/lib/knockapi/models/providers/ms_team_list_channels_response.rb +74 -0
- data/lib/knockapi/models/providers/ms_team_list_teams_params.rb +78 -0
- data/lib/knockapi/models/providers/ms_team_list_teams_response.rb +35 -0
- data/lib/knockapi/models/providers/ms_team_revoke_access_params.rb +24 -0
- data/lib/knockapi/models/providers/ms_team_revoke_access_response.rb +21 -0
- data/lib/knockapi/models/providers/slack_check_auth_params.rb +24 -0
- data/lib/knockapi/models/providers/slack_check_auth_response.rb +43 -0
- data/lib/knockapi/models/providers/slack_list_channels_params.rb +83 -0
- data/lib/knockapi/models/providers/slack_list_channels_response.rb +53 -0
- data/lib/knockapi/models/providers/slack_revoke_access_params.rb +24 -0
- data/lib/knockapi/models/providers/slack_revoke_access_response.rb +21 -0
- data/lib/knockapi/models/recipient.rb +19 -0
- data/lib/knockapi/models/recipient_reference.rb +41 -0
- data/lib/knockapi/models/recipient_request.rb +24 -0
- data/lib/knockapi/models/recipients/channel_data.rb +88 -0
- data/lib/knockapi/models/recipients/channel_data_request.rb +45 -0
- data/lib/knockapi/models/recipients/discord_channel_data.rb +77 -0
- data/lib/knockapi/models/recipients/inline_channel_data_request.rb +11 -0
- data/lib/knockapi/models/recipients/inline_preference_set_request.rb +11 -0
- data/lib/knockapi/models/recipients/ms_teams_channel_data.rb +108 -0
- data/lib/knockapi/models/recipients/one_signal_channel_data.rb +20 -0
- data/lib/knockapi/models/recipients/preference_set.rb +126 -0
- data/lib/knockapi/models/recipients/preference_set_channel_type_setting.rb +21 -0
- data/lib/knockapi/models/recipients/preference_set_channel_types.rb +150 -0
- data/lib/knockapi/models/recipients/preference_set_request.rb +117 -0
- data/lib/knockapi/models/recipients/push_channel_data.rb +20 -0
- data/lib/knockapi/models/recipients/slack_channel_data.rb +99 -0
- data/lib/knockapi/models/recipients/subscription.rb +60 -0
- data/lib/knockapi/models/schedule.rb +113 -0
- data/lib/knockapi/models/schedule_create_params.rb +75 -0
- data/lib/knockapi/models/schedule_create_response.rb +8 -0
- data/lib/knockapi/models/schedule_delete_params.rb +22 -0
- data/lib/knockapi/models/schedule_delete_response.rb +8 -0
- data/lib/knockapi/models/schedule_list_params.rb +62 -0
- data/lib/knockapi/models/schedule_repeat_rule.rb +99 -0
- data/lib/knockapi/models/schedule_update_params.rb +75 -0
- data/lib/knockapi/models/schedule_update_response.rb +8 -0
- data/lib/knockapi/models/schedules/bulk_create_params.rb +103 -0
- data/lib/knockapi/models/tenant.rb +115 -0
- data/lib/knockapi/models/tenant_delete_params.rb +14 -0
- data/lib/knockapi/models/tenant_get_params.rb +14 -0
- data/lib/knockapi/models/tenant_list_params.rb +54 -0
- data/lib/knockapi/models/tenant_request.rb +114 -0
- data/lib/knockapi/models/tenant_set_params.rb +108 -0
- data/lib/knockapi/models/tenants/bulk_delete_params.rb +24 -0
- data/lib/knockapi/models/tenants/bulk_set_params.rb +24 -0
- data/lib/knockapi/models/user.rb +94 -0
- data/lib/knockapi/models/user_delete_params.rb +14 -0
- data/lib/knockapi/models/user_get_channel_data_params.rb +14 -0
- data/lib/knockapi/models/user_get_params.rb +14 -0
- data/lib/knockapi/models/user_get_preferences_params.rb +22 -0
- data/lib/knockapi/models/user_list_messages_params.rb +200 -0
- data/lib/knockapi/models/user_list_params.rb +56 -0
- data/lib/knockapi/models/user_list_preferences_params.rb +14 -0
- data/lib/knockapi/models/user_list_preferences_response.rb +9 -0
- data/lib/knockapi/models/user_list_schedules_params.rb +54 -0
- data/lib/knockapi/models/user_list_subscriptions_params.rb +64 -0
- data/lib/knockapi/models/user_merge_params.rb +22 -0
- data/lib/knockapi/models/user_set_channel_data_params.rb +14 -0
- data/lib/knockapi/models/user_set_preferences_params.rb +14 -0
- data/lib/knockapi/models/user_unset_channel_data_params.rb +14 -0
- data/lib/knockapi/models/user_update_params.rb +14 -0
- data/lib/knockapi/models/users/bulk_delete_params.rb +24 -0
- data/lib/knockapi/models/users/bulk_identify_params.rb +24 -0
- data/lib/knockapi/models/users/bulk_set_preferences_params.rb +32 -0
- data/lib/knockapi/models/users/feed_get_settings_params.rb +16 -0
- data/lib/knockapi/models/users/feed_get_settings_response.rb +35 -0
- data/lib/knockapi/models/users/feed_list_items_params.rb +122 -0
- data/lib/knockapi/models/users/feed_list_items_response.rb +333 -0
- data/lib/knockapi/models/users/guide_get_channel_params.rb +40 -0
- data/lib/knockapi/models/users/guide_get_channel_response.rb +79 -0
- data/lib/knockapi/models/users/guide_mark_message_as_archived_params.rb +88 -0
- data/lib/knockapi/models/users/guide_mark_message_as_archived_response.rb +21 -0
- data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +88 -0
- data/lib/knockapi/models/users/guide_mark_message_as_interacted_response.rb +21 -0
- data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +88 -0
- data/lib/knockapi/models/users/guide_mark_message_as_seen_response.rb +21 -0
- data/lib/knockapi/models/workflow_cancel_params.rb +42 -0
- data/lib/knockapi/models/workflow_trigger_params.rb +67 -0
- data/lib/knockapi/models/workflow_trigger_response.rb +24 -0
- data/lib/knockapi/request_options.rb +73 -0
- data/lib/knockapi/resources/audiences.rb +82 -0
- data/lib/knockapi/resources/bulk_operations.rb +34 -0
- data/lib/knockapi/resources/channels/bulk.rb +67 -0
- data/lib/knockapi/resources/channels.rb +18 -0
- data/lib/knockapi/resources/integrations/census.rb +44 -0
- data/lib/knockapi/resources/integrations/hightouch.rb +44 -0
- data/lib/knockapi/resources/integrations.rb +22 -0
- data/lib/knockapi/resources/messages/activities.rb +47 -0
- data/lib/knockapi/resources/messages/batch.rb +208 -0
- data/lib/knockapi/resources/messages.rb +365 -0
- data/lib/knockapi/resources/objects/bulk.rb +92 -0
- data/lib/knockapi/resources/objects.rb +508 -0
- data/lib/knockapi/resources/providers/ms_teams.rb +122 -0
- data/lib/knockapi/resources/providers/slack.rb +91 -0
- data/lib/knockapi/resources/providers.rb +22 -0
- data/lib/knockapi/resources/recipients/channel_data.rb +16 -0
- data/lib/knockapi/resources/recipients/preferences.rb +16 -0
- data/lib/knockapi/resources/recipients/subscriptions.rb +16 -0
- data/lib/knockapi/resources/recipients.rb +26 -0
- data/lib/knockapi/resources/schedules/bulk.rb +40 -0
- data/lib/knockapi/resources/schedules.rb +159 -0
- data/lib/knockapi/resources/shared.rb +14 -0
- data/lib/knockapi/resources/tenants/bulk.rb +60 -0
- data/lib/knockapi/resources/tenants.rb +118 -0
- data/lib/knockapi/resources/users/bulk.rb +89 -0
- data/lib/knockapi/resources/users/feeds.rb +84 -0
- data/lib/knockapi/resources/users/guides.rb +175 -0
- data/lib/knockapi/resources/users.rb +448 -0
- data/lib/knockapi/resources/workflows.rb +89 -0
- data/lib/knockapi/version.rb +5 -0
- data/lib/knockapi.rb +239 -0
- data/manifest.yaml +15 -0
- data/rbi/knockapi/client.rbi +84 -0
- data/rbi/knockapi/errors.rbi +143 -0
- data/rbi/knockapi/file_part.rbi +34 -0
- data/rbi/knockapi/internal/entries_cursor.rbi +35 -0
- data/rbi/knockapi/internal/items_cursor.rbi +35 -0
- data/rbi/knockapi/internal/ms_teams_pagination.rbi +21 -0
- data/rbi/knockapi/internal/slack_channels_cursor.rbi +21 -0
- data/rbi/knockapi/internal/transport/base_client.rbi +213 -0
- data/rbi/knockapi/internal/transport/pooled_net_requester.rbi +60 -0
- data/rbi/knockapi/internal/type/array_of.rbi +88 -0
- data/rbi/knockapi/internal/type/base_model.rbi +219 -0
- data/rbi/knockapi/internal/type/base_page.rbi +38 -0
- data/rbi/knockapi/internal/type/boolean.rbi +48 -0
- data/rbi/knockapi/internal/type/converter.rbi +120 -0
- data/rbi/knockapi/internal/type/enum.rbi +64 -0
- data/rbi/knockapi/internal/type/file_input.rbi +50 -0
- data/rbi/knockapi/internal/type/hash_of.rbi +88 -0
- data/rbi/knockapi/internal/type/request_parameters.rbi +21 -0
- data/rbi/knockapi/internal/type/union.rbi +75 -0
- data/rbi/knockapi/internal/type/unknown.rbi +40 -0
- data/rbi/knockapi/internal/util.rbi +299 -0
- data/rbi/knockapi/internal.rbi +11 -0
- data/rbi/knockapi/models/activity.rbi +101 -0
- data/rbi/knockapi/models/audience_add_members_params.rbi +88 -0
- data/rbi/knockapi/models/audience_list_members_params.rbi +19 -0
- data/rbi/knockapi/models/audience_list_members_response.rbi +38 -0
- data/rbi/knockapi/models/audience_member.rbi +65 -0
- data/rbi/knockapi/models/audience_remove_members_params.rbi +90 -0
- data/rbi/knockapi/models/bulk_operation.rbi +194 -0
- data/rbi/knockapi/models/bulk_operation_get_params.rbi +19 -0
- data/rbi/knockapi/models/channels/bulk_update_message_status_params.rbi +287 -0
- data/rbi/knockapi/models/condition.rbi +77 -0
- data/rbi/knockapi/models/identify_user_request.rbi +110 -0
- data/rbi/knockapi/models/inline_identify_user_request.rbi +63 -0
- data/rbi/knockapi/models/inline_object_request.rbi +68 -0
- data/rbi/knockapi/models/inline_tenant_request.rbi +13 -0
- data/rbi/knockapi/models/integrations/census_custom_destination_params.rbi +66 -0
- data/rbi/knockapi/models/integrations/census_custom_destination_response.rbi +33 -0
- data/rbi/knockapi/models/integrations/hightouch_embedded_destination_params.rbi +66 -0
- data/rbi/knockapi/models/integrations/hightouch_embedded_destination_response.rbi +33 -0
- data/rbi/knockapi/models/message.rbi +322 -0
- data/rbi/knockapi/models/message_archive_params.rbi +19 -0
- data/rbi/knockapi/models/message_delivery_log.rbi +260 -0
- data/rbi/knockapi/models/message_event.rbi +103 -0
- data/rbi/knockapi/models/message_get_content_params.rbi +19 -0
- data/rbi/knockapi/models/message_get_content_response.rbi +738 -0
- data/rbi/knockapi/models/message_get_params.rbi +19 -0
- data/rbi/knockapi/models/message_list_activities_params.rbi +73 -0
- data/rbi/knockapi/models/message_list_delivery_logs_params.rbi +60 -0
- data/rbi/knockapi/models/message_list_events_params.rbi +60 -0
- data/rbi/knockapi/models/message_list_params.rbi +271 -0
- data/rbi/knockapi/models/message_mark_as_interacted_params.rbi +34 -0
- data/rbi/knockapi/models/message_mark_as_read_params.rbi +19 -0
- data/rbi/knockapi/models/message_mark_as_seen_params.rbi +19 -0
- data/rbi/knockapi/models/message_mark_as_unread_params.rbi +19 -0
- data/rbi/knockapi/models/message_mark_as_unseen_params.rbi +19 -0
- data/rbi/knockapi/models/message_unarchive_params.rbi +19 -0
- data/rbi/knockapi/models/messages/activity_list_params.rbi +75 -0
- data/rbi/knockapi/models/messages/batch_archive_params.rbi +31 -0
- data/rbi/knockapi/models/messages/batch_archive_response.rbi +10 -0
- data/rbi/knockapi/models/messages/batch_get_content_params.rbi +31 -0
- data/rbi/knockapi/models/messages/batch_get_content_response.rbi +748 -0
- data/rbi/knockapi/models/messages/batch_mark_as_interacted_params.rbi +47 -0
- data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +10 -0
- data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +31 -0
- data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +10 -0
- data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +31 -0
- data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +10 -0
- data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +31 -0
- data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +10 -0
- data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +31 -0
- data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +10 -0
- data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +31 -0
- data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +10 -0
- data/rbi/knockapi/models/object.rbi +58 -0
- data/rbi/knockapi/models/object_add_subscriptions_params.rbi +58 -0
- data/rbi/knockapi/models/object_add_subscriptions_response.rbi +11 -0
- data/rbi/knockapi/models/object_delete_params.rbi +19 -0
- data/rbi/knockapi/models/object_delete_subscriptions_params.rbi +39 -0
- data/rbi/knockapi/models/object_delete_subscriptions_response.rbi +11 -0
- data/rbi/knockapi/models/object_get_channel_data_params.rbi +19 -0
- data/rbi/knockapi/models/object_get_params.rbi +19 -0
- data/rbi/knockapi/models/object_get_preferences_params.rbi +19 -0
- data/rbi/knockapi/models/object_list_messages_params.rbi +281 -0
- data/rbi/knockapi/models/object_list_params.rbi +85 -0
- data/rbi/knockapi/models/object_list_preferences_params.rbi +19 -0
- data/rbi/knockapi/models/object_list_preferences_response.rbi +11 -0
- data/rbi/knockapi/models/object_list_schedules_params.rbi +84 -0
- data/rbi/knockapi/models/object_list_subscriptions_params.rbi +175 -0
- data/rbi/knockapi/models/object_set_channel_data_params.rbi +19 -0
- data/rbi/knockapi/models/object_set_params.rbi +85 -0
- data/rbi/knockapi/models/object_set_preferences_params.rbi +19 -0
- data/rbi/knockapi/models/object_unset_channel_data_params.rbi +19 -0
- data/rbi/knockapi/models/objects/bulk_add_subscriptions_params.rbi +86 -0
- data/rbi/knockapi/models/objects/bulk_delete_params.rbi +31 -0
- data/rbi/knockapi/models/objects/bulk_set_params.rbi +36 -0
- data/rbi/knockapi/models/page_info.rbi +49 -0
- data/rbi/knockapi/models/providers/ms_team_check_auth_params.rbi +31 -0
- data/rbi/knockapi/models/providers/ms_team_check_auth_response.rbi +56 -0
- data/rbi/knockapi/models/providers/ms_team_list_channels_params.rbi +91 -0
- data/rbi/knockapi/models/providers/ms_team_list_channels_response.rbi +113 -0
- data/rbi/knockapi/models/providers/ms_team_list_teams_params.rbi +107 -0
- data/rbi/knockapi/models/providers/ms_team_list_teams_response.rbi +35 -0
- data/rbi/knockapi/models/providers/ms_team_revoke_access_params.rbi +31 -0
- data/rbi/knockapi/models/providers/ms_team_revoke_access_response.rbi +25 -0
- data/rbi/knockapi/models/providers/slack_check_auth_params.rbi +31 -0
- data/rbi/knockapi/models/providers/slack_check_auth_response.rbi +56 -0
- data/rbi/knockapi/models/providers/slack_list_channels_params.rbi +130 -0
- data/rbi/knockapi/models/providers/slack_list_channels_response.rbi +58 -0
- data/rbi/knockapi/models/providers/slack_revoke_access_params.rbi +31 -0
- data/rbi/knockapi/models/providers/slack_revoke_access_response.rbi +25 -0
- data/rbi/knockapi/models/recipient.rbi +13 -0
- data/rbi/knockapi/models/recipient_reference.rbi +41 -0
- data/rbi/knockapi/models/recipient_request.rbi +18 -0
- data/rbi/knockapi/models/recipients/channel_data.rbi +125 -0
- data/rbi/knockapi/models/recipients/channel_data_request.rbi +70 -0
- data/rbi/knockapi/models/recipients/discord_channel_data.rbi +143 -0
- data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +13 -0
- data/rbi/knockapi/models/recipients/inline_preference_set_request.rbi +13 -0
- data/rbi/knockapi/models/recipients/ms_teams_channel_data.rbi +186 -0
- data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +22 -0
- data/rbi/knockapi/models/recipients/preference_set.rbi +243 -0
- data/rbi/knockapi/models/recipients/preference_set_channel_type_setting.rbi +26 -0
- data/rbi/knockapi/models/recipients/preference_set_channel_types.rbi +218 -0
- data/rbi/knockapi/models/recipients/preference_set_request.rbi +234 -0
- data/rbi/knockapi/models/recipients/push_channel_data.rbi +22 -0
- data/rbi/knockapi/models/recipients/slack_channel_data.rbi +154 -0
- data/rbi/knockapi/models/recipients/subscription.rbi +77 -0
- data/rbi/knockapi/models/schedule.rbi +127 -0
- data/rbi/knockapi/models/schedule_create_params.rbi +98 -0
- data/rbi/knockapi/models/schedule_create_response.rbi +8 -0
- data/rbi/knockapi/models/schedule_delete_params.rbi +29 -0
- data/rbi/knockapi/models/schedule_delete_response.rbi +8 -0
- data/rbi/knockapi/models/schedule_list_params.rbi +92 -0
- data/rbi/knockapi/models/schedule_repeat_rule.rbi +118 -0
- data/rbi/knockapi/models/schedule_update_params.rbi +92 -0
- data/rbi/knockapi/models/schedule_update_response.rbi +8 -0
- data/rbi/knockapi/models/schedules/bulk_create_params.rbi +172 -0
- data/rbi/knockapi/models/tenant.rbi +162 -0
- data/rbi/knockapi/models/tenant_delete_params.rbi +19 -0
- data/rbi/knockapi/models/tenant_get_params.rbi +19 -0
- data/rbi/knockapi/models/tenant_list_params.rbi +84 -0
- data/rbi/knockapi/models/tenant_request.rbi +168 -0
- data/rbi/knockapi/models/tenant_set_params.rbi +166 -0
- data/rbi/knockapi/models/tenants/bulk_delete_params.rbi +31 -0
- data/rbi/knockapi/models/tenants/bulk_set_params.rbi +36 -0
- data/rbi/knockapi/models/user.rbi +106 -0
- data/rbi/knockapi/models/user_delete_params.rbi +19 -0
- data/rbi/knockapi/models/user_get_channel_data_params.rbi +19 -0
- data/rbi/knockapi/models/user_get_params.rbi +19 -0
- data/rbi/knockapi/models/user_get_preferences_params.rbi +29 -0
- data/rbi/knockapi/models/user_list_messages_params.rbi +277 -0
- data/rbi/knockapi/models/user_list_params.rbi +85 -0
- data/rbi/knockapi/models/user_list_preferences_params.rbi +19 -0
- data/rbi/knockapi/models/user_list_preferences_response.rbi +11 -0
- data/rbi/knockapi/models/user_list_schedules_params.rbi +84 -0
- data/rbi/knockapi/models/user_list_subscriptions_params.rbi +96 -0
- data/rbi/knockapi/models/user_merge_params.rbi +29 -0
- data/rbi/knockapi/models/user_set_channel_data_params.rbi +19 -0
- data/rbi/knockapi/models/user_set_preferences_params.rbi +19 -0
- data/rbi/knockapi/models/user_unset_channel_data_params.rbi +19 -0
- data/rbi/knockapi/models/user_update_params.rbi +19 -0
- data/rbi/knockapi/models/users/bulk_delete_params.rbi +31 -0
- data/rbi/knockapi/models/users/bulk_identify_params.rbi +36 -0
- data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +55 -0
- data/rbi/knockapi/models/users/feed_get_settings_params.rbi +21 -0
- data/rbi/knockapi/models/users/feed_get_settings_response.rbi +50 -0
- data/rbi/knockapi/models/users/feed_list_items_params.rbi +173 -0
- data/rbi/knockapi/models/users/feed_list_items_response.rbi +443 -0
- data/rbi/knockapi/models/users/guide_get_channel_params.rbi +63 -0
- data/rbi/knockapi/models/users/guide_get_channel_response.rbi +124 -0
- data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +115 -0
- data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +22 -0
- data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +115 -0
- data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +22 -0
- data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +115 -0
- data/rbi/knockapi/models/users/guide_mark_message_as_seen_response.rbi +22 -0
- data/rbi/knockapi/models/workflow_cancel_params.rbi +57 -0
- data/rbi/knockapi/models/workflow_trigger_params.rbi +109 -0
- data/rbi/knockapi/models/workflow_trigger_response.rbi +22 -0
- data/rbi/knockapi/request_options.rbi +48 -0
- data/rbi/knockapi/resources/audiences.rbi +53 -0
- data/rbi/knockapi/resources/bulk_operations.rbi +18 -0
- data/rbi/knockapi/resources/channels/bulk.rbi +64 -0
- data/rbi/knockapi/resources/channels.rbi +14 -0
- data/rbi/knockapi/resources/integrations/census.rbi +35 -0
- data/rbi/knockapi/resources/integrations/hightouch.rbi +35 -0
- data/rbi/knockapi/resources/integrations.rbi +17 -0
- data/rbi/knockapi/resources/messages/activities.rbi +38 -0
- data/rbi/knockapi/resources/messages/batch.rbi +113 -0
- data/rbi/knockapi/resources/messages.rbi +231 -0
- data/rbi/knockapi/resources/objects/bulk.rbi +61 -0
- data/rbi/knockapi/resources/objects.rbi +434 -0
- data/rbi/knockapi/resources/providers/ms_teams.rbi +79 -0
- data/rbi/knockapi/resources/providers/slack.rbi +55 -0
- data/rbi/knockapi/resources/providers.rbi +17 -0
- data/rbi/knockapi/resources/recipients/channel_data.rbi +13 -0
- data/rbi/knockapi/resources/recipients/preferences.rbi +13 -0
- data/rbi/knockapi/resources/recipients/subscriptions.rbi +13 -0
- data/rbi/knockapi/resources/recipients.rbi +20 -0
- data/rbi/knockapi/resources/schedules/bulk.rbi +28 -0
- data/rbi/knockapi/resources/schedules.rbi +135 -0
- data/rbi/knockapi/resources/shared.rbi +11 -0
- data/rbi/knockapi/resources/tenants/bulk.rbi +36 -0
- data/rbi/knockapi/resources/tenants.rbi +80 -0
- data/rbi/knockapi/resources/users/bulk.rbi +57 -0
- data/rbi/knockapi/resources/users/feeds.rbi +72 -0
- data/rbi/knockapi/resources/users/guides.rbi +170 -0
- data/rbi/knockapi/resources/users.rbi +357 -0
- data/rbi/knockapi/resources/workflows.rbi +92 -0
- data/rbi/knockapi/version.rbi +5 -0
- data/sig/knockapi/client.rbs +50 -0
- data/sig/knockapi/errors.rbs +101 -0
- data/sig/knockapi/file_part.rbs +21 -0
- data/sig/knockapi/internal/entries_cursor.rbs +24 -0
- data/sig/knockapi/internal/items_cursor.rbs +24 -0
- data/sig/knockapi/internal/ms_teams_pagination.rbs +13 -0
- data/sig/knockapi/internal/slack_channels_cursor.rbs +13 -0
- data/sig/knockapi/internal/transport/base_client.rbs +116 -0
- data/sig/knockapi/internal/transport/pooled_net_requester.rbs +41 -0
- data/sig/knockapi/internal/type/array_of.rbs +45 -0
- data/sig/knockapi/internal/type/base_model.rbs +94 -0
- data/sig/knockapi/internal/type/base_page.rbs +24 -0
- data/sig/knockapi/internal/type/boolean.rbs +23 -0
- data/sig/knockapi/internal/type/converter.rbs +54 -0
- data/sig/knockapi/internal/type/enum.rbs +29 -0
- data/sig/knockapi/internal/type/file_input.rbs +23 -0
- data/sig/knockapi/internal/type/hash_of.rbs +45 -0
- data/sig/knockapi/internal/type/request_parameters.rbs +15 -0
- data/sig/knockapi/internal/type/union.rbs +49 -0
- data/sig/knockapi/internal/type/unknown.rbs +23 -0
- data/sig/knockapi/internal/util.rbs +158 -0
- data/sig/knockapi/internal.rbs +5 -0
- data/sig/knockapi/models/activity.rbs +54 -0
- data/sig/knockapi/models/audience_add_members_params.rbs +52 -0
- data/sig/knockapi/models/audience_list_members_params.rbs +15 -0
- data/sig/knockapi/models/audience_list_members_response.rbs +22 -0
- data/sig/knockapi/models/audience_member.rbs +34 -0
- data/sig/knockapi/models/audience_remove_members_params.rbs +54 -0
- data/sig/knockapi/models/bulk_operation.rbs +107 -0
- data/sig/knockapi/models/bulk_operation_get_params.rbs +15 -0
- data/sig/knockapi/models/channels/bulk_update_message_status_params.rbs +176 -0
- data/sig/knockapi/models/condition.rbs +71 -0
- data/sig/knockapi/models/identify_user_request.rbs +50 -0
- data/sig/knockapi/models/inline_identify_user_request.rbs +30 -0
- data/sig/knockapi/models/inline_object_request.rbs +34 -0
- data/sig/knockapi/models/inline_tenant_request.rbs +11 -0
- data/sig/knockapi/models/integrations/census_custom_destination_params.rbs +39 -0
- data/sig/knockapi/models/integrations/census_custom_destination_response.rbs +22 -0
- data/sig/knockapi/models/integrations/hightouch_embedded_destination_params.rbs +39 -0
- data/sig/knockapi/models/integrations/hightouch_embedded_destination_response.rbs +22 -0
- data/sig/knockapi/models/message.rbs +193 -0
- data/sig/knockapi/models/message_archive_params.rbs +15 -0
- data/sig/knockapi/models/message_delivery_log.rbs +152 -0
- data/sig/knockapi/models/message_event.rbs +77 -0
- data/sig/knockapi/models/message_get_content_params.rbs +15 -0
- data/sig/knockapi/models/message_get_content_response.rbs +338 -0
- data/sig/knockapi/models/message_get_params.rbs +15 -0
- data/sig/knockapi/models/message_list_activities_params.rbs +43 -0
- data/sig/knockapi/models/message_list_delivery_logs_params.rbs +33 -0
- data/sig/knockapi/models/message_list_events_params.rbs +33 -0
- data/sig/knockapi/models/message_list_params.rbs +176 -0
- data/sig/knockapi/models/message_mark_as_interacted_params.rbs +23 -0
- data/sig/knockapi/models/message_mark_as_read_params.rbs +15 -0
- data/sig/knockapi/models/message_mark_as_seen_params.rbs +15 -0
- data/sig/knockapi/models/message_mark_as_unread_params.rbs +15 -0
- data/sig/knockapi/models/message_mark_as_unseen_params.rbs +15 -0
- data/sig/knockapi/models/message_unarchive_params.rbs +15 -0
- data/sig/knockapi/models/messages/activity_list_params.rbs +45 -0
- data/sig/knockapi/models/messages/batch_archive_params.rbs +23 -0
- data/sig/knockapi/models/messages/batch_archive_response.rbs +9 -0
- data/sig/knockapi/models/messages/batch_get_content_params.rbs +23 -0
- data/sig/knockapi/models/messages/batch_get_content_response.rbs +349 -0
- data/sig/knockapi/models/messages/batch_mark_as_interacted_params.rbs +26 -0
- data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +10 -0
- data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +23 -0
- data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +9 -0
- data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +23 -0
- data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +9 -0
- data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +23 -0
- data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +9 -0
- data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +23 -0
- data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +9 -0
- data/sig/knockapi/models/messages/batch_unarchive_params.rbs +23 -0
- data/sig/knockapi/models/messages/batch_unarchive_response.rbs +9 -0
- data/sig/knockapi/models/object.rbs +34 -0
- data/sig/knockapi/models/object_add_subscriptions_params.rbs +27 -0
- data/sig/knockapi/models/object_add_subscriptions_response.rbs +8 -0
- data/sig/knockapi/models/object_delete_params.rbs +15 -0
- data/sig/knockapi/models/object_delete_subscriptions_params.rbs +21 -0
- data/sig/knockapi/models/object_delete_subscriptions_response.rbs +8 -0
- data/sig/knockapi/models/object_get_channel_data_params.rbs +15 -0
- data/sig/knockapi/models/object_get_params.rbs +14 -0
- data/sig/knockapi/models/object_get_preferences_params.rbs +15 -0
- data/sig/knockapi/models/object_list_messages_params.rbs +176 -0
- data/sig/knockapi/models/object_list_params.rbs +55 -0
- data/sig/knockapi/models/object_list_preferences_params.rbs +15 -0
- data/sig/knockapi/models/object_list_preferences_response.rbs +8 -0
- data/sig/knockapi/models/object_list_schedules_params.rbs +49 -0
- data/sig/knockapi/models/object_list_subscriptions_params.rbs +106 -0
- data/sig/knockapi/models/object_set_channel_data_params.rbs +15 -0
- data/sig/knockapi/models/object_set_params.rbs +43 -0
- data/sig/knockapi/models/object_set_preferences_params.rbs +15 -0
- data/sig/knockapi/models/object_unset_channel_data_params.rbs +15 -0
- data/sig/knockapi/models/objects/bulk_add_subscriptions_params.rbs +44 -0
- data/sig/knockapi/models/objects/bulk_delete_params.rbs +23 -0
- data/sig/knockapi/models/objects/bulk_set_params.rbs +23 -0
- data/sig/knockapi/models/page_info.rbs +25 -0
- data/sig/knockapi/models/providers/ms_team_check_auth_params.rbs +23 -0
- data/sig/knockapi/models/providers/ms_team_check_auth_response.rbs +32 -0
- data/sig/knockapi/models/providers/ms_team_list_channels_params.rbs +53 -0
- data/sig/knockapi/models/providers/ms_team_list_channels_response.rbs +61 -0
- data/sig/knockapi/models/providers/ms_team_list_teams_params.rbs +63 -0
- data/sig/knockapi/models/providers/ms_team_list_teams_response.rbs +24 -0
- data/sig/knockapi/models/providers/ms_team_revoke_access_params.rbs +23 -0
- data/sig/knockapi/models/providers/ms_team_revoke_access_response.rbs +17 -0
- data/sig/knockapi/models/providers/slack_check_auth_params.rbs +23 -0
- data/sig/knockapi/models/providers/slack_check_auth_response.rbs +32 -0
- data/sig/knockapi/models/providers/slack_list_channels_params.rbs +74 -0
- data/sig/knockapi/models/providers/slack_list_channels_response.rbs +36 -0
- data/sig/knockapi/models/providers/slack_revoke_access_params.rbs +23 -0
- data/sig/knockapi/models/providers/slack_revoke_access_response.rbs +17 -0
- data/sig/knockapi/models/recipient.rbs +11 -0
- data/sig/knockapi/models/recipient_reference.rbs +28 -0
- data/sig/knockapi/models/recipient_request.rbs +14 -0
- data/sig/knockapi/models/recipients/channel_data.rbs +74 -0
- data/sig/knockapi/models/recipients/channel_data_request.rbs +31 -0
- data/sig/knockapi/models/recipients/discord_channel_data.rbs +65 -0
- data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +10 -0
- data/sig/knockapi/models/recipients/inline_preference_set_request.rbs +10 -0
- data/sig/knockapi/models/recipients/ms_teams_channel_data.rbs +86 -0
- data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +15 -0
- data/sig/knockapi/models/recipients/preference_set.rbs +90 -0
- data/sig/knockapi/models/recipients/preference_set_channel_type_setting.rbs +18 -0
- data/sig/knockapi/models/recipients/preference_set_channel_types.rbs +118 -0
- data/sig/knockapi/models/recipients/preference_set_request.rbs +86 -0
- data/sig/knockapi/models/recipients/push_channel_data.rbs +15 -0
- data/sig/knockapi/models/recipients/slack_channel_data.rbs +73 -0
- data/sig/knockapi/models/recipients/subscription.rbs +40 -0
- data/sig/knockapi/models/schedule.rbs +64 -0
- data/sig/knockapi/models/schedule_create_params.rbs +47 -0
- data/sig/knockapi/models/schedule_create_response.rbs +7 -0
- data/sig/knockapi/models/schedule_delete_params.rbs +21 -0
- data/sig/knockapi/models/schedule_delete_response.rbs +7 -0
- data/sig/knockapi/models/schedule_list_params.rbs +53 -0
- data/sig/knockapi/models/schedule_repeat_rule.rbs +73 -0
- data/sig/knockapi/models/schedule_update_params.rbs +51 -0
- data/sig/knockapi/models/schedule_update_response.rbs +7 -0
- data/sig/knockapi/models/schedules/bulk_create_params.rbs +76 -0
- data/sig/knockapi/models/tenant.rbs +76 -0
- data/sig/knockapi/models/tenant_delete_params.rbs +15 -0
- data/sig/knockapi/models/tenant_get_params.rbs +14 -0
- data/sig/knockapi/models/tenant_list_params.rbs +49 -0
- data/sig/knockapi/models/tenant_request.rbs +84 -0
- data/sig/knockapi/models/tenant_set_params.rbs +85 -0
- data/sig/knockapi/models/tenants/bulk_delete_params.rbs +23 -0
- data/sig/knockapi/models/tenants/bulk_set_params.rbs +23 -0
- data/sig/knockapi/models/user.rbs +50 -0
- data/sig/knockapi/models/user_delete_params.rbs +15 -0
- data/sig/knockapi/models/user_get_channel_data_params.rbs +15 -0
- data/sig/knockapi/models/user_get_params.rbs +14 -0
- data/sig/knockapi/models/user_get_preferences_params.rbs +22 -0
- data/sig/knockapi/models/user_list_messages_params.rbs +176 -0
- data/sig/knockapi/models/user_list_params.rbs +55 -0
- data/sig/knockapi/models/user_list_preferences_params.rbs +15 -0
- data/sig/knockapi/models/user_list_preferences_response.rbs +8 -0
- data/sig/knockapi/models/user_list_schedules_params.rbs +49 -0
- data/sig/knockapi/models/user_list_subscriptions_params.rbs +61 -0
- data/sig/knockapi/models/user_merge_params.rbs +20 -0
- data/sig/knockapi/models/user_set_channel_data_params.rbs +15 -0
- data/sig/knockapi/models/user_set_preferences_params.rbs +15 -0
- data/sig/knockapi/models/user_unset_channel_data_params.rbs +15 -0
- data/sig/knockapi/models/user_update_params.rbs +15 -0
- data/sig/knockapi/models/users/bulk_delete_params.rbs +23 -0
- data/sig/knockapi/models/users/bulk_identify_params.rbs +23 -0
- data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +29 -0
- data/sig/knockapi/models/users/feed_get_settings_params.rbs +17 -0
- data/sig/knockapi/models/users/feed_get_settings_response.rbs +28 -0
- data/sig/knockapi/models/users/feed_list_items_params.rbs +111 -0
- data/sig/knockapi/models/users/feed_list_items_response.rbs +214 -0
- data/sig/knockapi/models/users/guide_get_channel_params.rbs +35 -0
- data/sig/knockapi/models/users/guide_get_channel_response.rbs +71 -0
- data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +65 -0
- data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +15 -0
- data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +65 -0
- data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +15 -0
- data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +65 -0
- data/sig/knockapi/models/users/guide_mark_message_as_seen_response.rbs +15 -0
- data/sig/knockapi/models/workflow_cancel_params.rbs +27 -0
- data/sig/knockapi/models/workflow_trigger_params.rbs +39 -0
- data/sig/knockapi/models/workflow_trigger_response.rbs +13 -0
- data/sig/knockapi/request_options.rbs +34 -0
- data/sig/knockapi/resources/audiences.rbs +24 -0
- data/sig/knockapi/resources/bulk_operations.rbs +12 -0
- data/sig/knockapi/resources/channels/bulk.rbs +25 -0
- data/sig/knockapi/resources/channels.rbs +9 -0
- data/sig/knockapi/resources/integrations/census.rbs +17 -0
- data/sig/knockapi/resources/integrations/hightouch.rbs +17 -0
- data/sig/knockapi/resources/integrations.rbs +11 -0
- data/sig/knockapi/resources/messages/activities.rbs +18 -0
- data/sig/knockapi/resources/messages/batch.rbs +50 -0
- data/sig/knockapi/resources/messages.rbs +100 -0
- data/sig/knockapi/resources/objects/bulk.rbs +27 -0
- data/sig/knockapi/resources/objects.rbs +144 -0
- data/sig/knockapi/resources/providers/ms_teams.rbs +36 -0
- data/sig/knockapi/resources/providers/slack.rbs +28 -0
- data/sig/knockapi/resources/providers.rbs +11 -0
- data/sig/knockapi/resources/recipients/channel_data.rbs +9 -0
- data/sig/knockapi/resources/recipients/preferences.rbs +9 -0
- data/sig/knockapi/resources/recipients/subscriptions.rbs +9 -0
- data/sig/knockapi/resources/recipients.rbs +13 -0
- data/sig/knockapi/resources/schedules/bulk.rbs +14 -0
- data/sig/knockapi/resources/schedules.rbs +46 -0
- data/sig/knockapi/resources/shared.rbs +7 -0
- data/sig/knockapi/resources/tenants/bulk.rbs +19 -0
- data/sig/knockapi/resources/tenants.rbs +36 -0
- data/sig/knockapi/resources/users/bulk.rbs +25 -0
- data/sig/knockapi/resources/users/feeds.rbs +31 -0
- data/sig/knockapi/resources/users/guides.rbs +63 -0
- data/sig/knockapi/resources/users.rbs +130 -0
- data/sig/knockapi/resources/workflows.rbs +24 -0
- data/sig/knockapi/version.rbs +3 -0
- metadata +657 -77
- data/.github/workflows/publish.yml +0 -17
- data/.github/workflows/ruby.yml +0 -47
- data/.gitignore +0 -49
- data/.rubocop.yml +0 -8
- data/.ruby-version +0 -1
- data/.tool-versions +0 -1
- data/CONTRIBUTING.md +0 -31
- data/Gemfile +0 -9
- data/Gemfile.lock +0 -63
- data/LICENSE +0 -21
- data/bin/console +0 -8
- data/bin/publish +0 -5
- data/knockapi.gemspec +0 -30
- data/lib/knock/bulk_operations.rb +0 -27
- data/lib/knock/client.rb +0 -149
- data/lib/knock/configuration.rb +0 -18
- data/lib/knock/errors.rb +0 -57
- data/lib/knock/messages.rb +0 -93
- data/lib/knock/objects.rb +0 -442
- data/lib/knock/preferences.rb +0 -114
- data/lib/knock/tenants.rb +0 -72
- data/lib/knock/users.rb +0 -420
- data/lib/knock/version.rb +0 -5
- data/lib/knock/workflows.rb +0 -152
- data/lib/knock.rb +0 -71
- data/spec/configuration_spec.rb +0 -63
- data/spec/tenants_spec.rb +0 -66
@@ -1,17 +0,0 @@
|
|
1
|
-
name: Publish Gem
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
tags:
|
6
|
-
- v*
|
7
|
-
jobs:
|
8
|
-
build:
|
9
|
-
runs-on: ubuntu-latest
|
10
|
-
steps:
|
11
|
-
- uses: actions/checkout@v1
|
12
|
-
- name: Release Gem
|
13
|
-
uses: cadwallion/publish-rubygems-action@master
|
14
|
-
env:
|
15
|
-
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
16
|
-
RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
|
17
|
-
RELEASE_COMMAND: ./bin/publish
|
data/.github/workflows/ruby.yml
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
# This workflow uses actions that are not certified by GitHub.
|
2
|
-
# They are provided by a third-party and are governed by
|
3
|
-
# separate terms of service, privacy policy, and support
|
4
|
-
# documentation.
|
5
|
-
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
-
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
-
|
8
|
-
name: Ruby
|
9
|
-
|
10
|
-
on:
|
11
|
-
push:
|
12
|
-
branches: ["main"]
|
13
|
-
pull_request:
|
14
|
-
branches: ["main"]
|
15
|
-
|
16
|
-
permissions:
|
17
|
-
contents: read
|
18
|
-
|
19
|
-
jobs:
|
20
|
-
test:
|
21
|
-
runs-on: ubuntu-latest
|
22
|
-
strategy:
|
23
|
-
matrix:
|
24
|
-
ruby-version: ["2.7", "3.0", "3.1", "3.2"]
|
25
|
-
|
26
|
-
steps:
|
27
|
-
- uses: actions/checkout@v3
|
28
|
-
- name: Set up Ruby
|
29
|
-
uses: ruby/setup-ruby@v1
|
30
|
-
with:
|
31
|
-
ruby-version: ${{ matrix.ruby-version }}
|
32
|
-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
33
|
-
- name: Run tests
|
34
|
-
run: bundle exec rspec spec
|
35
|
-
|
36
|
-
lint:
|
37
|
-
runs-on: ubuntu-latest
|
38
|
-
steps:
|
39
|
-
- name: Checkout code
|
40
|
-
uses: actions/checkout@v3
|
41
|
-
- name: Install Ruby and gems
|
42
|
-
uses: ruby/setup-ruby@v1
|
43
|
-
with:
|
44
|
-
bundler-cache: true
|
45
|
-
# Add or replace any other lints here
|
46
|
-
- name: Lint Ruby files
|
47
|
-
run: bundle exec rubocop
|
data/.gitignore
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
*.DS_Store
|
4
|
-
/.config
|
5
|
-
/coverage/
|
6
|
-
/InstalledFiles
|
7
|
-
/pkg/
|
8
|
-
/spec/reports/
|
9
|
-
/spec/examples.txt
|
10
|
-
/test/tmp/
|
11
|
-
/test/version_tmp/
|
12
|
-
/tmp/
|
13
|
-
|
14
|
-
# Used by dotenv library to load environment variables.
|
15
|
-
# .env
|
16
|
-
|
17
|
-
# Ignore Byebug command history file.
|
18
|
-
.byebug_history
|
19
|
-
|
20
|
-
## Specific to RubyMotion (use of CocoaPods):
|
21
|
-
#
|
22
|
-
# We recommend against adding the Pods directory to your .gitignore. However
|
23
|
-
# you should judge for yourself, the pros and cons are mentioned at:
|
24
|
-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
25
|
-
#
|
26
|
-
# vendor/Pods/
|
27
|
-
|
28
|
-
## Documentation cache and generated files:
|
29
|
-
/.yardoc/
|
30
|
-
/_yardoc/
|
31
|
-
/doc/
|
32
|
-
/rdoc/
|
33
|
-
|
34
|
-
## Environment normalization:
|
35
|
-
/.bundle/
|
36
|
-
/vendor/bundle
|
37
|
-
/lib/bundler/man/
|
38
|
-
|
39
|
-
# for a library or gem, you might want to ignore these files since the code is
|
40
|
-
# intended to run in multiple environments; otherwise, check them in:
|
41
|
-
# Gemfile.lock
|
42
|
-
# .ruby-version
|
43
|
-
# .ruby-gemset
|
44
|
-
|
45
|
-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
46
|
-
.rvmrc
|
47
|
-
|
48
|
-
# Used by RuboCop. Remote config files pulled in from inherit_from directive.
|
49
|
-
# .rubocop-https?--*
|
data/.rubocop.yml
DELETED
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
3.2.5
|
data/.tool-versions
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ruby 3.2.5
|
data/CONTRIBUTING.md
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# Contributing
|
2
|
-
|
3
|
-
## Getting Started
|
4
|
-
|
5
|
-
1. Install [asdf](https://asdf-vm.com)
|
6
|
-
2. Install the asdf Ruby plugin
|
7
|
-
|
8
|
-
```bash
|
9
|
-
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git # Visit that repository to see installation prerequisites
|
10
|
-
```
|
11
|
-
|
12
|
-
3. Run `asdf install` to install the version of Ruby specified in the [.ruby-version](.ruby-version) file
|
13
|
-
4. Run `bundle install` to install the Ruby dependencies
|
14
|
-
|
15
|
-
## Running the tests
|
16
|
-
|
17
|
-
```bash
|
18
|
-
bundle exec rspec
|
19
|
-
```
|
20
|
-
|
21
|
-
## Running the linter
|
22
|
-
|
23
|
-
```bash
|
24
|
-
bundle exec rubocop
|
25
|
-
```
|
26
|
-
|
27
|
-
## Formatting
|
28
|
-
|
29
|
-
```bash
|
30
|
-
bundle exec rubocop -a
|
31
|
-
```
|
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
knockapi (0.6.1)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
ast (2.4.2)
|
10
|
-
diff-lcs (1.5.0)
|
11
|
-
parallel (1.20.1)
|
12
|
-
parser (3.0.2.0)
|
13
|
-
ast (~> 2.4.1)
|
14
|
-
rainbow (3.0.0)
|
15
|
-
rake (13.0.6)
|
16
|
-
regexp_parser (2.1.1)
|
17
|
-
rexml (3.2.5)
|
18
|
-
rspec (3.11.0)
|
19
|
-
rspec-core (~> 3.11.0)
|
20
|
-
rspec-expectations (~> 3.11.0)
|
21
|
-
rspec-mocks (~> 3.11.0)
|
22
|
-
rspec-core (3.11.0)
|
23
|
-
rspec-support (~> 3.11.0)
|
24
|
-
rspec-expectations (3.11.0)
|
25
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
26
|
-
rspec-support (~> 3.11.0)
|
27
|
-
rspec-mocks (3.11.1)
|
28
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
29
|
-
rspec-support (~> 3.11.0)
|
30
|
-
rspec-support (3.11.0)
|
31
|
-
rubocop (1.18.4)
|
32
|
-
parallel (~> 1.10)
|
33
|
-
parser (>= 3.0.0.0)
|
34
|
-
rainbow (>= 2.2.2, < 4.0)
|
35
|
-
regexp_parser (>= 1.8, < 3.0)
|
36
|
-
rexml
|
37
|
-
rubocop-ast (>= 1.8.0, < 2.0)
|
38
|
-
ruby-progressbar (~> 1.7)
|
39
|
-
unicode-display_width (>= 1.4.0, < 3.0)
|
40
|
-
rubocop-ast (1.10.0)
|
41
|
-
parser (>= 3.0.1.1)
|
42
|
-
rubocop-performance (1.11.4)
|
43
|
-
rubocop (>= 1.7.0, < 2.0)
|
44
|
-
rubocop-ast (>= 0.4.0)
|
45
|
-
ruby-progressbar (1.11.0)
|
46
|
-
standard (1.1.7)
|
47
|
-
rubocop (= 1.18.4)
|
48
|
-
rubocop-performance (= 1.11.4)
|
49
|
-
unicode-display_width (2.0.0)
|
50
|
-
|
51
|
-
PLATFORMS
|
52
|
-
ruby
|
53
|
-
x86_64-darwin-19
|
54
|
-
|
55
|
-
DEPENDENCIES
|
56
|
-
bundler (>= 2.0.1)
|
57
|
-
knockapi!
|
58
|
-
rake
|
59
|
-
rspec (~> 3.11)
|
60
|
-
standard
|
61
|
-
|
62
|
-
BUNDLED WITH
|
63
|
-
2.2.26
|
data/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2021 Knock Labs, Inc.
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
SOFTWARE.
|
data/bin/console
DELETED
data/bin/publish
DELETED
data/knockapi.gemspec
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
lib = File.expand_path('lib', __dir__)
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'knock/version'
|
6
|
-
|
7
|
-
Gem::Specification.new do |spec|
|
8
|
-
spec.name = 'knockapi'
|
9
|
-
spec.version = Knock::VERSION
|
10
|
-
spec.authors = ['Knock Labs, Inc.']
|
11
|
-
spec.email = ['support@knock.app']
|
12
|
-
spec.description = 'API client for Knock'
|
13
|
-
spec.summary = 'API client for Knock'
|
14
|
-
spec.homepage = 'https://github.com/knocklabs/knock-ruby'
|
15
|
-
spec.license = 'MIT'
|
16
|
-
spec.metadata = {
|
17
|
-
'documentation_uri' => 'https://docs.knock.app'
|
18
|
-
}
|
19
|
-
|
20
|
-
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
21
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
-
spec.require_paths = ['lib']
|
24
|
-
|
25
|
-
spec.add_development_dependency 'bundler', '>= 2.0.1'
|
26
|
-
spec.add_development_dependency 'rake'
|
27
|
-
spec.add_development_dependency 'standard'
|
28
|
-
|
29
|
-
spec.required_ruby_version = '>= 2.5'
|
30
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'net/http'
|
4
|
-
require 'uri'
|
5
|
-
|
6
|
-
module Knock
|
7
|
-
# Provides convienience methods for working with bulk operations
|
8
|
-
module BulkOperations
|
9
|
-
class << self
|
10
|
-
include Client
|
11
|
-
|
12
|
-
# Retrieves the given bulk operation
|
13
|
-
#
|
14
|
-
# @param [String] id The bulk operation ID
|
15
|
-
#
|
16
|
-
# @return [Hash] The bulk operation
|
17
|
-
def get(id:)
|
18
|
-
request = get_request(
|
19
|
-
auth: true,
|
20
|
-
path: "/v1/bulk_operations/#{id}"
|
21
|
-
)
|
22
|
-
|
23
|
-
execute_request(request: request)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
data/lib/knock/client.rb
DELETED
@@ -1,149 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Knock
|
4
|
-
# A Net::HTTP based API client for interacting with the Knock API
|
5
|
-
# rubocop:disable Metrics/ModuleLength
|
6
|
-
module Client
|
7
|
-
include Kernel
|
8
|
-
|
9
|
-
def client
|
10
|
-
Net::HTTP.new(Knock.config.api_hostname, 443).tap do |http_client|
|
11
|
-
http_client.use_ssl = true
|
12
|
-
http_client.open_timeout = Knock.config.timeout
|
13
|
-
http_client.read_timeout = Knock.config.timeout
|
14
|
-
http_client.write_timeout = Knock.config.timeout if RUBY_VERSION >= '2.6.0'
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def execute_request(request:)
|
19
|
-
begin
|
20
|
-
response = client.request(request)
|
21
|
-
rescue Net::OpenTimeout, Net::ReadTimeout, Net::WriteTimeout
|
22
|
-
raise TimeoutError.new(
|
23
|
-
message: 'API Timeout Error'
|
24
|
-
)
|
25
|
-
end
|
26
|
-
|
27
|
-
http_status = response.code.to_i
|
28
|
-
handle_error_response(response: response) if http_status >= 400
|
29
|
-
|
30
|
-
JSON.parse(response.body) if response.body && (response.body != '')
|
31
|
-
end
|
32
|
-
|
33
|
-
def get_request(path:, auth: false, params: {}, access_token: nil)
|
34
|
-
uri = URI(path)
|
35
|
-
uri.query = URI.encode_www_form(params) if params
|
36
|
-
|
37
|
-
request = Net::HTTP::Get.new(
|
38
|
-
uri.to_s,
|
39
|
-
'Content-Type' => 'application/json'
|
40
|
-
)
|
41
|
-
|
42
|
-
request['Authorization'] = "Bearer #{access_token || Knock.config.key!}" if auth
|
43
|
-
request['User-Agent'] = user_agent
|
44
|
-
request
|
45
|
-
end
|
46
|
-
|
47
|
-
def post_request(path:, auth: false, idempotency_key: nil, body: nil)
|
48
|
-
request = Net::HTTP::Post.new(path, 'Content-Type' => 'application/json')
|
49
|
-
request.body = body.to_json if body
|
50
|
-
request['Authorization'] = "Bearer #{Knock.config.key!}" if auth
|
51
|
-
request['User-Agent'] = user_agent
|
52
|
-
request['Idempotency-Key'] = idempotency_key if idempotency_key
|
53
|
-
request
|
54
|
-
end
|
55
|
-
|
56
|
-
def delete_request(path:, auth: false, params: {}, body: nil)
|
57
|
-
uri = URI(path)
|
58
|
-
uri.query = URI.encode_www_form(params) if params
|
59
|
-
|
60
|
-
request = Net::HTTP::Delete.new(
|
61
|
-
uri.to_s,
|
62
|
-
'Content-Type' => 'application/json'
|
63
|
-
)
|
64
|
-
|
65
|
-
request.body = body.to_json if body
|
66
|
-
request['Authorization'] = "Bearer #{Knock.config.key!}" if auth
|
67
|
-
request['User-Agent'] = user_agent
|
68
|
-
request
|
69
|
-
end
|
70
|
-
|
71
|
-
def put_request(path:, auth: false, idempotency_key: nil, body: nil)
|
72
|
-
request = Net::HTTP::Put.new(path, 'Content-Type' => 'application/json')
|
73
|
-
request.body = body.to_json if body
|
74
|
-
request['Authorization'] = "Bearer #{Knock.config.key!}" if auth
|
75
|
-
request['User-Agent'] = user_agent
|
76
|
-
request['Idempotency-Key'] = idempotency_key if idempotency_key
|
77
|
-
request
|
78
|
-
end
|
79
|
-
|
80
|
-
def user_agent
|
81
|
-
"Knock Ruby - v#{Knock::VERSION}"
|
82
|
-
end
|
83
|
-
|
84
|
-
# rubocop:disable Metrics/AbcSize
|
85
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
86
|
-
# rubocop:disable Metrics/MethodLength
|
87
|
-
|
88
|
-
def handle_error_response(response:)
|
89
|
-
http_status = response.code.to_i
|
90
|
-
json = JSON.parse(response.body)
|
91
|
-
|
92
|
-
case http_status
|
93
|
-
when 400
|
94
|
-
raise InvalidRequestError.new(
|
95
|
-
message: json['message'],
|
96
|
-
http_status: http_status,
|
97
|
-
request_id: response['x-request-id']
|
98
|
-
)
|
99
|
-
when 401
|
100
|
-
raise AuthenticationError.new(
|
101
|
-
message: json['message'],
|
102
|
-
http_status: http_status,
|
103
|
-
request_id: response['x-request-id']
|
104
|
-
)
|
105
|
-
when 404
|
106
|
-
raise NotFoundError.new(
|
107
|
-
message: json['message'],
|
108
|
-
http_status: http_status,
|
109
|
-
request_id: response['x-request-id']
|
110
|
-
)
|
111
|
-
when 422
|
112
|
-
message = json['message']
|
113
|
-
errors = extract_error(json['errors']) if json['errors']
|
114
|
-
message += " (#{errors})" if errors
|
115
|
-
|
116
|
-
raise UnprocessableEntityError.new(
|
117
|
-
message: message,
|
118
|
-
http_status: http_status,
|
119
|
-
request_id: response['x-request-id']
|
120
|
-
)
|
121
|
-
when 429
|
122
|
-
raise RateLimitExceededError.new(
|
123
|
-
message: json['message'],
|
124
|
-
http_status: http_status,
|
125
|
-
request_id: response['x-request-id']
|
126
|
-
)
|
127
|
-
else
|
128
|
-
raise APIError.new(
|
129
|
-
message: json['message'],
|
130
|
-
http_status: http_status,
|
131
|
-
request_id: response['x-request-id']
|
132
|
-
)
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
# rubocop:enable Metrics/AbcSize
|
137
|
-
# rubocop:enable Metrics/CyclomaticComplexity
|
138
|
-
# rubocop:enable Metrics/MethodLength
|
139
|
-
|
140
|
-
private
|
141
|
-
|
142
|
-
def extract_error(errors)
|
143
|
-
errors.map do |error|
|
144
|
-
"#{error['field']}: #{error['message']} (#{error['type']})"
|
145
|
-
end.join('; ')
|
146
|
-
end
|
147
|
-
end
|
148
|
-
# rubocop:enable Metrics/ModuleLength
|
149
|
-
end
|
data/lib/knock/configuration.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# typed: true
|
4
|
-
|
5
|
-
module Knock
|
6
|
-
# Configuration class sets config initializer
|
7
|
-
class Configuration
|
8
|
-
attr_accessor :api_hostname, :timeout, :key
|
9
|
-
|
10
|
-
def initialize
|
11
|
-
@timeout = 60
|
12
|
-
end
|
13
|
-
|
14
|
-
def key!
|
15
|
-
key or raise '`Knock.config.key` not set'
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
data/lib/knock/errors.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Knock
|
4
|
-
# Knock specific errors
|
5
|
-
class KnockError < StandardError
|
6
|
-
attr_reader :http_status, :request_id
|
7
|
-
|
8
|
-
def initialize(message: nil, error: nil, error_description: nil, http_status: nil, request_id: nil)
|
9
|
-
super
|
10
|
-
@message = message
|
11
|
-
@error = error
|
12
|
-
@error_description = error_description
|
13
|
-
@http_status = http_status
|
14
|
-
@request_id = request_id
|
15
|
-
end
|
16
|
-
|
17
|
-
def to_s
|
18
|
-
status_string = @http_status.nil? ? '' : "Status #{@http_status}, "
|
19
|
-
id_string = @request_id.nil? ? '' : " - request ID: #{@request_id}"
|
20
|
-
|
21
|
-
if @error && @error_description
|
22
|
-
error_string = "error: #{@error}, error_description: #{@error_description}"
|
23
|
-
"#{status_string}#{error_string}#{id_string}"
|
24
|
-
elsif @error
|
25
|
-
"#{status_string}#{@error}#{id_string}"
|
26
|
-
else
|
27
|
-
"#{status_string}#{@message}#{id_string}"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
# APIError is a generic error that may be raised in cases where none of the
|
33
|
-
# other named errors cover the problem. It could also be raised in the case
|
34
|
-
# that a new error has been introduced in the API, but this version of the
|
35
|
-
# Ruby SDK doesn't know how to handle it.
|
36
|
-
class APIError < KnockError; end
|
37
|
-
|
38
|
-
# AuthenticationError is raised when invalid credentials are used to connect
|
39
|
-
# to Knock's servers.
|
40
|
-
class AuthenticationError < KnockError; end
|
41
|
-
|
42
|
-
# InvalidRequestError is raised when a request is initiated with invalid
|
43
|
-
# parameters.
|
44
|
-
class InvalidRequestError < KnockError; end
|
45
|
-
|
46
|
-
# RateLimitExceededError is raised when the rate limit for the API has been hit
|
47
|
-
class RateLimitExceededError < KnockError; end
|
48
|
-
|
49
|
-
# NotFoundError is raised when a resource is not found
|
50
|
-
class NotFoundError < KnockError; end
|
51
|
-
|
52
|
-
# TimeoutError is raised when the HTTP request to the API times out
|
53
|
-
class TimeoutError < KnockError; end
|
54
|
-
|
55
|
-
# UnprocessableEntityError is raised when a request is made that cannot be processed
|
56
|
-
class UnprocessableEntityError < KnockError; end
|
57
|
-
end
|
data/lib/knock/messages.rb
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'json'
|
4
|
-
require 'net/http'
|
5
|
-
require 'uri'
|
6
|
-
|
7
|
-
module Knock
|
8
|
-
# Methods for interacting with messages in Knock
|
9
|
-
module Messages
|
10
|
-
class << self
|
11
|
-
include Client
|
12
|
-
|
13
|
-
# Retrieves a paginated list of messages for the provided environment
|
14
|
-
#
|
15
|
-
# @param [Hash] options Options to pass to the messages endpoint query
|
16
|
-
#
|
17
|
-
# @return [Hash] Paginated list of Message records
|
18
|
-
def list(options: {})
|
19
|
-
options[:trigger_data] = JSON.generate(options[:trigger_data]) if options[:trigger_data]
|
20
|
-
|
21
|
-
request = get_request(
|
22
|
-
auth: true,
|
23
|
-
path: '/v1/messages',
|
24
|
-
params: options
|
25
|
-
)
|
26
|
-
|
27
|
-
execute_request(request: request)
|
28
|
-
end
|
29
|
-
|
30
|
-
# Retrieves a Message
|
31
|
-
#
|
32
|
-
# @param [String] id The message id
|
33
|
-
#
|
34
|
-
# @return [Hash] The Message
|
35
|
-
def get(id:)
|
36
|
-
request = get_request(
|
37
|
-
auth: true,
|
38
|
-
path: "/v1/messages/#{id}"
|
39
|
-
)
|
40
|
-
|
41
|
-
execute_request(request: request)
|
42
|
-
end
|
43
|
-
|
44
|
-
# Get a Message's content
|
45
|
-
#
|
46
|
-
# @param [String] id The message id
|
47
|
-
#
|
48
|
-
# @return [Hash] The Message content
|
49
|
-
def get_content(id:)
|
50
|
-
request = get_request(
|
51
|
-
auth: true,
|
52
|
-
path: "/v1/messages/#{id}/content"
|
53
|
-
)
|
54
|
-
|
55
|
-
execute_request(request: request)
|
56
|
-
end
|
57
|
-
|
58
|
-
# Get a Message's activities
|
59
|
-
#
|
60
|
-
# @param [String] id The message id
|
61
|
-
# @param [Hash] options Options to pass to the paginated activities endpoint query
|
62
|
-
#
|
63
|
-
# @return [Hash] Paginated Message's activities
|
64
|
-
def get_activities(id:, options: {})
|
65
|
-
options[:trigger_data] = JSON.generate(options[:trigger_data]) if options[:trigger_data]
|
66
|
-
|
67
|
-
request = get_request(
|
68
|
-
auth: true,
|
69
|
-
path: "/v1/messages/#{id}/activities",
|
70
|
-
params: options
|
71
|
-
)
|
72
|
-
|
73
|
-
execute_request(request: request)
|
74
|
-
end
|
75
|
-
|
76
|
-
# Get a Message's events
|
77
|
-
#
|
78
|
-
# @param [String] id The message id
|
79
|
-
# @param [Hash] options Options to pass to the paginated events endpoint query
|
80
|
-
#
|
81
|
-
# @return [Hash] Paginated Message's events
|
82
|
-
def get_events(id:, options: {})
|
83
|
-
request = get_request(
|
84
|
-
auth: true,
|
85
|
-
path: "/v1/messages/#{id}/events",
|
86
|
-
params: options
|
87
|
-
)
|
88
|
-
|
89
|
-
execute_request(request: request)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|