feat: add one-click sync for website group bindings
This commit is contained in:
@@ -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 }),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user