示例#1
0
            public ScopedFactory(IResolverContext context)
            {
                _scope = context.OpenScope();

                //use this factory within it`s scope
                _scope.Use <IScopedFactory>(this);
            }
        public async ValueTask <IResolverResult> AddMessageAsync(IResolverContext context)
        {
            var input   = context.GetObjectArgument <InputMessage>("message");
            var message = await context.Use <IChat>().AddMessageAsync(
                "1",
                input.Content);

            return(Resolve.As(message));
        }
        public async ValueTask <IResolverResult> EditMessageAsync(IResolverContext context)
        {
            var id    = context.GetArgument <string>("id");
            var input = context.GetObjectArgument <InputMessage>("message");

            var message = await context.Use <IChat>().EditMessageAsync(
                id,
                input.Content);

            return(Resolve.As(message));
        }
 public ValueTask <ISubscriberResult> StreamMessagesAsync(IResolverContext context, CancellationToken unsubscribe)
 {
     return(context.Use <IChat>().JoinAsync(unsubscribe));
 }
        public async ValueTask <IResolverResult> GetMessagesAsync(IResolverContext context)
        {
            var messages = await context.Use <IChat>().GetMessagesAsync(100);

            return(Resolve.As(messages));
        }