47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import api from './index'
|
|
import type {
|
|
ApiResponse,
|
|
HrSyncChangeItem,
|
|
HrSyncJobDetail,
|
|
HrSyncJobHistoryResponse,
|
|
HrSyncPreview,
|
|
HrSyncResult,
|
|
HrSyncStatus,
|
|
UpdateHrSyncChangeProcessingPayload
|
|
} from '@/types'
|
|
|
|
export const getHrSyncStatus = async () => {
|
|
const response = await api.get<ApiResponse<HrSyncStatus>>('/sync/hr/status')
|
|
return response.data
|
|
}
|
|
|
|
export const previewHrSync = async () => {
|
|
const response = await api.get<ApiResponse<HrSyncPreview>>('/sync/hr/preview')
|
|
return response.data
|
|
}
|
|
|
|
export const runHrSync = async () => {
|
|
const response = await api.post<ApiResponse<HrSyncResult>>('/sync/hr/run', undefined, {
|
|
timeout: 180000
|
|
})
|
|
return response.data
|
|
}
|
|
|
|
export const getHrSyncJobs = async (params?: {
|
|
page?: number
|
|
pageSize?: number
|
|
}) => {
|
|
const response = await api.get<ApiResponse<HrSyncJobHistoryResponse>>('/sync/hr/jobs', { params })
|
|
return response.data
|
|
}
|
|
|
|
export const getHrSyncJobDetail = async (id: number) => {
|
|
const response = await api.get<ApiResponse<HrSyncJobDetail>>(`/sync/hr/jobs/${id}`)
|
|
return response.data
|
|
}
|
|
|
|
export const updateHrSyncChangeProcessing = async (id: number, payload: UpdateHrSyncChangeProcessingPayload) => {
|
|
const response = await api.patch<ApiResponse<HrSyncChangeItem>>(`/sync/hr/changes/${id}/processing`, payload)
|
|
return response.data
|
|
}
|