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
@@ -0,0 +1,118 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Knockapi
|
4
|
+
module Resources
|
5
|
+
class Tenants
|
6
|
+
# @return [Knockapi::Resources::Tenants::Bulk]
|
7
|
+
attr_reader :bulk
|
8
|
+
|
9
|
+
# List tenants for the current environment.
|
10
|
+
#
|
11
|
+
# @overload list(after: nil, before: nil, name: nil, page_size: nil, tenant_id: nil, request_options: {})
|
12
|
+
#
|
13
|
+
# @param after [String] The cursor to fetch entries after.
|
14
|
+
#
|
15
|
+
# @param before [String] The cursor to fetch entries before.
|
16
|
+
#
|
17
|
+
# @param name [String] Filter tenants by name.
|
18
|
+
#
|
19
|
+
# @param page_size [Integer] The number of items per page.
|
20
|
+
#
|
21
|
+
# @param tenant_id [String] Filter tenants by ID.
|
22
|
+
#
|
23
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
24
|
+
#
|
25
|
+
# @return [Knockapi::Internal::EntriesCursor<Knockapi::Models::Tenant>]
|
26
|
+
#
|
27
|
+
# @see Knockapi::Models::TenantListParams
|
28
|
+
def list(params = {})
|
29
|
+
parsed, options = Knockapi::Models::TenantListParams.dump_request(params)
|
30
|
+
@client.request(
|
31
|
+
method: :get,
|
32
|
+
path: "v1/tenants",
|
33
|
+
query: parsed,
|
34
|
+
page: Knockapi::Internal::EntriesCursor,
|
35
|
+
model: Knockapi::Models::Tenant,
|
36
|
+
options: options
|
37
|
+
)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Delete a tenant and all associated data. This operation cannot be undone.
|
41
|
+
#
|
42
|
+
# @overload delete(id, request_options: {})
|
43
|
+
#
|
44
|
+
# @param id [String] The unique identifier for the tenant.
|
45
|
+
#
|
46
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
#
|
50
|
+
# @see Knockapi::Models::TenantDeleteParams
|
51
|
+
def delete(id, params = {})
|
52
|
+
@client.request(
|
53
|
+
method: :delete,
|
54
|
+
path: ["v1/tenants/%1$s", id],
|
55
|
+
model: String,
|
56
|
+
options: params[:request_options]
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
# Get a tenant by ID.
|
61
|
+
#
|
62
|
+
# @overload get(id, request_options: {})
|
63
|
+
#
|
64
|
+
# @param id [String] The unique identifier for the tenant.
|
65
|
+
#
|
66
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
67
|
+
#
|
68
|
+
# @return [Knockapi::Models::Tenant]
|
69
|
+
#
|
70
|
+
# @see Knockapi::Models::TenantGetParams
|
71
|
+
def get(id, params = {})
|
72
|
+
@client.request(
|
73
|
+
method: :get,
|
74
|
+
path: ["v1/tenants/%1$s", id],
|
75
|
+
model: Knockapi::Models::Tenant,
|
76
|
+
options: params[:request_options]
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Sets a tenant within an environment, performing an upsert operation. Any
|
81
|
+
# existing properties will be merged with the incoming properties.
|
82
|
+
#
|
83
|
+
# @overload set(id, channel_data: nil, preferences: nil, settings: nil, request_options: {})
|
84
|
+
#
|
85
|
+
# @param id [String] The unique identifier for the tenant.
|
86
|
+
#
|
87
|
+
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::ChannelDataRequest}, nil] A request to set channel data for a type of channel inline.
|
88
|
+
#
|
89
|
+
# @param preferences [Hash{Symbol=>Knockapi::Models::Recipients::PreferenceSetRequest}, nil] Inline set preferences for a recipient, where the key is the preference set id.
|
90
|
+
#
|
91
|
+
# @param settings [Knockapi::Models::TenantSetParams::Settings] The settings for the tenant. Includes branding and preference set.
|
92
|
+
#
|
93
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
94
|
+
#
|
95
|
+
# @return [Knockapi::Models::Tenant]
|
96
|
+
#
|
97
|
+
# @see Knockapi::Models::TenantSetParams
|
98
|
+
def set(id, params = {})
|
99
|
+
parsed, options = Knockapi::Models::TenantSetParams.dump_request(params)
|
100
|
+
@client.request(
|
101
|
+
method: :put,
|
102
|
+
path: ["v1/tenants/%1$s", id],
|
103
|
+
body: parsed,
|
104
|
+
model: Knockapi::Models::Tenant,
|
105
|
+
options: options
|
106
|
+
)
|
107
|
+
end
|
108
|
+
|
109
|
+
# @api private
|
110
|
+
#
|
111
|
+
# @param client [Knockapi::Client]
|
112
|
+
def initialize(client:)
|
113
|
+
@client = client
|
114
|
+
@bulk = Knockapi::Resources::Tenants::Bulk.new(client: client)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Knockapi
|
4
|
+
module Resources
|
5
|
+
class Users
|
6
|
+
class Bulk
|
7
|
+
# Deletes multiple users in a single operation. Accepts up to 100 user IDs to
|
8
|
+
# delete and returns a bulk operation that can be queried for progress.
|
9
|
+
#
|
10
|
+
# @overload delete(user_ids:, request_options: {})
|
11
|
+
#
|
12
|
+
# @param user_ids [Array<String>] A list of user IDs.
|
13
|
+
#
|
14
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
15
|
+
#
|
16
|
+
# @return [Knockapi::Models::BulkOperation]
|
17
|
+
#
|
18
|
+
# @see Knockapi::Models::Users::BulkDeleteParams
|
19
|
+
def delete(params)
|
20
|
+
parsed, options = Knockapi::Models::Users::BulkDeleteParams.dump_request(params)
|
21
|
+
@client.request(
|
22
|
+
method: :post,
|
23
|
+
path: "v1/users/bulk/delete",
|
24
|
+
body: parsed,
|
25
|
+
model: Knockapi::Models::BulkOperation,
|
26
|
+
options: options
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Identifies multiple users in a single operation. Allows creating or updating up
|
31
|
+
# to 100 users in a single batch with various properties, preferences, and channel
|
32
|
+
# data.
|
33
|
+
#
|
34
|
+
# @overload identify(users:, request_options: {})
|
35
|
+
#
|
36
|
+
# @param users [Array<Knockapi::Models::InlineIdentifyUserRequest>] A list of users.
|
37
|
+
#
|
38
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
39
|
+
#
|
40
|
+
# @return [Knockapi::Models::BulkOperation]
|
41
|
+
#
|
42
|
+
# @see Knockapi::Models::Users::BulkIdentifyParams
|
43
|
+
def identify(params)
|
44
|
+
parsed, options = Knockapi::Models::Users::BulkIdentifyParams.dump_request(params)
|
45
|
+
@client.request(
|
46
|
+
method: :post,
|
47
|
+
path: "v1/users/bulk/identify",
|
48
|
+
body: parsed,
|
49
|
+
model: Knockapi::Models::BulkOperation,
|
50
|
+
options: options
|
51
|
+
)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Sets preferences for multiple users in a single operation. Supports either
|
55
|
+
# setting the same preferences for multiple users or specific preferences for each
|
56
|
+
# user.
|
57
|
+
#
|
58
|
+
# @overload set_preferences(preferences:, user_ids:, request_options: {})
|
59
|
+
#
|
60
|
+
# @param preferences [Knockapi::Models::Recipients::PreferenceSetRequest] A request to set a preference set for a recipient.
|
61
|
+
#
|
62
|
+
# @param user_ids [Array<String>] A list of user IDs.
|
63
|
+
#
|
64
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
65
|
+
#
|
66
|
+
# @return [Knockapi::Models::BulkOperation]
|
67
|
+
#
|
68
|
+
# @see Knockapi::Models::Users::BulkSetPreferencesParams
|
69
|
+
def set_preferences(params)
|
70
|
+
parsed, options = Knockapi::Models::Users::BulkSetPreferencesParams.dump_request(params)
|
71
|
+
@client.request(
|
72
|
+
method: :post,
|
73
|
+
path: "v1/users/bulk/preferences",
|
74
|
+
body: parsed,
|
75
|
+
model: Knockapi::Models::BulkOperation,
|
76
|
+
options: options
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
# @api private
|
81
|
+
#
|
82
|
+
# @param client [Knockapi::Client]
|
83
|
+
def initialize(client:)
|
84
|
+
@client = client
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Knockapi
|
4
|
+
module Resources
|
5
|
+
class Users
|
6
|
+
class Feeds
|
7
|
+
# Returns the feed settings for a user.
|
8
|
+
#
|
9
|
+
# @overload get_settings(user_id, id, request_options: {})
|
10
|
+
#
|
11
|
+
# @param user_id [String] The ID for the user that you set when identifying them in Knock.
|
12
|
+
#
|
13
|
+
# @param id [String] The unique identifier for the channel.
|
14
|
+
#
|
15
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
16
|
+
#
|
17
|
+
# @return [Knockapi::Models::Users::FeedGetSettingsResponse]
|
18
|
+
#
|
19
|
+
# @see Knockapi::Models::Users::FeedGetSettingsParams
|
20
|
+
def get_settings(user_id, id, params = {})
|
21
|
+
@client.request(
|
22
|
+
method: :get,
|
23
|
+
path: ["v1/users/%1$s/feeds/%2$s/settings", user_id, id],
|
24
|
+
model: Knockapi::Models::Users::FeedGetSettingsResponse,
|
25
|
+
options: params[:request_options]
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns a paginated list of feed items for a user, including metadata about the
|
30
|
+
# feed.
|
31
|
+
#
|
32
|
+
# @overload list_items(user_id, id, after: nil, archived: nil, before: nil, has_tenant: nil, page_size: nil, source: nil, status: nil, tenant: nil, trigger_data: nil, workflow_categories: nil, request_options: {})
|
33
|
+
#
|
34
|
+
# @param user_id [String] The ID for the user that you set when identifying them in Knock.
|
35
|
+
#
|
36
|
+
# @param id [String] The unique identifier for the channel.
|
37
|
+
#
|
38
|
+
# @param after [String] The cursor to fetch entries after.
|
39
|
+
#
|
40
|
+
# @param archived [Symbol, Knockapi::Models::Users::FeedListItemsParams::Archived] The archived status of the feed items.
|
41
|
+
#
|
42
|
+
# @param before [String] The cursor to fetch entries before.
|
43
|
+
#
|
44
|
+
# @param has_tenant [Boolean] Whether the feed items have a tenant.
|
45
|
+
#
|
46
|
+
# @param page_size [Integer] The number of items per page.
|
47
|
+
#
|
48
|
+
# @param source [String] The source of the feed items.
|
49
|
+
#
|
50
|
+
# @param status [Symbol, Knockapi::Models::Users::FeedListItemsParams::Status] The status of the feed items.
|
51
|
+
#
|
52
|
+
# @param tenant [String] The tenant associated with the feed items.
|
53
|
+
#
|
54
|
+
# @param trigger_data [String] The trigger data of the feed items (as a JSON string).
|
55
|
+
#
|
56
|
+
# @param workflow_categories [Array<String>] The workflow categories of the feed items.
|
57
|
+
#
|
58
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
59
|
+
#
|
60
|
+
# @return [Knockapi::Internal::EntriesCursor<Knockapi::Models::Users::FeedListItemsResponse>]
|
61
|
+
#
|
62
|
+
# @see Knockapi::Models::Users::FeedListItemsParams
|
63
|
+
def list_items(user_id, id, params = {})
|
64
|
+
parsed, options = Knockapi::Models::Users::FeedListItemsParams.dump_request(params)
|
65
|
+
@client.request(
|
66
|
+
method: :get,
|
67
|
+
path: ["v1/users/%1$s/feeds/%2$s", user_id, id],
|
68
|
+
query: parsed,
|
69
|
+
page: Knockapi::Internal::EntriesCursor,
|
70
|
+
model: Knockapi::Models::Users::FeedListItemsResponse,
|
71
|
+
options: options
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
75
|
+
# @api private
|
76
|
+
#
|
77
|
+
# @param client [Knockapi::Client]
|
78
|
+
def initialize(client:)
|
79
|
+
@client = client
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Knockapi
|
4
|
+
module Resources
|
5
|
+
class Users
|
6
|
+
class Guides
|
7
|
+
# Returns a list of eligible in-app guides for a specific user and channel.
|
8
|
+
#
|
9
|
+
# @overload get_channel(user_id, channel_id, data: nil, tenant: nil, type: nil, request_options: {})
|
10
|
+
#
|
11
|
+
# @param user_id [String] The ID for the user that you set when identifying them in Knock.
|
12
|
+
#
|
13
|
+
# @param channel_id [String] The unique identifier for the channel.
|
14
|
+
#
|
15
|
+
# @param data [String] The data (JSON encoded object) to use for targeting and rendering guides.
|
16
|
+
#
|
17
|
+
# @param tenant [String] The tenant ID to use for targeting and rendering guides.
|
18
|
+
#
|
19
|
+
# @param type [String] The type of guides to filter by.
|
20
|
+
#
|
21
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
22
|
+
#
|
23
|
+
# @return [Knockapi::Models::Users::GuideGetChannelResponse]
|
24
|
+
#
|
25
|
+
# @see Knockapi::Models::Users::GuideGetChannelParams
|
26
|
+
def get_channel(user_id, channel_id, params = {})
|
27
|
+
parsed, options = Knockapi::Models::Users::GuideGetChannelParams.dump_request(params)
|
28
|
+
@client.request(
|
29
|
+
method: :get,
|
30
|
+
path: ["v1/users/%1$s/guides/%2$s", user_id, channel_id],
|
31
|
+
query: parsed,
|
32
|
+
model: Knockapi::Models::Users::GuideGetChannelResponse,
|
33
|
+
options: options
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Records that a guide has been archived by a user, triggering any associated
|
38
|
+
# archived events.
|
39
|
+
#
|
40
|
+
# @overload mark_message_as_archived(user_id, message_id, channel_id:, guide_id:, guide_key:, guide_step_ref:, content: nil, data: nil, is_final: nil, metadata: nil, tenant: nil, request_options: {})
|
41
|
+
#
|
42
|
+
# @param user_id [String] The ID for the user that you set when identifying them in Knock.
|
43
|
+
#
|
44
|
+
# @param message_id [String] The unique identifier for the message.
|
45
|
+
#
|
46
|
+
# @param channel_id [String] The unique identifier for the channel.
|
47
|
+
#
|
48
|
+
# @param guide_id [String] The unique identifier for the guide.
|
49
|
+
#
|
50
|
+
# @param guide_key [String] The key of the guide.
|
51
|
+
#
|
52
|
+
# @param guide_step_ref [String] The step reference of the guide.
|
53
|
+
#
|
54
|
+
# @param content [Hash{Symbol=>Object}] The content of the guide.
|
55
|
+
#
|
56
|
+
# @param data [Hash{Symbol=>Object}] The data of the guide.
|
57
|
+
#
|
58
|
+
# @param is_final [Boolean] Whether the guide is final.
|
59
|
+
#
|
60
|
+
# @param metadata [Hash{Symbol=>Object}] The metadata of the guide.
|
61
|
+
#
|
62
|
+
# @param tenant [String, nil] The tenant ID of the guide.
|
63
|
+
#
|
64
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
65
|
+
#
|
66
|
+
# @return [Knockapi::Models::Users::GuideMarkMessageAsArchivedResponse]
|
67
|
+
#
|
68
|
+
# @see Knockapi::Models::Users::GuideMarkMessageAsArchivedParams
|
69
|
+
def mark_message_as_archived(user_id, message_id, params)
|
70
|
+
parsed, options = Knockapi::Models::Users::GuideMarkMessageAsArchivedParams.dump_request(params)
|
71
|
+
@client.request(
|
72
|
+
method: :put,
|
73
|
+
path: ["v1/users/%1$s/guides/messages/%2$s/archived", user_id, message_id],
|
74
|
+
body: parsed,
|
75
|
+
model: Knockapi::Models::Users::GuideMarkMessageAsArchivedResponse,
|
76
|
+
options: options
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Records that a user has interacted with a guide, triggering any associated
|
81
|
+
# interacted events.
|
82
|
+
#
|
83
|
+
# @overload mark_message_as_interacted(user_id, message_id, channel_id:, guide_id:, guide_key:, guide_step_ref:, content: nil, data: nil, is_final: nil, metadata: nil, tenant: nil, request_options: {})
|
84
|
+
#
|
85
|
+
# @param user_id [String] The ID for the user that you set when identifying them in Knock.
|
86
|
+
#
|
87
|
+
# @param message_id [String] The unique identifier for the message.
|
88
|
+
#
|
89
|
+
# @param channel_id [String] The unique identifier for the channel.
|
90
|
+
#
|
91
|
+
# @param guide_id [String] The unique identifier for the guide.
|
92
|
+
#
|
93
|
+
# @param guide_key [String] The key of the guide.
|
94
|
+
#
|
95
|
+
# @param guide_step_ref [String] The step reference of the guide.
|
96
|
+
#
|
97
|
+
# @param content [Hash{Symbol=>Object}] The content of the guide.
|
98
|
+
#
|
99
|
+
# @param data [Hash{Symbol=>Object}] The data of the guide.
|
100
|
+
#
|
101
|
+
# @param is_final [Boolean] Whether the guide is final.
|
102
|
+
#
|
103
|
+
# @param metadata [Hash{Symbol=>Object}] The metadata of the guide.
|
104
|
+
#
|
105
|
+
# @param tenant [String, nil] The tenant ID of the guide.
|
106
|
+
#
|
107
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
108
|
+
#
|
109
|
+
# @return [Knockapi::Models::Users::GuideMarkMessageAsInteractedResponse]
|
110
|
+
#
|
111
|
+
# @see Knockapi::Models::Users::GuideMarkMessageAsInteractedParams
|
112
|
+
def mark_message_as_interacted(user_id, message_id, params)
|
113
|
+
parsed, options = Knockapi::Models::Users::GuideMarkMessageAsInteractedParams.dump_request(params)
|
114
|
+
@client.request(
|
115
|
+
method: :put,
|
116
|
+
path: ["v1/users/%1$s/guides/messages/%2$s/interacted", user_id, message_id],
|
117
|
+
body: parsed,
|
118
|
+
model: Knockapi::Models::Users::GuideMarkMessageAsInteractedResponse,
|
119
|
+
options: options
|
120
|
+
)
|
121
|
+
end
|
122
|
+
|
123
|
+
# Records that a guide has been seen by a user, triggering any associated seen
|
124
|
+
# events.
|
125
|
+
#
|
126
|
+
# @overload mark_message_as_seen(user_id, message_id, channel_id:, guide_id:, guide_key:, guide_step_ref:, content: nil, data: nil, is_final: nil, metadata: nil, tenant: nil, request_options: {})
|
127
|
+
#
|
128
|
+
# @param user_id [String] The ID for the user that you set when identifying them in Knock.
|
129
|
+
#
|
130
|
+
# @param message_id [String] The unique identifier for the message.
|
131
|
+
#
|
132
|
+
# @param channel_id [String] The unique identifier for the channel.
|
133
|
+
#
|
134
|
+
# @param guide_id [String] The unique identifier for the guide.
|
135
|
+
#
|
136
|
+
# @param guide_key [String] The key of the guide.
|
137
|
+
#
|
138
|
+
# @param guide_step_ref [String] The step reference of the guide.
|
139
|
+
#
|
140
|
+
# @param content [Hash{Symbol=>Object}] The content of the guide.
|
141
|
+
#
|
142
|
+
# @param data [Hash{Symbol=>Object}] The data of the guide.
|
143
|
+
#
|
144
|
+
# @param is_final [Boolean] Whether the guide is final.
|
145
|
+
#
|
146
|
+
# @param metadata [Hash{Symbol=>Object}] The metadata of the guide.
|
147
|
+
#
|
148
|
+
# @param tenant [String, nil] The tenant ID of the guide.
|
149
|
+
#
|
150
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
151
|
+
#
|
152
|
+
# @return [Knockapi::Models::Users::GuideMarkMessageAsSeenResponse]
|
153
|
+
#
|
154
|
+
# @see Knockapi::Models::Users::GuideMarkMessageAsSeenParams
|
155
|
+
def mark_message_as_seen(user_id, message_id, params)
|
156
|
+
parsed, options = Knockapi::Models::Users::GuideMarkMessageAsSeenParams.dump_request(params)
|
157
|
+
@client.request(
|
158
|
+
method: :put,
|
159
|
+
path: ["v1/users/%1$s/guides/messages/%2$s/seen", user_id, message_id],
|
160
|
+
body: parsed,
|
161
|
+
model: Knockapi::Models::Users::GuideMarkMessageAsSeenResponse,
|
162
|
+
options: options
|
163
|
+
)
|
164
|
+
end
|
165
|
+
|
166
|
+
# @api private
|
167
|
+
#
|
168
|
+
# @param client [Knockapi::Client]
|
169
|
+
def initialize(client:)
|
170
|
+
@client = client
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|