resolvers-import-fix
This commit is contained in:
parent
0f6b3613e3
commit
044c21f956
3
main.py
3
main.py
|
@ -1,12 +1,13 @@
|
||||||
import os
|
import os
|
||||||
|
from importlib import import_module
|
||||||
from os.path import exists
|
from os.path import exists
|
||||||
from ariadne import load_schema_from_path, make_executable_schema
|
from ariadne import load_schema_from_path, make_executable_schema
|
||||||
from ariadne.asgi import GraphQL
|
from ariadne.asgi import GraphQL
|
||||||
from starlette.applications import Starlette
|
from starlette.applications import Starlette
|
||||||
from services.redis import redis
|
from services.redis import redis
|
||||||
from resolvers import resolvers
|
|
||||||
from settings import DEV_SERVER_PID_FILE_NAME, SENTRY_DSN, MODE
|
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
|
schema = make_executable_schema(load_schema_from_path("inbox.graphql"), resolvers) # type: ignore
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,39 +1,25 @@
|
||||||
from .chats import chats_resolvers
|
from resolvers.chats import create_chat, delete_chat, update_chat
|
||||||
from .load import load_resolvers
|
from resolvers.messages import (
|
||||||
from .messages import messages_resolvers
|
create_message,
|
||||||
from .search import search_resolvers
|
delete_message,
|
||||||
from .unread import unread_resolvers
|
update_message,
|
||||||
import json
|
mark_as_read,
|
||||||
from ariadne import ScalarType
|
)
|
||||||
|
from resolvers.load import load_chats, load_messages_by, load_recipients
|
||||||
|
from resolvers.search import search_recipients
|
||||||
|
|
||||||
|
|
||||||
datetime_scalar = ScalarType("DateTime")
|
__all__ = [
|
||||||
|
# inbox
|
||||||
|
"load_chats",
|
||||||
@datetime_scalar.serializer
|
"load_messages_by",
|
||||||
def serialize_datetime(value):
|
"create_chat",
|
||||||
return value.isoformat()
|
"delete_chat",
|
||||||
|
"update_chat",
|
||||||
|
"create_message",
|
||||||
dict_scalar = ScalarType("Dict")
|
"delete_message",
|
||||||
|
"update_message",
|
||||||
|
"mark_as_read",
|
||||||
@dict_scalar.serializer
|
"load_recipients",
|
||||||
def serialize_dict(value):
|
"search_recipients",
|
||||||
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,
|
|
||||||
}
|
|
||||||
|
|
|
@ -4,10 +4,7 @@ from datetime import datetime, timezone
|
||||||
|
|
||||||
from services.auth import login_required
|
from services.auth import login_required
|
||||||
from services.redis import redis
|
from services.redis import redis
|
||||||
|
from services.schema import mutation
|
||||||
from ariadne import MutationType
|
|
||||||
|
|
||||||
mutation = MutationType()
|
|
||||||
|
|
||||||
|
|
||||||
@mutation.field("updateChat")
|
@mutation.field("updateChat")
|
||||||
|
|
|
@ -3,13 +3,10 @@ import json
|
||||||
from services.core import get_author
|
from services.core import get_author
|
||||||
from services.redis import redis
|
from services.redis import redis
|
||||||
from services.auth import login_required
|
from services.auth import login_required
|
||||||
|
from services.schema import query
|
||||||
from .chats import create_chat
|
from .chats import create_chat
|
||||||
from .unread import get_unread_counter
|
from .unread import get_unread_counter
|
||||||
|
|
||||||
from ariadne import QueryType
|
|
||||||
|
|
||||||
query = QueryType()
|
|
||||||
|
|
||||||
|
|
||||||
# NOTE: not an API handler
|
# NOTE: not an API handler
|
||||||
async def load_messages(chat_id: str, limit: int = 5, offset: int = 0, ids=[]):
|
async def load_messages(chat_id: str, limit: int = 5, offset: int = 0, ids=[]):
|
||||||
|
|
|
@ -3,10 +3,7 @@ from datetime import datetime, timezone
|
||||||
from services.auth import login_required
|
from services.auth import login_required
|
||||||
from services.presence import notify_message
|
from services.presence import notify_message
|
||||||
from services.redis import redis
|
from services.redis import redis
|
||||||
|
from services.schema import mutation
|
||||||
from ariadne import MutationType
|
|
||||||
|
|
||||||
mutation = MutationType()
|
|
||||||
|
|
||||||
|
|
||||||
@mutation.field("createMessage")
|
@mutation.field("createMessage")
|
||||||
|
|
|
@ -4,9 +4,7 @@ from services.auth import login_required
|
||||||
from services.core import get_network
|
from services.core import get_network
|
||||||
from services.redis import redis
|
from services.redis import redis
|
||||||
from resolvers.load import load_messages
|
from resolvers.load import load_messages
|
||||||
from ariadne import QueryType
|
from services.schema import query
|
||||||
|
|
||||||
query = QueryType()
|
|
||||||
|
|
||||||
|
|
||||||
@query.field("searchRecipients")
|
@query.field("searchRecipients")
|
||||||
|
|
13
services/schema.py
Normal file
13
services/schema.py
Normal 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}
|
Loading…
Reference in New Issue
Block a user