diff --git a/src/snek/view/rpc.py b/src/snek/view/rpc.py index eefc4f9..94e4d88 100644 --- a/src/snek/view/rpc.py +++ b/src/snek/view/rpc.py @@ -103,7 +103,15 @@ class RPCView(BaseView): self._require_login() return args - + async def query(self,*args): + self._require_login() + print(args,flush=True) + query = args[0] + lowercase = query.lower() + if "drop" in lowercase or "alter" in lowercase or "update" in lowercase or "delete" in lowercase: + raise Exception("Not allowed") + records = [dict(record) for record in self.services.channel.query(args[0])] + return records