class tradius_accounting(SQLModel): id = SQLModel.Uuid(default=uuid4, internal=True) acctsessionid = SQLModel.String(max_length=64, null=False, default='') acctuniqueid = SQLModel.String(max_length=32, null=False, default='') username = SQLModel.String(max_length=64, null=False, default='') realm = SQLModel.String(max_length=64, null=True, default='') nasipaddress = SQLModel.String(max_length=15, null=False, default='') nasportid = SQLModel.String(max_length=15, null=True, default=None) nasporttype = SQLModel.String(max_length=32, null=True, default=None) acctstarttime = SQLModel.DateTime() acctupdatetime = SQLModel.DateTime() acctstoptime = SQLModel.DateTime() acctinterval = SQLModel.Integer(null=True, default=None) acctsessiontime = SQLModel.Integer(signed=False, null=True, default=None) acctauthentic = SQLModel.String(null=True, default=None, max_length=32) connectinfo_start = SQLModel.String(max_length=50, null=True, default=None) connectinfo_stop = SQLModel.String(max_length=50, null=True, default=None) acctinputoctets = SQLModel.BigInt(null=True, default=None) acctoutputoctets = SQLModel.BigInt(null=True, default=None) calledstationid = SQLModel.String(max_length=50, null=False, default='') callingstationid = SQLModel.String(max_length=50, null=False, default='') acctterminatecause = SQLModel.String(max_length=32, null=False, default='') servicetype = SQLModel.String(max_length=32, default=None, null=True) framedprotocol = SQLModel.String(max_length=32, default=None, null=True) framedipaddress = SQLModel.String(max_length=15, default='', null=False) primary_key = id acctuniqueid_index = SQLModel.UniqueIndex(acctuniqueid) username_index = SQLModel.Index(username, nasipaddress) framedipaddress_index = SQLModel.Index(framedipaddress, nasipaddress) acctsessionid_index = SQLModel.Index(acctsessionid) acctsessiontime_index = SQLModel.Index(acctsessiontime) acctstarttime_index = SQLModel.Index(acctstarttime) acctinterval_index = SQLModel.Index(acctinterval) acctstoptime_index = SQLModel.Index(acctstoptime) nasipaddress_index = SQLModel.Index(nasipaddress)
class calabiyau_accounting(SQLModel): id = SQLModel.Uuid(default=uuid4, internal=True) user_id = SQLModel.Uuid() today = SQLModel.DateTime() acctinputoctets = SQLModel.BigInt(signed=False, null=True, default=None) acctoutputoctets = SQLModel.BigInt(signed=False, null=True, default=None) primary_key = id acc_unique = SQLModel.UniqueIndex(user_id, today) acc_username_index = SQLModel.Index(user_id) acc_today_index = SQLModel.Index(today) acc_user_ref = SQLModel.ForeignKey(user_id, calabiyau_subscriber.id)
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 tradius_ippool(SQLModel): id = SQLModel.BigInt() domain = SQLModel.Fqdn(internal=True) pool_name = SQLModel.String(max_length=30, null=False) framedipaddress = SQLModel.String(max_length=15, default='', null=False) nasipaddress = SQLModel.String(max_length=15, null=False, default = '') expiry_time = SQLModel.DateTime(null=True, default=None) username = SQLModel.String(max_length=64, default='', null=False) pool_key = SQLModel.String(max_length=30, null=False) primary_key = id poolname_expire_index = SQLModel.Index(pool_name, expiry_time) framedipaddress_index = SQLModel.Index(framedipaddress) nasip_poolkey_ipaddress_index = SQLModel.Index(nasipaddress, pool_key, framedipaddress)