Initial commit
This commit is contained in:
22
job_orchestrator_service/schemas/job_schema.py
Normal file
22
job_orchestrator_service/schemas/job_schema.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from marshmallow import Schema, fields
|
||||
from marshmallow.validate import Length
|
||||
from marshmallow import RAISE
|
||||
|
||||
from datetime import datetime
|
||||
import uuid
|
||||
|
||||
|
||||
class ControlConfigurationSchema(Schema):
|
||||
pod_id = fields.UUID(required=False, missing=uuid.uuid4)
|
||||
robot_address = fields.Str(required=True)
|
||||
program_url = fields.Str(required=True)
|
||||
|
||||
|
||||
class JobSchema(Schema):
|
||||
id = fields.UUID(required=False, missing=uuid.uuid4)
|
||||
created_at = fields.DateTime(required=False, missing=datetime.now)
|
||||
|
||||
controllers = fields.Nested(ControlConfigurationSchema, many=True, required=True, validate=Length(min=1))
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
Reference in New Issue
Block a user