4 changed files with 86 additions and 1 deletions
@ -0,0 +1,32 @@
|
||||
module Api |
||||
module Jurisprudence |
||||
class CitedInsController < ::Api::BaseController |
||||
load_resource :document, class: "Cdao::Jurisprudence", id_param: :jurisprudence_id |
||||
|
||||
def index |
||||
authorize! :read, @document |
||||
|
||||
response = { data: [] } |
||||
|
||||
document = @document |
||||
where = { enabled: true, state: "published" } |
||||
|
||||
document.class.citing_docs_of(document, where).group_by { |a| a.class.name }.each do |klass, docs| |
||||
klass = klass.gsub("Cdao::", "") |
||||
library = Cdao::Library.find_by(document_type: klass) |
||||
|
||||
response[:data] << { |
||||
library: { |
||||
document_type: klass, |
||||
display_name: library.try(:display_name).presence || "", |
||||
name: library.try(:name).presence || "", |
||||
}, |
||||
documents: docs.map { |doc| doc.to_builder(current_ability).attributes! } |
||||
} |
||||
end |
||||
|
||||
render json: response |
||||
end |
||||
end |
||||
end |
||||
end |
||||
@ -0,0 +1,33 @@
|
||||
module Api |
||||
module Jurisprudence |
||||
class CrossReferencesController < ::Api::BaseController |
||||
load_resource :document, class: "Cdao::Jurisprudence", id_param: :jurisprudence_id |
||||
|
||||
def index |
||||
authorize! :read, @document |
||||
|
||||
response = { data: [] } |
||||
|
||||
document = @document |
||||
where = { enabled: true, state: "published" } |
||||
|
||||
document.class.cited_docs_of(document, where).group_by { |a| a.class.name }.each do |klass, docs| |
||||
klass = klass.gsub("Cdao::", "") |
||||
library = Cdao::Library.find_by(document_type: klass) |
||||
|
||||
response[:data] << { |
||||
library: { |
||||
document_type: klass, |
||||
display_name: library.try(:display_name).presence || "", |
||||
name: library.try(:name).presence || "", |
||||
}, |
||||
data_id_prefix: "#{klass}-", |
||||
documents: docs.map { |doc| doc.to_builder(current_ability).attributes! } |
||||
} |
||||
end |
||||
|
||||
render json: response |
||||
end |
||||
end |
||||
end |
||||
end |
||||
Loading…
Reference in new issue