try to use only_fields for devices but not used
This commit is contained in:
parent
5510417125
commit
63f7adf69c
|
@ -14,6 +14,7 @@ from ereuse_devicehub.resources import enums
|
||||||
from ereuse_devicehub.resources.device import models as m, states
|
from ereuse_devicehub.resources.device import models as m, states
|
||||||
from ereuse_devicehub.resources.models import STR_BIG_SIZE, STR_SIZE
|
from ereuse_devicehub.resources.models import STR_BIG_SIZE, STR_SIZE
|
||||||
from ereuse_devicehub.resources.schemas import Thing, UnitCodes
|
from ereuse_devicehub.resources.schemas import Thing, UnitCodes
|
||||||
|
# from ereuse_devicehub.resources.action.schemas import Action as s_action
|
||||||
|
|
||||||
|
|
||||||
class Device(Thing):
|
class Device(Thing):
|
||||||
|
@ -96,6 +97,77 @@ class Device(Thing):
|
||||||
field_names=['actions'])
|
field_names=['actions'])
|
||||||
|
|
||||||
|
|
||||||
|
ACTIONS_VALUE = (
|
||||||
|
'id',
|
||||||
|
'type',
|
||||||
|
'created'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
TAGS_VALUE = (
|
||||||
|
'id',
|
||||||
|
'printable',
|
||||||
|
'code',
|
||||||
|
'device',
|
||||||
|
'type',
|
||||||
|
'url'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Device2(Thing):
|
||||||
|
__doc__ = m.Device.__doc__
|
||||||
|
id = Integer(description=m.Device.id.comment, dump_only=True)
|
||||||
|
hid = SanitizedStr(lower=True, description=m.Device.hid.comment)
|
||||||
|
tags = f.Nested('Tag',
|
||||||
|
many=True,
|
||||||
|
collection_class=OrderedSet,
|
||||||
|
description='A set of tags that identify the device.',
|
||||||
|
only=TAGS_VALUE)
|
||||||
|
model = SanitizedStr(lower=True,
|
||||||
|
validate=Length(max=STR_BIG_SIZE),
|
||||||
|
description=m.Device.model.comment)
|
||||||
|
manufacturer = SanitizedStr(lower=True,
|
||||||
|
validate=Length(max=STR_SIZE),
|
||||||
|
description=m.Device.manufacturer.comment)
|
||||||
|
serial_number = SanitizedStr(lower=True,
|
||||||
|
validate=Length(max=STR_BIG_SIZE),
|
||||||
|
data_key='serialNumber')
|
||||||
|
# actions = NestedOn('Action', many=True, dump_only=True, description=m.Device.actions.__doc__)
|
||||||
|
actions = f.Nested('Action', only=ACTIONS_VALUE, many=True)
|
||||||
|
# actions = f.Nested(s_actions.Action(only=ACTIONS_VALUE),
|
||||||
|
# many=True,
|
||||||
|
# dump_only=True,
|
||||||
|
# description=m.Device.actions.__doc__)
|
||||||
|
# actions_one = NestedOn('Action', many=True, load_only=True, collection_class=OrderedSet)
|
||||||
|
url = URL(dump_only=True, description=m.Device.url.__doc__)
|
||||||
|
# lots = NestedOn('Lot',
|
||||||
|
# many=True,
|
||||||
|
# dump_only=True,
|
||||||
|
# description='The lots where this device is directly under.')
|
||||||
|
tradings = Dict(dump_only=True, description='')
|
||||||
|
traking = EnumField(states.Traking, dump_only=True, description=m.Device.physical.__doc__)
|
||||||
|
revoke = UUID(dump_only=True)
|
||||||
|
allocated = Boolean(description=m.Device.allocated.comment)
|
||||||
|
devicehub_id = SanitizedStr(data_key='devicehubID',
|
||||||
|
description=m.Device.devicehub_id.comment)
|
||||||
|
|
||||||
|
|
||||||
|
COMPONENTS_VALUES = (
|
||||||
|
'type',
|
||||||
|
'manufacturer',
|
||||||
|
'model'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Computer2(Device):
|
||||||
|
__doc__ = m.Computer.__doc__
|
||||||
|
# components = f.Nested(Component(only=COMPONENTS_VALUES),
|
||||||
|
# many=True,
|
||||||
|
# dump_only=True,
|
||||||
|
# collection_class=OrderedSet,
|
||||||
|
# description='The components that are inside this computer.')
|
||||||
|
|
||||||
|
|
||||||
class Computer(Device):
|
class Computer(Device):
|
||||||
__doc__ = m.Computer.__doc__
|
__doc__ = m.Computer.__doc__
|
||||||
components = NestedOn('Component',
|
components = NestedOn('Component',
|
||||||
|
@ -128,7 +200,7 @@ class Computer(Device):
|
||||||
description=m.Computer.privacy.__doc__)
|
description=m.Computer.privacy.__doc__)
|
||||||
amount = Integer(validate=f.validate.Range(min=0, max=100),
|
amount = Integer(validate=f.validate.Range(min=0, max=100),
|
||||||
description=m.Computer.amount.__doc__)
|
description=m.Computer.amount.__doc__)
|
||||||
# author_id = NestedOn(s_user.User,only_query='author_id')
|
# author_id = NestedOn(s_user.User, only_query='author_id')
|
||||||
owner_id = UUID(data_key='ownerID')
|
owner_id = UUID(data_key='ownerID')
|
||||||
transfer_state = EnumField(enums.TransferState, description=m.Computer.transfer_state.comment)
|
transfer_state = EnumField(enums.TransferState, description=m.Computer.transfer_state.comment)
|
||||||
receiver_id = UUID(data_key='receiverID')
|
receiver_id = UUID(data_key='receiverID')
|
||||||
|
|
Reference in a new issue