@@ -129,6 +129,22 @@ export const api = {
129129 } ) ,
130130 ) ;
131131 } ) ,
132+ deletePackages : ( {
133+ appId,
134+ packageIds,
135+ } : {
136+ appId : number ;
137+ packageIds : number [ ] ;
138+ } ) =>
139+ request ( 'delete' , `/app/${ appId } /package` , { packageIds } ) . then ( ( ) => {
140+ const packageIdSet = new Set ( packageIds ) ;
141+ queryClient . setQueryData (
142+ [ 'packages' , appId ] ,
143+ ( { data } : { data : Package [ ] } ) => ( {
144+ data : data ?. filter ( ( i ) => ! packageIdSet . has ( i . id ) ) ,
145+ } ) ,
146+ ) ;
147+ } ) ,
132148 // version
133149 getVersions : ( {
134150 appId,
@@ -180,6 +196,33 @@ export const api = {
180196 : undefined ,
181197 ) ;
182198 } ) ,
199+ deleteVersions : ( {
200+ appId,
201+ versionIds,
202+ } : {
203+ appId : number ;
204+ versionIds : number [ ] ;
205+ } ) =>
206+ request < { count : number } > ( 'delete' , `/app/${ appId } /version` , {
207+ versionIds,
208+ } ) . then ( ( response ) => {
209+ const versionIdSet = new Set ( versionIds ) ;
210+ const deletedCount = response ?. count ?? versionIds . length ;
211+ queryClient . setQueriesData (
212+ { queryKey : versionKeys . byApp ( appId ) } ,
213+ ( old ?: { data : Version [ ] ; count ?: number } ) =>
214+ old
215+ ? {
216+ ...old ,
217+ data : old . data ?. filter ( ( i ) => ! versionIdSet . has ( i . id ) ) ,
218+ count : Math . max (
219+ ( old . count ?? old . data . length ) - deletedCount ,
220+ 0 ,
221+ ) ,
222+ }
223+ : undefined ,
224+ ) ;
225+ } ) ,
183226 // order
184227 createOrder : ( params : { tier ?: string } ) =>
185228 request < { payUrl : string } > ( 'post' , '/orders' , params ) ,
@@ -221,26 +264,6 @@ export const api = {
221264 : undefined ,
222265 ) ;
223266 } ) ,
224- deleteBindings : ( {
225- appId,
226- bindingIds,
227- } : {
228- appId : number ;
229- bindingIds : number [ ] ;
230- } ) =>
231- request ( 'delete' , `/app/${ appId } /binding` , { bindingIds } ) . then ( ( ) => {
232- const bindingIdSet = new Set ( bindingIds ) ;
233- queryClient . setQueriesData (
234- { queryKey : [ 'bindings' , appId ] } ,
235- ( old ?: { data : Binding [ ] } ) =>
236- old
237- ? {
238- ...old ,
239- data : old . data ?. filter ( ( i ) => ! bindingIdSet . has ( i . id ) ) ,
240- }
241- : undefined ,
242- ) ;
243- } ) ,
244267 // audit logs
245268 getAuditLogs : ( {
246269 offset = 0 ,
0 commit comments