Added SpeedCalc and MelodyBuilder. Evaluation Pending

This commit is contained in:
2026-02-22 13:17:54 +02:00
parent 8a8c665dfd
commit 8703c4fe26
27 changed files with 4075 additions and 3 deletions

38
backend/builder/models.py Normal file
View File

@@ -0,0 +1,38 @@
from pydantic import BaseModel
from typing import List, Optional
class BuiltMelodyCreate(BaseModel):
name: str
pid: str
steps: str # raw step string e.g. "1,2,2+1,1,2,3+1"
class BuiltMelodyUpdate(BaseModel):
name: Optional[str] = None
pid: Optional[str] = None
steps: Optional[str] = None
class BuiltMelodyInDB(BaseModel):
id: str
name: str
pid: str
steps: str
binary_path: Optional[str] = None
binary_url: Optional[str] = None
progmem_code: Optional[str] = None
assigned_melody_ids: List[str] = []
created_at: str
updated_at: str
@property
def step_count(self) -> int:
if not self.steps:
return 0
return len(self.steps.split(","))
class BuiltMelodyListResponse(BaseModel):
melodies: List[BuiltMelodyInDB]
total: int