import sys
import random
import datetime

sys.path.insert(0, "/var/www/html/metafoliadorv2")

from app.models.database import SessionLocal
from app.models.alfresco_listener_log import AlfrescoListenerLog

def seed_logs():
    db = SessionLocal()
    logs = []
    
    statuses = [200, 201, 400, 401, 403, 404, 500, 409]
    methods = ["POST", "GET", "PUT", "DELETE"]
    
    for i in range(1000):
        status = random.choice(statuses)
        log = AlfrescoListenerLog(
            remote_ip=f"192.168.1.{random.randint(1, 255)}",
            origin="SeedScript",
            method=random.choice(methods),
            url=f"/api/v1/alfresco/listener?event={i}",
            request_body={"event": "test", "id": i},
            response_status=status,
            response_body="Success" if status < 400 else "Error",
            authorized=status not in [401, 403],
            error_message="Unauthorized" if status in [401, 403] else None,
            duration_ms=random.randint(10, 2000),
            created_at=datetime.datetime.now() - datetime.timedelta(minutes=random.randint(1, 10000))
        )
        logs.append(log)
    
    db.bulk_save_objects(logs)
    db.commit()
    db.close()
    print("Inserted 1000 logs successfully.")

if __name__ == "__main__":
    seed_logs()
