package action

import (
	relent "github.com/tidbcloud/devops/entity/release"
	relsvcapi "github.com/tidbcloud/devops/pkg/service/release/api"
)

type actionWhenDraft struct {
	*actionBase
}

func (a *actionWhenDraft) Submit() error {
	ctx := a.Context
	err := a.PatchChange(ctx,
		PatchChangeStatus(relent.ChangeStatusCreated, ""),
	)
	return err
}

func (a *actionWhenDraft) UpdateChangeBeforeDeploy(update relsvcapi.UpdateChangeParam) error {
	return a.updateBeforeApproved(update)
}

func (a *actionWhenDraft) Cancel() error {
	return a.actionBase.cancel()
}
