feat(server): read-write external assets (#9235)

* refactor: remove isReadOnly and isExternal usages

* chore: open api

* fix: linting

* remove mobile isReadOnly dependency

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
Jason Rasmussen 2024-05-03 15:34:57 -04:00 committed by GitHub
parent d26ac431b8
commit 5b87abb021
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
57 changed files with 181 additions and 603 deletions

View file

@ -102,16 +102,6 @@ class BottomGalleryBar extends ConsumerWidget {
}
void handleDelete() async {
// Cannot delete readOnly / external assets. They are handled through library offline jobs
if (asset.isReadOnly) {
ImmichToast.show(
durationInSecond: 1,
context: context,
msg: 'asset_action_delete_err_read_only'.tr(),
gravity: ToastGravity.BOTTOM,
);
return;
}
Future<bool> onDelete(bool force) async {
final isDeleted = await ref.read(assetProvider.notifier).deleteAssets(
{asset},

View file

@ -42,7 +42,7 @@ class ExifBottomSheet extends HookConsumerWidget {
fontSize: 14,
),
),
if (asset.isRemote && !asset.isReadOnly)
if (asset.isRemote)
IconButton(
onPressed: () => handleEditDateTime(
ref,

View file

@ -24,7 +24,7 @@ class ExifLocation extends StatelessWidget {
final hasCoordinates = exifInfo?.hasCoordinates ?? false;
// Guard no lat/lng
if (!hasCoordinates) {
return asset.isRemote && !asset.isReadOnly
return asset.isRemote
? ListTile(
minLeadingWidth: 0,
contentPadding: const EdgeInsets.all(0),
@ -57,7 +57,7 @@ class ExifLocation extends StatelessWidget {
fontWeight: FontWeight.w600,
),
).tr(),
if (asset.isRemote && !asset.isReadOnly)
if (asset.isRemote)
IconButton(
onPressed: editLocation,
icon: const Icon(Icons.edit_outlined),