From ab6696e855b58cdb2b6264c9acb0397dd7384e25 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 7 Mar 2016 12:42:33 +0100 Subject: Adding doorkeeper, adding a REST API POST /api/statuses Params: status (text contents), in_reply_to_id (optional) GET /api/statuses/:id POST /api/statuses/:id/reblog GET /api/accounts/:id GET /api/accounts/:id/following GET /api/accounts/:id/followers POST /api/accounts/:id/follow POST /api/accounts/:id/unfollow POST /api/follows Params: uri (e.g. user@domain) OAuth authentication is currently disabled, but the API can be used with HTTP Auth. --- app/models/account.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'app/models/account.rb') diff --git a/app/models/account.rb b/app/models/account.rb index 47e43f0ac..9e6dea4aa 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -24,7 +24,7 @@ class Account < ActiveRecord::Base MENTION_RE = /(?:^|\W)@([a-z0-9_]+(?:@[a-z0-9\.\-]+)?)/i def follow!(other_account) - self.active_relationships.first_or_create!(target_account: other_account) + self.active_relationships.where(target_account: other_account).first_or_create!(target_account: other_account) end def unfollow!(other_account) @@ -59,6 +59,14 @@ class Account < ActiveRecord::Base !(self.secret.blank? || self.verify_token.blank?) end + def favourited?(status) + (status.reblog? ? status.reblog : status).favourites.where(account: self).count == 1 + end + + def reblogged?(status) + (status.reblog? ? status.reblog : status).reblogs.where(account: self).count == 1 + end + def keypair self.private_key.nil? ? OpenSSL::PKey::RSA.new(self.public_key) : OpenSSL::PKey::RSA.new(self.private_key) end -- cgit