2023-03-21 11:08:13 +00:00
|
|
|
from marshmallow.fields import DateTime, Float, Integer, validate
|
2021-05-13 11:35:46 +00:00
|
|
|
|
2021-05-19 07:47:14 +00:00
|
|
|
from ereuse_devicehub.marshmallow import NestedOn
|
2021-05-13 11:35:46 +00:00
|
|
|
from ereuse_devicehub.resources.schemas import Thing
|
|
|
|
from ereuse_devicehub.resources.tradedocument import models as m
|
2023-03-21 11:08:13 +00:00
|
|
|
from ereuse_devicehub.teal.marshmallow import URL, SanitizedStr
|
|
|
|
|
|
|
|
# from marshmallow import ValidationError, validates_schema
|
|
|
|
|
|
|
|
|
2021-06-07 11:10:28 +00:00
|
|
|
# from ereuse_devicehub.resources.lot import schemas as s_lot
|
2021-05-13 11:35:46 +00:00
|
|
|
|
|
|
|
|
2021-05-14 10:58:56 +00:00
|
|
|
class TradeDocument(Thing):
|
|
|
|
__doc__ = m.TradeDocument.__doc__
|
|
|
|
id = Integer(description=m.TradeDocument.id.comment, dump_only=True)
|
|
|
|
date = DateTime(required=False, description=m.TradeDocument.date.comment)
|
2023-03-21 11:08:13 +00:00
|
|
|
id_document = SanitizedStr(
|
|
|
|
data_key='documentId',
|
|
|
|
default='',
|
|
|
|
description=m.TradeDocument.id_document.comment,
|
|
|
|
)
|
|
|
|
description = SanitizedStr(
|
|
|
|
default='',
|
|
|
|
description=m.TradeDocument.description.comment,
|
|
|
|
validate=validate.Length(max=500),
|
|
|
|
)
|
|
|
|
file_name = SanitizedStr(
|
|
|
|
data_key='filename',
|
|
|
|
default='',
|
|
|
|
description=m.TradeDocument.file_name.comment,
|
|
|
|
validate=validate.Length(max=100),
|
|
|
|
)
|
|
|
|
file_hash = SanitizedStr(
|
|
|
|
data_key='hash',
|
|
|
|
default='',
|
|
|
|
description=m.TradeDocument.file_hash.comment,
|
|
|
|
validate=validate.Length(max=64),
|
|
|
|
)
|
2021-06-15 10:38:02 +00:00
|
|
|
url = URL(description=m.TradeDocument.url.comment)
|
2021-06-07 11:10:28 +00:00
|
|
|
lot = NestedOn('Lot', only_query='id', description=m.TradeDocument.lot.__doc__)
|
2021-06-22 14:53:10 +00:00
|
|
|
trading = SanitizedStr(dump_only=True, description='')
|
2021-08-03 14:40:17 +00:00
|
|
|
weight = Float(required=False, description=m.TradeDocument.weight.comment)
|
2021-09-10 12:07:35 +00:00
|
|
|
total_weight = Float(required=False, description=m.TradeDocument.weight.comment)
|