// Commands public virtual async Task <ChatUser> SetUserNameAsync( IChatService.SetUserNameCommand command, CancellationToken cancellationToken = default) { var(name, session) = command; var context = CommandContext.GetCurrent(); ChatUser?user; if (Computed.IsInvalidating()) { user = context.Items.Get <OperationItem <ChatUser> >().Value; GetUserAsync(user.Id, cancellationToken).Ignore(); PseudoGetUserAsync(user.AuthUserId).Ignore(); if (context.Items.TryGet <OperationItem <bool> >()?.Value ?? false) { GetUserCountAsync(cancellationToken).Ignore(); } return(default !);
public Task <ChatUser> SetUserNameAsync([FromBody] IChatService.SetUserNameCommand command, CancellationToken cancellationToken = default) { command.UseDefaultSession(_sessionResolver); return(_chat.SetUserNameAsync(command, cancellationToken)); }