From ca8ae10de858a8dfb9296ed53ca24f630e05c2d9 Mon Sep 17 00:00:00 2001 From: ciansen <84080275+ciansen@users.noreply.github.com> Date: Fri, 25 Nov 2022 12:12:07 +0100 Subject: [PATCH] feat: new scriptor python api --- src/assets/scriptor/module.py | 76 +++++++++++++++++++++++++++++++++++ src/components/interfaces.ts | 1 - 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 src/assets/scriptor/module.py delete mode 100644 src/components/interfaces.ts diff --git a/src/assets/scriptor/module.py b/src/assets/scriptor/module.py new file mode 100644 index 0000000..a904072 --- /dev/null +++ b/src/assets/scriptor/module.py @@ -0,0 +1,76 @@ +from .viur import viur +from .network import Request + + + +class BaseModule(object): + def __init__(self, name: str): + self._name = name + + @property + def name(self) -> str: + return self._name + + @name.setter + def name(self, value: str): + self._name = value + + + async def preview(self, params: dict = None, group: str = ""): + return await viur.preview(module=self._name, params=params, group=group) + + async def structure(self, group: str = ""): + return await viur.structure(module=self._name, group=group) + + async def view(self, key: str, group: str = "") -> dict: + return await viur.view(module=self._name, key=key, group=group) + +class SingletonModule(BaseModule): + async def edit(self, params: dict = None, group: str = ""): + return await viur.edit(module=self._name, params=params, group=group) + +class ExtendedModule(BaseModule): + async def edit(self, key: str, params: dict = None, group: str = ""): + return await viur.edit(module=self._name, key=key, params=params, group=group) + + def list(self, params: dict = None, group: str = '') -> viur.list: + return viur.list(module=self._name, params=params, group=group) + + async def add(self, params: dict = None, group: str = ""): + return await viur.add(module=self._name, params=params, group=group) + + async def delete(self, key: str, params: dict = None, group: str = ""): + return await viur.delete(module=self._name, key=key, params=params, group=group) + + +class ListModule(ExtendedModule): + pass + +class TreeModule(ExtendedModule): + async def edit(self, group: str, key: str, params: dict = None): + return await super().edit(group=group, key=key, params=params) + + def list(self, group: str, params: dict = None) -> viur.list: + return super().list(group=group, params=params) + + async def add(self, group: str, params: dict = None): + return await super().add(group=group, params=params) + + async def view(self, group: str, key: str) -> dict: + return await super().view(group=group, key=key) + + async def preview(self, group: str, params: dict = None): + return await super().preview(params=params, group=group) + + + async def list_root_nodes(self): + return await viur.request.get(f"/{self.name}/listRootNodes") + + async def delete(self, group: str, key: str, params: dict = None): + return await super().delete(group=group, key=key, params=params) + + async def move(self, key: str, parentNode: str): + return await viur.request.secure_post(f"/{self.name}/move", params={ + "key": key, + "parentNode": parentNode + }) diff --git a/src/components/interfaces.ts b/src/components/interfaces.ts deleted file mode 100644 index 8b13789..0000000 --- a/src/components/interfaces.ts +++ /dev/null @@ -1 +0,0 @@ -