public Task Token(MessageContext context, CreateTokenEvent inputEvent)
        {
            var token = usersRepository.CreateSession(inputEvent.Login, inputEvent.Password);

            publishingRouter.Publish(context.ReplyTo, new NewTokenEvent {
                Token = token
            }, context.FlowId);
            return(Task.CompletedTask);
        }
        public async Task <string> Token(TokenRequest data)
        {
            var flowId     = HttpContext.Items["flowId"].ToString();
            var tokenEvent = new CreateTokenEvent {
                Login = data.Login, Password = data.Password
            };
            var response = await eventsAwaiter.AwaitResponse <NewTokenEvent>(flowId, () => publishingRouter.Publish(Queues.Users, tokenEvent, flowId, Queues.APIGateway));

            return(response.Token);
        }