package config

import (
	"time"

	"github.com/tidbcloud/pkgv2/auth/auth0"
	"github.com/tidbcloud/pkgv2/auth/util"
)

// common const
const (
	DefaultDBOperationTimeout = 30 * time.Second
)

// api auth & rbac const
const (
	ApiOperatorIP  util.ContextKey = "api_operator_ip"
	ApiKeyAuthType                 = "apikey"
	GmailAuthType                  = auth0.GmailAuthType
)

const (
	// O11yAuth0Secret ... env var name for o11y auth0 M2M client secret
	O11yAuth0Secret    = "dataflow-svc-o11y-auth0-secret"
	O11yAuth0SecretKey = "auth0-client-secret"
)

// AuthSDKRBACPathPattern2ResourceMap for new account auth sdk
var AuthSDKRBACPathPattern2ResourceMap = map[string]string{
	`get:/orgs/(\d+)/v1beta2/tidbs/(\d+)/imports.*`:             `nextgen/orgs/{org_id}/tidbs/{tidb_id}/import_into/view`,
	`post:/orgs/(\d+)/v1beta2/tidbs/(\d+)/imports.*`:            `nextgen/orgs/{org_id}/tidbs/{tidb_id}/import_into/modify`,
	`get:/orgs/(\d+)/v1beta2/tidbs/(\d+)/premiumMigration.*`:    `nextgen/orgs/{org_id}/tidbs/{tidb_id}/premium_migration/view`,
	`post:/orgs/(\d+)/v1beta2/tidbs/(\d+)/premiumMigration.*`:   `nextgen/orgs/{org_id}/tidbs/{tidb_id}/premium_migration/modify`,
	`put:/orgs/(\d+)/v1beta2/tidbs/(\d+)/premiumMigration.*`:    `nextgen/orgs/{org_id}/tidbs/{tidb_id}/premium_migration/modify`,
	`delete:/orgs/(\d+)/v1beta2/tidbs/(\d+)/premiumMigration.*`: `nextgen/orgs/{org_id}/tidbs/{tidb_id}/premium_migration/modify`,
}
