added servers model, controller and routes
parent
58dbb7ca71
commit
701570cdb6
|
|
@ -0,0 +1,59 @@
|
|||
package controllers
|
||||
|
||||
import (
|
||||
"api/database"
|
||||
"api/models"
|
||||
"api/utils"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
// AddServer - Adds a server to the database
|
||||
func AddServer(c *fiber.Ctx) error {
|
||||
|
||||
var data map[string]string
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return fiber.ErrBadRequest
|
||||
}
|
||||
|
||||
if data["name"] == "" || data["ip"] == "" {
|
||||
return fiber.ErrBadRequest
|
||||
}
|
||||
|
||||
server := models.Server{
|
||||
Name: data["name"],
|
||||
IP: data["ip"],
|
||||
}
|
||||
|
||||
database.DB.Create(&server)
|
||||
|
||||
if server.Id == 0 {
|
||||
return fiber.ErrNotAcceptable
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"seerver": server,
|
||||
})
|
||||
}
|
||||
|
||||
// GetAllServers - Returns all servers
|
||||
func GetAllServers(c *fiber.Ctx) error {
|
||||
|
||||
var servers []models.Server
|
||||
|
||||
_, err := utils.ProcessToken(c)
|
||||
if err != nil {
|
||||
return fiber.ErrUnauthorized
|
||||
}
|
||||
|
||||
database.DB.Find(&servers)
|
||||
|
||||
if len(servers) == 0 {
|
||||
return fiber.ErrNotFound
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"servers": servers,
|
||||
})
|
||||
}
|
||||
|
|
@ -52,6 +52,24 @@ func ConnectDB() error {
|
|||
return result
|
||||
}
|
||||
|
||||
if result := db.AutoMigrate(&models.Server{}); result != nil {
|
||||
return result
|
||||
}
|
||||
|
||||
// Count how many servers we have on the database. If none, creates our initial server.
|
||||
var servers []models.Server
|
||||
|
||||
db.Find(&servers)
|
||||
|
||||
if len(servers) == 0 {
|
||||
server := models.Server{
|
||||
Name: "Pcast Main Server",
|
||||
IP: "177.153.50.98",
|
||||
}
|
||||
|
||||
db.Create(&server)
|
||||
}
|
||||
|
||||
// Count how many users we have on the database. If none, creates our initial admin user.
|
||||
var users []models.User
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
package globals
|
||||
|
||||
var (
|
||||
API_VERSION = "1.0.13"
|
||||
API_VERSION = "1.0.14"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
package models
|
||||
|
||||
type Server struct {
|
||||
Id uint `gorm:"primary key" json:"id"`
|
||||
Name string `gorm:"size:40;not null" json:"name"`
|
||||
IP string `gorm:"size:40;not null" json:"ip"`
|
||||
}
|
||||
|
|
@ -29,6 +29,9 @@ func Setup(app *fiber.App) {
|
|||
SigningKey: []byte(os.Getenv("API_SECRET")),
|
||||
}))
|
||||
|
||||
protected.Get("servers", controllers.GetAllServers)
|
||||
protected.Post("server", controllers.AddServer)
|
||||
|
||||
protected.Get("user", controllers.GetOwnUser)
|
||||
protected.Get("users", controllers.GetAllUsers)
|
||||
protected.Post("user", controllers.AddUser)
|
||||
|
|
|
|||
Loading…
Reference in New Issue