DodoApp: Support dev virtual machines
Change-Id: Ib7641adb5be477bdde7cd9a06df4b45aa65a1c01
diff --git a/core/installer/welcome/store.go b/core/installer/welcome/store.go
index 06be06a..3f8428d 100644
--- a/core/installer/welcome/store.go
+++ b/core/installer/welcome/store.go
@@ -40,9 +40,10 @@
GetUserApps(username string) ([]string, error)
CreateApp(name, username string) error
GetAppOwner(name string) (string, error)
- CreateCommit(name, hash, message, status, error string, resources []byte) error
- GetCommitHistory(name string) ([]CommitMeta, error)
+ CreateCommit(name, branch, hash, message, status, error string, resources []byte) error
+ GetCommitHistory(name, branch string) ([]CommitMeta, error)
GetCommit(hash string) (Commit, error)
+ GetBranches(name string) ([]string, error)
}
func NewStore(cf soft.RepoIO, db *sql.DB) (Store, error) {
@@ -71,6 +72,7 @@
);
CREATE TABLE IF NOT EXISTS commits (
app_name TEXT,
+ branch TEXT,
hash TEXT,
message TEXT,
status TEXT,
@@ -186,15 +188,15 @@
return ret, nil
}
-func (s *storeImpl) CreateCommit(name, hash, message, status, error string, resources []byte) error {
- query := `INSERT INTO commits (app_name, hash, message, status, error, resources) VALUES (?, ?, ?, ?, ?, ?)`
- _, err := s.db.Exec(query, name, hash, message, status, error, resources)
+func (s *storeImpl) CreateCommit(name, branch, hash, message, status, error string, resources []byte) error {
+ query := `INSERT INTO commits (app_name, branch, hash, message, status, error, resources) VALUES (?, ?, ?, ?, ?, ?, ?)`
+ _, err := s.db.Exec(query, name, branch, hash, message, status, error, resources)
return err
}
-func (s *storeImpl) GetCommitHistory(name string) ([]CommitMeta, error) {
- query := `SELECT hash, message, status, error FROM commits WHERE app_name = ?`
- rows, err := s.db.Query(query, name)
+func (s *storeImpl) GetCommitHistory(name, branch string) ([]CommitMeta, error) {
+ query := `SELECT hash, message, status, error FROM commits WHERE app_name = ? AND branch = ?`
+ rows, err := s.db.Query(query, name, branch)
if err != nil {
return nil, err
}
@@ -231,3 +233,25 @@
}
return ret, nil
}
+
+func (s *storeImpl) GetBranches(name string) ([]string, error) {
+ query := `SELECT DISTINCT branch FROM commits WHERE app_name = ?`
+ rows, err := s.db.Query(query, name)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+ ret := []string{}
+ for rows.Next() {
+ if err := rows.Err(); err != nil {
+ return nil, err
+ }
+ var b string
+ if err := rows.Scan(&b); err != nil {
+ return nil, err
+ }
+ ret = append(ret, b)
+
+ }
+ return ret, nil
+}