Fixed user logout #28
Some checks failed
Test API before pr merge / test-lint (pull_request) Failing after 12s
Test before pr merge / test-translation-lint (pull_request) Successful in 43s
Test before pr merge / test-lint (pull_request) Failing after 46s
Test before pr merge / test-before-merge (pull_request) Failing after 1m48s
Some checks failed
Test API before pr merge / test-lint (pull_request) Failing after 12s
Test before pr merge / test-translation-lint (pull_request) Successful in 43s
Test before pr merge / test-lint (pull_request) Failing after 46s
Test before pr merge / test-before-merge (pull_request) Failing after 1m48s
This commit is contained in:
parent
27c908e1ed
commit
20dee26991
@ -1,3 +1,7 @@
|
||||
from typing import AsyncGenerator
|
||||
|
||||
from api.broadcast import broadcast
|
||||
from api.route import Route
|
||||
from api_graphql.abc.subscription_abc import SubscriptionABC
|
||||
from api_graphql.field.subscription_field_builder import SubscriptionFieldBuilder
|
||||
from api_graphql.require_any_resolvers import has_assigned_user_spaces
|
||||
@ -50,9 +54,16 @@ class Subscription(SubscriptionABC):
|
||||
.with_public(True)
|
||||
)
|
||||
|
||||
async def _user_logout_generator(*args, **kwargs) -> AsyncGenerator[str, None]:
|
||||
async with broadcast.subscribe(channel="userLogout") as subscriber:
|
||||
async for message in subscriber:
|
||||
if message.message == (await Route.get_user()).id:
|
||||
yield message
|
||||
|
||||
self.subscribe(
|
||||
SubscriptionFieldBuilder("userLogout")
|
||||
.with_resolver(lambda message, *_: message.message)
|
||||
.with_generator(_user_logout_generator)
|
||||
.with_public(True)
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user