fix(mobile): clear album description sends null instead of empty string (#28817)
parent
2190aa72a8
commit
4a8c3b60be
|
|
@ -8,6 +8,7 @@ import 'package:immich_mobile/domain/models/user.model.dart';
|
||||||
import 'package:immich_mobile/infrastructure/repositories/remote_album.repository.dart';
|
import 'package:immich_mobile/infrastructure/repositories/remote_album.repository.dart';
|
||||||
import 'package:immich_mobile/models/albums/album_search.model.dart';
|
import 'package:immich_mobile/models/albums/album_search.model.dart';
|
||||||
import 'package:immich_mobile/providers/album/album_sort_by_options.provider.dart';
|
import 'package:immich_mobile/providers/album/album_sort_by_options.provider.dart';
|
||||||
|
import 'package:openapi/api.dart' show Optional;
|
||||||
import 'package:immich_mobile/repositories/drift_album_api_repository.dart';
|
import 'package:immich_mobile/repositories/drift_album_api_repository.dart';
|
||||||
import 'package:immich_mobile/services/foreground_upload.service.dart';
|
import 'package:immich_mobile/services/foreground_upload.service.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
|
|
@ -137,7 +138,7 @@ class RemoteAlbumService {
|
||||||
Future<RemoteAlbum> updateAlbum(
|
Future<RemoteAlbum> updateAlbum(
|
||||||
String albumId, {
|
String albumId, {
|
||||||
String? name,
|
String? name,
|
||||||
String? description,
|
Optional<String?> description = const Optional.absent(),
|
||||||
String? thumbnailAssetId,
|
String? thumbnailAssetId,
|
||||||
bool? isActivityEnabled,
|
bool? isActivityEnabled,
|
||||||
AlbumAssetOrder? order,
|
AlbumAssetOrder? order,
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import 'package:immich_mobile/providers/user.provider.dart';
|
||||||
import 'package:immich_mobile/routing/router.dart';
|
import 'package:immich_mobile/routing/router.dart';
|
||||||
import 'package:immich_mobile/widgets/common/immich_toast.dart';
|
import 'package:immich_mobile/widgets/common/immich_toast.dart';
|
||||||
import 'package:immich_mobile/widgets/common/remote_album_sliver_app_bar.dart';
|
import 'package:immich_mobile/widgets/common/remote_album_sliver_app_bar.dart';
|
||||||
|
import 'package:openapi/api.dart' show Optional;
|
||||||
|
|
||||||
@RoutePage()
|
@RoutePage()
|
||||||
class RemoteAlbumPage extends ConsumerStatefulWidget {
|
class RemoteAlbumPage extends ConsumerStatefulWidget {
|
||||||
|
|
@ -247,10 +248,13 @@ class _EditAlbumDialogState extends ConsumerState<_EditAlbumDialog> {
|
||||||
try {
|
try {
|
||||||
final newTitle = titleController.text.trim();
|
final newTitle = titleController.text.trim();
|
||||||
final newDescription = descriptionController.text.trim();
|
final newDescription = descriptionController.text.trim();
|
||||||
|
final description = newDescription.isEmpty
|
||||||
|
? const Optional<String?>.present(null)
|
||||||
|
: Optional<String?>.present(newDescription);
|
||||||
|
|
||||||
await ref
|
await ref
|
||||||
.read(remoteAlbumProvider.notifier)
|
.read(remoteAlbumProvider.notifier)
|
||||||
.updateAlbum(widget.album.id, name: newTitle, description: newDescription);
|
.updateAlbum(widget.album.id, name: newTitle, description: description);
|
||||||
|
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
Navigator.of(
|
Navigator.of(
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import 'package:immich_mobile/domain/models/user.model.dart';
|
||||||
import 'package:immich_mobile/domain/services/remote_album.service.dart';
|
import 'package:immich_mobile/domain/services/remote_album.service.dart';
|
||||||
import 'package:immich_mobile/models/albums/album_search.model.dart';
|
import 'package:immich_mobile/models/albums/album_search.model.dart';
|
||||||
import 'package:immich_mobile/providers/album/album_sort_by_options.provider.dart';
|
import 'package:immich_mobile/providers/album/album_sort_by_options.provider.dart';
|
||||||
|
import 'package:openapi/api.dart' show Optional;
|
||||||
import 'package:immich_mobile/providers/album/pending_album_uploads.provider.dart';
|
import 'package:immich_mobile/providers/album/pending_album_uploads.provider.dart';
|
||||||
import 'package:immich_mobile/providers/backup/asset_upload_progress.provider.dart';
|
import 'package:immich_mobile/providers/backup/asset_upload_progress.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
||||||
|
|
@ -153,7 +154,7 @@ class RemoteAlbumNotifier extends Notifier<RemoteAlbumState> {
|
||||||
Future<RemoteAlbum?> updateAlbum(
|
Future<RemoteAlbum?> updateAlbum(
|
||||||
String albumId, {
|
String albumId, {
|
||||||
String? name,
|
String? name,
|
||||||
String? description,
|
Optional<String?> description = const Optional.absent(),
|
||||||
String? thumbnailAssetId,
|
String? thumbnailAssetId,
|
||||||
bool? isActivityEnabled,
|
bool? isActivityEnabled,
|
||||||
AlbumAssetOrder? order,
|
AlbumAssetOrder? order,
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ class DriftAlbumApiRepository extends ApiRepository {
|
||||||
String albumId,
|
String albumId,
|
||||||
UserDto owner, {
|
UserDto owner, {
|
||||||
String? name,
|
String? name,
|
||||||
String? description,
|
Optional<String?> description = const Optional.absent(),
|
||||||
String? thumbnailAssetId,
|
String? thumbnailAssetId,
|
||||||
bool? isActivityEnabled,
|
bool? isActivityEnabled,
|
||||||
AlbumAssetOrder? order,
|
AlbumAssetOrder? order,
|
||||||
|
|
@ -86,7 +86,7 @@ class DriftAlbumApiRepository extends ApiRepository {
|
||||||
albumId,
|
albumId,
|
||||||
UpdateAlbumDto(
|
UpdateAlbumDto(
|
||||||
albumName: name == null ? const Optional.absent() : Optional.present(name),
|
albumName: name == null ? const Optional.absent() : Optional.present(name),
|
||||||
description: description == null ? const Optional.absent() : Optional.present(description),
|
description: description,
|
||||||
albumThumbnailAssetId: thumbnailAssetId == null
|
albumThumbnailAssetId: thumbnailAssetId == null
|
||||||
? const Optional.absent()
|
? const Optional.absent()
|
||||||
: Optional.present(thumbnailAssetId),
|
: Optional.present(thumbnailAssetId),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue