X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=mecm%2Fmepm%2Fapplcm%2Fbroker%2Fpkg%2Fhandlers%2Fadapter%2FdbAdapter%2FdbAdapter.go;h=d2d8ab7bb5d9a37a0c000c167a10b40328e08a9e;hb=246be669d7a8109bfc7ce3d7101268a248854be4;hp=2e527ec7063e85f7e0f47d23d450891486f2b746;hpb=973e68c113a84f5041406219dd87c0f7778ba0fe;p=ealt-edge.git diff --git a/mecm/mepm/applcm/broker/pkg/handlers/adapter/dbAdapter/dbAdapter.go b/mecm/mepm/applcm/broker/pkg/handlers/adapter/dbAdapter/dbAdapter.go index 2e527ec..d2d8ab7 100644 --- a/mecm/mepm/applcm/broker/pkg/handlers/adapter/dbAdapter/dbAdapter.go +++ b/mecm/mepm/applcm/broker/pkg/handlers/adapter/dbAdapter/dbAdapter.go @@ -17,23 +17,58 @@ package dbAdapter import ( "broker/pkg/handlers/model" - "fmt" "github.com/jinzhu/gorm" - "net/http" + "github.com/sirupsen/logrus" + "os" ) -func InsertAppInstanceInfo(db *gorm.DB, n model.AppInstanceInfo) { - fmt.Printf("Insert App Instance Info (%v, %T)\n", n, n) - db.Create(&model.AppInstanceInfo{ID: n.ID, AppInstanceName: n.AppInstanceName, AppInstanceDescription: n.AppInstanceDescription, +// DB name +const DbName = "applcmDB" + +// Database adapter +type DbAdapter struct { + logger *logrus.Logger + db *gorm.DB +} + +func NewDbAdapter(logger *logrus.Logger) *DbAdapter { + return &DbAdapter{logger: logger} +} + +// Creates database +func (adapter *DbAdapter) CreateDatabase() { + adapter.logger.Infof("creating Database...") + + usrpswd := os.Getenv("MYSQL_USER") + ":" + os.Getenv("MYSQL_PASSWORD") + host := "@tcp(" + "dbhost" + ":3306)/" + + db, err := gorm.Open("mysql", usrpswd + host) + if err != nil { + adapter.logger.Fatalf("Database connect error", err.Error()) + } + + db.Exec("CREATE DATABASE " + DbName) + db.Exec("USE applcmDB") + gorm.DefaultCallback.Create().Remove("mysql:set_identity_insert") + + adapter.logger.Infof("Migrating models...") + db.AutoMigrate(&model.AppPackageInfo{}) + db.AutoMigrate(&model.AppInstanceInfo{}) + adapter.db = db +} + +func (adapter *DbAdapter) InsertAppInstanceInfo(n model.AppInstanceInfo) { + adapter.logger.Infof("Insert App Instance Info (%v, %T)\n", n, n) + adapter.db.Create(&model.AppInstanceInfo{ID: n.ID, AppInstanceName: n.AppInstanceName, AppInstanceDescription: n.AppInstanceDescription, AppDID: n.AppDID, AppProvider: n.AppProvider, AppName: n.AppName, AppSoftVersion: n.AppSoftVersion, AppDVersion: n.AppDVersion, AppPkgID: n.AppPkgID, InstantiationState: n.InstantiationState}) - fmt.Printf("Inserting Done") + adapter.logger.Infof("Inserting Done") } -func GetAppInstanceInfo(db *gorm.DB, key string) (appInstInfo model.AppInstanceInfo) { - fmt.Printf("Get App Instance Info %s", key) +func (adapter *DbAdapter) GetAppInstanceInfo(key string) (appInstInfo model.AppInstanceInfo) { + adapter.logger.Infof("Get App Instance Info %s", key) var appInstanceInfo model.AppInstanceInfo - returnVal := db.First(&appInstanceInfo, "id=?", key).Error + returnVal := adapter.db.First(&appInstanceInfo, "id=?", key).Error if returnVal != nil { return } @@ -41,58 +76,52 @@ func GetAppInstanceInfo(db *gorm.DB, key string) (appInstInfo model.AppInstanceI return appInstanceInfo } -func UpdateAppInstanceInfoInstStatusHostAndWorkloadId(db *gorm.DB, id string, instantiationState string, host string, workloadId string) { - fmt.Printf("update into DB (%v, %T)\n", id, instantiationState, host, workloadId) +func (adapter *DbAdapter) UpdateAppInstanceInfoInstStatusHostAndWorkloadId(id string, instantiationState string, host string, workloadId string) { + adapter.logger.Infof("update into DB (%v, %T)\n", id, instantiationState, host, workloadId) var appInstInfo model.AppInstanceInfo - db.Where("id=?", id).First(&appInstInfo).Update("instantiationState", instantiationState).Update("host", host).Update("workloadID", workloadId) - fmt.Printf("AppName: %s\nAppDID: %s\nAppInstanceDescription:%t\n\n", + adapter.db.Where("id=?", id).First(&appInstInfo).Update("instantiationState", instantiationState).Update("host", host).Update("workloadID", workloadId) + adapter.logger.Infof("AppName: %s\nAppDID: %s\nAppInstanceDescription:%t\n\n", appInstInfo.AppName, appInstInfo.AppDID, appInstInfo.AppInstanceDescription) - fmt.Printf("Update Done") + adapter.logger.Infof("Update Done") } -func UpdateAppInstanceInfoInstStatusAndWorkload(db *gorm.DB, id string, instantiationState string, workloadId string) { - fmt.Printf("update DB (%v, %T)\n", id, instantiationState) +func (adapter *DbAdapter) UpdateAppInstanceInfoInstStatusAndWorkload(id string, instantiationState string, workloadId string) { + adapter.logger.Infof("update DB (%v, %T)\n", id, instantiationState) var appInstInfo model.AppInstanceInfo - db.Where("id=?", id).First(&appInstInfo).Update("instantiationState", instantiationState).Update("workloadID", workloadId) - fmt.Printf("AppName: %s\nAppDID: %s\nAppInstanceDescription:%t\n\n", + adapter.db.Where("id=?", id).First(&appInstInfo).Update("instantiationState", instantiationState).Update("workloadID", workloadId) + adapter.logger.Infof("AppName: %s\nAppDID: %s\nAppInstanceDescription:%t\n\n", appInstInfo.AppName, appInstInfo.AppDID, appInstInfo.AppInstanceDescription) - fmt.Printf("Update Done") -} - -func UpdateAppInstanceInfoHost(db *gorm.DB, w http.ResponseWriter, id string, host string) { + adapter.logger.Infof("Update Done") } -func DeleteAppInstanceInfo(db *gorm.DB, key string) { - - db.Where("id=?", key).Delete(&model.AppInstanceInfo{}) - - fmt.Println("Delete App Instance Info: $s", key) +func (adapter *DbAdapter) DeleteAppInstanceInfo(key string) { + adapter.db.Where("id=?", key).Delete(&model.AppInstanceInfo{}) + adapter.logger.Infof("Delete App Instance Info: $s", key) } -func InsertAppPackageInfo(db *gorm.DB, n model.AppPackageInfo) { - fmt.Printf("Insert App Package Info (%v, %T)\n", n, n) - db.Create(&model.AppPackageInfo{ID: n.ID, AppDID: n.AppDID, AppProvider: n.AppProvider, +func (adapter *DbAdapter) InsertAppPackageInfo(n model.AppPackageInfo) { + adapter.logger.Infof("Insert App Package Info (%v, %T)\n", n, n) + adapter.db.Create(&model.AppPackageInfo{ID: n.ID, AppDID: n.AppDID, AppProvider: n.AppProvider, AppName: n.AppName, AppSoftwareVersion: n.AppSoftwareVersion, AppDVersion: n.AppDVersion, OnboardingState: n.OnboardingState, DeployType: n.DeployType, AppPackage: n.AppPackage}) - - fmt.Printf("Inserting done") + adapter.logger.Infof("Inserting done") } -func GetAppPackageInfo(db *gorm.DB, key string) (appPackageInfo model.AppPackageInfo) { - fmt.Printf("Get App Package Info: %s", key) +func (adapter *DbAdapter) GetAppPackageInfo(key string) (appPackageInfo model.AppPackageInfo) { + adapter.logger.Infof("Get App Package Info: %s", key) var appPkgInfo model.AppPackageInfo - err := db.First(&appPkgInfo, "id=?", key).Error + err := adapter.db.First(&appPkgInfo, "id=?", key).Error if err != nil { return } return appPkgInfo } -func DeleteAppPackageInfo(db *gorm.DB, key string) { - fmt.Printf("Delete App Package Info: %s", key) - db.Where("id=?", key).Delete(&model.AppPackageInfo{}) - fmt.Println("Delete App Package Info: $s", key) +func (adapter *DbAdapter) DeleteAppPackageInfo(key string) { + adapter.logger.Infof("Delete App Package Info: %s", key) + adapter.db.Where("id=?", key).Delete(&model.AppPackageInfo{}) + adapter.logger.Infof("Delete App Package Info: $s", key) }