diff options
| author | Andrew <saintruler@gmail.com> | 2020-02-14 19:19:02 +0400 |
|---|---|---|
| committer | Andrew <saintruler@gmail.com> | 2020-02-14 19:19:02 +0400 |
| commit | a73cea507eee99a073843a800c42de18b5f8d349 (patch) | |
| tree | 0533ecb23e7b323bb84d8aaa777fe5ba8e47c75f /backend_api.py | |
| parent | f3f6b242f74547bf19065eed3ff8a58dcfc85d97 (diff) | |
Added simple adminpanel and added functions to hide and publish tasks.
Diffstat (limited to 'backend_api.py')
| -rw-r--r-- | backend_api.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/backend_api.py b/backend_api.py index b50faf6..951c570 100644 --- a/backend_api.py +++ b/backend_api.py @@ -3,6 +3,7 @@ import urllib from config import BACKEND_URL import logging import json +import datetime as dt from typing import Tuple, Dict @@ -41,6 +42,10 @@ def get_request(url: str, **kwargs): return make_request("get", url, **kwargs) +def patch_request(url: str, **kwargs): + return make_request("patch", url, **kwargs) + + def register_user(tg_id: int, username: str, fullname: str) -> Tuple[int, Dict]: logger.debug(f"Trying to register user with id={tg_id}; username={username}") return post_request(f"{BACKEND_URL}/profiles/", data={ @@ -55,6 +60,11 @@ def get_tasks(): return get_request(f"{BACKEND_URL}/tasks/") +def get_published_tasks(): + logger.debug(f"Trying to retrieve all published tasks") + return get_request(f"{BACKEND_URL}/api/tasks/published/") + + def get_task(title: str) -> Tuple[int, Dict]: logger.debug(f"Trying to retrieve task with title={title}") return get_request(f"{BACKEND_URL}/api/get_task/" + urllib.parse.quote(title)) @@ -92,3 +102,22 @@ def get_attempts(tg_id: int=None, task_title: str=None): data["task_title"] = task_title return get_request(f"{BACKEND_URL}/api/attempts/", data=data) + + +def get_profile(tg_id: int): + return get_request(f"{BACKEND_URL}/api/profile/get/{tg_id}") + + +def publish_task(title: str): + url_title = urllib.parse.quote(title) + return patch_request(f"{BACKEND_URL}/api/tasks/{url_title}/update/", data={ + "first_published": dt.datetime.now(), + "is_public": True + }) + + +def hide_task(title: str): + url_title = urllib.parse.quote(title) + return patch_request(f"{BACKEND_URL}/api/tasks/{url_title}/update/", data={ + "is_public": False + }) |