public SendChatFileMessageCommandHandler(
     IChatRoomRepository chatRoomRepository,
     IRegularUserRepository userRepository,
     IRepository <ChatMessage> chatMessageRepository,
     IChatDirectoryBlobProvider blobProvider)
 {
     _chatRoomRepository    = chatRoomRepository;
     _userRepository        = userRepository;
     _blobProvider          = blobProvider;
     _chatMessageRepository = chatMessageRepository;
 }
        // private readonly IUrlBuilder _urlBuilder;

        public WebSocketChatMessageEventHandler(IHubContext <SbHub> hubContext, IChatDirectoryBlobProvider blobProvider,
                                                IBinarySerializer binarySerializer, LinkGenerator linkGenerator, IHttpContextAccessor httpContextAccessor
                                                )
        {
            _hubContext          = hubContext;
            _blobProvider        = blobProvider;
            _binarySerializer    = binarySerializer;
            _linkGenerator       = linkGenerator;
            _httpContextAccessor = httpContextAccessor;
            // _urlBuilder = urlBuilder;
        }
Example #3
0
        public async Task <IActionResult> Download(Guid chatRoomId, Guid chatId, [FromServices] IChatDirectoryBlobProvider blobProvider,
                                                   CancellationToken token)
        {
            var files = await blobProvider.FilesInDirectoryAsync("file-", $"{chatRoomId}/{chatId}", token);

            var uri = files.First();

            var url = blobProvider.GenerateDownloadLink(uri, TimeSpan.FromMinutes(30));

            return(Redirect(url.AbsoluteUri));
        }
Example #4
0
 public ChatController(ICommandBus commandBus, UserManager <User> userManager, IQueryBus queryBus,
                       IChatDirectoryBlobProvider blobProvider,
                       ITempDataDictionaryFactory tempDataDictionaryFactory,
                       IStringLocalizer <UploadControllerBase> localizer,
                       IUrlBuilder urlBuilder)
     : base(blobProvider, tempDataDictionaryFactory, localizer)
 {
     _commandBus  = commandBus;
     _userManager = userManager;
     _queryBus    = queryBus;
     _urlBuilder  = urlBuilder;
 }