storeStructuredData method
Stores structured data in the cache
id is the unique identifier for the data
source is the source of the data (e.g., the URL)
data is the data to store
Implementation
Future<void> storeStructuredData(
String id,
String source,
dynamic data,
) async {
final timestamp = DateTime.now().millisecondsSinceEpoch;
// Store the data
await _cache.put(_structuredDataKeyPrefix + id, {
'id': id,
'source': source,
'timestamp': timestamp,
'data': data,
});
// Update the list of IDs
final ids = _cache.get(_structuredDataIdsKey) as List<dynamic>? ?? [];
if (!ids.contains(id)) {
ids.add(id);
await _cache.put(_structuredDataIdsKey, ids);
}
// Update the list of sources
final sources =
_cache.get(_structuredDataSourcesKey) as List<dynamic>? ?? [];
if (!sources.contains(source)) {
sources.add(source);
await _cache.put(_structuredDataSourcesKey, sources);
}
}