Пример #1
0
 def put(self, pk: int, key: str) -> Response:
     try:
         item = self.edit_model_schema.load(request.json)
         args = CommandParameters(
             actor=g.user,
             resource_id=pk,
             key=key,
             value=item["value"],
             query_params=request.args,
         )
         result = self.get_update_command()(args).run()
         if not result:
             return self.response_404()
         return self.response(200, message="Value updated successfully.")
     except ValidationError as ex:
         return self.response(400, message=ex.messages)
     except (
             ChartAccessDeniedError,
             DashboardAccessDeniedError,
             DatasetAccessDeniedError,
             KeyValueAccessDeniedError,
     ) as ex:
         return self.response(403, message=str(ex))
     except (ChartNotFoundError, DashboardNotFoundError,
             DatasetNotFoundError) as ex:
         return self.response(404, message=str(ex))
Пример #2
0
 def delete(self, pk: int, key: str) -> Response:
     try:
         args = CommandParameters(actor=g.user, resource_id=pk, key=key)
         result = self.get_delete_command()(args).run()
         if not result:
             return self.response_404()
         return self.response(200, message="Deleted successfully")
     except (
         ChartAccessDeniedError,
         DashboardAccessDeniedError,
         DatasetAccessDeniedError,
         KeyValueAccessDeniedError,
     ) as ex:
         return self.response(403, message=str(ex))
     except (ChartNotFoundError, DashboardNotFoundError, DatasetNotFoundError) as ex:
         return self.response(404, message=str(ex))
Пример #3
0
 def get(self, pk: int, key: str) -> Response:
     try:
         args = CommandParameters(actor=g.user, resource_id=pk, key=key)
         value = self.get_get_command()(args).run()
         if not value:
             return self.response_404()
         return self.response(200, value=value)
     except (
         ChartAccessDeniedError,
         DashboardAccessDeniedError,
         DatasetAccessDeniedError,
         KeyValueAccessDeniedError,
     ) as ex:
         return self.response(403, message=str(ex))
     except (ChartNotFoundError, DashboardNotFoundError, DatasetNotFoundError) as ex:
         return self.response(404, message=str(ex))
Пример #4
0
 def post(self, pk: int) -> Response:
     try:
         item = self.add_model_schema.load(request.json)
         tab_id = request.args.get("tab_id")
         args = CommandParameters(
             actor=g.user, resource_id=pk, value=item["value"], tab_id=tab_id
         )
         key = self.get_create_command()(args).run()
         return self.response(201, key=key)
     except ValidationError as ex:
         return self.response(400, message=ex.messages)
     except (
         ChartAccessDeniedError,
         DashboardAccessDeniedError,
         DatasetAccessDeniedError,
         KeyValueAccessDeniedError,
     ) as ex:
         return self.response(403, message=str(ex))
     except (ChartNotFoundError, DashboardNotFoundError, DatasetNotFoundError) as ex:
         return self.response(404, message=str(ex))
Пример #5
0
 def post(self, pk: int) -> Response:
     if not request.is_json:
         raise InvalidPayloadFormatError("Request is not JSON")
     try:
         item = self.add_model_schema.load(request.json)
         args = CommandParameters(
             actor=g.user,
             resource_id=pk,
             value=item["value"],
             query_params=request.args,
         )
         key = self.get_create_command()(args).run()
         return self.response(201, key=key)
     except ValidationError as ex:
         return self.response(400, message=ex.messages)
     except (
         ChartAccessDeniedError,
         DashboardAccessDeniedError,
         DatasetAccessDeniedError,
         KeyValueAccessDeniedError,
     ) as ex:
         return self.response(403, message=str(ex))
     except (ChartNotFoundError, DashboardNotFoundError, DatasetNotFoundError) as ex:
         return self.response(404, message=str(ex))