Browse Source

修改bug

yjp 1 year ago
parent
commit
81e970a4c6
3 changed files with 27 additions and 11 deletions
  1. 10 10
      demo/demo.go
  2. 2 1
      sdk/options.go
  3. 15 0
      sdk/spec.go

+ 10 - 10
demo/demo.go

@@ -16,15 +16,15 @@ const (
 )
 
 var (
-	dataSourceMap = map[string]any{
-		"type":                 "postgres",
-		"user_name":            "test",
-		"password":             "123456",
-		"address":              "localhost",
-		"port":                 "30432",
-		"database":             "test",
-		"max_connections":      40,
-		"max_idle_connections": 10,
+	dataSourceSpec = sdk.DataSourceDatabaseSpec{
+		Type:               sdk.DataSourceDatabaseTypePostgres,
+		UserName:           "test",
+		Password:           "123456",
+		Address:            "localhost",
+		Port:               "30432",
+		Database:           "test",
+		MaxConnections:     40,
+		MaxIdleConnections: 10,
 	}
 
 	dataContainerSpec = sdk.DataContainerDatabaseSpec{
@@ -65,7 +65,7 @@ func main() {
 	err := sdk.InitInstance(token, baseUrl, namespace, &sdk.DataSourceOption{
 		Name: dataSource,
 		Type: sdk.DataSourceTypeDatabase,
-		Spec: dataSourceMap,
+		Spec: dataSourceSpec.ToMap(),
 	})
 	if err != nil {
 		panic(err)

+ 2 - 1
sdk/options.go

@@ -13,7 +13,8 @@ func WithTimeout(timeout time.Duration) Option {
 }
 
 const (
-	DataSourceTypeDatabase = "database"
+	DataSourceTypeDatabase         = "database"
+	DataSourceDatabaseTypePostgres = "postgres"
 )
 
 type DataSourceOption struct {

+ 15 - 0
sdk/spec.go

@@ -2,6 +2,21 @@ package sdk
 
 import "github.com/fatih/structs"
 
+type DataSourceDatabaseSpec struct {
+	Type               string `structs:"type"`
+	UserName           string `structs:"user_name"`
+	Password           string `structs:"password"`
+	Address            string `structs:"address"`
+	Port               string `structs:"port"`
+	Database           string `structs:"database"`
+	MaxConnections     int    `structs:"max_connections"`
+	MaxIdleConnections int    `structs:"max_idle_connections"`
+}
+
+func (spec *DataSourceDatabaseSpec) ToMap() map[string]any {
+	return structs.Map(spec)
+}
+
 type DataContainerDatabaseSpec struct {
 	TableName string                            `structs:"table_name"`
 	Columns   []DataContainerDatabaseColumnSpec `structs:"columns"`