From 3e3a53391d8a5e1e442da1b23ff2bf6b575423b7 Mon Sep 17 00:00:00 2001 From: bwees Date: Sun, 8 Mar 2026 19:24:06 -0500 Subject: [PATCH] fix: openapi patch this sucks :pepehands: --- .../lib/repositories/asset_api.repository.dart | 6 +++--- .../lib/model/asset_edit_action_item_dto.dart | 4 ++-- open-api/bin/generate-open-api.sh | 1 + .../asset_edit_action_item_dto.dart.patch | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 open-api/patch/asset_edit_action_item_dto.dart.patch diff --git a/mobile/lib/repositories/asset_api.repository.dart b/mobile/lib/repositories/asset_api.repository.dart index 517c591c57..d8824456b0 100644 --- a/mobile/lib/repositories/asset_api.repository.dart +++ b/mobile/lib/repositories/asset_api.repository.dart @@ -114,12 +114,12 @@ class AssetApiRepository extends ApiRepository { return null; } - return AssetEditActionListDtoEditsInner(action: edit.action.toDto()!, parameters: edit.parameters); + return AssetEditActionItemDto(action: edit.action.toDto()!, parameters: edit.parameters); }) - .whereType() + .whereType() .toList(); - await _api.editAsset(assetId, AssetEditActionListDto(edits: editDtos)); + await _api.editAsset(assetId, AssetEditsCreateDto(edits: editDtos)); } Future removeEdits(String assetId) async { diff --git a/mobile/openapi/lib/model/asset_edit_action_item_dto.dart b/mobile/openapi/lib/model/asset_edit_action_item_dto.dart index 7829de4bd5..20bc6ed539 100644 --- a/mobile/openapi/lib/model/asset_edit_action_item_dto.dart +++ b/mobile/openapi/lib/model/asset_edit_action_item_dto.dart @@ -20,7 +20,7 @@ class AssetEditActionItemDto { /// Type of edit action to perform AssetEditAction action; - AssetEditActionItemDtoParameters parameters; + Map parameters; @override bool operator ==(Object other) => identical(this, other) || other is AssetEditActionItemDto && @@ -53,7 +53,7 @@ class AssetEditActionItemDto { return AssetEditActionItemDto( action: AssetEditAction.fromJson(json[r'action'])!, - parameters: AssetEditActionItemDtoParameters.fromJson(json[r'parameters'])!, + parameters: json[r'parameters'], ); } return null; diff --git a/open-api/bin/generate-open-api.sh b/open-api/bin/generate-open-api.sh index 522063185f..e24bfd5268 100755 --- a/open-api/bin/generate-open-api.sh +++ b/open-api/bin/generate-open-api.sh @@ -21,6 +21,7 @@ function dart { patch --no-backup-if-mismatch -u ../mobile/openapi/lib/api_client.dart <./patch/api_client.dart.patch patch --no-backup-if-mismatch -u ../mobile/openapi/lib/api.dart <./patch/api.dart.patch patch --no-backup-if-mismatch -u ../mobile/openapi/pubspec.yaml <./patch/pubspec_immich_mobile.yaml.patch + patch --no-backup-if-mismatch -u ../mobile/openapi/lib/model/asset_edit_action_item_dto.dart <./patch/asset_edit_action_item_dto.dart.patch # Don't include analysis_options.yaml for the generated openapi files # so that language servers can properly exclude the mobile/openapi directory rm ../mobile/openapi/analysis_options.yaml diff --git a/open-api/patch/asset_edit_action_item_dto.dart.patch b/open-api/patch/asset_edit_action_item_dto.dart.patch new file mode 100644 index 0000000000..b825795bf4 --- /dev/null +++ b/open-api/patch/asset_edit_action_item_dto.dart.patch @@ -0,0 +1,18 @@ +@@ -20,7 +20,7 @@ class AssetEditActionItemDto { + /// Type of edit action to perform + AssetEditAction action; + +- AssetEditActionItemDtoParameters parameters; ++ Map parameters; + + @override + bool operator ==(Object other) => identical(this, other) || other is AssetEditActionItemDto && +@@ -53,7 +53,7 @@ class AssetEditActionItemDto { + + return AssetEditActionItemDto( + action: AssetEditAction.fromJson(json[r'action'])!, +- parameters: AssetEditActionItemDtoParameters.fromJson(json[r'parameters'])!, ++ parameters: json[r'parameters'], + ); + } + return null; \ No newline at end of file