# frozen_string_literal: true # This file was auto-generated by lib/tasks/web.rake module Slack module Web module Api module Endpoints module AdminConversations # # Archive a public or private channel. # # @option options [Object] :channel_id # The channel to archive. # @see https://api.slack.com/methods/admin.conversations.archive # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.archive.json def admin_conversations_archive(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.archive', options) end # # Archive public or private channels in bulk. # # @option options [array] :channel_ids # An array of channel IDs to archive. # @see https://api.slack.com/methods/admin.conversations.bulkArchive # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.bulkArchive.json def admin_conversations_bulkArchive(options = {}) raise ArgumentError, 'Required arguments :channel_ids missing' if options[:channel_ids].nil? post('admin.conversations.bulkArchive', options) end # # Delete public or private channels in bulk # # @option options [array] :channel_ids # An array of channel IDs. # @see https://api.slack.com/methods/admin.conversations.bulkDelete # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.bulkDelete.json def admin_conversations_bulkDelete(options = {}) raise ArgumentError, 'Required arguments :channel_ids missing' if options[:channel_ids].nil? post('admin.conversations.bulkDelete', options) end # # Move public or private channels in bulk. # # @option options [array] :channel_ids # An array of channel IDs. # @option options [string] :target_team_id # Target team ID. # @see https://api.slack.com/methods/admin.conversations.bulkMove # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.bulkMove.json def admin_conversations_bulkMove(options = {}) raise ArgumentError, 'Required arguments :channel_ids missing' if options[:channel_ids].nil? raise ArgumentError, 'Required arguments :target_team_id missing' if options[:target_team_id].nil? post('admin.conversations.bulkMove', options) end # # Convert a public channel to a private channel. # # @option options [Object] :channel_id # The channel to convert to private. # @option options [string] :name # Name of private channel to create. Only respected when converting an MPIM. # @see https://api.slack.com/methods/admin.conversations.convertToPrivate # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.convertToPrivate.json def admin_conversations_convertToPrivate(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.convertToPrivate', options) end # # Convert a private channel to a public channel. # # @option options [Object] :channel_id # The channel to convert to public. # @see https://api.slack.com/methods/admin.conversations.convertToPublic # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.convertToPublic.json def admin_conversations_convertToPublic(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.convertToPublic', options) end # # Create a public or private channel-based conversation. # # @option options [boolean] :is_private # When true, creates a private channel instead of a public channel. # @option options [string] :name # Name of the public or private channel to create. # @option options [string] :description # Description of the public or private channel to create. # @option options [boolean] :org_wide # When true, the channel will be available org-wide. Note: if the channel is not org_wide=true, you must specify a team_id for this channel. # @option options [Object] :team_id # The workspace to create the channel in. Note: this argument is required unless you set org_wide=true. # @see https://api.slack.com/methods/admin.conversations.create # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.create.json def admin_conversations_create(options = {}) raise ArgumentError, 'Required arguments :is_private missing' if options[:is_private].nil? raise ArgumentError, 'Required arguments :name missing' if options[:name].nil? post('admin.conversations.create', options) end # # Delete a public or private channel. # # @option options [Object] :channel_id # The channel to delete. # @see https://api.slack.com/methods/admin.conversations.delete # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.delete.json def admin_conversations_delete(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.delete', options) end # # Disconnect a connected channel from one or more workspaces. # # @option options [Object] :channel_id # The channel to be disconnected from some workspaces. # @option options [array] :leaving_team_ids # team IDs getting removed from the channel, optional if there are only two teams in the channel. # @see https://api.slack.com/methods/admin.conversations.disconnectShared # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.disconnectShared.json def admin_conversations_disconnectShared(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.disconnectShared', options) end # # Get conversation preferences for a public or private channel. # # @option options [Object] :channel_id # The channel to get preferences for. # @see https://api.slack.com/methods/admin.conversations.getConversationPrefs # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getConversationPrefs.json def admin_conversations_getConversationPrefs(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.getConversationPrefs', options) end # # This API endpoint can be used by any admin to get a conversation's retention policy. # # @option options [string] :channel_id # The conversation to get the retention policy for. # @see https://api.slack.com/methods/admin.conversations.getCustomRetention # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getCustomRetention.json def admin_conversations_getCustomRetention(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.getCustomRetention', options) end # # Get all the workspaces a given public or private channel is connected to within this Enterprise org. # # @option options [Object] :channel_id # The channel to determine connected workspaces within the organization for. # @option options [string] :cursor # Set cursor to next_cursor returned by the previous call to list items in the next page. # @option options [integer] :limit # The maximum number of items to return. Must be between 1 - 1000 both inclusive. # @see https://api.slack.com/methods/admin.conversations.getTeams # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getTeams.json def admin_conversations_getTeams(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? if block_given? Pagination::Cursor.new(self, :admin_conversations_getTeams, options).each do |page| yield page end else post('admin.conversations.getTeams', options) end end # # Invite a user to a public or private channel. # # @option options [Object] :channel_id # The channel that the users will be invited to. # @option options [array] :user_ids # The users to invite. # @see https://api.slack.com/methods/admin.conversations.invite # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.invite.json def admin_conversations_invite(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? raise ArgumentError, 'Required arguments :user_ids missing' if options[:user_ids].nil? post('admin.conversations.invite', options) end # # Returns channels on the given team using the filters. # # @option options [integer] :last_message_activity_before # Filter by public channels where the most recent message was sent before last_message_activity. # @option options [array] :team_ids # Array of team IDs to filter by. # @option options [string] :cursor # Set cursor to next_cursor returned in the previous call, to fetch the next page. # @option options [integer] :limit # Maximum number of results. # @option options [integer] :max_member_count # Filter by public channels with member count equal to or less than the specified number. # @see https://api.slack.com/methods/admin.conversations.lookup # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.lookup.json def admin_conversations_lookup(options = {}) raise ArgumentError, 'Required arguments :last_message_activity_before missing' if options[:last_message_activity_before].nil? raise ArgumentError, 'Required arguments :team_ids missing' if options[:team_ids].nil? if block_given? Pagination::Cursor.new(self, :admin_conversations_lookup, options).each do |page| yield page end else post('admin.conversations.lookup', options) end end # # This API endpoint can be used by any admin to remove a conversation's retention policy. # # @option options [string] :channel_id # The conversation to set the retention policy for. # @see https://api.slack.com/methods/admin.conversations.removeCustomRetention # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.removeCustomRetention.json def admin_conversations_removeCustomRetention(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.removeCustomRetention', options) end # # Rename a public or private channel. # # @option options [Object] :channel_id # The channel to rename. # @option options [string] :name # . # @see https://api.slack.com/methods/admin.conversations.rename # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.rename.json def admin_conversations_rename(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? raise ArgumentError, 'Required arguments :name missing' if options[:name].nil? post('admin.conversations.rename', options) end # # Search for public or private channels in an Enterprise organization. # # @option options [array] :connected_team_ids # Array of encoded team IDs, signifying the external orgs to search through. # @option options [string] :cursor # Set cursor to next_cursor returned by the previous call to list items in the next page. # @option options [integer] :limit # Maximum number of items to be returned. Must be between 1 - 20 both inclusive. Default is 10. # @option options [string] :query # Name of the the channel to query by. # @option options [array] :search_channel_types # The type of channel to include or exclude in the search. For example private will search private channels, while private_exclude will exclude them. For a full list of types, check the Types section. # @option options [string] :sort # Possible values are relevant (search ranking based on what we think is closest), name (alphabetical), member_count (number of users in the channel), and created (date channel was created). You can optionally pair this with the sort_dir arg to change how it is sorted. # @option options [string] :sort_dir # Sort direction. Possible values are asc for ascending order like (1, 2, 3) or (a, b, c), and desc for descending order like (3, 2, 1) or (c, b, a). # @option options [array] :team_ids # Comma separated string of team IDs, signifying the internal workspaces to search through. # @see https://api.slack.com/methods/admin.conversations.search # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.search.json def admin_conversations_search(options = {}) if block_given? Pagination::Cursor.new(self, :admin_conversations_search, options).each do |page| yield page end else post('admin.conversations.search', options) end end # # Set the posting permissions for a public or private channel. # # @option options [string] :channel_id # The channel to set the prefs for. # @option options [string] :prefs # The prefs for this channel in a stringified JSON format. # @see https://api.slack.com/methods/admin.conversations.setConversationPrefs # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setConversationPrefs.json def admin_conversations_setConversationPrefs(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? raise ArgumentError, 'Required arguments :prefs missing' if options[:prefs].nil? options = encode_options_as_json(options, %i[prefs]) post('admin.conversations.setConversationPrefs', options) end # # This API endpoint can be used by any admin to set a conversation's retention policy. # # @option options [string] :channel_id # The conversation to set the retention policy for. # @option options [integer] :duration_days # The message retention duration in days to set for this conversation. # @see https://api.slack.com/methods/admin.conversations.setCustomRetention # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setCustomRetention.json def admin_conversations_setCustomRetention(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? raise ArgumentError, 'Required arguments :duration_days missing' if options[:duration_days].nil? post('admin.conversations.setCustomRetention', options) end # # Set the workspaces in an Enterprise grid org that connect to a public or private channel. # # @option options [string] :channel_id # The encoded channel_id to add or remove to workspaces. # @option options [boolean] :org_channel # True if channel has to be converted to an org channel. # @option options [array] :target_team_ids # A comma-separated list of workspaces to which the channel should be shared. Not required if the channel is being shared org-wide. # @option options [Object] :team_id # The workspace to which the channel belongs. Omit this argument if the channel is a cross-workspace shared channel. # @see https://api.slack.com/methods/admin.conversations.setTeams # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setTeams.json def admin_conversations_setTeams(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.setTeams', options) end # # Unarchive a public or private channel. # # @option options [Object] :channel_id # The channel to unarchive. # @see https://api.slack.com/methods/admin.conversations.unarchive # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.unarchive.json def admin_conversations_unarchive(options = {}) raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil? post('admin.conversations.unarchive', options) end end end end end end