import typing
from django.db import models
from mirage import fields as mirage_fields
if typing.TYPE_CHECKING:
from apps.user_management.models import User
class GoogleOAuth2User(models.Model):
user: "User"
id = models.AutoField(primary_key=True)
user = models.OneToOneField(
to="user_management.User", null=False, blank=False, related_name="google_oauth2_user", on_delete=models.CASCADE
)
google_user_id = models.CharField(max_length=100)
access_token = mirage_fields.EncryptedCharField(max_length=300)
refresh_token = mirage_fields.EncryptedCharField(max_length=300)
oauth_scope = models.TextField(max_length=30000)
created_at = models.DateTimeField(auto_now_add=True)