Class tigrbl_auth.orm.tenant.Tenant
tigrbl_auth.orm.tenant.Tenant
Bases: TenantBase, Bootstrappable
name
class-attribute
instance-attribute
name = acol(
spec=ColumnSpec(
storage=S(String, nullable=False, unique=True),
field=F(
constraints={"max_length": 120},
required_in=("create",),
),
io=IO(
in_verbs=("create", "update", "replace"),
out_verbs=("read", "list"),
filter_ops=("eq", "ilike"),
sortable=True,
),
)
)
email
class-attribute
instance-attribute
email = acol(
spec=ColumnSpec(
storage=S(String, nullable=False, unique=True),
field=F(
constraints={"max_length": 120},
required_in=("create",),
),
io=IO(
in_verbs=("create", "update", "replace"),
out_verbs=("read", "list"),
filter_ops=("eq", "ilike"),
sortable=True,
),
)
)
users
class-attribute
instance-attribute
users = relationship(
"User",
back_populates="tenant",
cascade="all, delete-orphan",
)
clients
class-attribute
instance-attribute
clients = relationship(
"Client",
back_populates="tenant",
cascade="all, delete-orphan",
)
DEFAULT_ROWS
class-attribute
instance-attribute
DEFAULT_ROWS = [
{
"id": UUID("FFFFFFFF-0000-0000-0000-000000000000"),
"email": "tenant@example.com",
"name": "Public",
"slug": "public",
}
]
created_at
class-attribute
instance-attribute
created_at = acol(
spec=ColumnSpec(
storage=S(
type_=TZDateTime,
default=tzutcnow,
nullable=False,
),
field=F(py_type=datetime),
io=RO_IO,
)
)
updated_at
class-attribute
instance-attribute
updated_at = acol(
spec=ColumnSpec(
storage=S(
type_=TZDateTime,
default=tzutcnow,
onupdate=tzutcnow,
nullable=False,
),
field=F(py_type=datetime),
io=RO_IO,
)
)
slug
class-attribute
instance-attribute
slug = acol(
spec=ColumnSpec(
storage=S(
type_=String, unique=True, nullable=False
),
field=F(
py_type=str, constraints={"max_length": 120}
),
io=CRUD_IO,
)
)
id
class-attribute
instance-attribute
id = acol(
spec=ColumnSpec(
storage=S(
type_=PgUUID(as_uuid=True),
primary_key=True,
default=uuid4,
),
field=F(
py_type=UUID,
constraints={"examples": [uuid_example]},
),
io=RO_IO,
)
)
metadata
class-attribute
instance-attribute
metadata = MetaData(
naming_convention={
"pk": "pk_%(table_name)s",
"fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
"ix": "ix_%(table_name)s_%(column_0_name)s",
"uq": "uq_%(table_name)s_%(column_0_name)s",
"ck": "ck_%(table_name)s_%(column_0_name)s_%(constraint_type)s",
}
)
ensure_bootstrapped
classmethod
ensure_bootstrapped(db, rows=None)
Source code in tigrbl/orm/mixins/bootstrappable.py
55 56 57 58 59 60 61 | |