mirror of
https://github.com/Tech-Workers-Coalition-Italia/mobilizon-reshare.git
synced 2025-01-30 17:14:53 +01:00
2c8063cf4a
* fixed visualization * simplified tests * split into files * refactored test expected publications * split update tests * expanded specifications and tests * added event_status window tests * fixed 'all' command * renamed everything * fixed uppercase
30 lines
736 B
Python
30 lines
736 B
Python
from enum import IntEnum
|
|
|
|
from tortoise import fields
|
|
from tortoise.models import Model
|
|
|
|
|
|
class PublicationStatus(IntEnum):
|
|
WAITING = 1
|
|
FAILED = 2
|
|
COMPLETED = 3
|
|
|
|
|
|
class Publication(Model):
|
|
id = fields.UUIDField(pk=True)
|
|
status = fields.IntEnumField(PublicationStatus)
|
|
|
|
# When a Publication's status is WAITING
|
|
# we don't need a timestamp nor a reason
|
|
timestamp = fields.DatetimeField(null=True)
|
|
reason = fields.TextField(null=True)
|
|
|
|
event = fields.ForeignKeyField("models.Event", related_name="publications")
|
|
publisher = fields.ForeignKeyField("models.Publisher", related_name="publications")
|
|
|
|
def __str__(self):
|
|
return f"{self.id}"
|
|
|
|
class Meta:
|
|
table = "publication"
|