refining work on star/unstar endpoints
This commit is contained in:
parent
714e40beca
commit
16687f16d7
|
@ -35,6 +35,9 @@ 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
|
||||||
|
|
|
@ -3,8 +3,11 @@ 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
|
||||||
|
raise AlreadyStarred unless starred.nil?
|
||||||
|
|
||||||
Models::StarredRepository.create(repository_id: repository.id, user_id: access_control.user.id)
|
Models::StarredRepository.create(repository_id: repository.id, user_id: access_control.user.id)
|
||||||
# repository #TODO what do we want to return???
|
repository #TODO what do we want to return???
|
||||||
end
|
end
|
||||||
|
|
||||||
# def check_access(repository)
|
# def check_access(repository)
|
||||||
|
|
|
@ -3,9 +3,10 @@ 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)
|
||||||
Models::StarredRepository.where(repository_id: repository.id, user_id: access_control.user.id).delete
|
starred_repo = Models::StarredRepository.where(repository_id: repository.id, user_id: access_control.user.id)
|
||||||
|
raise NotStarred unless !starred_repo.nil?
|
||||||
# repository #TODO what do we want to return???
|
starred_repo.first.delete
|
||||||
|
repository #TODO what do we want to return???
|
||||||
end
|
end
|
||||||
|
|
||||||
# def check_access(repository)
|
# def check_access(repository)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user