class package(Model): name = Model.String(max_length=64, null=False) virtual_id = Model.Uuid(callback=virtual) plan = Model.Enum('uncapped', 'data') pool_id = Model.Uuid(placeholder='Select IP Pool', callback=pool) simultaneous = Model.Boolean(default=True) package_metric = Model.Enum('days', 'weeks', 'months') package_span = Model.TinyInt(null=True, default=0) volume_gb = Model.SmallInt(null=True, default=0) volume_metric = Model.Enum('days', 'weeks', 'months') volume_span = Model.TinyInt(null=True, default=0) volume_repeat = Model.Boolean(default=True) creation_time = Model.DateTime(default=now, readonly=True)
class luxon_endpoint(Model): id = Model.Uuid(default=uuid4, internal=True) name = Model.Fqdn(max_length=64, null=False) interface = Model.Enum('public', 'internal', 'admin', null=False) region = Model.String(max_length=64, null=False) uri = Model.Uri(max_length=64, null=False) creation_time = Model.DateTime(default=now, internal=True) primary_key = id
class subscriber(Model): package_id = Model.Uuid(null=False, callback=package) username = Model.Username(placeholder="john", max_length=100, null=False) password = Model.Password(max_length=100, null=True, ignore_null=True) email = Model.Email(placeholder="*****@*****.**", max_length=255) name = Model.String(placeholder="John Doe", max_length=100) phone_mobile = Model.Phone(placeholder="+1-202-555-0103") phone_office = Model.Phone(placeholder="+1-202-555-0105") designation = Model.Enum('', 'Mr', 'Mrs', 'Ms', 'Dr', 'Prof') enabled = Model.Boolean(default=True) package_expire = Model.DateTime(null=True) volume_expire = Model.DateTime(null=True) creation_time = Model.DateTime(default=now, readonly=True)
class luxon_endpoint(Model): id = Model.Uuid(default=uuid4, internal=True) name = Model.Fqdn(max_length=64, null=False, placeholder="infinitystone / netrino / yohsii") interface = Model.Enum('public', 'internal', 'admin', null=False, default="public") region = Model.String(max_length=64, null=False, default="Region1") uri = Model.Uri(max_length=64, null=False, placeholder="https://oss.tachyonic.org:8080") creation_time = Model.DateTime(default=now, internal=True) primary_key = id
class tradius_subscriber(Model): id = Model.Uuid(default=uuid4, internal=True) virtual_id = Model.Uuid(readonly=True, null=False, data_endpoint='radius', data_url='/v1/virtual') domain = Model.Fqdn(internal=True) tenant_id = Model.Uuid(internal=True) username = Model.Username(placeholder="john", max_length=100, null=False) password = Model.Password(max_length=100, null=True, ignore_null=True) email = Model.Email(placeholder="*****@*****.**", max_length=255) name = Model.String(placeholder="John Doe", max_length=100) phone_mobile = Model.Phone(placeholder="+1-202-555-0103") phone_office = Model.Phone(placeholder="+1-202-555-0105") designation = Model.Enum('', 'Mr', 'Mrs', 'Ms', 'Dr', 'Prof') dpi = Model.String(max_length=20, placeholder='Shaped1', label='DPI Class') enabled = Model.Boolean(default=True) creation_time = Model.DateTime(default=now, readonly=True) primary_key = id
class luxon_user(Model): id = Model.Uuid(default=uuid4, internal=True) tag = Model.String(hidden=True, max_length=30, null=False) domain = Model.Fqdn(internal=True) tenant_id = Model.Uuid(internal=True) username = Model.Username(max_length=100, null=False) password = Model.String(max_length=100, null=True, ignore_null=True, password=True) confirm_password = Model.Confirm(password) email = Model.Email(max_length=255) name = Model.String(max_length=100) phone_mobile = Model.Phone() phone_office = Model.Phone() designation = Model.Enum('', 'Mr', 'Mrs', 'Ms', 'Dr', 'Prof') last_login = Model.DateTime(readonly=True) enabled = Model.Boolean(default=True) creation_time = Model.DateTime(default=now, readonly=True) primary_key = id