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"
|
2024-07-24 01:15:37 +03:00
|
|
|
"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 {
|
2024-07-24 01:15:37 +03:00
|
|
|
var (
|
2024-10-06 17:30:25 +03:00
|
|
|
services []database.Service
|
|
|
|
rows *sql.Rows
|
|
|
|
db *sql.DB
|
2024-07-24 01:15:37 +03:00
|
|
|
err error
|
|
|
|
)
|
|
|
|
|
2024-10-06 17:30:25 +03:00
|
|
|
db = *(c.Locals("database").(**sql.DB))
|
2024-07-24 01:15:37 +03:00
|
|
|
|
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())
|
2024-07-24 01:15:37 +03:00
|
|
|
return util.ErrServer(c)
|
|
|
|
}
|
2024-10-06 17:30:25 +03:00
|
|
|
defer rows.Close()
|
2024-07-24 01:15:37 +03:00
|
|
|
|
|
|
|
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-07-24 01:15:37 +03:00
|
|
|
}
|
2024-10-06 17:30:25 +03:00
|
|
|
|
2024-07-24 01:15:37 +03:00
|
|
|
services = append(services, service)
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.JSON(fiber.Map{
|
|
|
|
"error": "",
|
|
|
|
"result": services,
|
|
|
|
})
|
2023-11-12 17:43:23 +03:00
|
|
|
}
|