blob: ac38f19a1b96c4c3191667a5bb71a11ff4e57e63 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# frozen_string_literal: true
module CommandTag::Command::AccountTools
def handle_account_at_start(args)
return if args[0].blank?
case args[0].downcase
when 'set'
handle_account_set(args[1..-1])
end
end
alias handle_acct_at_start handle_account_at_start
private
def handle_account_set(args)
return if args[0].blank?
case args[0].downcase
when 'v', 'p', 'visibility', 'privacy', 'default-visibility', 'default-privacy'
args[1] = read_visibility_from(args[1])
return if args[1].blank?
if args[2].blank?
@account.user.settings.default_privacy = args[1]
elsif args[1] == 'public'
domains = args[2..-1].map { |domain| normalize_domain(domain) unless domain == '*' }.uniq.compact
@account.domain_permissions.where(domain: domains, sticky: false).destroy_all if domains.present?
elsif args[1] != 'cc'
args[2..-1].flat_map(&:split).uniq.each do |domain|
domain = normalize_domain(domain) unless domain == '*'
@account.domain_permissions.create_or_update(domain: domain, visibility: args[1]) if domain.present?
end
end
end
end
end
|