Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/api/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from src.api.roles.shared.chat import router as shared_chat_router
from src.api.roles.shared.client_coach_relationship import router as shared_client_coach_relationship_router
from src.api.roles.client.fitness import router as client_fitness_router
from src.api.roles.client.telemetry import router as client_telemetry_router
from src.api.roles.coach.fitness import router as coach_fitness_router
from src.api.roles.admin.admin import router as admin_router

Expand All @@ -38,6 +39,7 @@
app.include_router(shared_chat_router)
app.include_router(shared_client_coach_relationship_router)
app.include_router(client_fitness_router)
app.include_router(client_telemetry_router)
app.include_router(coach_fitness_router)
app.include_router(admin_router)

Expand Down
1 change: 1 addition & 0 deletions src/api/roles/client/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
from src.database.reports.models import CoachReport, CoachReviews
from src.database.payment.models import PaymentInformation


router = APIRouter(prefix="/roles/client", tags=["client"])

@router.post("/initial_survey", response_model=CreateClientResponse)
Expand Down
28 changes: 27 additions & 1 deletion src/api/roles/client/domain.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from pydantic import BaseModel, Field, model_validator
from datetime import datetime
from pydantic import BaseModel, Field, field_validator, model_validator
from typing import List, Optional
from fastapi import HTTPException
#Client
Expand All @@ -23,6 +24,31 @@ class HirableCoachItem(BaseModel):
experiences: Optional[List[Experience]] = None
certifications: Optional[List[Certifications]] = None

class StepCountUpdateInput(BaseModel):
step_count: int

@field_validator("step_count")
@classmethod
def step_count_must_be_non_negative(cls, v):
if 0 > v or v > 100000:
raise ValueError("Step count must be a non-negative integer")
return v

class StepCountUpdateOutput(BaseModel):
step_count: int

class DunderInput(BaseModel):
pass

class WeightUpdateInput(BaseModel):
@field_validator("weight")
@classmethod
def weight_must_be_valid(cls, v: int) -> int:
if v <= 0:
raise ValueError("Weight must be greater than 0")
return v
weight: int

class InitialSurveyInput(BaseModel): #creates a client
fitness_goals: FitnessGoals
payment_information: PaymentInformation
Expand Down
Loading
Loading