| package fasthttp |
|
|
| import ( |
| |
| ada "github.com/GoAdminGroup/go-admin/adapter/fasthttp" |
| |
| _ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql" |
| |
| _ "github.com/GoAdminGroup/go-admin/modules/db/drivers/postgres" |
| |
| _ "github.com/GoAdminGroup/go-admin/modules/db/drivers/sqlite" |
| |
| _ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mssql" |
| |
| "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/buaazp/fasthttprouter" |
| "github.com/valyala/fasthttp" |
| ) |
|
|
| func internalHandler() fasthttp.RequestHandler { |
| router := fasthttprouter.New() |
|
|
| 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(router); err != nil { |
| panic(err) |
| } |
|
|
| eng.HTML("GET", "/admin", tables.GetContent) |
|
|
| return func(ctx *fasthttp.RequestCtx) { |
| router.Handler(ctx) |
| } |
| } |
|
|
| func NewHandler(dbs config.DatabaseList, gens table.GeneratorList) fasthttp.RequestHandler { |
| router := fasthttprouter.New() |
|
|
| 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.Fasthttp)). |
| AddGenerators(gens). |
| Use(router); err != nil { |
| panic(err) |
| } |
|
|
| eng.HTML("GET", "/admin", tables.GetContent) |
|
|
| return func(ctx *fasthttp.RequestCtx) { |
| router.Handler(ctx) |
| } |
| } |
|
|