package com.usky.issue.service;

import com.usky.issue.domain.IssueCloudConfig;
import com.usky.issue.service.vo.SyncResult;

/**
 * 本地拉取服务（云端→本地）
 *
 * @author fyc
 * @date 2026-06-08
 */
public interface LocalPullService {

    SyncResult pullAndApply(String tableName, IssueCloudConfig config);

    default SyncResult pullByTenant(Integer tenantId, String tableName, IssueCloudConfig config) {
        return pullByTenant(tenantId, tableName, config, false);
    }

    SyncResult pullByTenant(Integer tenantId, String tableName, IssueCloudConfig config, boolean forceBackfill);

    void resetDownCursor(Integer tenantId, String tableName);
}
