38 lines
996 B
Dart
38 lines
996 B
Dart
|
|
import 'package:drift/drift.dart';
|
||
|
|
import 'package:hiddify/data/local/database.dart';
|
||
|
|
import 'package:hiddify/domain/profiles/profiles.dart';
|
||
|
|
|
||
|
|
extension ProfileMapper on Profile {
|
||
|
|
ProfileEntriesCompanion toCompanion() {
|
||
|
|
return ProfileEntriesCompanion.insert(
|
||
|
|
id: id,
|
||
|
|
active: active,
|
||
|
|
name: name,
|
||
|
|
url: url,
|
||
|
|
lastUpdate: lastUpdate,
|
||
|
|
upload: Value(subInfo?.upload),
|
||
|
|
download: Value(subInfo?.download),
|
||
|
|
total: Value(subInfo?.total),
|
||
|
|
expire: Value(subInfo?.expire),
|
||
|
|
updateInterval: Value(updateInterval),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
static Profile fromEntry(ProfileEntry entry) {
|
||
|
|
return Profile(
|
||
|
|
id: entry.id,
|
||
|
|
active: entry.active,
|
||
|
|
name: entry.name,
|
||
|
|
url: entry.url,
|
||
|
|
lastUpdate: entry.lastUpdate,
|
||
|
|
updateInterval: entry.updateInterval,
|
||
|
|
subInfo: SubscriptionInfo(
|
||
|
|
upload: entry.upload,
|
||
|
|
download: entry.download,
|
||
|
|
total: entry.total,
|
||
|
|
expire: entry.expire,
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|