Skip to content

Commit d5e6fe9

Browse files
committed
refactor for readability
1 parent 60bdcfe commit d5e6fe9

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

src/Api/Tools/Controllers/OrganizationExportController.cs

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,32 +42,43 @@ public OrganizationExportController(
4242
[HttpGet("export")]
4343
public async Task<IActionResult> Export(Guid organizationId)
4444
{
45-
var createDefaultLocationEnabled = _featureService.IsEnabled(FeatureFlagKeys.CreateDefaultLocation);
46-
4745
var canExportAll = await _authorizationService.AuthorizeAsync(User, new OrganizationScope(organizationId),
4846
VaultExportOperations.ExportWholeVault);
49-
if (canExportAll.Succeeded)
47+
var canExportManaged = await _authorizationService.AuthorizeAsync(User, new OrganizationScope(organizationId),
48+
VaultExportOperations.ExportManagedCollections);
49+
50+
var createDefaultLocationEnabled = _featureService.IsEnabled(FeatureFlagKeys.CreateDefaultLocation);
51+
if (createDefaultLocationEnabled)
52+
{
53+
if (canExportAll.Succeeded)
54+
{
55+
var allOrganizationCiphers =
56+
await _organizationCiphersQuery.GetAllOrganizationCiphersExcludingDefaultUserCollections(
57+
organizationId);
58+
59+
var allCollections = await _collectionRepository
60+
.GetManySharedCollectionsByOrganizationIdAsync(
61+
organizationId);
62+
63+
64+
return Ok(new OrganizationExportResponseModel(allOrganizationCiphers, allCollections,
65+
_globalSettings));
66+
}
67+
}
68+
else
5069
{
51-
var allOrganizationCiphers =
52-
createDefaultLocationEnabled
53-
? await _organizationCiphersQuery.GetAllOrganizationCiphersExcludingDefaultUserCollections(
54-
organizationId)
55-
: await _organizationCiphersQuery.GetAllOrganizationCiphers(organizationId);
56-
57-
var allCollections =
58-
createDefaultLocationEnabled
59-
? await _collectionRepository
60-
.GetManySharedCollectionsByOrganizationIdAsync(
61-
organizationId)
62-
: await _collectionRepository.GetManyByOrganizationIdAsync(organizationId);
63-
64-
65-
return Ok(new OrganizationExportResponseModel(allOrganizationCiphers, allCollections,
66-
_globalSettings));
70+
if (canExportAll.Succeeded)
71+
{
72+
var allOrganizationCiphers = await _organizationCiphersQuery.GetAllOrganizationCiphers(organizationId);
73+
74+
var allCollections = await _collectionRepository.GetManyByOrganizationIdAsync(organizationId);
75+
76+
return Ok(new OrganizationExportResponseModel(allOrganizationCiphers, allCollections,
77+
_globalSettings));
78+
}
6779
}
6880

69-
var canExportManaged = await _authorizationService.AuthorizeAsync(User, new OrganizationScope(organizationId),
70-
VaultExportOperations.ExportManagedCollections);
81+
7182
if (canExportManaged.Succeeded)
7283
{
7384
var userId = _userService.GetProperUserId(User)!.Value;

0 commit comments

Comments
 (0)