22 lines
819 B
Dart
22 lines
819 B
Dart
import 'package:aves/model/entry/entry.dart';
|
|
import 'package:aves/model/entry/origins.dart';
|
|
import 'package:aves/remote/remote_origin.dart';
|
|
import 'package:aves/model/entry/extensions/remote_identity.dart';
|
|
|
|
extension RemoteFlags on AvesEntry {
|
|
/// Entry salvata come remota nel DB
|
|
bool get isRemoteOnly => origin == RemoteOrigin.value;
|
|
|
|
/// Ha collegamento remoto.
|
|
///
|
|
/// Prima prova a usare il remoteId ricavato dalla uri:
|
|
/// aves-remote://rid/<remoteId>
|
|
///
|
|
/// Se non riesce, usa il vecchio campo remoteId.
|
|
bool get isRemoteAvailable => effectiveRemoteId != null;
|
|
|
|
/// Ibrido: entry locale (origin=mediaStoreContent) con remote link.
|
|
///
|
|
/// La vuoi trattare come locale in UI/performance.
|
|
bool get isLocalAndRemote => origin == EntryOrigins.mediaStoreContent && isRemoteAvailable;
|
|
}
|