Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions lib/valkyrie/persistence/postgres/query_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def initialize(adapter:, resource_factory:)

# Retrieve all records for the resource and construct Valkyrie Resources
# for each record
# @return [Array<Valkyrie::Resource>]
# @return [Enumerator<Valkyrie::Resource>]
def find_all
orm_class.find_each.lazy.map do |orm_object|
resource_factory.to_resource(object: orm_object)
Expand All @@ -28,7 +28,7 @@ def find_all
# Retrieve all records for a specific resource type and construct Valkyrie
# Resources for each record
# @param [Class] model
# @return [Array<Valkyrie::Resource>]
# @return [Enumerator<Valkyrie::Resource>]
def find_all_of_model(model:)
orm_class.where(internal_resource: model.to_s).find_each.lazy.map do |orm_object|
resource_factory.to_resource(object: orm_object)
Expand Down Expand Up @@ -67,24 +67,24 @@ def find_by_alternate_identifier(alternate_identifier:)

# Find records using a set of Valkyrie IDs, and map each to Valkyrie
# Resources
# @param [Array<Valkyrie::ID>] ids
# @return [Array<Valkyrie::Resource>]
# @param [Enumerable<Valkyrie::ID>] ids
# @return [Enumerator<Valkyrie::Resource>]
def find_many_by_ids(ids:)
ids.map! do |id|
ids = ids.map do |id|
id = Valkyrie::ID.new(id.to_s) if id.is_a?(String)
validate_id(id)
id.to_s
end

orm_class.where(id: ids).map do |orm_resource|
orm_class.where(id: ids).lazy.map do |orm_resource|
resource_factory.to_resource(object: orm_resource)
end
end

# Find all member resources for a given Valkyrie Resource
# @param [Valkyrie::Resource] resource
# @param [Class] model
# @return [Array<Valkyrie::Resource>]
# @return [Enumerator<Valkyrie::Resource>]
def find_members(resource:, model: nil)
return [] if resource.id.blank?
if model
Expand All @@ -96,7 +96,7 @@ def find_members(resource:, model: nil)

# Find all parent resources for a given Valkyrie Resource
# @param [Valkyrie::Resource] resource
# @return [Array<Valkyrie::Resource>]
# @return [Enumerator<Valkyrie::Resource>]
def find_parents(resource:)
find_inverse_references_by(resource: resource, property: :member_ids)
end
Expand Down Expand Up @@ -128,7 +128,7 @@ def find_inverse_references_by(resource: nil, id: nil, property:, model: nil)
# Execute a query in SQL for resource records and map them to Valkyrie
# Resources
# @param [String] query
# @return [Array<Valkyrie::Resource>]
# @return [Enumerator<Valkyrie::Resource>]
def run_query(query, *args)
orm_class.find_by_sql(([query] + args)).lazy.map do |object|
resource_factory.to_resource(object: object)
Expand Down