OpenContacts/lib/models/records/neos_db_asset.dart
2023-09-29 09:51:46 +02:00

26 lines
No EOL
618 B
Dart

import 'dart:typed_data';
import 'package:crypto/crypto.dart';
class ResoniteDBAsset {
final String hash;
final int bytes;
const ResoniteDBAsset({required this.hash, required this.bytes});
factory ResoniteDBAsset.fromMap(Map map) {
return ResoniteDBAsset(hash: map["hash"] ?? "", bytes: map["bytes"] ?? -1);
}
factory ResoniteDBAsset.fromData(Uint8List data) {
final digest = sha256.convert(data);
return ResoniteDBAsset(hash: digest.toString().replaceAll("-", "").toLowerCase(), bytes: data.length);
}
Map toMap() {
return {
"hash": hash,
"bytes": bytes,
};
}
}