Source code for ecstask.osp_eventhandler_v2.utilities.payload_validator
from marshmallow import fields, Schema, validate, EXCLUDE
[docs]class PickedSkuBarcodes(Schema):
retailerSkuId = fields.String(required=True, validate=validate.Length(min=1,
error="Field retailerSkuId should not be empty."))
barcodes = fields.List(fields.String, required=True)
[docs]class Substitutions(Schema):
quantityPicked = fields.Float(required=True)
productId = fields.String(required=True, validate=validate.Length(min=1, error="Field should not be empty."))
barcodes = fields.List(fields.String, required=True)
productType = fields.String(required=False, validate=validate.Length(min=1,
error="Field productType should not be empty."))
pickedSkuBarcodes = fields.List(fields.Nested(PickedSkuBarcodes), required=False)
[docs]class PickTaskSchema(Schema):
"""Marshmallow schema for validating Picktask payload. Everything except substitutions are mandatory fields for payload to be
uploaded to SNS
"""
quantityPicked = fields.Float(required=True)
productId = fields.String(required=True,
validate=validate.Length(min=1, error="Field productId should not be empty."))
requestedRetailerSkuId = fields.String(required=False,
validate=validate.Length(min=1,
error="Field requestedRetailerSkuId should not be empty."))
pickedSkuBarcodes = fields.List(fields.Nested(PickedSkuBarcodes), required=False)
pickTaskId = fields.String(required=True,
validate=validate.Length(min=1, error="Field pickTaskId should not be empty."))
orderId = fields.String(required=True, validate=validate.Length(min=1, error="Field orderId should not be empty."))
pickLocationId = fields.String(required=False)
siteId = fields.String(required=True, validate=validate.Length(min=1, error="Field siteId should not be empty."))
quantityOrdered = fields.Float(required=True)
barcodes = fields.List(fields.String, required=True)
productType = fields.String(required=False, validate=validate.Length(min=1,
error="Field productType should not be empty."))
timestamp = fields.String(required=True)
substitutions = fields.List(fields.Nested(Substitutions), required=True)
eventId = fields.String(required=True, validate=validate.Length(min=1,
error="Field eventId should not be empty."))
pick_task_schema = PickTaskSchema(unknown=EXCLUDE)