using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; using System.Text; using System.Text.Json; using System.Threading.Tasks; using TEAMModelOS.SDK.Context.Configuration; using TEAMModelOS.SDK; using TEAMModelOS.SDK.Helper.Common.JsonHelper; using TEAMModelOS.SDK.Module.AzureBlob.Configuration; using TEAMModelOS.SDK.DI; using System.Net.Http; using TEAMModelOS.SDK.Helper.Security.ShaHash; using TEAMModelOS.SDK.Extension; using System.IdentityModel.Tokens.Jwt; using Microsoft.AspNetCore.Authorization; using TEAMModelOS.Filter; using StackExchange.Redis; using Azure.Messaging.ServiceBus; using static TEAMModelOS.SDK.DI.AzureStorageBlobExtensions; using System.Linq; using Microsoft.AspNetCore.Http; using HTEXLib.COMM.Helpers; using TEAMModelOS.Models; using Microsoft.Extensions.Options; using TEAMModelOS.SDK.Models; using Azure.Cosmos; using Azure; using System.IO; using Azure.Storage.Blobs.Models; using Azure.Storage.Sas; using ContentTypeDict = TEAMModelOS.SDK.ContentTypeDict; namespace TEAMModelOS.Controllers.Core { [Route("blob")] [ApiController] public class BlobController : ControllerBase { private readonly AzureStorageFactory _azureStorage; private readonly IHttpClientFactory _clientFactory; private readonly AzureRedisFactory _azureRedis; private readonly AzureServiceBusFactory _serviceBus; private readonly DingDing _dingDing; private readonly Option _option; private readonly AzureCosmosFactory _azureCosmos; public IConfiguration _configuration { get; set; } public BlobController(AzureStorageFactory azureStorage, AzureServiceBusFactory serviceBus, IHttpClientFactory clientFactory, AzureRedisFactory azureRedis, IConfiguration configuration, DingDing dingDing, IOptionsSnapshot