Source code for LOGS.Interfaces.IEntryRecord

from dataclasses import dataclass
from datetime import datetime
from typing import TYPE_CHECKING, List, Optional

from LOGS.Auxiliary import Tools
from LOGS.Auxiliary.MinimalModelGenerator import MinimalModelGenerator
from LOGS.Interfaces.IEntityInterface import IEntityInterface

if TYPE_CHECKING:
    from LOGS.Entities.PersonMinimal import PersonMinimal


[docs] @dataclass class IEnteredOnRequest: enteredFrom: Optional[datetime] = None enteredTo: Optional[datetime] = None
[docs] class IEnteredByRequest: createdByIds: Optional[List[int]]
[docs] @dataclass class IEntryRecordRequest(IEnteredOnRequest, IEnteredByRequest): pass
[docs] class IEnteredOn(IEntityInterface): _enteredOn: Optional[datetime] = None @property def enteredOn(self) -> Optional[datetime]: return self._enteredOn @enteredOn.setter def enteredOn(self, value): self._enteredOn = Tools.checkAndConvert( value, datetime, "enteredOn", allowNone=True )
[docs] class IEnteredBy(IEntityInterface): _enteredBy: Optional["PersonMinimal"] = None @property def enteredBy(self) -> Optional["PersonMinimal"]: return self._enteredBy @enteredBy.setter def enteredBy(self, value): self._enteredBy = MinimalModelGenerator.MinimalFromSingle( value, "PersonMinimal", "enteredBy", connection=self._getEntityConnection() )
[docs] class IEntryRecord(IEnteredOn, IEnteredBy): pass