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.abc.subscription_abc import SubscriptionABC
|
||||||
from api_graphql.field.subscription_field_builder import SubscriptionFieldBuilder
|
from api_graphql.field.subscription_field_builder import SubscriptionFieldBuilder
|
||||||
from api_graphql.require_any_resolvers import has_assigned_user_spaces
|
from api_graphql.require_any_resolvers import has_assigned_user_spaces
|
||||||
@ -50,9 +54,16 @@ class Subscription(SubscriptionABC):
|
|||||||
.with_public(True)
|
.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(
|
self.subscribe(
|
||||||
SubscriptionFieldBuilder("userLogout")
|
SubscriptionFieldBuilder("userLogout")
|
||||||
.with_resolver(lambda message, *_: message.message)
|
.with_resolver(lambda message, *_: message.message)
|
||||||
|
.with_generator(_user_logout_generator)
|
||||||
.with_public(True)
|
.with_public(True)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user