def post(self, collection): """Insert document in DB.""" try: data = request.get_json() app.logger.debug('Receive Data: %s', data) res = facade.create_document(collection, data) return res, 200 except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res) except gmap_exc.CollectionNotExist as err: app.logger.error(err.message) api.abort(404, errors=err.message) except gmap_exc.DocumentAlreadyExist as err: app.logger.warning(err.message) api.abort(409, errors=err.message) except gmap_exc.DocumentException as err: app.logger.error(err.message) api.abort(400, errors=err.message)
def get(self, collection): """Search documents from collection.""" args = coll_parsers.search_parser.parse_args(request) try: try: page = args.get('page') query = args.get('query') or '[]' per_page = args.get('per_page') data = json.loads(query) except JSONDecodeError: raise gmap_exc.SearchException('Parameter query is invalid') else: res = facade.search(collection, data, page, per_page) return res, 200 except gmap_exc.CollectionNotExist as err: app.logger.error(err.message) api.abort(404, errors=err.message) except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res)
def get(self): """Search document in collections of kind document from DB.""" args = coll_parsers.search_all_parser.parse_args(request) try: try: page = args.get('page') query = args.get('query') or '[]' per_page = args.get('per_page') collections = args.get('collections').split(',') data = json.loads(query) app.logger.debug('Receive Data: %s', data) except JSONDecodeError: raise gmap_exc.SearchException('Parameter query is invalid') else: res = facade.search_collections( collections, data, page, per_page) return res, 200 except gmap_exc.CollectionNotExist as err: app.logger.error(err.message) api.abort(404, errors=err.message) except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res)
def post(self): """Create graph in DB.""" try: data = request.get_json() app.logger.debug('Receive Data: %s', data) facade.create_graph(data) return {}, 200 except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res)
def post(self, collection): """Clear documents in collection.""" try: data = request.get_json() app.logger.debug('Receive Data: %s', data) res = facade.clear_collection(collection, data) return res, 200 except gmap_exc.CollectionNotExist as err: app.logger.error(err.message) api.abort(404, errors=err.message) except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res)
def post(self): """Create collection of kind edge in DB.""" try: data = request.get_json() app.logger.debug('Receive Data: %s', data) facade.create_collection_edge(data) return {}, 200 except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res) except gmap_exc.CollectionNotExist as err: app.logger.error(err.message) api.abort(404, errors=err.message)
def patch(self, collection, key): """Partial update document.""" try: data = request.get_json() app.logger.debug('Receive Data: %s', data) res = facade.patch_document(collection, key, data) return res, 200 except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res) except gmap_exc.CollectionNotExist as err: app.logger.error(err.message) api.abort(404, errors=err.message) except gmap_exc.DocumentNotExist as err: app.logger.warning(err.message) api.abort(404, errors=err.message)
def put(self, key): """Update query in DB.""" try: data = request.get_json() app.logger.debug('Receive Data: %s', data) res = facade.update_query(key, data) return res, 200 except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res) except gmap_exc.QueryException as error: app.logger.warning(error.message) api.abort(400, errors=error.message) except gmap_exc.DocumentNotExist as error: app.logger.warning(error.message) api.abort(404, errors=error.message)
def post(self): """Create queries in DB.""" try: data = request.get_json() app.logger.debug('Receive Data: %s', data) res = facade.create_query(data) return res, 200 except ValidationError as error: res = validate(error) app.logger.error(res) api.abort(400, errors=res) except gmap_exc.QueryException as error: app.logger.warning(error.message) api.abort(400, errors=error.message) except gmap_exc.DocumentAlreadyExist: res = 'Cannot create query, already created.' app.logger.warning(res) api.abort(409, errors=res)