예제 #1
0
class calabiyau_nas(SQLModel):
    id = SQLModel.Uuid(default=uuid4, internal=True)
    virtual_id = SQLModel.Uuid(internal=True)
    name = SQLModel.Word(max_length=64, null=False, regex=r'^[a-z0-9\._-]+$')
    nas_type = SQLModel.Word(max_length=64,
                             upper=True,
                             null=False,
                             regex=r'^[a-z0-9\._-]+$')
    secret = SQLModel.String(max_length=64, null=False)
    server = SQLModel.Ip4(null=False)
    description = SQLModel.Text()
    creation_time = SQLModel.DateTime(default=now, readonly=True)
    nas_virtual_ref = SQLModel.ForeignKey(virtual_id, calabiyau_virtual.id)
    nas_virtual_index = SQLModel.Index(virtual_id)
    nas_server_index = SQLModel.Index(server)
    nas_unique = SQLModel.UniqueIndex(server)
    primary_key = id
예제 #2
0
class calabiyau_duplicate(SQLModel):
    id = SQLModel.Uuid(default=uuid4, internal=True)
    package_id = SQLModel.Uuid()
    name = SQLModel.Word(max_length=64, null=False, regex=r'^[a-z0-9\._-]+$')
    server = SQLModel.Ip4(null=False)
    class_attr = SQLModel.TinyInt(null=False, default=0)
    creation_time = SQLModel.DateTime(readonly=True, default=now)
    pkg_dup_ref = SQLModel.ForeignKey(package_id, calabiyau_package.id)
    primary_key = id
예제 #3
0
class calabiyau_package_attr(SQLModel):
    id = SQLModel.Uuid(default=uuid4, internal=True)
    package_id = SQLModel.Uuid()
    attribute = SQLModel.String()
    tag = SQLModel.TinyInt(null=True, signed=False)
    value = SQLModel.String()
    ctx = SQLModel.String()
    nas_type = SQLModel.Word(max_length=64, null=False,
                             regex=r'^[a-z0-9\._-]+$')
    creation_time = SQLModel.DateTime(readonly=True, default=now)
    pkg_attr_ref = SQLModel.ForeignKey(package_id, calabiyau_package.id)
    primary_key = id
예제 #4
0
파일: nas.py 프로젝트: Vuader/subscriber
class tradius_nas(SQLModel):
    id = SQLModel.Uuid(default=uuid4, internal=True)
    virtual_id = SQLModel.Uuid(internal=True)
    domain = SQLModel.Fqdn(internal=True)
    name = SQLModel.Word(max_length=64, null=False)
    nas_type = SQLModel.String(max_length=64, null=False)
    secret = SQLModel.String(max_length=64, null=False)
    server = SQLModel.String(max_length=64, null=False)
    description = SQLModel.Text()
    creation_time = SQLModel.DateTime(default=now, readonly=True)
    nas_virtual_ref = SQLModel.ForeignKey(virtual_id, tradius_virtual.id)
    virtual_index = SQLModel.Index(virtual_id)
    nas_index = SQLModel.Index(server)
    primary_key = id
    unique_group = SQLModel.UniqueIndex(server)
예제 #5
0
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')
    user_class = SQLModel.Word(max_length=32, null=True)
    logins = SQLModel.Integer(null=False,
                              default=0,
                              label='Simultaneous Sessions')
    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