2021-07-05 23:07:12 +02:00
|
|
|
from enum import IntEnum
|
|
|
|
|
2021-05-31 01:11:50 +02:00
|
|
|
from tortoise import fields
|
|
|
|
from tortoise.models import Model
|
|
|
|
|
2021-07-05 23:07:12 +02:00
|
|
|
|
|
|
|
class NotificationStatus(IntEnum):
|
|
|
|
WAITING = 1
|
|
|
|
FAILED = 2
|
|
|
|
PARTIAL = 3
|
|
|
|
COMPLETED = 4
|
2021-05-31 01:11:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
class Notification(Model):
|
|
|
|
id = fields.UUIDField(pk=True)
|
|
|
|
status = fields.IntEnumField(NotificationStatus)
|
|
|
|
|
|
|
|
message = fields.TextField()
|
|
|
|
|
|
|
|
target = fields.ForeignKeyField(
|
|
|
|
"models.Publisher", related_name="notifications", null=True
|
|
|
|
)
|
|
|
|
|
|
|
|
publication = fields.ForeignKeyField(
|
|
|
|
"models.Publication", related_name="notifications", null=True
|
|
|
|
)
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return f"[{self.status}] {self.message}"
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
table = "notification"
|