func insertProxy(request *ProxyRequest) error { /** //create user in the admin db dbuser := types.ContainerUser{} dbuser.Containername = request.ContainerName dbuser.Passwd = request.Passwd dbuser.Rolname = request.Usename */ dbConn, err := util.GetConnection(CLUSTERADMIN_DB) if err != nil { logit.Error.Println(err.Error()) return err } defer dbConn.Close() /* containerUserID, err = admindb.AddContainerUser(dbConn, dbuser) if err != nil { logit.Error.Println(err.Error()) return err } logit.Info.Printf("insertProxy: new ID %d\n ", containerUserID) */ var container types.Container container, err = admindb.GetContainerByName(dbConn, request.ContainerName) if err != nil { logit.Error.Println(err.Error()) return err } proxy := types.Proxy{} proxy.ContainerID = container.ID proxy.Host = request.Host proxy.Database = request.Database proxy.ProjectID = request.ProjectID proxy.Port = request.Port proxy.Usename = request.Usename //encrypt the password...passwords at rest are encrypted var encrypted string encrypted, err = sec.EncryptPassword(request.Passwd) if err != nil { logit.Error.Println(err.Error()) return err } proxy.Passwd = encrypted queryStr := fmt.Sprintf("insert into proxy ( containerid, projectid, port, host, usename, passwd, databasename, updatedt) values ( %s, %s, '%s', '%s', '%s', '%s', '%s', now()) returning id", proxy.ContainerID, proxy.ProjectID, proxy.Port, proxy.Host, proxy.Usename, proxy.Passwd, proxy.Database) logit.Info.Println("insertProxy:" + queryStr) var proxyid int err = dbConn.QueryRow(queryStr).Scan(&proxyid) switch { case err != nil: logit.Info.Println("insertProxy:" + err.Error()) return err default: logit.Info.Println("insertProxy: inserted returned is " + strconv.Itoa(proxyid)) } return err }