Fix #2, add rake task for PuSH-unsubscribing from remote users who have no

local followers. Remote users' usernames SHOULD be case-sensitive
This commit is contained in:
Eugen Rochko
2016-03-17 11:59:18 +01:00
parent af7ae348d7
commit 323474c97e
3 changed files with 22 additions and 3 deletions

View File

@ -19,12 +19,17 @@ class Api::AccountsController < ApiController
end
def follow
@follow = current_user.account.follow!(@account)
if @account.local?
@follow = current_user.account.follow!(@account)
else
@follow = FollowService.new.(current_user.account, @account.acct)
end
render action: :show
end
def unfollow
@unfollow = current_user.account.unfollow!(@account)
@unfollow = UnfollowService.new.(current_user.account, @account)
render action: :show
end

View File

@ -1,7 +1,8 @@
class Account < ActiveRecord::Base
# Local users
has_one :user, inverse_of: :account
validates :username, uniqueness: { scope: :domain, case_sensitive: false }
validates :username, uniqueness: { scope: :domain, case_sensitive: false }, if: 'local?'
validates :username, uniqueness: { scope: :domain, case_sensitive: true }, unless: 'local?'
# Avatar upload
attr_reader :avatar_remote_url