import json
from django.db import models

class ErrorLog(models.Model):
    user_id = models.BigIntegerField(blank=True, null=True)
    descr = models.TextField(null=True, blank=True)
    url = models.CharField(max_length=255, blank=True)
    trace = models.TextField(null=True, blank=True)
    data = models.JSONField(null=True, blank=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = 'error_log'

    @staticmethod
    def insert_log(user_id=None, descr=None, trace=None, data=None, url=None):
        log = ErrorLog.objects.create(
            user_id=user_id,
            descr=descr,
            trace=trace, #if want store as json, assume be4 call to this function already make it json format
            data=data,
            url=url,
        )
        return log.id