package common

import (
	"net/http"

	"github.com/tidbcloud/tiinf/sdk/cors"

	"github.com/tidbcloud/tidb-management-service/tidb-mgmt-portal/pkg/config"
)

func GetCorsAllowOrigins() []string {
	if len(config.Global().Cors.AllowOrigins) == 0 {
		return []string{"*"}
	}

	return config.Global().Cors.AllowOrigins
}

func GetCorsAllowMethods() []string {
	return []string{
		http.MethodHead,
		http.MethodGet,
		http.MethodPost,
		http.MethodPut,
		http.MethodPatch,
		http.MethodDelete,
	}
}

func GetCorsAllowHeaders() []string {
	return []string{"*"}
}

func GetCorsOptions() cors.Options {
	return cors.Options{
		AllowedOrigins: GetCorsAllowOrigins(),
		AllowedMethods: GetCorsAllowMethods(),
		AllowedHeaders: GetCorsAllowHeaders(),
	}
}
