selfprivacy.org.app/lib/logic/models/server_details.dart

55 lines
936 B
Dart
Raw Normal View History

2021-01-06 19:35:57 +02:00
import 'package:hive/hive.dart';
part 'server_details.g.dart';
@HiveType(typeId: 2)
class HetznerServerDetails {
HetznerServerDetails({
2021-03-15 17:39:44 +02:00
required this.ip4,
required this.id,
required this.createTime,
2021-03-30 20:38:40 +03:00
required this.dataBase,
2021-01-19 14:05:40 +02:00
this.startTime,
2021-01-06 19:35:57 +02:00
});
@HiveField(0)
2021-03-30 20:38:40 +03:00
final String ip4;
2021-01-06 19:35:57 +02:00
@HiveField(1)
2021-03-30 20:38:40 +03:00
final int id;
2021-01-06 19:35:57 +02:00
2021-01-19 14:05:40 +02:00
@HiveField(3)
2021-03-15 17:39:44 +02:00
final DateTime? createTime;
2021-01-19 14:05:40 +02:00
2021-01-21 23:01:42 +02:00
@HiveField(2)
2021-03-15 17:39:44 +02:00
final DateTime? startTime;
2021-01-21 23:01:42 +02:00
2021-03-30 20:38:40 +03:00
@HiveField(4)
final HetznerDataBase dataBase;
2021-03-15 17:39:44 +02:00
HetznerServerDetails copyWith({DateTime? startTime}) {
2021-01-19 14:05:40 +02:00
return HetznerServerDetails(
startTime: startTime ?? this.startTime,
createTime: createTime,
id: id,
ip4: ip4,
2021-03-30 20:38:40 +03:00
dataBase: dataBase,
2021-01-19 14:05:40 +02:00
);
}
2021-01-06 19:35:57 +02:00
String toString() => id.toString();
}
2021-03-30 20:38:40 +03:00
@HiveType(typeId: 5)
class HetznerDataBase {
HetznerDataBase({
required this.id,
required this.name,
});
@HiveField(1)
int id;
@HiveField(2)
String name;
}