| Class: | Api.Files.FileProviders.FileProviderFactory |
|---|---|
| Assembly: | Api |
| File(s): | /home/runner/work/ProjectRead.ing/ProjectRead.ing/Api/Files/FileProviders/FileProviderFactory.cs |
| Covered lines: | 11 |
|---|---|
| Uncovered lines: | 2 |
| Coverable lines: | 13 |
| Total lines: | 33 |
| Line coverage: | 84.6% |
| Covered branches: | 3 |
|---|---|
| Total branches: | 6 |
| Branch coverage: | 50% |
Feature is only available for sponsors
Upgrade to PRO version| Method | Branch coverage | Crap Score | Cyclomatic complexity | Line coverage |
|---|---|---|---|---|
| New() | 50% | 6 | 6 | 84.62% |
| # | Line | Line coverage | ||
|---|---|---|---|---|
1 | // SPDX-FileCopyrightText: 2026 Alper Çelik <[email protected]> | |||
2 | // | |||
3 | // SPDX-License-Identifier: AGPL-3.0-or-later | |||
4 | | |||
5 | using System.Text.Json; | |||
6 | | |||
7 | namespace Api.Files.FileProviders; | |||
8 | | |||
9 | public class FileProviderFactory | |||
10 | { | |||
11 | public async Task<IFileProvider?> New( | |||
12 | IServiceProvider services, | |||
13 | FileProviderId id, | |||
14 | JsonDocument? providerConfig, | |||
15 | List<byte[]>? encryptedSecrets | |||
16 | ) | |||
| 1 | 17 | { | ||
| 1 | 18 | var config = services.GetService<IConfiguration>(); | ||
19 | | |||
| 1 | 20 | return id switch | ||
| 1 | 21 | { | ||
| 1 | 22 | FileProviderId.LocalFsProvider => | ||
| 1 | 23 | providerConfig?.TryDeserialize<LocalFSFileProviderConfig>() switch | ||
| 1 | 24 | { | ||
| 1 | 25 | LocalFSFileProviderConfig fsCfg => new LocalFSFileProvider(fsCfg), | ||
| 0 | 26 | _ => null, | ||
| 1 | 27 | }, | ||
| 0 | 28 | _ => null, | ||
| 1 | 29 | }; | ||
| 1 | 30 | } | ||
31 | | |||
32 | // public Task<IFileProvider> New(IServiceProvider services,FileKind kind) | |||
33 | } |