core-adapter-upgrade
Some checks failed
deploy / deploy (push) Failing after 57s

This commit is contained in:
Untone 2024-04-19 10:47:16 +03:00
parent fe069696d3
commit 1a730a9eab
4 changed files with 31 additions and 47 deletions

View File

@ -1,5 +1,7 @@
[0.3.2] [0.3.2]
- added custom logger - added custom logger
- auth logix synced with core
- httpx
[0.3.1] [0.3.1]
- glitchtip connect - glitchtip connect

View File

@ -11,10 +11,10 @@ redis = "^5.0.3"
ariadne = "^0.23.0" ariadne = "^0.23.0"
starlette = "^0.37.2" starlette = "^0.37.2"
itsdangerous = "^2.1.2" itsdangerous = "^2.1.2"
aiohttp = "^3.9.3"
requests = "^2.31.0" requests = "^2.31.0"
granian = "^1.2.1" granian = "^1.2.1"
colorlog = "^6.8.2" colorlog = "^6.8.2"
httpx = "^0.27.0"
[tool.poetry.group.dev.dependencies] [tool.poetry.group.dev.dependencies]
pre-commit = "^3.6.0" pre-commit = "^3.6.0"

View File

@ -1,7 +1,11 @@
from resolvers.chats import create_chat, delete_chat, update_chat from resolvers.chats import create_chat, delete_chat, update_chat
from resolvers.load import load_chats, load_messages_by from resolvers.load import load_chats, load_messages_by
from resolvers.messages import (create_message, delete_message, mark_as_read, from resolvers.messages import (
update_message) create_message,
delete_message,
mark_as_read,
update_message,
)
from resolvers.search import search_messages, search_recipients from resolvers.search import search_messages, search_recipients
__all__ = [ __all__ = [

View File

@ -1,68 +1,46 @@
import asyncio import asyncio
import logging import logging
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from typing import List
import requests import json
from models.member import ChatMember
from services.logger import root_logger as logger from services.logger import root_logger as logger
from settings import API_BASE from services.rediscache import redis
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
def _request_endpoint(query_name, body) -> dict:
logger.debug(f"requesting {query_name}...")
response = requests.post(
API_BASE, headers={"Content-Type": "application/json"}, json=body, timeout=30.0
)
if response.status_code == 200:
try:
r = response.json()
result = r.get("data", {}).get(query_name, {})
if result:
logger.info(f"entries amount in result: {len(result)} ")
return result
except ValueError as e:
logger.error(f"Error decoding JSON response: {e}")
return {}
def get_all_authors(): def get_all_authors():
query_name = "get_authors_all" authors = []
redis_key = "user:*"
gql = { result = redis.execute("GET", redis_key)
"query": "query { " + query_name + "{ id slug pic name user } }", if isinstance(result, str):
"variables": None, authors = json.loads(result)
}
return _request_endpoint(query_name, gql) return authors
def get_author_by_user(user: str): def get_author_by_user(user: str):
operation = "GetAuthorId" author = None
query_name = "get_author_id" redis_key = f"user:{user}"
gql = {
"query": f"query {operation}($user: String!) {{ {query_name}(user: $user){{ id }} }}", # noqa E201, E202
"operationName": operation,
"variables": {"user": user.strip()},
}
return _request_endpoint(query_name, gql) result = redis.execute("GET", redis_key)
if isinstance(result, str):
author = json.loads(result)
return author
def get_my_followed() -> List[ChatMember]: def get_author_followed(author_id: int):
query_name = "get_my_followed" authors = []
redis_key = f"author:{author_id}:follows-authors"
gql = { result = redis.execute("GET", redis_key)
"query": "query { " + query_name + " { authors { id slug pic name } } }", if isinstance(result, str):
"variables": None, authors = json.loads(result)
}
result = _request_endpoint(query_name, gql) return authors
return result.get("authors", [])
class CacheStorage: class CacheStorage: