| 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] |
| |
| |
| 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()) |
|
|