package authcenter

import "github.com/tidbcloud/account/internel/dao/entity"

const (
	CloudAdminUsername              = "cloud_admin"
	RootUsername                    = "root"
	CloudSystemSettingAdminUsername = "sys_sets_admin"
	CloudRestrictUserAdminUsername  = "rest_user_admin"
)

var (
	noCreateKernelUsers = map[string]struct{}{
		CloudAdminUsername: {},
	}

	KernelUserGrantSql = map[string][]string{
		CloudSystemSettingAdminUsername: {
			"GRANT SHOW DATABASES on *.* TO '%s'@'%%';",
		},
		CloudRestrictUserAdminUsername: {
			"GRANT SELECT, INSERT, UPDATE, DELETE ON mysql.user TO '%s'@'%%';",
		},
	}

	SupportClusterUserTargetType = map[entity.ClusterUserTargetType]struct{}{
		entity.ClusterUserTargetCloudApiKey:  {},
		entity.ClusterUserTargetCloudUser:    {},
		entity.ClusterUserTargetCloudSqlUser: {},
		entity.ClusterUserTargetLimitedUser:  {},
		entity.ClusterUserTargetBuiltinUser:  {},
	}
)
