from django.db import models
from authentication.models import User

class MyobModel(models.Model):
    access_token= models.TextField()
    refresh_token=models.TextField()
    access_code = models.TextField()
    scope = models.CharField(max_length=255 ,null=True)
    expire_in = models.BigIntegerField(null=True)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE)
    updated_by = models.ForeignKey(User, on_delete=models.CASCADE ,null=True,related_name='updated')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    connected = models.BooleanField(default=False)

    def __str__(self):
        return f'MyobModel for User: {self.created_by}'
    
    
    @classmethod
    def GetMyobData(cls,user):
        try:

            return cls.objects.get(created_by=user)
        except cls.DoesNotExist:
            return None
    
    @property
    def has_refresh_token(self):
        return bool(self.refresh_token)

    @property
    def is_connected(self):
        return self.connected
    

    # @classmethod
    # def GetMyobData(cls):
    #    pass

    