package event_bus

import (
	"github.com/tidbcloud/dataflow-service/app/event_bus/consumer/backup"
	"github.com/tidbcloud/dataflow-service/app/event_bus/consumer/backup_setting"
	"github.com/tidbcloud/dataflow-service/app/event_bus/consumer/crrf"
	"github.com/tidbcloud/dataflow-service/app/event_bus/consumer/restore"
	"github.com/tidbcloud/dataflow-service/internal/event-bus/consumer"
)

func RegisterHandlers() {
	// fetch event_bus consumer dispatcher
	dispatcher := consumer.GetCMEventHandlerDispatcher()

	// register restore
	dispatcher.Register(&restore.RestoreWithClusterDeleting{})

	// register backup
	dispatcher.Register(&backup.BackupWithClusterCreating{})
	dispatcher.Register(&backup.BackupWithClusterDeleting{})

	// register backup_setting
	dispatcher.Register(&backup_setting.BackupSettingWithClusterNormal{})
	dispatcher.Register(&backup_setting.BackupSettingWithClusterDeleted{})

	// register crrf
	dispatcher.Register(&crrf.CRRFWithClusterDeleting{})
}
