public FileRepository(IAzureBlobStoreClient azureBlobStoreClient, IAzureSqlClient azureSqlClient, IOptionsSnapshot <AzurePlatformConfiguration> azurePlatformConfiguration, ILogger <FileRepository>?logger)
        {
            _logger = logger;

            _azureBlobStoreClient = azureBlobStoreClient ?? throw new ArgumentNullException(nameof(azureBlobStoreClient));
            _azureSqlClient       = azureSqlClient ?? throw new ArgumentNullException(nameof(azureSqlClient));

            if (azurePlatformConfiguration?.Value is null)
            {
                throw new ArgumentNullException(nameof(azurePlatformConfiguration));
            }

            var blobContainerName = azurePlatformConfiguration.Value.AzureBlobStorage?.ContainerName;

            if (string.IsNullOrWhiteSpace(blobContainerName))
            {
                throw new ApplicationException("The files blob container name is not set in the configuration");
            }

            _blobContainerName = blobContainerName;
        }
        public UserFileMetadataProvider(IAzureSqlClient azureSqlClient, ILogger <UserFileMetadataProvider>?logger)
        {
            _logger = logger;

            _azureSqlClient = azureSqlClient ?? throw new ArgumentNullException(nameof(azureSqlClient));
        }