(20250225)
This commit is contained in:
@@ -343,7 +343,7 @@ class PaymentsController(CoreAuthTokenController, ABC):
|
||||
payment.metadata.inAccount, # ................................... p_in_account
|
||||
payment.metadata.idUser, # ...................................... p_user_id
|
||||
payment.metadata.documentUrl, # ................................. p_document_url
|
||||
payment.metadata.againstReference # ............................. p_notes
|
||||
json.to_string(payment.metadata.againstReference) # ............. p_notes
|
||||
),
|
||||
retry_count = 1,
|
||||
backoff_seconds = 0.5,
|
||||
@@ -356,6 +356,25 @@ class PaymentsController(CoreAuthTokenController, ABC):
|
||||
if sql_json["status"] == 1: return True
|
||||
else: return False
|
||||
|
||||
async def add_sales_transaction(
|
||||
self,
|
||||
sql_conn: AsyncMySQL,
|
||||
mongo_data_conn: AsyncMongo,
|
||||
payment: CorePaymentModel,
|
||||
session_token: str = None
|
||||
) -> bool:
|
||||
|
||||
"""
|
||||
???
|
||||
:param sql_conn: The database connection to use to perform this activity.
|
||||
:param mongo_data_conn: The database connection to use to perform this activity.
|
||||
:param payment: The record of the payment whose details need to be added as a receipt.
|
||||
:param session_token: The session token of the user to identify whose request caused this receipt update.
|
||||
:return: True is the receipt was added, else False.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
async def add_event_by_payment_id(
|
||||
self,
|
||||
mongo_data_conn: AsyncMongo,
|
||||
|
||||
@@ -40,6 +40,7 @@ from pydantic import BaseModel, Field, field_validator, PastDatetime
|
||||
from typing import Optional, Literal, Union, List, Any
|
||||
|
||||
# My utils:
|
||||
from utils_v2.string import json
|
||||
from utils_v2.string import regex
|
||||
|
||||
# To work with MongoDB:
|
||||
@@ -117,7 +118,7 @@ class PaymentRequestMetadata(BaseModel):
|
||||
idClient: int = Field(frozen = True)
|
||||
inAccount: int = Field(frozen = True)
|
||||
reference: str | None = Field(frozen = True, default = None, validate_default = True)
|
||||
againstReference: str | None = Field(frozen = True, default = None, validate_default = True)
|
||||
againstReference: dict | None = Field(frozen = True, default = None, validate_default = True)
|
||||
documentUrl: str | None = Field(frozen = False, default = None, validate_default = True)
|
||||
|
||||
# ┏┓ ┏•
|
||||
@@ -137,9 +138,10 @@ class PaymentRequestMetadata(BaseModel):
|
||||
if not value: value = "On Account"
|
||||
return value
|
||||
|
||||
@field_validator("againstReference")
|
||||
@field_validator("againstReference", mode = "before")
|
||||
def validate_against_reference(cls, value):
|
||||
if not value: value = None
|
||||
if isinstance(value, str): value = json.from_string(value)
|
||||
return value
|
||||
|
||||
@field_validator("documentUrl")
|
||||
|
||||
@@ -147,7 +147,7 @@ class PaymentMetadata(BaseModel):
|
||||
idClient: int | None = Field(frozen = True, default = None, validate_default = True)
|
||||
inAccount: int | None = Field(frozen = True, default = None, validate_default = True)
|
||||
reference: str | None = Field(frozen = True, default = None, validate_default = True)
|
||||
againstReference: str | None = Field(frozen = True, default = None, validate_default = True)
|
||||
againstReference: dict | None = Field(frozen = True, default = None, validate_default = True)
|
||||
documentUrl: str | None = Field(frozen = False, default = None, validate_default = True)
|
||||
|
||||
# ┏┓ ┏•
|
||||
@@ -167,9 +167,10 @@ class PaymentMetadata(BaseModel):
|
||||
if not value: value = "On Account"
|
||||
return value
|
||||
|
||||
@field_validator("againstReference")
|
||||
@field_validator("againstReference", mode = "before")
|
||||
def validate_against_reference(cls, value):
|
||||
if not value: value = None
|
||||
if isinstance(value, str): value = json.from_string(value)
|
||||
return value
|
||||
|
||||
@field_validator("documentUrl")
|
||||
|
||||
Reference in New Issue
Block a user