website/api/routes/services.go

43 lines
805 B
Go
Raw Normal View History

2023-11-12 17:43:23 +03:00
package routes
import (
2024-10-06 17:30:25 +03:00
"database/sql"
2023-11-12 17:43:23 +03:00
"github.com/gofiber/fiber/v2"
"github.com/ngn13/website/api/database"
2023-11-12 17:43:23 +03:00
"github.com/ngn13/website/api/util"
)
2024-10-06 17:30:25 +03:00
func GET_Services(c *fiber.Ctx) error {
var (
2024-10-06 17:30:25 +03:00
services []database.Service
rows *sql.Rows
db *sql.DB
err error
)
2024-10-06 17:30:25 +03:00
db = *(c.Locals("database").(**sql.DB))
2024-10-06 17:30:25 +03:00
if rows, err = db.Query("SELECT * FROM services"); err != nil {
util.Fail("cannot load services: %s", err.Error())
return util.ErrServer(c)
}
2024-10-06 17:30:25 +03:00
defer rows.Close()
for rows.Next() {
2024-10-06 17:30:25 +03:00
var service database.Service
if err = service.Load(rows); err != nil {
util.Fail("error while loading service: %s", err.Error())
return util.ErrServer(c)
}
2024-10-06 17:30:25 +03:00
services = append(services, service)
}
return c.JSON(fiber.Map{
"error": "",
"result": services,
})
2023-11-12 17:43:23 +03:00
}