feat: Sprint 1 foundation - FastAPI scaffold, DB schema, auth, seed data, mock WhatsApp, Docker

This commit is contained in:
root
2026-07-23 12:04:14 +00:00
parent 8c755f3db7
commit 32a4c50b23
34 changed files with 1390 additions and 0 deletions
View File
+39
View File
@@ -0,0 +1,39 @@
"""Pydantic schemas for authentication endpoints."""
from __future__ import annotations
from pydantic import BaseModel, EmailStr
class RegisterRequest(BaseModel):
email: str
password: str
full_name: str
phone: str | None = None
role: str = "CS Rep"
class LoginRequest(BaseModel):
email: str
password: str
class TokenResponse(BaseModel):
access_token: str
refresh_token: str
token_type: str = "bearer"
class RefreshRequest(BaseModel):
refresh_token: str
class UserOut(BaseModel):
id: int
email: str
full_name: str
phone: str | None
role: str
active: bool
model_config = {"from_attributes": True}
+8
View File
@@ -0,0 +1,8 @@
"""Health-check schema."""
from pydantic import BaseModel
class HealthResponse(BaseModel):
status: str = "ok"
app: str = "Denya OneCare"
+28
View File
@@ -0,0 +1,28 @@
"""Pydantic schemas for mock WhatsApp endpoint."""
from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel
class MockWhatsAppRequest(BaseModel):
command: str
from_number: str | None = None
ticket_id: int | None = None
class MockWhatsAppResponse(BaseModel):
status: str = "received"
message: str = "Command logged successfully"
class MockWhatsAppLogEntry(BaseModel):
id: int
command: str
from_number: str | None
ticket_id: int | None
received_at: datetime
model_config = {"from_attributes": True}