more tweaks

This commit is contained in:
2026-07-29 08:10:59 +02:00
parent e25464af9c
commit b8e3c64868
56 changed files with 3123 additions and 212 deletions
@@ -11,7 +11,7 @@ class Api::DownloadsController < ApiController
error code: 404, desc: "File not found"
def show
path = params[:path]
return head :bad_request if path.blank?
return render(json: { error: "Path is required" }, status: :bad_request) if path.blank?
full_path = DownloadService.new.call(
path: path,
@@ -23,7 +23,7 @@ class Api::DownloadsController < ApiController
if full_path
send_file full_path, disposition: "attachment", type: resolve_mime(full_path)
else
head :not_found
render json: { error: "Not found" }, status: :not_found
end
end
end
@@ -11,7 +11,5 @@ class Api::ImagesController < ApiController
def show
image = ImageService.new.show(ImageShowInputDto.new(id: params[:id]))
send_file image.file_path, type: image.content_type, disposition: "inline"
rescue Errno::ENOENT
head :not_found
end
end
@@ -13,6 +13,14 @@ class ApiController < ActionController::API
render json: { error: "Not found" }, status: :not_found
end
rescue_from Errno::ENOENT do |e|
render json: { error: "Not found" }, status: :not_found
end
rescue_from ArgumentError do |e|
render json: { error: e.message }, status: :bad_request
end
private
def resolve_mime(path)
@@ -6,14 +6,16 @@ module SoftwareUpdater
metadata = parse_json_metadata(full_path("#{versioned}.metadata.json"))
site_url = metadata.delete(:site)
software = update_or_create_software(metadata.merge(platform: "c64"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
ActiveRecord::Base.transaction do
software = update_or_create_software(metadata.merge(platform: "c64"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
create_release_if_not_exists(
software_id: software.id,
version: version,
cartridge_path: full_path("#{versioned}.prg")
)
create_release_if_not_exists(
software_id: software.id,
version: version,
cartridge_path: full_path("#{versioned}.prg")
)
end
end
end
end
@@ -7,14 +7,16 @@ module SoftwareUpdater
metadata = parse_json_metadata(full_path("#{versioned}.metadata.json"))
site_url = metadata.delete(:site)
software = update_or_create_software(metadata.merge(platform: "ebitengine"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
ActiveRecord::Base.transaction do
software = update_or_create_software(metadata.merge(platform: "ebitengine"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
create_release_if_not_exists(
software_id: software.id,
version: version,
html_folder_path: full_path(versioned)
)
create_release_if_not_exists(
software_id: software.id,
version: version,
html_folder_path: full_path(versioned)
)
end
end
end
end
@@ -7,14 +7,16 @@ module SoftwareUpdater
metadata = parse_json_metadata(full_path("#{versioned}.metadata.json"))
site_url = metadata.delete(:site)
software = update_or_create_software(metadata.merge(platform: "love"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
ActiveRecord::Base.transaction do
software = update_or_create_software(metadata.merge(platform: "love"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
create_release_if_not_exists(
software_id: software.id,
version: version,
html_folder_path: full_path(versioned)
)
create_release_if_not_exists(
software_id: software.id,
version: version,
html_folder_path: full_path(versioned)
)
end
end
end
end
@@ -10,17 +10,19 @@ module SoftwareUpdater
metadata = parse_lua_metadata(full_path("#{versioned}.lua"))
site_url = metadata.delete(:site)
software = update_or_create_software(metadata.merge(platform: "tic80"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
ActiveRecord::Base.transaction do
software = update_or_create_software(metadata.merge(platform: "tic80"))
upsert_external_link(software.id, "Source Code", site_url) if site_url.present?
create_release_if_not_exists(
software_id: software.id,
version: version,
cartridge_path: full_path("#{versioned}.tic"),
source_path: full_path("#{versioned}.lua"),
html_folder_path: full_path(versioned),
docs_folder_path: full_path(docs_dir)
)
create_release_if_not_exists(
software_id: software.id,
version: version,
cartridge_path: full_path("#{versioned}.tic"),
source_path: full_path("#{versioned}.lua"),
html_folder_path: full_path(versioned),
docs_folder_path: full_path(docs_dir)
)
end
end
private