later process
This commit is contained in:
@@ -93,6 +93,34 @@ class SentenceTextUpdate(BaseModel):
|
||||
language: Optional[str] = Field(default=None, max_length=32)
|
||||
|
||||
|
||||
class AdminSentenceBatchItem(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
start_ms: int = Field(ge=0)
|
||||
end_ms: int = Field(gt=0)
|
||||
text: str = Field(min_length=1, max_length=4000)
|
||||
language: Optional[str] = Field(default=None, max_length=32)
|
||||
reference_speech_duration_ms: int = Field(gt=0)
|
||||
source_start_ms: Optional[int] = Field(default=None, ge=0)
|
||||
source_end_ms: Optional[int] = Field(default=None, gt=0)
|
||||
|
||||
@model_validator(mode="after")
|
||||
def validate_range(self):
|
||||
if self.end_ms <= self.start_ms:
|
||||
raise ValueError("end_ms must be greater than start_ms")
|
||||
if (self.source_start_ms is None) != (self.source_end_ms is None):
|
||||
raise ValueError("source_start_ms and source_end_ms must be set together")
|
||||
elif self.source_start_ms is not None and self.source_end_ms <= self.source_start_ms:
|
||||
raise ValueError("source end_ms must be greater than source start_ms")
|
||||
return self
|
||||
|
||||
|
||||
class AdminSentenceBatchUpdate(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
sentences: List[AdminSentenceBatchItem] = Field(min_length=1, max_length=10000)
|
||||
|
||||
|
||||
class CourseTitleUpdate(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user