feat: add one-click sync for website group bindings

This commit is contained in:
liumangmang
2026-06-01 09:06:01 +08:00
parent 890432e1a5
commit 518e3e8efc
6 changed files with 329 additions and 11 deletions
+10
View File
@@ -267,6 +267,15 @@ export interface ImportAccountItem {
raw: Record<string, any>
}
export interface WebsiteBatchSyncResponse {
total: number
success: number
failed: number
skipped: number
message: string
logs: WebsiteSyncLog[]
}
export const websitesApi = {
list: () => api.get<WebsiteData[]>('/api/websites'),
create: (data: WebsiteForm) => api.post<WebsiteData>('/api/websites', data),
@@ -293,6 +302,7 @@ export const websitesApi = {
updateBinding: (id: number, data: Partial<GroupBindingForm>) => api.put<GroupBindingData>(`/api/group-bindings/${id}`, data),
deleteBinding: (id: number) => api.delete(`/api/group-bindings/${id}`),
syncNow: (id: number) => api.post<WebsiteSyncLog>(`/api/group-bindings/${id}/sync-now`),
syncWebsiteBindings: (id: number) => api.post<WebsiteBatchSyncResponse>(`/api/websites/${id}/group-bindings/sync-now`),
logs: (params?: { website_id?: number; binding_id?: number; limit?: number; offset?: number }) =>
api.get<WebsiteSyncLog[]>('/api/website-sync-logs', { params }),
}