package mapper

import (
	"fmt"

	metastatus "edge-infra.dev/pkg/k8s/meta/status"

	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

const (
	Provisioning      = "Provisioning"
	SyncingError      = "SyncingError"
	ProvisioningError = "ProvisioningError"
	BucketError       = "BucketError"
)

func isResourceReady(conditions []metav1.Condition, conditionReason string) (bool, string, string) {
	for _, condition := range conditions {
		if condition.Type == metastatus.ReadyCondition {
			ok := condition.Status == metav1.ConditionTrue && condition.Reason == conditionReason
			message := fmt.Sprintf("%s: %s", condition.Reason, condition.Message)
			return ok, condition.Reason, message
		}
	}
	return false, "", "ready condition not found"
}