add /cron/cron.id/ GET endpoint
This commit is contained in:
parent
046a63b60a
commit
772e797aae
|
@ -59,6 +59,10 @@ module Travis::API::V3
|
||||||
visible? branch.repository
|
visible? branch.repository
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def cron_visible?(cron)
|
||||||
|
visible? cron.repository
|
||||||
|
end
|
||||||
|
|
||||||
def job_visible?(job)
|
def job_visible?(job)
|
||||||
visible? job.repository
|
visible? job.repository
|
||||||
end
|
end
|
||||||
|
|
7
lib/travis/api/v3/models/cron.rb
Normal file
7
lib/travis/api/v3/models/cron.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
module Travis::API::V3
|
||||||
|
class Models::Cron < Model
|
||||||
|
|
||||||
|
belongs_to :repository
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
|
@ -6,6 +6,7 @@ module Travis::API::V3
|
||||||
has_many :builds, dependent: :delete_all, order: 'builds.id DESC'.freeze
|
has_many :builds, dependent: :delete_all, order: 'builds.id DESC'.freeze
|
||||||
has_many :permissions, dependent: :delete_all
|
has_many :permissions, dependent: :delete_all
|
||||||
has_many :users, through: :permissions
|
has_many :users, through: :permissions
|
||||||
|
has_many :crons, dependent: :delete_all
|
||||||
|
|
||||||
belongs_to :owner, polymorphic: true
|
belongs_to :owner, polymorphic: true
|
||||||
belongs_to :last_build, class_name: 'Travis::API::V3::Models::Build'.freeze
|
belongs_to :last_build, class_name: 'Travis::API::V3::Models::Build'.freeze
|
||||||
|
|
|
@ -5,8 +5,8 @@ module Travis::API::V3
|
||||||
sortable_by :id
|
sortable_by :id
|
||||||
|
|
||||||
def find
|
def find
|
||||||
return Models::Repository.find_by_id(id) if id
|
return Models::Cron.find_by_id(id) if id
|
||||||
raise WrongParams, 'missing job.id'.freeze
|
raise WrongParams, 'missing cron.id'.freeze
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,54 +2,8 @@ require 'travis/api/v3/renderer/model_renderer'
|
||||||
|
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Renderer::Cron < Renderer::ModelRenderer
|
class Renderer::Cron < Renderer::ModelRenderer
|
||||||
representation(:minimal, :id, :name, :slug)
|
representation(:minimal, :id)
|
||||||
representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :default_branch)
|
representation(:standard, :id, :repository)
|
||||||
|
|
||||||
def active
|
|
||||||
!!model.active
|
|
||||||
end
|
|
||||||
|
|
||||||
def default_branch
|
|
||||||
return model.default_branch if include_default_branch?
|
|
||||||
{
|
|
||||||
:@type => 'branch'.freeze,
|
|
||||||
:@href => Renderer.href(:branch, name: model.default_branch_name, repository_id: id, script_name: script_name),
|
|
||||||
:@representation => 'minimal'.freeze,
|
|
||||||
:name => model.default_branch_name
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
def include_default_branch?
|
|
||||||
return true if include? 'repository.default_branch'.freeze
|
|
||||||
return true if include.any? { |i| i.start_with? 'branch'.freeze }
|
|
||||||
return true if included.any? { |i| i.is_a? Models::Branch and i.respository_id == id and i.name == i.default_branch_name }
|
|
||||||
end
|
|
||||||
|
|
||||||
def owner
|
|
||||||
return model.owner if include_owner?
|
|
||||||
owner_href = Renderer.href(owner_type.to_sym, id: model.owner_id, script_name: script_name)
|
|
||||||
|
|
||||||
if included_owner? and owner_href
|
|
||||||
{ :@href => owner_href }
|
|
||||||
else
|
|
||||||
result = { :@type => owner_type, :id => model.owner_id, :login => model.owner_name }
|
|
||||||
result[:@href] = owner_href if owner_href
|
|
||||||
result
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def include_owner?
|
|
||||||
return false if included_owner?
|
|
||||||
return true if include? 'repository.owner'.freeze
|
|
||||||
return true if include.any? { |i| i.start_with? owner_type or i.start_with? 'owner'.freeze }
|
|
||||||
end
|
|
||||||
|
|
||||||
def included_owner?
|
|
||||||
included.any? { |i| i.is_a? Model and i.class.polymorphic_name == model.owner_type and i.id == model.owner_id }
|
|
||||||
end
|
|
||||||
|
|
||||||
def owner_type
|
|
||||||
@owner_type ||= model.owner_type.downcase if model.owner_type
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,5 +5,6 @@ module Travis::API::V3
|
||||||
def run!
|
def run!
|
||||||
find
|
find
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user