sorted
All checks were successful
deploy / deploy (push) Successful in 1m11s

This commit is contained in:
Untone 2023-12-17 20:13:17 +03:00
parent bb48a8ef11
commit 517de93ccd
15 changed files with 39 additions and 40 deletions

View File

@ -9,9 +9,9 @@ from sentry_sdk.integrations.ariadne import AriadneIntegration
from sentry_sdk.integrations.redis import RedisIntegration
from starlette.applications import Starlette
from services.schema import resolvers
from services.rediscache import redis
from settings import DEV_SERVER_PID_FILE_NAME, SENTRY_DSN, MODE
from services.schema import resolvers
from settings import DEV_SERVER_PID_FILE_NAME, MODE, SENTRY_DSN
import_module("resolvers")
schema = make_executable_schema(load_schema_from_path("inbox.graphql"), resolvers) # type: ignore

View File

@ -1,4 +1,4 @@
from typing import TypedDict, Optional, List
from typing import List, Optional, TypedDict
from models.member import ChatMember
from models.message import Message

View File

@ -1,4 +1,4 @@
from typing import TypedDict, Optional
from typing import Optional, TypedDict
class ChatMember(TypedDict):

View File

@ -1,4 +1,4 @@
from typing import TypedDict, Optional
from typing import Optional, TypedDict
class Message(TypedDict):

View File

@ -6,27 +6,27 @@ authors = ["Tony Rewin <anton.rewin@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.12"
sentry-sdk = "^1.32.0"
sentry-sdk = "^1.39.1"
redis = { extras = ["hiredis"], version = "^5.0.1" }
ariadne = "^0.21"
starlette = "^0.32"
starlette = "^0.34.0"
uvicorn = "^0.24"
itsdangerous = "^2.1.2"
aiohttp = "^3.9.1"
[tool.poetry.group.dev.dependencies]
setuptools = "^69.0.2"
isort = "^5.13.2"
pyright = "^1.1.341"
mypy = "^1.7.1"
ruff = "^0.1.8"
black = "^23.12.0"
pytest = "^7.4.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.dev-dependencies]
pytest = "^7.4.2"
black = { version = "^23.9.1", python = ">=3.12" }
ruff = { version = "^0.1.0", python = ">=3.12" }
setuptools = "^69.0.2"
[tool.black]
line-length = 120
target-version = ['py312']

View File

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

View File

@ -1,12 +1,12 @@
import json
import uuid
import time
import uuid
from models.chat import Chat, ChatUpdate
from services.auth import login_required
from services.presence import notify_chat
from services.rediscache import redis
from services.schema import mutation
from models.chat import Chat, ChatUpdate
from services.presence import notify_chat
@mutation.field("update_chat")

View File

@ -2,13 +2,13 @@ import asyncio
import json
from typing import Any, Dict, List, Optional, Union
from services.auth import login_required
from services.core import get_my_followed, get_all_authors
from services.rediscache import redis
from services.schema import query
from models.chat import Message, ChatPayload
from models.chat import ChatPayload, Message
from models.member import ChatMember
from resolvers.chats import create_chat
from services.auth import login_required
from services.core import get_all_authors, get_my_followed
from services.rediscache import redis
from services.schema import query
async def get_unread_counter(chat_id: str, member_id: int) -> int:

View File

@ -1,11 +1,11 @@
import json
import time
from models.chat import Message
from services.auth import login_required
from services.presence import notify_message
from services.rediscache import redis
from services.schema import mutation
from models.chat import Message
@mutation.field("create_message")

View File

@ -1,6 +1,6 @@
import json
from datetime import datetime, timezone, timedelta
from typing import Dict, Union, List, Any
from datetime import datetime, timedelta, timezone
from typing import Any, Dict, List, Union
from resolvers.load import load_messages
from services.auth import login_required

View File

@ -1,8 +1,9 @@
from services.core import get_author
from functools import wraps
import aiohttp
from aiohttp.web import HTTPUnauthorized
from services.core import get_author
from settings import AUTH_URL
@ -12,7 +13,7 @@ async def check_auth(req) -> (bool, int | None):
# Logging the authentication token
print(f"[services.auth] checking auth token: {token}")
query_name = "validate_jwt_token"
opeation = "ValidateToken"
operation = "ValidateToken"
headers = {
"Content-Type": "application/json",
}
@ -20,14 +21,14 @@ async def check_auth(req) -> (bool, int | None):
variables = {
"params": {
"token_type": "access_token",
"token": token.encode("utf-8"),
"token": token,
}
}
gql = {
"query": f"query {opeation}($params: ValidateJWTTokenInput!) {{ {query_name}(params: $params) {{ is_valid claims }} }}",
"query": f"query {operation}($params: ValidateJWTTokenInput!) {{ {query_name}(params: $params) {{ is_valid claims }} }}",
"variables": variables,
"operationName": opeation,
"operationName": operation,
}
print(f"[services.auth] Graphql: {gql}")
try:

View File

@ -1,7 +1,9 @@
from typing import Any, List
import aiohttp
from settings import API_BASE
from typing import List, Any
from models.member import ChatMember
from settings import API_BASE
headers = {"Content-Type": "application/json"}

View File

@ -1,7 +1,7 @@
import json
from models.chat import ChatUpdate, Message
from services.rediscache import redis
from models.chat import Message, ChatUpdate
async def notify_message(message: Message, action="create"):

View File

@ -1,4 +1,5 @@
import redis.asyncio as aredis
from settings import REDIS_URL

View File

@ -1,4 +1,4 @@
from ariadne import QueryType, MutationType
from ariadne import MutationType, QueryType
query = QueryType()
mutation = MutationType()