From b540f16cf2bad4cf6b596deb3f05a13c2aaa2a83 Mon Sep 17 00:00:00 2001 From: Leopoldadmin Date: Sat, 4 Jul 2026 00:24:16 +0000 Subject: [PATCH] feat(core): add sequence schemas --- app/schemas/sequence.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 app/schemas/sequence.py diff --git a/app/schemas/sequence.py b/app/schemas/sequence.py new file mode 100644 index 0000000..c97d83e --- /dev/null +++ b/app/schemas/sequence.py @@ -0,0 +1,32 @@ +"""Sequence schemas — create, update, read, list.""" + +from __future__ import annotations + +from pydantic import BaseModel, Field + + +class SequenceCreate(BaseModel): + name: str = Field(..., min_length=1, max_length=100, description="e.g. invoice, quote") + prefix: str = Field("", max_length=20, description="e.g. RE-2026-") + padding: int = Field(4, ge=1, le=10, description="Zero-pad width, e.g. 4 -> 0001") + + +class SequenceUpdate(BaseModel): + name: str | None = Field(None, min_length=1, max_length=100) + prefix: str | None = Field(None, max_length=20) + padding: int | None = Field(None, ge=1, le=10) + + +class SequenceResponse(BaseModel): + id: str + name: str + prefix: str + next_number: int + padding: int + created_at: str | None = None + updated_at: str | None = None + + +class SequenceListResponse(BaseModel): + items: list[SequenceResponse] + total: int