resolvers-import-fix

This commit is contained in:
Tony Rewin 2023-10-05 00:43:07 +03:00
parent 0f6b3613e3
commit 044c21f956
7 changed files with 42 additions and 53 deletions

View File

@ -1,12 +1,13 @@
import os
from importlib import import_module
from os.path import exists
from ariadne import load_schema_from_path, make_executable_schema
from ariadne.asgi import GraphQL
from starlette.applications import Starlette
from services.redis import redis
from resolvers import resolvers
from settings import DEV_SERVER_PID_FILE_NAME, SENTRY_DSN, MODE
import_module("resolvers")
schema = make_executable_schema(load_schema_from_path("inbox.graphql"), resolvers) # type: ignore

View File

@ -1,39 +1,25 @@
from .chats import chats_resolvers
from .load import load_resolvers
from .messages import messages_resolvers
from .search import search_resolvers
from .unread import unread_resolvers
import json
from ariadne import ScalarType
from resolvers.chats import create_chat, delete_chat, update_chat
from resolvers.messages import (
create_message,
delete_message,
update_message,
mark_as_read,
)
from resolvers.load import load_chats, load_messages_by, load_recipients
from resolvers.search import search_recipients
datetime_scalar = ScalarType("DateTime")
@datetime_scalar.serializer
def serialize_datetime(value):
return value.isoformat()
dict_scalar = ScalarType("Dict")
@dict_scalar.serializer
def serialize_dict(value):
return json.dumps(value)
@dict_scalar.value_parser
def parse_dict_value(value):
return json.loads(value)
resolvers = {
**chats_resolvers,
**load_resolvers,
**messages_resolvers,
**search_resolvers,
**unread_resolvers,
"DateTime": datetime_scalar,
"Dict": dict_scalar,
}
__all__ = [
# inbox
"load_chats",
"load_messages_by",
"create_chat",
"delete_chat",
"update_chat",
"create_message",
"delete_message",
"update_message",
"mark_as_read",
"load_recipients",
"search_recipients",
]

View File

@ -4,10 +4,7 @@ from datetime import datetime, timezone
from services.auth import login_required
from services.redis import redis
from ariadne import MutationType
mutation = MutationType()
from services.schema import mutation
@mutation.field("updateChat")

View File

@ -3,13 +3,10 @@ import json
from services.core import get_author
from services.redis import redis
from services.auth import login_required
from services.schema import query
from .chats import create_chat
from .unread import get_unread_counter
from ariadne import QueryType
query = QueryType()
# NOTE: not an API handler
async def load_messages(chat_id: str, limit: int = 5, offset: int = 0, ids=[]):

View File

@ -3,10 +3,7 @@ from datetime import datetime, timezone
from services.auth import login_required
from services.presence import notify_message
from services.redis import redis
from ariadne import MutationType
mutation = MutationType()
from services.schema import mutation
@mutation.field("createMessage")

View File

@ -4,9 +4,7 @@ from services.auth import login_required
from services.core import get_network
from services.redis import redis
from resolvers.load import load_messages
from ariadne import QueryType
query = QueryType()
from services.schema import query
@query.field("searchRecipients")

13
services/schema.py Normal file
View File

@ -0,0 +1,13 @@
from ariadne import ScalarType, QueryType, MutationType
query = QueryType()
mutation = MutationType()
datetime_scalar = ScalarType("DateTime")
@datetime_scalar.serializer
def serialize_datetime(value):
return value.isoformat()
scalars = {"DateTime": datetime_scalar}