feat: Added gorm.io/gorm and gorm.io/driver/sqlite dependencies, initialized service registry database with SQLite backend

This commit is contained in:
2025-02-11 15:42:09 +01:00
parent a4f70d0376
commit 9d4c10b392
7 changed files with 69 additions and 0 deletions

View File

@@ -1,10 +1,23 @@
package generalnode
import (
"github.com/alexohneander/flotte/pkg/models"
"github.com/gin-gonic/gin"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func Start() {
// Init Service Registry Database
db, err := gorm.Open(sqlite.Open("flotte.db"), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
// Migrate the schema
db.AutoMigrate(&models.Service{})
// Init API Backend
router := gin.Default()
router = registerRoutes(router)

View File

@@ -28,6 +28,13 @@ func registerRoutes(router *gin.Engine) *gin.Engine {
})
}
err = registerSerivce(req)
if err != nil {
c.JSON(500, gin.H{
"message": err.Error(),
})
}
c.JSON(200, respone.ServiceRegister{
ServiceName: req.Name,
Status: "registered",

View File

@@ -1 +1,22 @@
package generalnode
import (
"fmt"
"github.com/alexohneander/flotte/pkg/models"
"github.com/alexohneander/flotte/pkg/types/request"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func registerSerivce(req request.ServiceRegister) error {
db, err := gorm.Open(sqlite.Open("flotte.db"), &gorm.Config{})
if err != nil {
fmt.Println("failed to connect database")
return err
}
db.Create(&models.Service{Name: req.Name, NodeType: req.NodeType, Address: req.Address, Port: req.Port, Status: "running"})
return nil
}