monero.fail/xmrnodes/models.py

35 lines
975 B
Python
Raw Normal View History

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)
is_tor = BooleanField(default=False)
2020-10-12 21:32:21 -07:00
available = BooleanField(default=False)
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)
datetime_entered = DateTimeField(default=datetime.utcnow)
datetime_checked = DateTimeField(default=None, null=True)
2020-10-12 21:32:21 -07:00
datetime_failed = DateTimeField(default=None, null=True)
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])