package app

import (
	"context"
	"time"

	"github.com/tidbcloud/AgentTeam/internal/coredb"
	"github.com/tidbcloud/AgentTeam/internal/store/message"
	"github.com/tidbcloud/AgentTeam/internal/store/schedule"
)

func (store *Store) bindScheduleRunMessageSource(ctx context.Context, tx coredb.Tx, workspaceID string, source message.ContributionSource, messageID string, createdAt time.Time) error {
	source = source.Normalize()
	if source.Kind != message.ContributionSourceKindScheduleRun || source.RefType != message.ContributionSourceRefTypeAutomationRun {
		return nil
	}
	_, err := schedule.New(store.db).InTx(tx).BindAutomationRunMessage(ctx, schedule.AutomationRunMessageBinding{
		WorkspaceID: workspaceID,
		ID:          source.RefID,
		MessageID:   messageID,
		Now:         createdAt,
	})
	return err
}
