Skip to content

Commit 844f60a

Browse files
committed
Correct batch delete targets
1 parent bb0c308 commit 844f60a

3 files changed

Lines changed: 46 additions & 24 deletions

File tree

src/pages/audit-logs.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,13 @@ const actionMap: Record<string, string> = {
9494
'POST /upload': '上传文件',
9595
'POST /app/{id}/package/create': '创建原生包',
9696
'PUT /app/{id}/package/{id}': '修改原生包设置',
97+
'DELETE /app/{id}/package': '批量删除原生包',
9798
'DELETE /app/{id}/package/{id}': '删除原生包',
9899
'POST /app/{id}/version/create': '创建热更包',
99100
'PUT /app/{id}/version/{id}': '修改热更包设置',
101+
'DELETE /app/{id}/version': '批量删除热更包',
100102
'DELETE /app/{id}/version/{id}': '删除热更包',
101103
'POST /app/{id}/binding': '创建/更新绑定',
102-
'DELETE /app/{id}/binding': '批量删除绑定',
103104
'DELETE /app/{id}/binding/{id}': '删除绑定',
104105
'POST /api-token/create': '创建 API Key',
105106
'DELETE /api-token/{id}': '删除 API Key',

src/pages/manage/components/version-table.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,7 @@ function removeSelectedVersions({
120120
maskClosable: true,
121121
okButtonProps: { danger: true },
122122
async onOk() {
123-
await Promise.all(
124-
selected.map((id) => api.deleteVersion({ appId, versionId: id })),
125-
);
123+
await api.deleteVersions({ appId, versionIds: selected });
126124
},
127125
});
128126
}

src/services/api.ts

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)