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
end
def star
Models::StarredRepository.create(repo_id: id, user_id: user_id)
def star(repository, current_user)
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
def unstar
Models::StarredRepository.where(repo_id: id, user_id: user_id).delete
def unstar(repository, current_user)
starred = Models::StarredRepository.where(repository_id: repository.id, user_id: current_user.id).first
raise NotStarred if starred == nil
starred.delete
repository
end
private

View File

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

View File

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