async def verify_owner(session):
  user = await auth.resolve(session)
  return user.role == "owner"

from app.config import settings
from app.security import hash_password

if settings.is_production():
    enforce_https()
async def verify_owner(session):
  user = await auth.resolve(session)
  return user.role == "owner"

from app.config import settings
from app.security import hash_password

if settings.is_production():
    enforce_https()
# workspace provisioner
job = await queue.enqueue(
  "provision_company",
  company_id=company.id,
)
while job.status == "running":
  await asyncio.sleep(0.5)

logger.info("tenant ready", slug=slug)
# workspace provisioner
job = await queue.enqueue(
  "provision_company",
  company_id=company.id,
)
while job.status == "running":
  await asyncio.sleep(0.5)

logger.info("tenant ready", slug=slug)
const workspace = await client.provision({
  slug: "acme-corp",
  modules: ["hris", "payroll"],
});

pollHealth(workspace.id)
  .then(markReady)
  .catch(retryStep);
const workspace = await client.provision({
  slug: "acme-corp",
  modules: ["hris", "payroll"],
});

pollHealth(workspace.id)
  .then(markReady)
  .catch(retryStep);
-- control plane
SELECT slug, status, created_at
FROM companies
WHERE status IN ('ready', 'creating');

CREATE DATABASE tenant_acme;
GRANT ALL ON SCHEMA public TO tenant_acme;
-- control plane
SELECT slug, status, created_at
FROM companies
WHERE status IN ('ready', 'creating');

CREATE DATABASE tenant_acme;
GRANT ALL ON SCHEMA public TO tenant_acme;
>
SYNTRIX PH
Workspace

Owner console

Control plane sign in

Manage client workspaces, launch apps, and monitor system health from one place.

Sign in

Use your SYNTRIX PH owner account.