def setUp(self): self.schema = schemas.GroupField.definition() self.definition = { 'type': u'group', 'fields': [{ 'type': u'int', 'name': u'a', 'hint': u'An integer', 'label': u'', 'required': True }] } modeldefinition = { 'fields': [{ 'type': u'string', 'name': 'b' }, self.definition] } from daybed.schemas.validators import RecordSchema self.validator = RecordSchema(modeldefinition)
def patch(request): """Updates an existing record.""" model_id = request.matchdict['model_id'] record_id = request.matchdict['record_id'] if request.credentials_id: credentials_id = request.credentials_id else: credentials_id = Everyone try: record = request.db.get_record(model_id, record_id) except RecordNotFound: request.errors.add('path', record_id, "record not found") request.errors.status = "404 Not Found" return record.update(json.loads(request.body.decode('utf-8'))) definition = request.db.get_model_definition(model_id) validate_against_schema(request, RecordSchema(definition), record) if not request.errors: request.db.put_record(model_id, record, [credentials_id], record_id) request.notify('RecordUpdated', model_id, record_id) return {'id': record_id}