Skip to content

Commit cefa453

Browse files
committed
update types to be more generic
1 parent cc399bb commit cefa453

File tree

2 files changed

+40
-26
lines changed

2 files changed

+40
-26
lines changed

packages/storage/src/providers/s3/apis/internal/removeObjects.ts

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -48,29 +48,37 @@ export const removeObjects = async (
4848
// Calculate Content-MD5 (required for DeleteObjects)
4949
const contentMd5 = await calculateContentMd5(xmlBody);
5050

51-
const result = await deleteObjects(
52-
{
53-
...s3Config,
54-
userAgentValue: getStorageUserAgentValue(StorageAction.Remove),
51+
const deleteObjectsInput = {
52+
Bucket: bucket,
53+
Delete: {
54+
Objects: input.paths.map(path => ({ Key: path })),
55+
Quiet: false,
5556
},
56-
{
57-
Bucket: bucket,
58-
Delete: {
59-
Objects: input.paths.map(path => ({ Key: path })),
60-
Quiet: false,
57+
ExpectedBucketOwner: input.options?.expectedBucketOwner,
58+
ContentMD5: contentMd5,
59+
};
60+
61+
try {
62+
const result = await deleteObjects(
63+
{
64+
...s3Config,
65+
userAgentValue: getStorageUserAgentValue(StorageAction.Remove),
6166
},
62-
ExpectedBucketOwner: input.options?.expectedBucketOwner,
63-
ContentMD5: contentMd5,
64-
},
65-
);
67+
deleteObjectsInput,
68+
);
6669

67-
return {
68-
deleted: result.Deleted?.map(item => ({ path: item.Key! })) || [],
69-
errors:
70-
result.Errors?.map(error => ({
71-
path: error.Key!,
72-
code: error.Code!,
73-
message: error.Message!,
74-
})) || [],
75-
};
70+
const output = {
71+
deleted: result.Deleted?.map(item => ({ path: item.Key! })) || [],
72+
errors:
73+
result.Errors?.map(error => ({
74+
path: error.Key!,
75+
code: error.Code!,
76+
message: error.Message!,
77+
})) || [],
78+
};
79+
80+
return output;
81+
} catch (error) {
82+
throw error;
83+
}
7684
};

packages/storage/src/providers/s3/utils/client/s3data/deleteObjects.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const deleteObjectsSerializer = (
5252

5353
const body = `<?xml version="1.0" encoding="UTF-8"?>
5454
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
55-
<Quiet>${input.Delete!.Quiet || false}</Quiet>
55+
<Quiet>${input.Delete!.Quiet === true ? 'true' : 'false'}</Quiet>
5656
${objects}
5757
</Delete>`;
5858

@@ -62,22 +62,26 @@ const deleteObjectsSerializer = (
6262
'content-md5': input.ContentMD5,
6363
});
6464

65-
return {
65+
const request = {
6666
method: 'POST',
6767
headers,
6868
url,
6969
body,
7070
};
71+
72+
return request;
7173
};
7274

7375
const deleteObjectsDeserializer = async (
7476
response: HttpResponse,
7577
): Promise<DeleteObjectsOutput> => {
7678
if (response.statusCode >= 300) {
77-
throw buildStorageServiceError((await parseXmlError(response))!);
79+
const error = await parseXmlError(response);
80+
throw buildStorageServiceError(error!);
7881
}
7982

8083
const text = await response.body.text();
84+
8185
const deleted: { Key?: string }[] = [];
8286
const errors: { Key?: string; Code?: string; Message?: string }[] = [];
8387

@@ -104,11 +108,13 @@ const deleteObjectsDeserializer = async (
104108
});
105109
}
106110

107-
return {
111+
const result = {
108112
Deleted: deleted,
109113
Errors: errors,
110114
$metadata: parseMetadata(response),
111115
};
116+
117+
return result;
112118
};
113119

114120
export const deleteObjects = composeServiceApi(

0 commit comments

Comments
 (0)