21 lines
761 B
Python
21 lines
761 B
Python
from app.core.constants import SUPPORTED_SCHEMA_VERSION
|
|
from app.core.exceptions import AppError
|
|
from app.schemas.changeset import ChangeItem, ChangeSetPayload
|
|
from app.schemas.common import ModuleName
|
|
|
|
|
|
class ChangeSetValidator:
|
|
def validate(self, task_id: str, changeset: list[ChangeItem]) -> list[ChangeItem]:
|
|
payload = ChangeSetPayload(
|
|
schema_version=SUPPORTED_SCHEMA_VERSION,
|
|
task_id=task_id,
|
|
changeset=changeset,
|
|
)
|
|
if payload.schema_version != SUPPORTED_SCHEMA_VERSION:
|
|
raise AppError(
|
|
"unsupported_schema",
|
|
f"Unsupported schema version: {payload.schema_version}",
|
|
ModuleName.AGENT,
|
|
)
|
|
return payload.changeset
|