This repository was archived by the owner on Mar 13, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +12
-8
lines changed
packages/tre/src/plugins/r2 Expand file tree Collapse file tree 3 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -110,9 +110,14 @@ export class R2Gateway {
110110 return new R2Object ( metadata ) ;
111111 }
112112
113- async delete ( key : string ) {
114- validate . key ( key ) ;
115- await this . storage . delete ( key ) ;
113+ async delete ( keys : string | string [ ] ) {
114+ if ( Array . isArray ( keys ) ) {
115+ for ( const key of keys ) validate . key ( key ) ;
116+ await this . storage . deleteMany ( keys ) ;
117+ } else {
118+ validate . key ( keys ) ;
119+ await this . storage . delete ( keys ) ;
120+ }
116121 }
117122
118123 async list ( listOptions : R2ListOptions = { } ) : Promise < R2Objects > {
Original file line number Diff line number Diff line change 1- import assert from "assert" ;
21import { TextDecoder } from "util" ;
32import { Request , Response } from "../../http" ;
43import {
@@ -86,9 +85,9 @@ export class R2Router extends Router<R2Gateway> {
8685 const gateway = this . gatewayFactory . get ( params . bucket , persist ) ;
8786
8887 if ( metadata . method === "delete" ) {
89- assert ( "object" in metadata ) ;
90- // TODO: support multiple delete
91- await gateway . delete ( metadata . object ) ;
88+ await gateway . delete (
89+ "object" in metadata ? metadata . object : metadata . objects
90+ ) ;
9291 return new Response ( ) ;
9392 } else if ( metadata . method === "put" ) {
9493 const result = await gateway . put ( metadata . object , value , metadata ) ;
Original file line number Diff line number Diff line change @@ -175,7 +175,7 @@ export const R2DeleteRequestSchema = z.intersection(
175175 z . object ( { method : z . literal ( "delete" ) } ) ,
176176 z . union ( [
177177 z . object ( { object : z . string ( ) } ) ,
178- z . object ( { objects : z . string ( ) . array ( ) } ) , // TODO: support
178+ z . object ( { objects : z . string ( ) . array ( ) } ) ,
179179 ] )
180180) ;
181181
You can’t perform that action at this time.
0 commit comments