Skip to content

Commit e94e221

Browse files
authored
fix: use prNumber bucket instead of downloadedAtBucket (#400)
1 parent 6d66e1f commit e94e221

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

packages/app/server/utils/bucket.ts

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type { H3EventContext } from "h3";
22
import type { Cursor, WorkflowData, WebhookDebugData } from "../types";
3+
import type { Storage } from "unstorage";
34
import { createStorage, joinKeys, prefixStorage } from "unstorage";
45
import cloudflareR2BindingDriver from "unstorage/drivers/cloudflare-r2-binding";
56
import { getR2Binding } from "unstorage/drivers/utils/cloudflare";
@@ -48,7 +49,7 @@ export async function getItemStream(
4849
export function useBucket(event: Event) {
4950
const binding = useBinding(event);
5051

51-
return createStorage<Binary>({
52+
return createStorage({
5253
driver: cloudflareR2BindingDriver({
5354
base: useBucket.key,
5455
binding,
@@ -102,10 +103,30 @@ useDownloadedAtBucket.base = joinKeys(
102103
useDownloadedAtBucket.key,
103104
);
104105

105-
export function usePullRequestNumbersBucket(event: Event) {
106+
export function usePullRequestNumbersBucket(event: Event): Storage<number> {
106107
const storage = useBucket(event);
107-
// TODO: this is a huge mistake, we should use usePullRequestNumbersBucket.key instead of useDownloadedAtBucket.key
108-
return prefixStorage<number>(storage, useDownloadedAtBucket.key);
108+
const newStorage = prefixStorage<number>(
109+
storage,
110+
usePullRequestNumbersBucket.key,
111+
);
112+
const oldStorage = prefixStorage<number>(storage, useDownloadedAtBucket.key);
113+
114+
return {
115+
async hasItem(key: string) {
116+
return (await newStorage.hasItem(key)) || (await oldStorage.hasItem(key));
117+
},
118+
async getItem(key: string) {
119+
const newValue = await newStorage.getItem(key);
120+
return newValue !== null ? newValue : await oldStorage.getItem(key);
121+
},
122+
async setItem(key: string, value: number) {
123+
await newStorage.setItem(key, value);
124+
},
125+
async removeItem(key: string) {
126+
await newStorage.removeItem(key);
127+
await oldStorage.removeItem(key);
128+
},
129+
};
109130
}
110131
usePullRequestNumbersBucket.key = "pr-number";
111132
usePullRequestNumbersBucket.base = joinKeys(

0 commit comments

Comments
 (0)