From 1c7095a40baae7bcb6955313f6182663f58da1e5 Mon Sep 17 00:00:00 2001 From: profitroll Date: Thu, 30 May 2024 12:50:47 +0200 Subject: [PATCH] WIP: #50 --- classes/api_client.py | 21 +++++++++++++++++++++ classes/pyroclient.py | 2 ++ config_example.json | 10 +++------- migrations/202405270030.py | 21 +++++++++++++++++++++ requirements.txt | 4 +++- 5 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 classes/api_client.py create mode 100644 migrations/202405270030.py diff --git a/classes/api_client.py b/classes/api_client.py new file mode 100644 index 0000000..175b38d --- /dev/null +++ b/classes/api_client.py @@ -0,0 +1,21 @@ +from garbage_api_client import Client +from garbage_api_client.api.default.entry_find_locations_location_entries_get import ( + asyncio as entry_find, +) +from garbage_api_client.api.default.location_find_locations_get import ( + asyncio as location_find, +) +from garbage_api_client.api.default.location_get_locations_id_get import ( + asyncio as location_get, +) + + +class APIClient(Client): + async def entry_find(self, *args, **kwargs): + await entry_find(client=self, *args, **kwargs) + + async def location_find(self, *args, **kwargs): + await location_find(client=self, *args, **kwargs) + + async def location_get(self, *args, **kwargs): + await location_get(client=self, *args, **kwargs) diff --git a/classes/pyroclient.py b/classes/pyroclient.py index 85f5248..e953457 100644 --- a/classes/pyroclient.py +++ b/classes/pyroclient.py @@ -8,6 +8,7 @@ from libbot.pyrogram.classes import PyroClient as LibPyroClient from pymongo import ASCENDING, GEOSPHERE, TEXT from pyrogram.types import User +from classes.api_client import APIClient from classes.location import Location from classes.pyrouser import PyroUser from classes.updater import Updater @@ -25,6 +26,7 @@ class PyroClient(LibPyroClient): self.updater = Updater(ClientSession()) self.contexts = [] + self.api_client = APIClient() if self.scheduler is not None: self.scheduler.add_job( diff --git a/config_example.json b/config_example.json index d13c4f9..4029954 100644 --- a/config_example.json +++ b/config_example.json @@ -9,6 +9,9 @@ "max_concurrent_transmissions": 1, "scoped_commands": true }, + "api": { + "url": "https://api.garbagebot.eu" + }, "database": { "user": null, "password": null, @@ -16,13 +19,6 @@ "port": 27017, "name": "garbage_bot" }, - "database_api": { - "user": null, - "password": null, - "host": "127.0.0.1", - "port": 27017, - "name": "garbage_reminder" - }, "search": { "radius": 0.1 }, diff --git a/migrations/202405270030.py b/migrations/202405270030.py new file mode 100644 index 0000000..3ee1f82 --- /dev/null +++ b/migrations/202405270030.py @@ -0,0 +1,21 @@ +from libbot import sync +from mongodb_migrations.base import BaseMigration + + +class Migration(BaseMigration): + def upgrade(self): + sync.config_set("api", {"url": "https://api.garbagebot.eu"}) + sync.config_delete("database_api", missing_ok=True) + + def downgrade(self): + sync.config_delete("api", missing_ok=True) + sync.config_set( + "database_api", + { + "user": None, + "password": None, + "host": "127.0.0.1", + "port": 27017, + "name": "garbage_reminder", + }, + ) diff --git a/requirements.txt b/requirements.txt index 26c241b..1e9b278 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,4 +8,6 @@ uvloop==0.19.0 --extra-index-url https://git.end-play.xyz/api/packages/profitroll/pypi/simple async_pymongo==0.1.4 libbot[speed,pyrogram]==3.2.2 -pykeyboard==0.1.7 \ No newline at end of file +pykeyboard==0.1.7 +--extra-index-url https://git.end-play.xyz/api/packages/GarbageReminder/pypi/simple +garbageapi-client==0.1.0 \ No newline at end of file