async def insert_item(request): name = request.match_info.get('name') description = request.match_info.get('description') data = await request.json() try: name = data["name"] description = data["description"] list_params = data["parameters"] parameters = dict() for param in list_params: parameters[param["key"]] = param["value"] except: return web.json_response(status=422) try: await Item.ensure_indexes() item = Item(name=name, description=description, parameters=parameters) await item.commit() return web.json_response(item.dump()) except: return web.json_response(status=500)