class DeviceSchema(UnknownCheckedSchema): device_id = fields.DeviceID(required=True) created_on = fields.DateTime(required=True) revocated_on = fields.DateTime(allow_none=True) certified_revocation = fields.Bytes(allow_none=True) revocation_certifier = fields.DeviceID(allow_none=True) certified_device = fields.Bytes(required=True) device_certifier = fields.DeviceID(allow_none=True)
class UserClaimSchema(UnknownCheckedSchema): type = fields.CheckedConstant("user_claim", required=True) token = fields.String(required=True) # Note claiming user also imply creating a first device device_id = fields.DeviceID(required=True) public_key = fields.PublicKey(required=True) verify_key = fields.VerifyKey(required=True)
class UserSchema(UnknownCheckedSchema): user_id = fields.String(required=True) is_admin = fields.Boolean(required=True) created_on = fields.DateTime(required=True) certified_user = fields.Bytes(required=True) user_certifier = fields.DeviceID(allow_none=True) devices = fields.Map(fields.DeviceName(), fields.Nested(DeviceSchema), required=True)
class HandshakeAnswerSchema(UnknownCheckedSchema): handshake = fields.CheckedConstant("answer", required=True) organization_id = fields.OrganizationID(required=True) device_id = fields.DeviceID(allow_none=True, missing=None) rvk = fields.VerifyKey(allow_none=True, missing=None) answer = fields.Bytes(allow_none=True, missing=None)
class DeviceClaimSchema(UnknownCheckedSchema): type = fields.CheckedConstant("device_claim", required=True) token = fields.String(required=True) device_id = fields.DeviceID(required=True) verify_key = fields.VerifyKey(required=True) answer_public_key = fields.PublicKey(required=True)
class UserGetInvitationCreatorRepSchema(BaseRepSchema): user_id = fields.String(required=True) created_on = fields.DateTime(required=True) certified_user = fields.Bytes(required=True) user_certifier = fields.DeviceID(allow_none=True)
class UserGetRepSchema(BaseRepSchema, UserSchema): trustchain = fields.Map(fields.DeviceID(), fields.Nested(DeviceSchema), required=True)
class DeviceClaimReqSchema(BaseReqSchema): invited_device_id = fields.DeviceID(required=True) encrypted_claim = fields.Bytes(required=True)
class DeviceGetInvitationCreatorReqSchema(BaseReqSchema): invited_device_id = fields.DeviceID(required=True)
class MessageSchema(UnknownCheckedSchema): sender = fields.DeviceID(required=True) count = fields.Integer(required=True) body = fields.Bytes(required=True)