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
|
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.
|
// Count how many users we have on the database. If none, creates our initial admin user.
|
||||||
var users []models.User
|
var users []models.User
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
package globals
|
package globals
|
||||||
|
|
||||||
var (
|
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")),
|
SigningKey: []byte(os.Getenv("API_SECRET")),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
protected.Get("servers", controllers.GetAllServers)
|
||||||
|
protected.Post("server", controllers.AddServer)
|
||||||
|
|
||||||
protected.Get("user", controllers.GetOwnUser)
|
protected.Get("user", controllers.GetOwnUser)
|
||||||
protected.Get("users", controllers.GetAllUsers)
|
protected.Get("users", controllers.GetAllUsers)
|
||||||
protected.Post("user", controllers.AddUser)
|
protected.Post("user", controllers.AddUser)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue