Files
OpenAssetManager/api/asset_manager/src/modules/auth/models.py
T

30 lines
780 B
Python

import pytz
from tortoise.models import Model
from tortoise import fields
import uuid
from datetime import datetime
from mixins.CMDMixin import CMDMixin
from config import settings
class Token(Model, CMDMixin):
"""
Token
Creates the access tokens for the User
"""
id: uuid.UUID = fields.UUIDField(primary_key=True)
user: uuid.UUID = fields.ForeignKeyField("models.User")
token_type: str = fields.CharField(max_length=128, default="Bearer")
access_token: str = fields.TextField(null=True)
refresh_token: str = fields.TextField(null=True)
disabled: bool = fields.BooleanField(default=False)
async def delete(self) -> None:
self.disabled = True
self.disabled_at = datetime.now(tz=pytz.UTC)
await self.save()