package validation

import (
	"fmt"

	"github.com/tidbcloud/devops/entity"
)

var (
	Incident = incidentValidator{}
)

type incidentValidator struct{}

func (v incidentValidator) IncidentCreation(incident *entity.Incident) error {
	if incident == nil {
		return fmt.Errorf("incident entity is nil")
	}

	return nil

}

func (v incidentValidator) IncidentUpdate(incident *entity.Incident) error {
	if incident == nil {
		return fmt.Errorf("incident update entity is nil")
	}

	return nil
}

func (v incidentValidator) IncidentLogCreate(item *entity.IncidentLogItem) error {
	if item == nil {
		return fmt.Errorf("incident log item create entity is nil")
	}
	if string(item.ItemType) == "" {
		return fmt.Errorf("incident log item creation need specify item type")
	}

	return nil
}

func (v incidentValidator) IncidentLogUpdate(item *entity.IncidentLogItem) error {
	if item == nil {
		return fmt.Errorf("incident log item update entity is nil")
	}

	return nil
}
