add broadcasts - initial work

This commit is contained in:
carlad 2015-09-10 15:08:41 +02:00
parent fba1d65e76
commit bd61d1e58e
8 changed files with 52 additions and 2 deletions

View File

@ -0,0 +1,11 @@
module Travis::API::V3
class Queries::Broadcasts < Query
def for_repo(repository)
Models::Broadcast.where(recipient_id: repository.id)
end
def for_user(user)
Models::Broadcast.where(recipient_id: user.id)
end
end
end

View File

@ -0,0 +1,8 @@
require 'travis/api/v3/renderer/model_renderer'
module Travis::API::V3
class Renderer::Broadcast < Renderer::ModelRenderer
representation(:minimal, :id, :recipient_id, :message, :created_at)
representation(:standard, :id, :recipient_id, :recipient_type, :kind, :message, :expired, :created_at, :updated_at)
end
end

View File

@ -0,0 +1,6 @@
module Travis::API::V3
class Renderer::Broadcasts < Renderer::CollectionRenderer
type :broadcasts
collection_key :broadcasts
end
end

View File

@ -63,6 +63,11 @@ module Travis::API::V3
get :find
end
resource :broadcasts do
route '/broadcasts'
get :for_current_repo
end
resource :builds do
route '/builds'
get :find
@ -80,6 +85,11 @@ module Travis::API::V3
route '/user'
get :current
get :find, '/{user.id}'
resource :broadcasts do
route '/broadcasts'
get :for_current_user
end
end
end

View File

@ -5,6 +5,8 @@ module Travis::API::V3
Accounts = Module.new { extend Services }
Branch = Module.new { extend Services }
Branches = Module.new { extend Services }
Broadcast = Module.new { extend Services }
Broadcasts = Module.new { extend Services }
Build = Module.new { extend Services }
Builds = Module.new { extend Services }
Job = Module.new { extend Services }
@ -17,7 +19,7 @@ module Travis::API::V3
User = Module.new { extend Services }
def result_type
@resul_type ||= name[/[^:]+$/].underscore.to_sym
@result_type ||= name[/[^:]+$/].underscore.to_sym
end
end
end

View File

@ -5,5 +5,4 @@ module Travis::API::V3
query.find(find(:repository))
end
end
end

View File

@ -0,0 +1,7 @@
module Travis::API::V3
class Services::Broadcasts::ForCurrentRepo < Service
def run!
query.for_repo(find(:repository))
end
end
end

View File

@ -0,0 +1,7 @@
module Travis::API::V3
class Services::Broadcasts::ForCurrentUser < Service
def run!
query.for_user(find(:user))
end
end
end