18 lines
671 B
Ruby
18 lines
671 B
Ruby
module Travis::API::V3
|
|
class Services::Repository::Star < Service
|
|
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???
|
|
end
|
|
|
|
# def check_access(repository)
|
|
# access_control.permissions(repository).star!
|
|
# end
|
|
end
|
|
end
|