redefine models

This commit is contained in:
Cayo Puigdefabregas 2021-06-15 12:38:02 +02:00
parent 7cee2693ff
commit b1414cf143
2 changed files with 19 additions and 20 deletions

View File

@ -77,8 +77,10 @@ class TradeDocument(Thing):
lot.comment = """Lot to which the document is associated""" lot.comment = """Lot to which the document is associated"""
file_name = Column(db.CIText()) file_name = Column(db.CIText())
file_name.comment = """This is the name of the file when user up the document.""" file_name.comment = """This is the name of the file when user up the document."""
path_name = Column(db.CIText()) file_hash = Column(db.CIText())
path_name.comment = """This is the name of the file as devicehub save in server.""" file_hash.comment = """This is the hash of the file produced from frontend."""
url = Column(db.CIText())
url.comment = """This is the url where resides the document."""
__table_args__ = ( __table_args__ = (
db.Index('document_id', id, postgresql_using='hash'), db.Index('document_id', id, postgresql_using='hash'),

View File

@ -1,8 +1,6 @@
import base64 from marshmallow.fields import DateTime, Integer
from teal.marshmallow import SanitizedStr, URL
from marshmallow.fields import DateTime, Integer, Raw # from marshmallow import ValidationError, validates_schema
from teal.marshmallow import SanitizedStr
from marshmallow import ValidationError, validates_schema
from ereuse_devicehub.marshmallow import NestedOn from ereuse_devicehub.marshmallow import NestedOn
from ereuse_devicehub.resources.schemas import Thing from ereuse_devicehub.resources.schemas import Thing
@ -14,18 +12,17 @@ class TradeDocument(Thing):
__doc__ = m.TradeDocument.__doc__ __doc__ = m.TradeDocument.__doc__
id = Integer(description=m.TradeDocument.id.comment, dump_only=True) id = Integer(description=m.TradeDocument.id.comment, dump_only=True)
date = DateTime(required=False, description=m.TradeDocument.date.comment) date = DateTime(required=False, description=m.TradeDocument.date.comment)
id_document = SanitizedStr(default='', description=m.TradeDocument.id_document.comment) id_document = SanitizedStr(data_key='documentId',
description = SanitizedStr(default='', description=m.TradeDocument.description.comment) default='',
file_name = SanitizedStr(default='', description=m.TradeDocument.file_name.comment) description=m.TradeDocument.id_document.comment)
file = Raw(type='file') description = SanitizedStr(default='',
description=m.TradeDocument.description.comment)
file_name = SanitizedStr(data_key='filename',
default='',
description=m.TradeDocument.file_name.comment)
file_hash = SanitizedStr(data_key='hash',
default='',
description=m.TradeDocument.file_hash.comment)
url = URL(description=m.TradeDocument.url.comment)
lot = NestedOn('Lot', only_query='id', description=m.TradeDocument.lot.__doc__) lot = NestedOn('Lot', only_query='id', description=m.TradeDocument.lot.__doc__)
# lot = NestedOn(s_lot.Lot, only_query='id', description=m.TradeDocument.lot.__doc__) # lot = NestedOn(s_lot.Lot, only_query='id', description=m.TradeDocument.lot.__doc__)
@validates_schema
def validate_filestream(self, data):
if not data.get('file'):
txt = 'Error, no there are any file for save'
raise ValidationError(txt)
data['file'] = base64.b64decode(data['file'])