修正
This commit is contained in:
29
backend/app/modules/journals/schemas.py
Normal file
29
backend/app/modules/journals/schemas.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# app/modules/journals/schemas.py
|
||||
from pydantic import BaseModel, field_validator
|
||||
from typing import List
|
||||
from decimal import Decimal
|
||||
from datetime import date
|
||||
|
||||
class JournalLineCreate(BaseModel):
|
||||
account_id: int
|
||||
debit: Decimal = 0
|
||||
credit: Decimal = 0
|
||||
|
||||
@field_validator("debit", "credit")
|
||||
@classmethod
|
||||
def non_negative(cls, v):
|
||||
if v < 0:
|
||||
raise ValueError("金額は0以上で入力してください")
|
||||
return v
|
||||
|
||||
class JournalCreate(BaseModel):
|
||||
journal_date: date
|
||||
description: str
|
||||
lines: List[JournalLineCreate]
|
||||
|
||||
@field_validator("lines")
|
||||
@classmethod
|
||||
def validate_lines(cls, v):
|
||||
if len(v) < 2:
|
||||
raise ValueError("仕訳明細は2行以上必要です")
|
||||
return v
|
||||
Reference in New Issue
Block a user