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