class ErrorSchema(colander.MappingSchema): """Payload schema for Kinto errors.""" code = colander.SchemaNode(colander.Integer()) errno = colander.SchemaNode(colander.Integer()) error = colander.SchemaNode(colander.String()) message = colander.SchemaNode(colander.String(), missing=colander.drop) info = colander.SchemaNode(colander.String(), missing=colander.drop) details = colander.SchemaNode(Any(), missing=colander.drop)
class JsonPatchOperationSchema(colander.MappingSchema): """Single JSON Patch Operation.""" def op_validator(): op_values = ["test", "add", "remove", "replace", "move", "copy"] return colander.OneOf(op_values) def path_validator(): return colander.Regex("(/\\w*)+") op = colander.SchemaNode(colander.String(), validator=op_validator()) path = colander.SchemaNode(colander.String(), validator=path_validator()) from_ = colander.SchemaNode(colander.String(), name="from", validator=path_validator(), missing=colander.drop) value = colander.SchemaNode(Any(), missing=colander.drop) @staticmethod def schema_type(): return colander.Mapping(unknown="raise")
class JsonPatchOperationSchema(colander.MappingSchema): """Single JSON Patch Operation.""" def op_validator(): op_values = ['test', 'add', 'remove', 'replace', 'move', 'copy'] return colander.OneOf(op_values) def path_validator(): return colander.Regex('(/\w*)+') op = colander.SchemaNode(colander.String(), validator=op_validator()) path = colander.SchemaNode(colander.String(), validator=path_validator()) from_ = colander.SchemaNode(colander.String(), name='from', validator=path_validator(), missing=colander.drop) value = colander.SchemaNode(Any(), missing=colander.drop) @staticmethod def schema_type(): return colander.Mapping(unknown='raise')