package e_cmii

import (
	"encoding/base64"
	"wdd.io/agent-deploy/c_middle"
	"wdd.io/agent-deploy/d_app"
	"wdd.io/agent-deploy/z_dep"
)

type CmiiEnvConfig struct {
	c_middle.MySQlConfig
	c_middle.RedisConfig
	c_middle.MongoConfig
	c_middle.RabbitMQConfig
	c_middle.NacosConfig
	c_middle.EmqxConfig
	d_app.CmiiFrontendConfig
	d_app.CmiiBackendConfig
	d_app.CmiiSrsConfig
}

var CmiiOutSideConfig = &CmiiEnvConfig{
	MySQlConfig: c_middle.MySQlConfig{
		MySQLNodePort:           "33306",
		MySQLRootPassword:       "QzfXQhd3bQ",
		MySQLRootPasswordBase64: base64.StdEncoding.EncodeToString([]byte("QzfXQhd3bQ")),
		MySQLK8sAdminPassword:   "fP#UaH6qQ3)8",
	},
	RedisConfig: c_middle.RedisConfig{},
	MongoConfig: c_middle.MongoConfig{
		MongoPassword: "REdPza8#oVlt",
		MongoNodePort: "37017",
	},
	RabbitMQConfig: c_middle.RabbitMQConfig{
		CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
		RabbitNodePort:          "35672",
		RabbitDashboardNodePort: "36675",
		RabbitPassword:          "nYcRN91r._hj",
		RabbitPasswordBase64:    "blljUk45MXIuX2hq",
	},
	NacosConfig: c_middle.NacosConfig{
		MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
		NacosNodePort:         "38848",
	},
	EmqxConfig: c_middle.EmqxConfig{
		EmqxNodePort:          "31883",
		EmqxDashboardNodePort: "38085",
		EmqxWebSocketNodePort: "38083",
		EmqxPassword:          "odD8#Ve7.B",
	},
	CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
	CmiiBackendConfig:  d_app.CmiiBackendConfig{},
	CmiiSrsConfig: d_app.CmiiSrsConfig{
		RtmpPort:              "31935",
		WebRTCPort:            "30090",
		SrtPort:               "30556",
		WebApiPort:            "30080",
		MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
	},
}

var CmiiDevConfig = &CmiiEnvConfig{
	MySQlConfig: c_middle.MySQlConfig{
		MySQLNodePort:           "33306",
		MySQLRootPassword:       "Gwubc6CxRM",
		MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
		MySQLK8sAdminPassword:   "VFJncwy58^Zm",
	},
	RedisConfig: c_middle.RedisConfig{},
	MongoConfig: c_middle.MongoConfig{
		MongoPassword: "7(#dD3zcz8",
		MongoNodePort: "37017",
	},
	RabbitMQConfig: c_middle.RabbitMQConfig{
		CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
		RabbitNodePort:          "35672",
		RabbitDashboardNodePort: "36675",
		RabbitPassword:          "7v&7#w1ef)T-",
		RabbitPasswordBase64:    "N3YmNyN3MWVmKVQt",
	},
	NacosConfig: c_middle.NacosConfig{
		MySQLK8sAdminPassword: "VFJncwy58^Zm",
		NacosNodePort:         "33848",
	},
	EmqxConfig: c_middle.EmqxConfig{
		EmqxNodePort:          "31883",
		EmqxDashboardNodePort: "38085",
		EmqxWebSocketNodePort: "38083",
		EmqxPassword:          "4YPk*DS%+5",
	},
	CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
	CmiiBackendConfig:  d_app.CmiiBackendConfig{},
	CmiiSrsConfig: d_app.CmiiSrsConfig{
		RtmpPort:              "30935",
		WebRTCPort:            "30090",
		SrtPort:               "30556",
		WebApiPort:            "30557",
		MySQLK8sAdminPassword: "VFJncwy58^Zm",
	},
}

var CmiiDevFlightConfig = &CmiiEnvConfig{
	MySQlConfig: c_middle.MySQlConfig{
		MySQLNodePort:           "33307",
		MySQLRootPassword:       "Gwubc6CxRM",
		MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
		MySQLK8sAdminPassword:   "VFJncwy58^Zm",
	},
	RedisConfig: c_middle.RedisConfig{},
	MongoConfig: c_middle.MongoConfig{
		MongoPassword: "7(#dD3zcz8",
		MongoNodePort: "37018",
	},
	RabbitMQConfig: c_middle.RabbitMQConfig{
		CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
		RabbitNodePort:          "35673",
		RabbitDashboardNodePort: "36676",
		RabbitPassword:          "7v&7#w1ef)T-",
		RabbitPasswordBase64:    "N3YmNyN3MWVmKVQt",
	},
	NacosConfig: c_middle.NacosConfig{
		MySQLK8sAdminPassword: "VFJncwy58^Zm",
		NacosNodePort:         "33849",
	},
	EmqxConfig: c_middle.EmqxConfig{
		EmqxNodePort:          "31884",
		EmqxDashboardNodePort: "38086",
		EmqxWebSocketNodePort: "38084",
		EmqxPassword:          "4YPk*DS%+5",
	},
	CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
	CmiiBackendConfig:  d_app.CmiiBackendConfig{},
	CmiiSrsConfig: d_app.CmiiSrsConfig{
		RtmpPort:              "30936",
		WebRTCPort:            "30091",
		SrtPort:               "30558",
		WebApiPort:            "30559",
		MySQLK8sAdminPassword: "VFJncwy58^Zm",
	},
}

var CmiiDevOperationConfig = &CmiiEnvConfig{
	MySQlConfig: c_middle.MySQlConfig{
		MySQLNodePort:           "33308",
		MySQLRootPassword:       "Gwubc6CxRM",
		MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
		MySQLK8sAdminPassword:   "VFJncwy58^Zm",
	},
	RedisConfig: c_middle.RedisConfig{},
	MongoConfig: c_middle.MongoConfig{
		MongoPassword: "7(#dD3zcz8",
		MongoNodePort: "37019",
	},
	RabbitMQConfig: c_middle.RabbitMQConfig{
		CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
		RabbitNodePort:          "35674",
		RabbitDashboardNodePort: "36677",
		RabbitPassword:          "7v&7#w1ef)T-",
		RabbitPasswordBase64:    "N3YmNyN3MWVmKVQt",
	},
	NacosConfig: c_middle.NacosConfig{
		MySQLK8sAdminPassword: "VFJncwy58^Zm",
		NacosNodePort:         "33850",
	},
	EmqxConfig: c_middle.EmqxConfig{
		EmqxNodePort:          "31885",
		EmqxDashboardNodePort: "38087",
		EmqxWebSocketNodePort: "38085",
		EmqxPassword:          "4YPk*DS%+5",
	},
	CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
	CmiiBackendConfig:  d_app.CmiiBackendConfig{},
	CmiiSrsConfig: d_app.CmiiSrsConfig{
		RtmpPort:              "30937",
		WebRTCPort:            "30092",
		SrtPort:               "30560",
		WebApiPort:            "30561",
		MySQLK8sAdminPassword: "VFJncwy58^Zm",
	},
}
var CmiiIntegrationConfig = &CmiiEnvConfig{}
var CmiiUatConfig = &CmiiEnvConfig{}
var CmiiValidationConfig = &CmiiEnvConfig{}
var CmiiDemoConfig = &CmiiEnvConfig{}
