This commit is contained in:
parent
fe069696d3
commit
1a730a9eab
|
@ -1,5 +1,7 @@
|
|||
[0.3.2]
|
||||
- added custom logger
|
||||
- auth logix synced with core
|
||||
- httpx
|
||||
|
||||
[0.3.1]
|
||||
- glitchtip connect
|
||||
|
|
|
@ -11,10 +11,10 @@ redis = "^5.0.3"
|
|||
ariadne = "^0.23.0"
|
||||
starlette = "^0.37.2"
|
||||
itsdangerous = "^2.1.2"
|
||||
aiohttp = "^3.9.3"
|
||||
requests = "^2.31.0"
|
||||
granian = "^1.2.1"
|
||||
colorlog = "^6.8.2"
|
||||
httpx = "^0.27.0"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
pre-commit = "^3.6.0"
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
from resolvers.chats import create_chat, delete_chat, update_chat
|
||||
from resolvers.load import load_chats, load_messages_by
|
||||
from resolvers.messages import (create_message, delete_message, mark_as_read,
|
||||
update_message)
|
||||
from resolvers.messages import (
|
||||
create_message,
|
||||
delete_message,
|
||||
mark_as_read,
|
||||
update_message,
|
||||
)
|
||||
from resolvers.search import search_messages, search_recipients
|
||||
|
||||
__all__ = [
|
||||
|
|
|
@ -1,68 +1,46 @@
|
|||
import asyncio
|
||||
import logging
|
||||
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 settings import API_BASE
|
||||
from services.rediscache import redis
|
||||
|
||||
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():
|
||||
query_name = "get_authors_all"
|
||||
authors = []
|
||||
redis_key = "user:*"
|
||||
|
||||
gql = {
|
||||
"query": "query { " + query_name + "{ id slug pic name user } }",
|
||||
"variables": None,
|
||||
}
|
||||
result = redis.execute("GET", redis_key)
|
||||
if isinstance(result, str):
|
||||
authors = json.loads(result)
|
||||
|
||||
return _request_endpoint(query_name, gql)
|
||||
return authors
|
||||
|
||||
|
||||
def get_author_by_user(user: str):
|
||||
operation = "GetAuthorId"
|
||||
query_name = "get_author_id"
|
||||
gql = {
|
||||
"query": f"query {operation}($user: String!) {{ {query_name}(user: $user){{ id }} }}", # noqa E201, E202
|
||||
"operationName": operation,
|
||||
"variables": {"user": user.strip()},
|
||||
}
|
||||
author = None
|
||||
redis_key = f"user:{user}"
|
||||
|
||||
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]:
|
||||
query_name = "get_my_followed"
|
||||
def get_author_followed(author_id: int):
|
||||
authors = []
|
||||
redis_key = f"author:{author_id}:follows-authors"
|
||||
|
||||
gql = {
|
||||
"query": "query { " + query_name + " { authors { id slug pic name } } }",
|
||||
"variables": None,
|
||||
}
|
||||
result = redis.execute("GET", redis_key)
|
||||
if isinstance(result, str):
|
||||
authors = json.loads(result)
|
||||
|
||||
result = _request_endpoint(query_name, gql)
|
||||
return result.get("authors", [])
|
||||
return authors
|
||||
|
||||
|
||||
class CacheStorage:
|
||||
|
|
Loading…
Reference in New Issue
Block a user