(20250225)
This commit is contained in:
@@ -343,7 +343,7 @@ class PaymentsController(CoreAuthTokenController, ABC):
|
|||||||
payment.metadata.inAccount, # ................................... p_in_account
|
payment.metadata.inAccount, # ................................... p_in_account
|
||||||
payment.metadata.idUser, # ...................................... p_user_id
|
payment.metadata.idUser, # ...................................... p_user_id
|
||||||
payment.metadata.documentUrl, # ................................. p_document_url
|
payment.metadata.documentUrl, # ................................. p_document_url
|
||||||
payment.metadata.againstReference # ............................. p_notes
|
json.to_string(payment.metadata.againstReference) # ............. p_notes
|
||||||
),
|
),
|
||||||
retry_count = 1,
|
retry_count = 1,
|
||||||
backoff_seconds = 0.5,
|
backoff_seconds = 0.5,
|
||||||
@@ -356,6 +356,25 @@ class PaymentsController(CoreAuthTokenController, ABC):
|
|||||||
if sql_json["status"] == 1: return True
|
if sql_json["status"] == 1: return True
|
||||||
else: return False
|
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(
|
async def add_event_by_payment_id(
|
||||||
self,
|
self,
|
||||||
mongo_data_conn: AsyncMongo,
|
mongo_data_conn: AsyncMongo,
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ from pydantic import BaseModel, Field, field_validator, PastDatetime
|
|||||||
from typing import Optional, Literal, Union, List, Any
|
from typing import Optional, Literal, Union, List, Any
|
||||||
|
|
||||||
# My utils:
|
# My utils:
|
||||||
|
from utils_v2.string import json
|
||||||
from utils_v2.string import regex
|
from utils_v2.string import regex
|
||||||
|
|
||||||
# To work with MongoDB:
|
# To work with MongoDB:
|
||||||
@@ -117,7 +118,7 @@ class PaymentRequestMetadata(BaseModel):
|
|||||||
idClient: int = Field(frozen = True)
|
idClient: int = Field(frozen = True)
|
||||||
inAccount: int = Field(frozen = True)
|
inAccount: int = Field(frozen = True)
|
||||||
reference: str | 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)
|
documentUrl: str | None = Field(frozen = False, default = None, validate_default = True)
|
||||||
|
|
||||||
# ┏┓ ┏•
|
# ┏┓ ┏•
|
||||||
@@ -137,9 +138,10 @@ class PaymentRequestMetadata(BaseModel):
|
|||||||
if not value: value = "On Account"
|
if not value: value = "On Account"
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@field_validator("againstReference")
|
@field_validator("againstReference", mode = "before")
|
||||||
def validate_against_reference(cls, value):
|
def validate_against_reference(cls, value):
|
||||||
if not value: value = None
|
if not value: value = None
|
||||||
|
if isinstance(value, str): value = json.from_string(value)
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@field_validator("documentUrl")
|
@field_validator("documentUrl")
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ class PaymentMetadata(BaseModel):
|
|||||||
idClient: int | None = Field(frozen = True, default = None, validate_default = True)
|
idClient: int | None = Field(frozen = True, default = None, validate_default = True)
|
||||||
inAccount: 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)
|
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)
|
documentUrl: str | None = Field(frozen = False, default = None, validate_default = True)
|
||||||
|
|
||||||
# ┏┓ ┏•
|
# ┏┓ ┏•
|
||||||
@@ -167,9 +167,10 @@ class PaymentMetadata(BaseModel):
|
|||||||
if not value: value = "On Account"
|
if not value: value = "On Account"
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@field_validator("againstReference")
|
@field_validator("againstReference", mode = "before")
|
||||||
def validate_against_reference(cls, value):
|
def validate_against_reference(cls, value):
|
||||||
if not value: value = None
|
if not value: value = None
|
||||||
|
if isinstance(value, str): value = json.from_string(value)
|
||||||
return value
|
return value
|
||||||
|
|
||||||
@field_validator("documentUrl")
|
@field_validator("documentUrl")
|
||||||
|
|||||||
Reference in New Issue
Block a user