# -*- coding: utf-8 -*-
from __future__ import annotations

import datetime
import uuid

import pydantic


class BaseModelOut(pydantic.BaseModel):
    id: uuid.UUID

    @property
    def pk(self) -> uuid.UUID:
        return self.id

    def to_rpc(self) -> dict:
        return self.dict()


class ModelOut(BaseModelOut):
    account_uuid: uuid.UUID
    created_at: datetime.datetime
    updated_at: datetime.datetime
    deleted_at: datetime.datetime | None
    is_active: bool


class Query(pydantic.BaseModel):
    pass
