class calabiyau_subscriber(SQLModel): id = SQLModel.Uuid(default=uuid4, internal=True) package_id = SQLModel.Uuid() domain = SQLModel.Fqdn(internal=True) tenant_id = SQLModel.Uuid(internal=True) username = SQLModel.Username(max_length=64, null=False) password = SQLModel.Password(max_length=150, null=True) email = SQLModel.Email(max_length=100) name = SQLModel.String(max_length=64) phone_mobile = SQLModel.Phone() phone_office = SQLModel.Phone() designation = SQLModel.Enum('', 'Mr', 'Mrs', 'Ms', 'Dr', 'Prof') static_ip4 = SQLModel.String(null=True, max_length=64) ctx = SQLModel.SmallInt(null=False, default=0) notified = SQLModel.Boolean(null=False, default=True) enabled = SQLModel.Boolean(default=True) creation_time = SQLModel.DateTime(null=False, default=now, readonly=True) volume_expire = SQLModel.DateTime(null=True) package_expire = SQLModel.DateTime(null=True) volume_used_bytes = SQLModel.BigInt(null=False, signed=False, default=0) volume_used = SQLModel.Boolean(null=False, default=False) calabiyau_unique = SQLModel.UniqueIndex(username, domain) calabiyau_pkg_ref = SQLModel.ForeignKey(package_id, calabiyau_package.id, on_delete='RESTRICT') primary_key = id
class newslist(SQLModel): id = SQLModel.Uuid(default=uuid4, internal=True) email = SQLModel.Email(null=False) name = SQLModel.Text() creation_time = SQLModel.DateTime(default=now, readonly=True) primary_key = id unique_email = SQLModel.UniqueIndex(email) db_default_rows = EMAILS
class tradius_user(SQLModel): id = SQLModel.Uuid(default=uuid4, internal=True) virtual_id = SQLModel.Uuid() domain = SQLModel.Fqdn(internal=True) tenant_id = SQLModel.Uuid(internal=True) username = SQLModel.Username(max_length=64, null=False) password = SQLModel.Password(max_length=150, null=True) email = SQLModel.Email(max_length=100) name = SQLModel.String(max_length=64) phone_mobile = SQLModel.Phone() phone_office = SQLModel.Phone() designation = SQLModel.Enum('', 'Mr', 'Mrs', 'Ms', 'Dr', 'Prof') dpi = SQLModel.String(max_length=20) enabled = SQLModel.Boolean(default=True) creation_time = SQLModel.DateTime(default=now, readonly=True) unique_username = SQLModel.UniqueIndex(username, domain) user_virtual_ref = SQLModel.ForeignKey(virtual_id, tradius_virtual.id, on_delete='RESTRICT') primary_key = id
class luxon_user(SQLModel): id = SQLModel.Uuid(default=uuid4, internal=True) tag = SQLModel.String(hidden=True, max_length=30, null=False) domain = SQLModel.Fqdn(internal=True) tenant_id = SQLModel.Uuid(internal=True) username = SQLModel.Username(max_length=100, null=False) password = SQLModel.String(max_length=100, null=True) email = SQLModel.Email(max_length=255) name = SQLModel.String(max_length=100) phone_mobile = SQLModel.Phone() phone_office = SQLModel.Phone() designation = SQLModel.Enum('', 'Mr', 'Mrs', 'Ms', 'Dr', 'Prof') last_login = SQLModel.DateTime(readonly=True) enabled = SQLModel.Boolean(default=True) creation_time = SQLModel.DateTime(default=now, readonly=True) unique_username = SQLModel.UniqueIndex(domain, username) user_tenant_ref = SQLModel.ForeignKey(tenant_id, luxon_tenant.id) user_domain_ref = SQLModel.ForeignKey(domain, luxon_domain.name) users = SQLModel.Index(domain, username) users_tenants = SQLModel.Index(domain, tenant_id) users_domain = SQLModel.Index(domain) primary_key = id db_default_rows = USERS