Add Ecto cast of ID to repo creation changeset if an ID was provided.
Create Philomena.Images.IDValidator which provides validate_id/2 to check if ID matches the provided source_url, along with structure containing map of ID number ranges to sites/source url bases (currently only Derpibooru).
Create PhilomenaWeb.IDValidationPlug to handle checking for valid IDs (string or numeric IDs should work), and passing or rejecting uploads.
Philomena.Images.IDValidator
which providesvalidate_id/2
to check if ID matches the providedsource_url
, along with structure containing map of ID number ranges to sites/source url bases (currently only Derpibooru).PhilomenaWeb.IDValidationPlug
to handle checking for valid IDs (string or numeric IDs should work), and passing or rejecting uploads.