store method
Implementation
@override
store([m]) async {
MP mp = {
for (var a in ctrl.allAttributes.values)
if (this[a.name] case Object v)
a.name: switch (v) {
String h when a.format == FormatF.reference => storage[h]?.id,
EventFractal ev when a.format == FormatF.integer => ev.id,
_ => v,
},
...?m,
};
final id = await super.store(mp);
if (id == 0) return 0;
print('stored #$hash $hashCode');
if (to?.id case int into when deleteOlder) {
ctrl.query("""
DELETE FROM fractal
WHERE id IN (
SELECT $type.id
FROM $type
INNER JOIN event
ON event.id=$type.id
WHERE event.created_at < ?
AND event."to" = ?
);
""", [createdAt, into]);
}
return id;
}