Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)