17 lines
504 B
Go
17 lines
504 B
Go
package database
|
|
|
|
import "github.com/gofiber/fiber/v2"
|
|
|
|
// Simple middleware that provides a shared database pool as a local key "db"
|
|
func DbMiddleware(db *Database) func(c *fiber.Ctx) error {
|
|
return func(c *fiber.Ctx) error {
|
|
c.Locals("db", db)
|
|
return c.Next()
|
|
}
|
|
}
|
|
|
|
// Helper function to get the database from the context, without fiddling with casts
|
|
func GetDb(c *fiber.Ctx) Database {
|
|
// Dereference a pointer to a local, casted to a pointer to a Database
|
|
return *c.Locals("db").(*Database)
|
|
}
|