felicity-lims/felicity/api/gql/messaging/query.py
2023-09-11 07:02:05 +02:00

19 lines
695 B
Python

from typing import List, Optional
import strawberry # noqa
from api.gql.messaging.types import MessageThreadType
from api.gql.permissions import IsAuthenticated
from apps.messaging import models
@strawberry.type
class MessageQuery:
@strawberry.field(permission_classes=[IsAuthenticated])
async def threads_for_user(
self, info, uid: str
) -> Optional[List[MessageThreadType]]:
return await models.MessageThread.get_all(recipients__uid__in=[uid])
@strawberry.field(permission_classes=[IsAuthenticated])
async def thread_by_uid(self, info, uid: str) -> Optional[MessageThreadType]:
return await models.MessageThread.get(uid=uid)