summaryrefslogtreecommitdiff
path: root/ATRI/plugins/thesaurus/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/thesaurus/db.py')
-rw-r--r--ATRI/plugins/thesaurus/db.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/ATRI/plugins/thesaurus/db.py b/ATRI/plugins/thesaurus/db.py
new file mode 100644
index 0000000..b5394fc
--- /dev/null
+++ b/ATRI/plugins/thesaurus/db.py
@@ -0,0 +1,47 @@
+from ATRI.database import ThesaurusStoragor, ThesaurusAuditList
+
+
+class DBForTS:
+ async def __aenter__(self):
+ return self
+
+ async def __aexit__(self, exc_type, exc_val, exc_tb):
+ pass
+
+ async def add_item(self, _id: str, group_id: int):
+ await ThesaurusStoragor.create(_id=_id, group_id=group_id)
+
+ async def update_item(self, _id: str, group_id: int, update_map: dict):
+ await ThesaurusStoragor.filter(_id=_id, group_id=group_id).update(**update_map)
+
+ async def del_item(self, query_map: dict):
+ await ThesaurusStoragor.filter(**query_map).delete()
+
+ async def get_item_list(self, query_map: dict) -> list:
+ return await ThesaurusStoragor.filter(**query_map)
+
+ async def get_all_items(self) -> list:
+ return await ThesaurusStoragor.all()
+
+
+class DBForTAL:
+ async def __aenter__(self):
+ return self
+
+ async def __aexit__(self, exc_type, exc_val, exc_tb):
+ pass
+
+ async def add_item(self, _id: str, group_id: int):
+ await ThesaurusAuditList.create(_id=_id, group_id=group_id)
+
+ async def update_item(self, _id: str, group_id: int, update_map: dict):
+ await ThesaurusAuditList.filter(_id=_id, group_id=group_id).update(**update_map)
+
+ async def del_item(self, query_map: dict):
+ await ThesaurusAuditList.filter(**query_map).delete()
+
+ async def get_item_list(self, query_map: dict) -> list:
+ return await ThesaurusAuditList.filter(**query_map)
+
+ async def get_all_items(self) -> list:
+ return await ThesaurusAuditList.all()