Recursive types #181
This commit is contained in:
@@ -13,8 +13,8 @@ class DbJoinModelABC[T](DbModelABC[T]):
|
||||
foreign_id: Id,
|
||||
deleted: bool = False,
|
||||
editor_id: SerialId | None = None,
|
||||
created: datetime | None= None,
|
||||
updated: datetime | None= None,
|
||||
created: datetime | None = None,
|
||||
updated: datetime | None = None,
|
||||
):
|
||||
DbModelABC.__init__(self, id, deleted, editor_id, created, updated)
|
||||
|
||||
|
||||
@@ -2,7 +2,10 @@ from abc import ABC
|
||||
from datetime import datetime, timezone
|
||||
from typing import Optional, Generic
|
||||
|
||||
from async_property import async_property
|
||||
|
||||
from cpl.core.typing import Id, SerialId, T
|
||||
from cpl.dependency import get_provider
|
||||
|
||||
|
||||
class DbModelABC(ABC, Generic[T]):
|
||||
@@ -11,8 +14,8 @@ class DbModelABC(ABC, Generic[T]):
|
||||
id: Id,
|
||||
deleted: bool = False,
|
||||
editor_id: SerialId | None = None,
|
||||
created: datetime | None= None,
|
||||
updated: datetime | None= None,
|
||||
created: datetime | None = None,
|
||||
updated: datetime | None = None,
|
||||
):
|
||||
self._id = id
|
||||
self._deleted = deleted
|
||||
@@ -41,14 +44,16 @@ class DbModelABC(ABC, Generic[T]):
|
||||
def editor_id(self, value: SerialId):
|
||||
self._editor_id = value
|
||||
|
||||
# @async_property
|
||||
# async def editor(self):
|
||||
# if self._editor_id is None:
|
||||
# return None
|
||||
#
|
||||
# from data.schemas.administration.user_dao import userDao
|
||||
#
|
||||
# return await userDao.get_by_id(self._editor_id)
|
||||
@async_property
|
||||
async def editor(self):
|
||||
if self._editor_id is None:
|
||||
return None
|
||||
|
||||
from cpl.auth.schema import AuthUserDao
|
||||
|
||||
auth_user_dao = get_provider().get_service(AuthUserDao)
|
||||
|
||||
return await auth_user_dao.get_by_id(self._editor_id)
|
||||
|
||||
@property
|
||||
def created(self) -> datetime:
|
||||
|
||||
@@ -8,8 +8,8 @@ class ExecutedMigration(DbModelABC[Self]):
|
||||
def __init__(
|
||||
self,
|
||||
migration_id: str,
|
||||
created: datetime | None= None,
|
||||
modified: datetime | None= None,
|
||||
created: datetime | None = None,
|
||||
modified: datetime | None = None,
|
||||
):
|
||||
DbModelABC.__init__(self, migration_id, False, created, modified)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user