Coverage for apps/accounts/setup_schemas.py: 100%
39 statements
« prev ^ index » next coverage.py v7.17.0, created at 2026-11-04 14:06 +0000
« prev ^ index » next coverage.py v7.17.0, created at 2026-11-04 14:06 +0000
1"""Schemas for First-run Setup Installer API."""
3from __future__ import annotations
5from ninja import Schema
8class SetupStatusOut(Schema):
9 provisioned: bool
10 company: str | None = None
11 user_count: int
14class CompanyInput(Schema):
15 name: str
16 nmls_id: str = ""
17 type: str = "Broker"
20class AdminUserInput(Schema):
21 name: str
22 email: str
23 password: str
26class BranchInput(Schema):
27 id: str
28 label: str
31class LicenseInput(Schema):
32 state_code: str
33 sponsored: bool = True
36class LoanOfficerInput(Schema):
37 name: str
38 email: str
39 password: str
40 nmls_id: str = ""
41 licenses: list[LicenseInput] = []
44class SetupInput(Schema):
45 company: CompanyInput
46 admin: AdminUserInput
47 branches: list[BranchInput] = []
48 loan_officer: LoanOfficerInput | None = None
49 clear_loans: bool = False
52class SessionUserOut(Schema):
53 id: int
54 name: str
55 role: str
58class SetupResultOut(Schema):
59 token: str
60 user: SessionUserOut