Fix payment model injection

This commit is contained in:
dongli 2024-12-15 17:02:28 -08:00
parent 9b38025f20
commit 72551c44b6
2 changed files with 17 additions and 2 deletions

View File

@ -3,7 +3,13 @@
# from .user_profile import profile_models
#
# TODO: Add all models to backend_models
backend_models = []
from backend.services.payment.models import IncomeProfileDoc
from backend.services.project.models import ProjectDoc
backend_models = [
IncomeProfileDoc,
ProjectDoc
]
# backend_models.extend(code_models)
# backend_models.extend(user_models)
# backend_models.extend(profile_models)

View File

@ -2,7 +2,10 @@ from typing import List, Dict, Optional
from decimal import Decimal
from time import time
from beanie import Document
from pydantic import BaseModel
from pydantic import BaseModel, validator
from decimal import Decimal
from bson import Decimal128
from backend.services.payment.constants import PaymentGateway
from backend.infra.payment.constants import MoneyCollectionType, PaymentLocation
@ -32,6 +35,12 @@ class CurrencyAmount(BaseModel):
amount: Decimal
currency: str
@validator("amount", pre=True)
def convert_decimal128(cls, value):
if isinstance(value, Decimal128):
return value.to_decimal() # Convert MongoDB Decimal128 to Python Decimal
return value
class Wallet(BaseModel):
payment_methods: List[PaymentMethod]