Skip to content

Commit 2798ccc

Browse files
adrians5jclaude
andauthored
fix: check results before reading their value (#6003)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 612d2cf commit 2798ccc

40 files changed

Lines changed: 292 additions & 28 deletions

File tree

‎packages/api-core/src/features/security/roles/Installer/RolesInstaller.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ class RolesInstallerImpl implements AppInstaller.Interface {
1919

2020
async install(): Promise<void> {
2121
const rolesResult = await this.listRolesUseCase.execute();
22+
if (rolesResult.isFail()) {
23+
throw rolesResult.error;
24+
}
2225
const roles = rolesResult.value;
2326

2427
if (!roles.find(g => g.slug === "full-access")) {

‎packages/api-file-manager-aco/src/features/EnsureFolderIsEmptyBeforeDelete/EnsureFolderIsEmptyBeforeDelete.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ class EnsureFolderIsEmptyBeforeDeleteImpl implements FolderBeforeDeleteEventHand
3131
limit: 1
3232
});
3333

34+
if (result.isFail()) {
35+
throw result.error;
36+
}
37+
3438
const { items } = result.value;
3539

3640
return items.length > 0;

‎packages/api-file-manager-s3/src/graphql/S3GraphQLSchema.ts‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ class S3GraphQLSchemaImpl implements CoreGraphQLSchemaFactory.Interface {
121121
await checkPermissions(identityContext, { rwd: "w" });
122122

123123
const settingsResult = await getSettings.execute();
124+
if (settingsResult.isFail()) {
125+
throw settingsResult.error;
126+
}
124127
const settings = settingsResult.value;
125128

126129
const normalizer = createFileNormalizerFromContext(context);
@@ -155,6 +158,9 @@ class S3GraphQLSchemaImpl implements CoreGraphQLSchemaFactory.Interface {
155158

156159
try {
157160
const settingsResult = await getSettings.execute();
161+
if (settingsResult.isFail()) {
162+
throw settingsResult.error;
163+
}
158164
const settings = settingsResult.value;
159165

160166
const normalizer = createFileNormalizerFromContext(context);

‎packages/api-file-manager/src/features/file/FileUrlGenerator/SettingsFileUrlPrefixProvider.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ class SettingsFileUrlPrefixProviderImpl implements Abstraction.Interface {
2020

2121
private async loadPrefix(): Promise<string> {
2222
const result = await this.getSettings.execute();
23+
if (result.isFail()) {
24+
throw result.error;
25+
}
2326
return result.value?.srcPrefix ?? "";
2427
}
2528
}

‎packages/api-file-manager/src/features/settings/UpdateSettings/UpdateSettingsUseCase.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ class UpdateSettingsUseCaseImpl implements UseCaseAbstraction.Interface {
3333

3434
// Get existing settings to merge with new data
3535
const existingResult = await this.getSettings.execute();
36+
if (existingResult.isFail()) {
37+
return Result.fail(existingResult.error);
38+
}
3639
const existing = existingResult.value;
3740

3841
// Prepare merged settings

‎packages/api-file-manager/src/graphql/FmGraphQLSchema.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,10 @@ class FmGraphQLSchema_ implements GraphQLSchemaFactory.Interface {
528528
return this.listModelsUseCase.execute();
529529
});
530530

531+
if (modelsResult.isFail()) {
532+
throw modelsResult.error;
533+
}
534+
531535
return modelsResult.value;
532536
}
533537
}

‎packages/api-headless-cms-bulk-actions/src/features/DeleteEntriesBulkAction/DeleteEntriesBulkAction.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ class DeleteEntriesBulkActionImpl implements EntriesBulkAction.Interface {
1616
params: EntriesBulkAction.LoadDataParams
1717
): Promise<EntriesBulkAction.LoadDataResult> {
1818
const entriesResult = await this.listDeletedEntries.execute(model, params);
19+
if (entriesResult.isFail()) {
20+
throw entriesResult.error;
21+
}
1922

2023
return entriesResult.value;
2124
}

‎packages/api-headless-cms-bulk-actions/src/features/MoveToFolderBulkAction/MoveToFolderBulkAction.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ class MoveToFolderBulkActionImpl implements EntriesBulkAction.Interface {
1515
params: EntriesBulkAction.LoadDataParams
1616
): Promise<EntriesBulkAction.LoadDataResult> {
1717
const entriesResult = await this.listLatestEntries.execute(model, params);
18+
if (entriesResult.isFail()) {
19+
throw entriesResult.error;
20+
}
1821

1922
return entriesResult.value;
2023
}

‎packages/api-headless-cms-bulk-actions/src/features/MoveToTrashBulkAction/MoveToTrashBulkAction.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ class MoveToTrashBulkActionImpl implements EntriesBulkAction.Interface {
1616
params: EntriesBulkAction.LoadDataParams
1717
): Promise<EntriesBulkAction.LoadDataResult> {
1818
const entriesResult = await this.listLatestEntries.execute(model, params);
19+
if (entriesResult.isFail()) {
20+
throw entriesResult.error;
21+
}
1922

2023
return entriesResult.value;
2124
}

‎packages/api-headless-cms-bulk-actions/src/features/PublishEntriesBulkAction/PublishEntriesBulkAction.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ class PublishEntriesBulkActionImpl implements EntriesBulkAction.Interface {
2424
}
2525
});
2626

27+
if (entriesResult.isFail()) {
28+
throw entriesResult.error;
29+
}
30+
2731
return entriesResult.value;
2832
}
2933

0 commit comments

Comments
 (0)