Files
warp_engine/app/services/warp_engine/software_service.rb
T
2026-08-05 20:12:35 +02:00

13 lines
503 B
Ruby

module WarpEngine
class SoftwareService
include SoftwareResponseBuilder
def index(owner_id: nil)
softwares = WarpEngine::Software.includes(releases: [ :release_assets ]).includes(:external_links, :software_images).all
softwares = softwares.where(owner_id: owner_id) if owner_id.present?
counts = download_counts_for(softwares.flat_map { |sw| sw.releases.map(&:id) })
{ softwares: softwares.map { |sw| build_response(sw, sw.releases.to_a, counts) } }
end
end
end