package apps import "github.com/rosti-cz/apps-api/common" func init() { db := common.GetDBConnection() db.AutoMigrate(Label{}) db.AutoMigrate(App{}) } // Get returns one app func Get(name string) (*App, error) { var app App db := common.GetDBConnection() err := db.First(&app).Where("name = ?", name).Error if err != nil { return nil, err } return &app, nil } // List returns all apps located on this node func List() (*[]App, error) { var apps []App db := common.GetDBConnection() err := db.Find(&apps).Error if err != nil { return nil, err } return &apps, nil } // New creates new record about application in the database func New(name string, SSHPort int, HTTPPort int, image string, CPU string, memory int) error { app := App{ Name: name, SSHPort: SSHPort, HTTPPort: HTTPPort, Image: image, CPU: CPU, Memory: memory, } db := common.GetDBConnection() if err := db.Create(app).Error; err != nil { return err } return nil } // Update changes value about app in the database func Update(name string, SSHPort int, HTTPPort int, image string, CPU string, memory int) error { var app App db := common.GetDBConnection() err := db.First(&app).Where("name = ?", name).Error if err != nil { return err } err = db.Model(&app).Updates(App{ SSHPort: SSHPort, HTTPPort: HTTPPort, Image: image, CPU: CPU, Memory: memory, }).Error return err } // Delete removes records about one app from the database func Delete(name string) error { db := common.GetDBConnection() err := db.Delete(App{}).Where("name = ?", name).Error return err }