synched enum fields to lower case like yaml

This commit is contained in:
Daniel Schick 2024-02-26 07:23:09 +01:00
parent 06e9c9b8ae
commit e88f3fa1de
2 changed files with 33 additions and 13 deletions

View File

@ -943,6 +943,7 @@ components:
OperationType:
type: string
enum:
- undefined
- insert
- update
- delete

View File

@ -1,5 +1,6 @@
from dataclasses import field, dataclass
from marshmallow import Schema, fields, INCLUDE, ValidationError
from marshmallow.fields import Field
from marshmallow_enum import EnumField
from enum import IntEnum
@ -26,15 +27,32 @@ class Berth(Schema):
deleted: bool
class Operation(IntEnum):
UNDEFINED = 0
INSERT = 1
UPDATE = 2
DELETE = 3
undefined = 0
insert = 1
update = 2
delete = 3
class ObjectType(IntEnum):
UNDEFINED = 0
SHIPCALL = 1
TIMES = 2
undefined = 0
shipcall = 1
times = 2
class EvaluationType(IntEnum):
undefined = 0
green = 1
yellow = 2
red = 3
class NotificationType(IntEnum):
undefined = 0
email = 1
push = 2
class ShipcallType(IntEnum):
undefined = 0
arrival = 1
departure = 2
shifting = 3
@dataclass
class History:
@ -53,8 +71,8 @@ class History:
shipcall_id: int
timestamp: datetime
eta: datetime
type: EnumField(ObjectType)
operation: EnumField(Operation)
type: ObjectType
operation: Operation
@classmethod
def from_query_row(self, id, participant_id, shipcall_id, timestamp, eta, type, operation):
return self(id, participant_id, shipcall_id, timestamp, eta, ObjectType(type), Operation(operation))
@ -71,7 +89,7 @@ class Notification:
id: int
shipcall_id: int
level: int
type: int
type: NotificationType
message: str
created: datetime
modified: datetime
@ -103,7 +121,7 @@ class ShipcallSchema(Schema):
id = fields.Int()
ship_id = fields.Int()
type = fields.Int()
type = EnumField(ShipcallType, by_value=True, required=True)
eta = fields.DateTime(Required = False, allow_none=True)
voyage = fields.Str(allow_none=True, metadata={'Required':False}) # Solving: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'Required': False}
etd = fields.DateTime(Required = False, allow_none=True)
@ -124,7 +142,7 @@ class ShipcallSchema(Schema):
anchored = fields.Bool(Required = False, allow_none=True)
moored_lock = fields.Bool(Required = False, allow_none=True)
canceled = fields.Bool(Required = False, allow_none=True)
evaluation = fields.Int(Required = False, allow_none=True)
evaluation = EnumField(EvaluationType, required=False, allow_none=True, by_value=True)
evaluation_message = fields.Str(allow_none=True, metadata={'Required':False}) # Solving: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'Required': False}
evaluation_time = fields.DateTime(Required = False, allow_none=True)
evaluation_notifications_sent = fields.Bool(Required = False, allow_none=True)
@ -142,6 +160,7 @@ class Participant_Assignment:
participant_id: int
type: int # a variant would be to use the IntFlag type (with appropriate serialization)
@dataclass
class Shipcall:
@ -168,7 +187,7 @@ class Shipcall:
anchored: bool
moored_lock: bool
canceled: bool
evaluation: int
evaluation: str
evaluation_message: str
evaluation_time: datetime
evaluation_notifications_sent: bool