media not found fixes, rename unused enum

This commit is contained in:
Dylan Knutson
2025-08-20 15:00:54 +00:00
parent d1f791d598
commit 9b13bec296
5 changed files with 22 additions and 4 deletions

View File

@@ -2,6 +2,7 @@
class Domain::PostFileThumbnailJob < Scraper::JobBase
queue_as :thumbnails
discard_on Vips::Error
retry_on LoadedMedia::FileNotFound
sig { override.returns(Symbol) }
def self.http_factory_method

View File

@@ -6,6 +6,9 @@ class LoadedMedia
extend T::Helpers
abstract!
class FileNotFound < StandardError
end
sig do
params(content_type: String, media_path: String).returns(
T.nilable(LoadedMedia),

View File

@@ -5,6 +5,12 @@ class LoadedMedia::StaticImage < LoadedMedia
sig { params(media_path: String).void }
def initialize(media_path)
@vips_image = T.let(Vips::Image.new_from_file(media_path), Vips::Image)
rescue Vips::Error => e
if e.message.include?("does not exist")
raise LoadedMedia::FileNotFound.new(e)
end
raise
end
sig { override.returns(Integer) }

View File

@@ -0,0 +1,7 @@
class RenameFaUserPostFavTypeEnum < ActiveRecord::Migration[7.2]
def up
execute <<-SQL
ALTER TYPE domain_user_post_fav_type RENAME VALUE 'Domain::UserPostFav::FaUserPostFav' TO 'Domain::UserPostFav::FaUserPostFav_INVALID'
SQL
end
end

View File

@@ -1,4 +1,4 @@
\restrict aPpsXuEdX9tzHTE6ehm7KJzJ68I4JRZwxT9c4Yxb7h7LBSCM3b4TJPJHoQTvG10
\restrict huxfo3NM6M7Nj4JUdHDWXGq7DoLnw9sDIrV5g3aVIBWghR5vgItCQUJG6cJ3EJf
-- Dumped from database version 17.6 (Debian 17.6-1.pgdg13+1)
-- Dumped by pg_dump version 17.6 (Debian 17.6-1.pgdg12+1)
@@ -152,7 +152,7 @@ CREATE TYPE public.domain_post_type AS ENUM (
CREATE TYPE public.domain_user_post_fav_type AS ENUM (
'Domain::UserPostFav',
'Domain::UserPostFav::FaUserPostFav'
'Domain::UserPostFav::FaUserPostFav_INVALID'
);
@@ -3917,7 +3917,7 @@ CREATE UNIQUE INDEX idx_domain_posts_on_sofurry_id ON public.domain_posts USING
-- Name: idx_domain_user_post_favs_on_fav_id; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX idx_domain_user_post_favs_on_fav_id ON public.domain_user_post_favs USING btree ((((json_attributes ->> 'fav_id'::text))::integer)) WHERE (type = 'Domain::UserPostFav::FaUserPostFav'::public.domain_user_post_fav_type);
CREATE UNIQUE INDEX idx_domain_user_post_favs_on_fav_id ON public.domain_user_post_favs USING btree ((((json_attributes ->> 'fav_id'::text))::integer)) WHERE (type = 'Domain::UserPostFav::FaUserPostFav_INVALID'::public.domain_user_post_fav_type);
--
@@ -6092,11 +6092,12 @@ ALTER TABLE ONLY public.domain_twitter_tweets
-- PostgreSQL database dump complete
--
\unrestrict aPpsXuEdX9tzHTE6ehm7KJzJ68I4JRZwxT9c4Yxb7h7LBSCM3b4TJPJHoQTvG10
\unrestrict huxfo3NM6M7Nj4JUdHDWXGq7DoLnw9sDIrV5g3aVIBWghR5vgItCQUJG6cJ3EJf
SET search_path TO "$user", public;
INSERT INTO "schema_migrations" (version) VALUES
('20250820145726'),
('20250819012459'),
('20250819001506'),
('20250818235935'),