Add a LevelDB database
This commit is contained in:
parent
25a4d7be2c
commit
444d064ba9
8 changed files with 136 additions and 75 deletions
15
app.go
15
app.go
|
|
@ -10,11 +10,13 @@ import (
|
|||
|
||||
"git.nemunai.re/nemunaire/reveil/api"
|
||||
"git.nemunai.re/nemunaire/reveil/config"
|
||||
"git.nemunai.re/nemunaire/reveil/model"
|
||||
"git.nemunai.re/nemunaire/reveil/ui"
|
||||
)
|
||||
|
||||
type App struct {
|
||||
cfg *config.Config
|
||||
db *reveil.LevelDBStorage
|
||||
router *gin.Engine
|
||||
srv *http.Server
|
||||
}
|
||||
|
|
@ -30,9 +32,15 @@ func NewApp(cfg *config.Config) App {
|
|||
c.Next()
|
||||
})
|
||||
|
||||
// Open Database
|
||||
db, err := reveil.NewLevelDBStorage(cfg.LevelDBPath)
|
||||
if err != nil {
|
||||
log.Fatal("Unable to open the database:", err)
|
||||
}
|
||||
|
||||
// Register routes
|
||||
ui.DeclareRoutes(router, cfg)
|
||||
api.DeclareRoutes(router, cfg)
|
||||
api.DeclareRoutes(router, cfg, db)
|
||||
|
||||
router.GET("/api/version", func(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"version": Version})
|
||||
|
|
@ -41,6 +49,7 @@ func NewApp(cfg *config.Config) App {
|
|||
// We are ready!
|
||||
app := App{
|
||||
cfg: cfg,
|
||||
db: db,
|
||||
router: router,
|
||||
}
|
||||
|
||||
|
|
@ -65,4 +74,8 @@ func (app *App) Stop() {
|
|||
if err := app.srv.Shutdown(ctx); err != nil {
|
||||
log.Fatal("Server Shutdown:", err)
|
||||
}
|
||||
|
||||
if err := app.db.Close(); err != nil {
|
||||
log.Fatal("Database Close:", err)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue