LGBM_VALIDATION / validation.py
subbunanepalli's picture
Create validation.py
3ecb06e verified
from pydantic import ValidationError
from app import TransactionData # Reuse model from app.py
import json
# Example JSON input (update as needed)
sample_input = {
"Transaction_Id": "T123456789",
"Hit_Seq": 1,
"Hit_Id_List": "HIT001",
"Origin": "USA",
"Designation": "Manager",
"Keywords": "Payment",
"Name": "John Doe",
"SWIFT_Tag": "TAG001",
"Currency": "USD",
"Entity": "CompanyX",
"Message": "This is a test message",
"City": "New York",
"Country": "USA",
"State": "NY",
"Hit_Type": "Name Match",
"Record_Matching_String": "Matching String Example",
"WatchList_Match_String": "Watchlist Match Example",
"Payment_Sender_Name": "Alice",
"Payment_Reciever_Name": "Bob",
"Swift_Message_Type": "MT103",
"Text_Sanction_Data": "Sanction text here",
"Matched_Sanctioned_Entity": "Entity XYZ",
"Is_Match": 1,
"Red_Flag_Reason": "High Risk",
"Risk_Level": "High",
"Risk_Score": 85.0,
"Risk_Score_Description": "High Risk Score",
"CDD_Level": "Enhanced",
"PEP_Status": "No",
"Value_Date": "2023-10-01",
"Last_Review_Date": "2023-11-01",
"Next_Review_Date": "2024-11-01",
"Sanction_Description": "Some sanctions",
"Checker_Notes": "Verified manually",
"Sanction_Context": "Transaction under review",
"Maker_Action": "Escalated",
"Customer_ID": 1001,
"Customer_Type": "Corporate",
"Industry": "Finance",
"Transaction_Date_Time": "2023-10-01T12:00:00",
"Transaction_Type": "Transfer",
"Transaction_Channel": "Online",
"Originating_Bank": "Bank A",
"Beneficiary_Bank": "Bank B",
"Geographic_Origin": "USA",
"Geographic_Destination": "UK",
"Match_Score": 0.95,
"Match_Type": "Fuzzy",
"Sanctions_List_Version": "v2023.10",
"Screening_Date_Time": "2023-10-01T10:00:00",
"Risk_Category": "Fraud",
"Risk_Drivers": "Transaction Volume",
"Alert_Status": "Open",
"Investigation_Outcome": "Pending",
"Case_Owner_Analyst": "Analyst1",
"Escalation_Level": "Level 2",
"Escalation_Date": "2023-10-02",
"Regulatory_Reporting_Flags": True,
"Audit_Trail_Timestamp": "2023-10-01T10:15:00",
"Source_Of_Funds": "Internal",
"Purpose_Of_Transaction": "Loan Repayment",
"Beneficial_Owner": "OwnerX",
"Sanctions_Exposure_History": False
}
if __name__ == "__main__":
try:
validated = TransactionData(**sample_input)
print(" Input is valid.")
except ValidationError as e:
print(" Validation failed:")
print(e.json())