-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,
+var (
+ username = os.Getenv("POSTGRES_USER")
+ password = os.Getenv("POSTGRES_PASSWORD")
+ dbName = os.Getenv("POSTGRES_DATABASE")
+ dbHost = os.Getenv("DBHOST")
+
+)
+
+// 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...")
+
+ dbUri := fmt.Sprintf("host=%s user=%s dbname=%s sslmode=disable password=%s", dbHost, username, dbName, password) //Build connection string
+
+ conn, err := gorm.Open("postgres", dbUri)
+ if err != nil {
+ fmt.Print(err)
+ }
+
+ db := conn
+ 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,