mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-30 06:48:49 +01:00
Upstream reformatted its whole tree in 16ddc0837. Matching it removes
formatting from the conflict surface of this and every later sync.
53 lines
1.2 KiB
Dart
53 lines
1.2 KiB
Dart
import 'package:cw_core/crypto_currency.dart';
|
|
import 'package:cw_core/hive_type_ids.dart';
|
|
import 'package:cw_core/keyable.dart';
|
|
import 'package:hive/hive.dart';
|
|
|
|
part 'contact.part.dart';
|
|
|
|
// @HiveType(typeId: Contact.typeId)
|
|
class Contact extends HiveObject with Keyable {
|
|
Contact(
|
|
{required this.name,
|
|
required this.address,
|
|
CryptoCurrency? type,
|
|
DateTime? lastChange,
|
|
this.displayName = ""})
|
|
: lastChange = lastChange ?? DateTime.now() {
|
|
if (type != null) {
|
|
raw = type.raw;
|
|
}
|
|
}
|
|
|
|
static const typeId = CONTACT_TYPE_ID;
|
|
static const boxName = 'Contacts';
|
|
|
|
// @HiveField(0, defaultValue: '')
|
|
String name;
|
|
|
|
// @HiveField(1, defaultValue: '')
|
|
String address;
|
|
|
|
// @HiveField(2, defaultValue: 0)
|
|
late int raw;
|
|
|
|
// @HiveField(3)
|
|
DateTime lastChange;
|
|
|
|
// @HiveField(4, defaultValue: "")
|
|
String displayName;
|
|
|
|
CryptoCurrency get type => CryptoCurrency.deserialize(raw: raw);
|
|
|
|
@override
|
|
dynamic get keyIndex => key;
|
|
|
|
@override
|
|
bool operator ==(Object o) => o is Contact && o.key == key;
|
|
|
|
@override
|
|
int get hashCode => key.hashCode;
|
|
|
|
void updateCryptoCurrency({required CryptoCurrency currency}) => raw = currency.raw;
|
|
}
|