File size: 2,178 Bytes
530729e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
package gofiber
import (
// add fasthttp adapter
ada "github.com/GoAdminGroup/go-admin/adapter/gofiber"
// add mysql driver
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql"
// add postgresql driver
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/postgres"
// add sqlite driver
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/sqlite"
// add mssql driver
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mssql"
// add adminlte ui theme
"github.com/GoAdminGroup/themes/adminlte"
"os"
"github.com/GoAdminGroup/go-admin/engine"
"github.com/GoAdminGroup/go-admin/modules/config"
"github.com/GoAdminGroup/go-admin/modules/language"
"github.com/GoAdminGroup/go-admin/plugins/admin"
"github.com/GoAdminGroup/go-admin/plugins/admin/modules/table"
"github.com/GoAdminGroup/go-admin/template"
"github.com/GoAdminGroup/go-admin/template/chartjs"
"github.com/GoAdminGroup/go-admin/tests/tables"
"github.com/gofiber/fiber/v2"
"github.com/valyala/fasthttp"
)
func internalHandler() fasthttp.RequestHandler {
app := fiber.New(fiber.Config{
ServerHeader: "Fiber",
})
eng := engine.Default()
adminPlugin := admin.NewAdmin(tables.Generators).AddDisplayFilterXssJsFilter()
adminPlugin.AddGenerator("user", tables.GetUserTable)
template.AddComp(chartjs.NewChart())
if err := eng.AddConfigFromJSON(os.Args[len(os.Args)-1]).
AddPlugins(adminPlugin).
Use(app); err != nil {
panic(err)
}
eng.HTML("GET", "/admin", tables.GetContent)
return app.Handler()
}
func NewHandler(dbs config.DatabaseList, gens table.GeneratorList) fasthttp.RequestHandler {
app := fiber.New(fiber.Config{
ServerHeader: "Fiber",
})
eng := engine.Default()
template.AddComp(chartjs.NewChart())
if err := eng.AddConfig(&config.Config{
Databases: dbs,
UrlPrefix: "admin",
Store: config.Store{
Path: "./uploads",
Prefix: "uploads",
},
Language: language.EN,
IndexUrl: "/",
Debug: true,
ColorScheme: adminlte.ColorschemeSkinBlack,
}).
AddAdapter(new(ada.Gofiber)).
AddGenerators(gens).
Use(app); err != nil {
panic(err)
}
eng.HTML("GET", "/admin", tables.GetContent)
return app.Handler()
}
|