Schemas¶
Authentication Schemas¶
Pydantic schemas for authentication API endpoints.
This module defines request and response models for user authentication, registration, and two-factor authentication (TOTP) operations.
LoginIn ¶
Bases: BaseModel
Login request payload.
Attributes:
| Name | Type | Description |
|---|---|---|
username |
str
|
User's username for authentication. |
password |
str
|
User's password (plain text, will be hashed on server). |
totp_code |
str | None
|
Optional 6-digit TOTP code if 2FA is enabled. |
Source code in app/schemas/auth.py
10 11 12 13 14 15 16 17 18 19 20 21 | |
RegisterIn ¶
Bases: BaseModel
User registration request payload.
Attributes:
| Name | Type | Description |
|---|---|---|
username |
str
|
Desired username (must be unique). |
full_name |
str | None
|
User's full display name (optional). |
email |
str
|
Email address (must be unique). |
password |
str
|
Desired password (min 6 characters). |
organisation_id |
int | None
|
ID of the organisation to join (optional). |
Source code in app/schemas/auth.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
ChangePasswordIn ¶
Bases: BaseModel
Change password request payload.
Attributes:
| Name | Type | Description |
|---|---|---|
current_password |
str
|
User's current password for verification. |
new_password |
str
|
Desired new password (min 8 characters). |
Source code in app/schemas/auth.py
42 43 44 45 46 47 48 49 50 51 | |
ForgotPasswordIn ¶
Bases: BaseModel
Forgot password request payload.
Attributes:
| Name | Type | Description |
|---|---|---|
email |
str
|
Email address of the account to reset. |
Source code in app/schemas/auth.py
54 55 56 57 58 59 60 61 | |
ResetPasswordIn ¶
Bases: BaseModel
Reset password request payload.
Attributes:
| Name | Type | Description |
|---|---|---|
token |
str
|
Password reset token from the email link. |
new_password |
str
|
Desired new password (min 8 characters). |
Source code in app/schemas/auth.py
64 65 66 67 68 69 70 71 72 73 | |
Letter Schemas¶
Pydantic schemas for clinical letter operations.
This module defines request models for creating and managing patient letters stored in EHRbase as OpenEHR compositions.
LetterIn ¶
Bases: BaseModel
Clinical letter creation request payload.
Attributes:
| Name | Type | Description |
|---|---|---|
title |
str
|
Letter title/subject. |
body |
str
|
Letter content in Markdown format. |
author_name |
str | None
|
Optional author's full name. |
author_email |
str | None
|
Optional author's email address. |
Source code in app/schemas/letters.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |