🗃️ Local keypair db

This commit is contained in:
2025-03-03 21:31:41 +08:00
parent 4f47cd2c0c
commit 56711889ab
15 changed files with 1757 additions and 43 deletions

39
lib/database/keypair.dart Normal file
View File

@ -0,0 +1,39 @@
import 'dart:convert';
import 'package:drift/drift.dart';
import 'package:surface/types/keypair.dart';
class SnKeyPairConverter extends TypeConverter<SnKeyPair, String>
with JsonTypeConverter2<SnKeyPair, String, Map<String, Object?>> {
const SnKeyPairConverter();
@override
SnKeyPair fromSql(String fromDb) {
return fromJson(jsonDecode(fromDb) as Map<String, dynamic>);
}
@override
String toSql(SnKeyPair value) {
return jsonEncode(toJson(value));
}
@override
SnKeyPair fromJson(Map<String, Object?> json) {
return SnKeyPair.fromJson(json);
}
@override
Map<String, Object?> toJson(SnKeyPair value) {
return value.toJson();
}
}
class SnLocalKeyPair extends Table {
TextColumn get id => text()();
IntColumn get accountId => integer()();
TextColumn get publicKey => text()();
TextColumn get privateKey => text().nullable()();
}