package com.bcxin.backend.domain.syncs.dtos;
import com.bcxin.runtime.domain.snapshoots.FormSyncTargetConfigSnapshot;
import com.bcxin.runtime.domain.syncs.entities.DataSyncQueueEntity;
import lombok.Getter;

@Getter
public class DataSyncParameter {
    private final DataSyncQueueEntity dataSyncQueueEntity;
    private final String mapKey;
    private final FormSyncTargetConfigSnapshot formSyncTargetConfig;
    private final String otherTargetApp;

    public DataSyncParameter(DataSyncQueueEntity dataSyncQueueEntity,String mapKey,
                             FormSyncTargetConfigSnapshot formSyncTargetConfig,String otherTargetApp) {
        this.dataSyncQueueEntity = dataSyncQueueEntity;
        this.formSyncTargetConfig = formSyncTargetConfig;
        this.mapKey = mapKey;
        this.otherTargetApp = otherTargetApp;
    }

    public static DataSyncParameter create(DataSyncQueueEntity dataSyncQueueEntity,String mapKey,
                                           FormSyncTargetConfigSnapshot formSyncTargetConfig,String otherTargetApp) {
        return new DataSyncParameter(dataSyncQueueEntity, mapKey, formSyncTargetConfig,otherTargetApp);
    }
}
