import asyncio import hashlib from datetime import datetime from database import get_database from config import settings async def seed_fraud_ledger(): db = await get_database() collection = db[settings.FRAUD_LEDGER_COLLECTION] # Check if empty count = await collection.count_documents({}) if count > 0: print("Fraud Ledger already seeded.") return print("Seeding Fraud Ledger...") mock_scams = [ {"phone": "03001234567", "pattern": "JazzCash Block/Verification Scam"}, {"phone": "03217654321", "pattern": "BISP Ehsaas Program Fake Payment"}, {"phone": "03451122334", "pattern": "Jeeto Pakistan Fake Prize"}, {"phone": "03339988776", "pattern": "Meezan Bank Fake ATM Update"}, {"phone": "03115544332", "pattern": "SIM Card Blocking Alert"} ] entries = [] for scam in mock_scams: entries.append({ "sender_hash": hashlib.sha256(scam["phone"].encode()).hexdigest(), "scam_pattern": scam["pattern"], "hit_count": 1, "created_at": datetime.utcnow() }) if entries: await collection.insert_many(entries) print(f"Inserted {len(entries)} mock scam entries.") if __name__ == "__main__": from database import db async def run(): await db.connect_to_storage() await seed_fraud_ledger() await db.close_storage() asyncio.run(run())