Skip to content

Commit 2593638

Browse files
Fix SHA for multipart upload (#480)
1 parent 9bee24d commit 2593638

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

packages/app/server/routes/multipart/create.post.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
import { isWhitelisted } from "@pkg-pr-new/utils";
1+
import { isValidGitHash, isWhitelisted } from "@pkg-pr-new/utils";
22
import { joinKeys } from "unstorage";
33

44
export default eventHandler(async (event) => {
5-
const { "sb-key": workflowKey, "sb-name": packageName } = getHeaders(event);
5+
const {
6+
"sb-key": workflowKey,
7+
"sb-name": packageName,
8+
"sb-sha": shaOverride,
9+
} = getHeaders(event);
610

711
if (!workflowKey) {
812
throw createError({
@@ -35,6 +39,16 @@ export default eventHandler(async (event) => {
3539
});
3640
}
3741

42+
if (shaOverride) {
43+
if (!isValidGitHash(shaOverride)) {
44+
throw createError({
45+
statusCode: 400,
46+
message: "Invalid sb-sha: must be a valid hexadecimal SHA",
47+
});
48+
}
49+
workflowData.sha = shaOverride;
50+
}
51+
3852
const binding = useBinding(event);
3953

4054
const base = `${workflowData.owner}:${workflowData.repo}:${workflowData.sha}`;

packages/app/server/routes/publish.post.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export default eventHandler(async (event) => {
6363
if (!isValidGitHash(shaOverride)) {
6464
throw createError({
6565
statusCode: 400,
66-
message: "Invalid sb-sha: must be a 40-character hex SHA",
66+
message: "Invalid sb-sha: must be a valid hexadecimal SHA",
6767
});
6868
}
6969
workflowData.sha = shaOverride;

packages/cli/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,7 @@ const main = defineCommand({
528528
headers: {
529529
"sb-key": key,
530530
"sb-name": name.slice("package:".length),
531+
"sb-sha": sha,
531532
},
532533
});
533534
if (!createMultipartRes.ok) {

0 commit comments

Comments
 (0)