package data_pipeline

import (
	"github.com/shiningrush/fastflow/pkg/entity"
	"github.com/shiningrush/fastflow/pkg/entity/run"
	data_pipeline_model "github.com/tidbcloud/dataflow-service-ng/app/models/data_pipeline"
	"github.com/tidbcloud/dataflow-service-ng/app/workflow"
	data_pipeline_action "github.com/tidbcloud/dataflow-service-ng/app/workflow/action/data_pipeline"
)

func GetPauseDataPipelineDag(
	coordinator data_pipeline_model.LifecycleCoordinator,
) (*entity.Dag, []run.Action) {
	actions := []run.Action{
		data_pipeline_action.NewPauseChangefeedAction(coordinator),
		data_pipeline_action.NewStopDestinationAction(coordinator),
		data_pipeline_action.NewFinishPauseAction(coordinator),
	}
	return buildLinearDag(workflow.DagPauseDataPipeline, actions)
}
