refactor un/star querys from service to query

This commit is contained in:
carlad 2015-11-19 19:02:12 +01:00
parent 2420784a87
commit 0f4a29c31c
3 changed files with 14 additions and 13 deletions

View File

@ -8,12 +8,18 @@ module Travis::API::V3
raise WrongParams, 'missing repository.id'.freeze raise WrongParams, 'missing repository.id'.freeze
end end
def star def star(repository, current_user)
Models::StarredRepository.create(repo_id: id, user_id: user_id) starred = Models::StarredRepository.where(repository_id: repository.id, user_id: current_user.id).first
raise AlreadyStarred unless starred == nil
Models::StarredRepository.create(repository_id: repository.id, user_id: current_user.id)
repository
end end
def unstar def unstar(repository, current_user)
Models::StarredRepository.where(repo_id: id, user_id: user_id).delete starred = Models::StarredRepository.where(repository_id: repository.id, user_id: current_user.id).first
raise NotStarred if starred == nil
starred.delete
repository
end end
private private

View File

@ -3,11 +3,8 @@ module Travis::API::V3
def run! def run!
raise LoginRequired unless access_control.logged_in? or access_control.full_access? raise LoginRequired unless access_control.logged_in? or access_control.full_access?
raise NotFound unless repository = find(:repository) raise NotFound unless repository = find(:repository)
starred = Models::StarredRepository.where(repository_id: repository.id, user_id: access_control.user.id).first current_user = access_control.user
raise AlreadyStarred unless starred == nil query.star(repository, current_user)
Models::StarredRepository.create(repository_id: repository.id, user_id: access_control.user.id)
repository #TODO what do we want to return???
end end
# def check_access(repository) # def check_access(repository)

View File

@ -3,10 +3,8 @@ module Travis::API::V3
def run! def run!
raise LoginRequired unless access_control.logged_in? or access_control.full_access? raise LoginRequired unless access_control.logged_in? or access_control.full_access?
raise NotFound unless repository = find(:repository) raise NotFound unless repository = find(:repository)
starred = Models::StarredRepository.where(repository_id: repository.id, user_id: access_control.user.id).first current_user = access_control.user
raise NotStarred if starred == nil query.unstar(repository, current_user)
starred.delete
repository #TODO what do we want to return???
end end
# def check_access(repository) # def check_access(repository)