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; }
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)); }
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; }