v3 refator un/star endpoints

This commit is contained in:
carlad 2015-11-20 13:20:03 +01:00
parent 95ad9a6b56
commit 02d3fad23f
3 changed files with 4 additions and 8 deletions

View File

@ -35,9 +35,6 @@ module Travis
NotImplemented = ServerError .create('request not (yet) implemented', status: 501) NotImplemented = ServerError .create('request not (yet) implemented', status: 501)
RequestLimitReached = ClientError .create('request limit reached for resource', status: 429) RequestLimitReached = ClientError .create('request limit reached for resource', status: 429)
AlreadySyncing = ClientError .create('sync already in progress', status: 409) AlreadySyncing = ClientError .create('sync already in progress', status: 409)
AlreadyStarred = ClientError .create('repository is already starred', status: 409)
NotStarred = ClientError .create('repository is not a starred repository')
end end
end end
end end

View File

@ -10,15 +10,13 @@ module Travis::API::V3
def star(repository, current_user) def star(repository, current_user)
starred = Models::StarredRepository.where(repository_id: repository.id, user_id: current_user.id).first 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) unless starred
Models::StarredRepository.create(repository_id: repository.id, user_id: current_user.id)
repository repository
end end
def unstar(repository, current_user) def unstar(repository, current_user)
starred = Models::StarredRepository.where(repository_id: repository.id, user_id: current_user.id).first starred = Models::StarredRepository.where(repository_id: repository.id, user_id: current_user.id).first
raise NotStarred if starred == nil starred.delete if starred
starred.delete
repository repository
end end

View File

@ -20,7 +20,8 @@ module Travis::API::V3
end end
def starred def starred
return true if Models::StarredRepository.where(repository_id: id, user_id: access_control.user.id).first return false unless access_control.user
Models::StarredRepository.where(repository_id: id, user_id: access_control.user.id).any?
end end
def include_default_branch? def include_default_branch?