get method
Implementation
Future<String?> get(String key) async {
try {
final raw = _box.get(key);
if (raw == null) return null;
final entry = CacheEntry.fromJson(Map<String, dynamic>.from(raw));
if (!await File(entry.localPath).exists()) {
await _box.delete(key);
return null;
}
// Update LRU timestamp
await _box.put(
key,
CacheEntry(
key: entry.key,
localPath: entry.localPath,
size: entry.size,
cachedAt: entry.cachedAt,
lastAccessedAt: DateTime.now(),
).toJson());
return entry.localPath;
} catch (e) {
CloudLogger.error('Cache get failed key=$key', error: e);
return null;
}
}