[{"data":1,"prerenderedAt":68},["ShallowReactive",2],{"navigation_docs":3,"code-10vk7wl":64,"code-1951sfz":65,"code-74eu5w":66,"code-hpmx66":67},[4,29,49],{"title":5,"path":6,"stem":7,"children":8,"page":28},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fdocs\u002Fgetting-started\u002Fconfiguration","docs\u002F1.getting-started\u002F3.configuration","i-lucide-sliders-horizontal",{"title":25,"path":26,"stem":27,"icon":18},"Deployment","\u002Fdocs\u002Fgetting-started\u002Fdeployment","docs\u002F1.getting-started\u002F4.deployment",false,{"title":30,"path":31,"stem":32,"children":33,"page":28},"Architecture","\u002Fdocs\u002Farchitecture","docs\u002F2.architecture",[34,39,44],{"title":35,"path":36,"stem":37,"icon":38},"Layers","\u002Fdocs\u002Farchitecture\u002Flayers","docs\u002F2.architecture\u002F1.layers","i-lucide-layers",{"title":40,"path":41,"stem":42,"icon":43},"Multi-tenancy","\u002Fdocs\u002Farchitecture\u002Fmulti-tenancy","docs\u002F2.architecture\u002F2.multi-tenancy","i-lucide-building-2",{"title":45,"path":46,"stem":47,"icon":48},"Testing","\u002Fdocs\u002Farchitecture\u002Ftesting","docs\u002F2.architecture\u002F3.testing","i-lucide-flask-conical",{"title":50,"path":51,"stem":52,"children":53,"page":28},"Reference","\u002Fdocs\u002Freference","docs\u002F3.reference",[54,59],{"title":55,"path":56,"stem":57,"icon":58},"Commands","\u002Fdocs\u002Freference\u002Fcommands","docs\u002F3.reference\u002F1.commands","i-lucide-terminal",{"title":60,"path":61,"stem":62,"icon":63},"Decisions","\u002Fdocs\u002Freference\u002Fdecisions","docs\u002F3.reference\u002F2.decisions","i-lucide-git-branch","\u003Cpre class=\"shiki shiki-themes github-light github-dark-default\" style=\"background-color:#fff;--shiki-dark-bg:#0d1117;color:#24292e;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">test\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;--shiki-dark:#A5D6FF\">'a Globex admin cannot see Acme notes'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">async\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> ({ \u003C\u002Fspan>\u003Cspan style=\"color:#E36209;--shiki-dark:#FFA657\">page\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> }) \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=>\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  await\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\"> login\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(page, \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">ADMIN2\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.email)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  await\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> page.\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">goto\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;--shiki-dark:#A5D6FF\">'\u002Fnotes'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line line-highlighted\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  await\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\"> expect\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(page.\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">getByText\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">ACME_SECRET_NOTE_TITLE\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">)).\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">toHaveCount\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">0\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">})\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">test\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;--shiki-dark:#A5D6FF\">'the notes API returns no Acme rows for a Globex caller'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">async\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> ({ \u003C\u002Fspan>\u003Cspan style=\"color:#E36209;--shiki-dark:#FFA657\">page\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> }) \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=>\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  await\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\"> login\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(page, \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">ADMIN2\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.email)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D;--shiki-dark:#8B949E\">  \u002F\u002F Hit the data path the app uses and assert the secret title is nowhere\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D;--shiki-dark:#8B949E\">  \u002F\u002F in the payload — isolation at the source, not just the rendered list.\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> body\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> await\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> page.\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">evaluate\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(() \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=>\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\"> fetch\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;--shiki-dark:#A5D6FF\">'\u002Fnotes'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">).\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">then\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#E36209;--shiki-dark:#FFA657\">r\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> =>\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> r.\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">text\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">()))\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line line-highlighted\">\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">  expect\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(body).not.\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\">toContain\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">ACME_SECRET_NOTE_TITLE\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">})\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\u003Cpre class=\"shiki shiki-themes github-light github-dark-default\" style=\"background-color:#fff;--shiki-dark-bg:#0d1117;color:#24292e;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">create or replace\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> function\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\"> public\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.current_tenant_id()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">returns\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> uuid\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line line-highlighted\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">language\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> sql\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> stable \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">security\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> definer\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">set\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> search_path \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> public \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">as\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> $$\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  select\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> tenant_id \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">from\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> public\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">profiles\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  where\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> id \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> auth\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">uid\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">$$;\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\u003Cpre class=\"shiki shiki-themes github-light github-dark-default\" style=\"background-color:#fff;--shiki-dark-bg:#0d1117;color:#24292e;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">create\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> policy\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;--shiki-dark:#A5D6FF\"> \"notes_select_owner_or_admin\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">on\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> public\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">notes\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> for\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> select\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> using\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> (\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line line-highlighted\">\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">  tenant_id \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> public\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">current_tenant_id\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  and\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> (\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">    user_id \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> auth\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">uid\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">    or\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> public\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">current_role\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">() \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;--shiki-dark:#A5D6FF\"> 'admin'\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">  )\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">);\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\u003Cpre class=\"shiki shiki-themes github-light github-dark-default\" style=\"background-color:#fff;--shiki-dark-bg:#0d1117;color:#24292e;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">create\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> trigger\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1;--shiki-dark:#D2A8FF\"> on_auth_user_created\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  after\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> insert\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> on\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\"> auth\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">users\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">  for\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\"> each \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\">row\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> execute\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49;--shiki-dark:#FF7B72\"> function\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line line-highlighted\">\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">    public\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5;--shiki-dark:#79C0FF\">handle_new_user\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;--shiki-dark:#E6EDF3\">();\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D;--shiki-dark:#8B949E\">-- Signup creates a tenant and makes\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D;--shiki-dark:#8B949E\">-- the registrant its admin.\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1785951587955]