2020-10-12 21:32:21 -07:00
|
|
|
from peewee import *
|
|
|
|
from datetime import datetime
|
|
|
|
from xmrnodes import config
|
|
|
|
|
|
|
|
|
2020-10-21 22:16:44 -07:00
|
|
|
db = SqliteDatabase(f"{config.DATA_DIR}/sqlite.db")
|
2020-10-12 21:32:21 -07:00
|
|
|
|
|
|
|
class Node(Model):
|
|
|
|
id = AutoField()
|
2020-10-24 01:29:10 -07:00
|
|
|
url = CharField(unique=True)
|
2020-10-17 01:21:01 -07:00
|
|
|
is_tor = BooleanField(default=False)
|
2020-10-12 21:32:21 -07:00
|
|
|
available = BooleanField(default=False)
|
2020-10-17 00:36:44 -07:00
|
|
|
validated = BooleanField(default=False)
|
|
|
|
nettype = CharField(null=True)
|
2020-10-17 16:27:54 -07:00
|
|
|
last_height = IntegerField(null=True)
|
2020-10-18 01:18:35 -07:00
|
|
|
crypto = CharField(null=True)
|
2020-10-17 15:16:18 -07:00
|
|
|
datetime_entered = DateTimeField(default=datetime.utcnow)
|
2020-10-17 00:36:44 -07:00
|
|
|
datetime_checked = DateTimeField(default=None, null=True)
|
2020-10-12 21:32:21 -07:00
|
|
|
datetime_failed = DateTimeField(default=None, null=True)
|
2020-10-17 02:06:33 -07:00
|
|
|
fail_reason = CharField(null=True)
|
2020-10-12 21:32:21 -07:00
|
|
|
|
|
|
|
class Meta:
|
|
|
|
database = db
|
|
|
|
|
2020-10-24 01:29:10 -07:00
|
|
|
class HealthCheck(Model):
|
|
|
|
id = AutoField()
|
|
|
|
node = ForeignKeyField(Node, backref='healthchecks')
|
|
|
|
datetime = DateTimeField(default=datetime.utcnow)
|
|
|
|
health = BooleanField()
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
database = db
|
|
|
|
|
|
|
|
db.create_tables([Node, HealthCheck])
|