class Host(db.Entity): ip = Required(str, unique=True) created_at = Required(datetime, default=datetime.utcnow()) updated_at = Required(datetime, default=datetime.utcnow()) ports = Set('Port') comment = Optional(str) paths = Set('URLPath') def before_update(self): self.updated_at = datetime.utcnow()
class User(db.Entity, UserMixin): login = Required(str, unique=True) password = Required(str) first_name = Required(str) last_name = Optional(str) created_at = Required(datetime, default=datetime.utcnow) last_login = Optional(datetime, default=datetime.utcnow) friends = Set('User', reverse='friends') sent = Set('Message', reverse='src') rcvd = Set('Message', reverse='dst') def check_password(self, password): return self.password == password def __str__(self): return ('%s %s' % (self.first_name, self.last_name)).rstrip()
class DatabaseOrganization(database.Entity): # type: ignore """Organization ORM model""" id = PrimaryKey(UUID, default=uuid4) name = Required(str) users = Set("DatabaseUser") date_created = Required(datetime, default=datetime.utcnow) modified_at = Optional(datetime)
class Port(db.Entity): num = Required(int) created_at = Required(datetime, default=datetime.utcnow()) updated_at = Required(datetime, default=datetime.utcnow()) host = Required(Host) tags = Optional(str) banner = Optional(str) comment = Optional(str) data = Optional(Json) paths = Set('URLPath')
class Cred(db.Entity): user = Required(str) password = Optional(str) paths = Set('URLPath')
class Category(db.Entity): id = PrimaryKey(int, auto=True) description = Required(str, unique=True) subcategories = Set(SubCategory) meals = Set(Meal)
class SubCategory(db.Entity): id = PrimaryKey(int, auto=True) description = Required(str, unique=True) category = Required('Category') meals = Set(Meal)
class Unity(db.Entity): symbol = PrimaryKey(str) meals = Set(Meal)
class User(db.Entity, UserMixin): id = PrimaryKey(int, auto=True) name = Required(str, unique=True) password = Required(str) meals = Set(Meal)
class Person(db.Entity): name = Required(str) age = Required(int) cars = Set('Car')