36 lines
834 B
Python
36 lines
834 B
Python
from abc import ABC, abstractmethod
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
|
|
class TableABC(ABC):
|
|
|
|
@abstractmethod
|
|
def __init__(self):
|
|
self._created_at: Optional[datetime] = datetime.now().isoformat()
|
|
self._modified_at: Optional[datetime] = datetime.now().isoformat()
|
|
|
|
@property
|
|
def created_at(self) -> datetime:
|
|
return self._created_at
|
|
|
|
@property
|
|
def modified_at(self) -> datetime:
|
|
return self._modified_at
|
|
|
|
@modified_at.setter
|
|
def modified_at(self, value: datetime):
|
|
self._modified_at = value
|
|
|
|
@property
|
|
@abstractmethod
|
|
def insert_string(self) -> str: pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def udpate_string(self) -> str: pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def delete_string(self) -> str: pass
|