Source code for LOGS.Entities.Signature

from datetime import datetime
from typing import TYPE_CHECKING, Optional

from LOGS.Auxiliary.MinimalModelGenerator import MinimalModelGenerator
from LOGS.Entities.PersonMinimal import PersonMinimal
from LOGS.Entity.Entity import Entity

if TYPE_CHECKING:
    from LOGS.Entities.PersonMinimal import PersonMinimal

from enum import Enum


[docs] class SignatureType(Enum): Unknown = "Unknown" Contributor = "Contributor" Reviewer = "Reviewer"
[docs] class Signature(Entity): _signedBy: Optional["PersonMinimal"] = None _timestamp: Optional[datetime] = None _signatureType: Optional[SignatureType] = None _comment: Optional[str] = None @property def signedBy(self) -> Optional["PersonMinimal"]: return self._signedBy @signedBy.setter def signedBy(self, value): self._signedBy = MinimalModelGenerator.MinimalFromSingle( value, "PersonMinimal", "signedBy", self._getConnection() ) @property def timestamp(self) -> Optional[datetime]: return self._timestamp @timestamp.setter def timestamp(self, value: Optional[datetime]): self._timestamp = self.checkAndConvertNullable(value, datetime, "timestamp") @property def signatureType(self) -> Optional[SignatureType]: return self._signatureType @signatureType.setter def signatureType(self, value: Optional[SignatureType]): self._signatureType = self.checkAndConvertNullable( value, SignatureType, "signatureType" ) @property def comment(self) -> Optional[str]: return self._comment @comment.setter def comment(self, value: Optional[str]): self._comment = self.checkAndConvertNullable(value, str, "comment")