11import type { H3EventContext } from "h3" ;
22import type { Cursor , WorkflowData , WebhookDebugData } from "../types" ;
3+ import type { Storage } from "unstorage" ;
34import { createStorage , joinKeys , prefixStorage } from "unstorage" ;
45import cloudflareR2BindingDriver from "unstorage/drivers/cloudflare-r2-binding" ;
56import { getR2Binding } from "unstorage/drivers/utils/cloudflare" ;
@@ -48,7 +49,7 @@ export async function getItemStream(
4849export 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,
@@ -61,39 +62,54 @@ useBucket.base = useBucket.key;
6162
6263export function useWorkflowsBucket ( event : Event ) {
6364 const storage = useBucket ( event ) ;
64- return prefixStorage < WorkflowData > ( storage , useWorkflowsBucket . key ) ;
65+ return prefixStorage < WorkflowData > (
66+ storage as Storage < WorkflowData > ,
67+ useWorkflowsBucket . key ,
68+ ) ;
6569}
6670
6771useWorkflowsBucket . key = "workflow" ;
6872useWorkflowsBucket . base = joinKeys ( useBucket . base , useWorkflowsBucket . key ) ;
6973
7074export function usePackagesBucket ( event : Event ) {
7175 const storage = useBucket ( event ) ;
72- return prefixStorage < Uint8Array > ( storage , usePackagesBucket . key ) ;
76+ return prefixStorage < Uint8Array > (
77+ storage as Storage < Uint8Array > ,
78+ usePackagesBucket . key ,
79+ ) ;
7380}
7481
7582usePackagesBucket . key = "package" ;
7683usePackagesBucket . base = joinKeys ( useBucket . base , usePackagesBucket . key ) ;
7784
7885export function useTemplatesBucket ( event : Event ) {
7986 const storage = useBucket ( event ) ;
80- return prefixStorage < Uint8Array > ( storage , useTemplatesBucket . key ) ;
87+ return prefixStorage < Uint8Array > (
88+ storage as Storage < Uint8Array > ,
89+ useTemplatesBucket . key ,
90+ ) ;
8191}
8292
8393useTemplatesBucket . key = "template" ;
8494useTemplatesBucket . base = joinKeys ( useBucket . base , useTemplatesBucket . key ) ;
8595
8696export function useCursorsBucket ( event : Event ) {
8797 const storage = useBucket ( event ) ;
88- return prefixStorage < Cursor > ( storage , useCursorsBucket . key ) ;
98+ return prefixStorage < Cursor > (
99+ storage as Storage < Cursor > ,
100+ useCursorsBucket . key ,
101+ ) ;
89102}
90103
91104useCursorsBucket . key = "cursor" ;
92105useCursorsBucket . base = joinKeys ( useBucket . base , useCursorsBucket . key ) ;
93106
94107export function useDownloadedAtBucket ( event : Event ) {
95108 const storage = useBucket ( event ) ;
96- return prefixStorage < number > ( storage , useDownloadedAtBucket . key ) ;
109+ return prefixStorage < number > (
110+ storage as Storage < number > ,
111+ useDownloadedAtBucket . key ,
112+ ) ;
97113}
98114
99115useDownloadedAtBucket . key = "downloaded-at" ;
@@ -104,8 +120,11 @@ useDownloadedAtBucket.base = joinKeys(
104120
105121export function usePullRequestNumbersBucket ( event : Event ) {
106122 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 ) ;
123+
124+ return prefixStorage < number > (
125+ storage as Storage < number > ,
126+ usePullRequestNumbersBucket . key ,
127+ ) ;
109128}
110129usePullRequestNumbersBucket . key = "pr-number" ;
111130usePullRequestNumbersBucket . base = joinKeys (
@@ -115,7 +134,7 @@ usePullRequestNumbersBucket.base = joinKeys(
115134
116135export function useDebugBucket ( event : Event ) {
117136 const storage = useBucket ( event ) ;
118- return prefixStorage < WebhookDebugData > ( storage , useDebugBucket . key ) ;
137+ return prefixStorage < WebhookDebugData > ( storage as Storage < WebhookDebugData > , useDebugBucket . key ) ;
119138}
120139
121140useDebugBucket . key = "debug" ;
0 commit comments