diff --git a/boltdb/boltdb.go b/boltdb/boltdb.go index afb5bd0..1d2a2a0 100644 --- a/boltdb/boltdb.go +++ b/boltdb/boltdb.go @@ -3,7 +3,6 @@ package boltdb import ( "encoding/json" "errors" - "fmt" "os" "path/filepath" @@ -29,10 +28,6 @@ type connector interface { type defaultConnector struct{} func (b defaultConnector) Open(file string) (connection, error) { - if !filepath.IsAbs(file) { - dir, _ := os.Getwd() - file = fmt.Sprintf("%s/../%s", dir, file) - } os.MkdirAll(filepath.Dir(file), 0755) return bolt.Open(file, 0600, nil) @@ -57,6 +52,14 @@ func newCustomTaskDB(c connector, file string) (*TaskDB, error) { return nil, err } + err = conn.Update(func(tx *bolt.Tx) error { + _, err := tx.CreateBucketIfNotExists([]byte("tasks")) + return err + }) + if err != nil { + return nil, err + } + return &TaskDB{conn: conn}, nil } @@ -74,10 +77,6 @@ func (db *TaskDB) Clean() error { return err } - if _, err := tx.CreateBucketIfNotExists([]byte("tasks")); err != nil { - return err - } - return nil }) } diff --git a/db/.keep b/db/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/misc/swagger.yaml b/misc/swagger.yaml index 9ebd804..3d10846 100644 --- a/misc/swagger.yaml +++ b/misc/swagger.yaml @@ -19,8 +19,6 @@ paths: description: Task details schema: $ref: '#/definitions/Task' - 404: - description: No tasks found default: description: Unexpected error post: diff --git a/server/handler.go b/server/handler.go index 1c17f74..e5becc1 100644 --- a/server/handler.go +++ b/server/handler.go @@ -123,6 +123,7 @@ func (h Handler) ListRunningTasks() http.HandlerFunc { tasks, err := h.database.ListNonTerminalTasks() if err != nil { handleError(err, w, "Unable to fetch running tasks from the database") + return } writeJSON(200, tasks, w) }