From ced62253c9ce1aa6e09774bcab0e98f3d861fd25 Mon Sep 17 00:00:00 2001 From: eyko139 Date: Thu, 26 Jun 2025 18:03:23 +0200 Subject: [PATCH] Transform search dates to ISO 8601 UTC format for immich photo search --- app/services/immich/request_photos.rb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/services/immich/request_photos.rb b/app/services/immich/request_photos.rb index 0dfcbcd5..497dcb64 100644 --- a/app/services/immich/request_photos.rb +++ b/app/services/immich/request_photos.rb @@ -7,8 +7,8 @@ class Immich::RequestPhotos @user = user @immich_api_base_url = URI.parse("#{user.safe_settings.immich_url}/api/search/metadata") @immich_api_key = user.safe_settings.immich_api_key - @start_date = start_date - @end_date = end_date + @start_date = normalize_date(start_date) + @end_date = normalize_date(end_date) end def call @@ -22,6 +22,15 @@ class Immich::RequestPhotos private + def normalize_date(raw_date) + return nil if raw_date.nil? + + time = Time.zone.parse(raw_date.to_s) + time.utc.iso8601 + rescue ArgumentError => e + raise ArgumentError, "Invalid date format for '#{raw_date}': #{e.message}" + end + def retrieve_immich_data page = 1 data = []