diff --git a/Makefile b/Makefile index 9bf2686..b571468 100644 --- a/Makefile +++ b/Makefile @@ -37,6 +37,7 @@ ts-debug: cp -r ts data/static/ swagger: + go get github.com/swaggo/swag/cmd/swag swag init -g main.go version: @@ -60,8 +61,8 @@ copy: install: cp -r build $(DESTDIR)/jfa-go -all: configuration sass mail version typescript compile copy -headless: configuration sass-headless mail-headless version typescript compile copy +all: configuration sass mail version typescript swagger compile copy +headless: configuration sass-headless mail-headless version typescript swagger compile copy diff --git a/go.mod b/go.mod index 29ab3ed..cda7de3 100644 --- a/go.mod +++ b/go.mod @@ -21,6 +21,7 @@ require ( github.com/json-iterator/go v1.1.10 // indirect github.com/knz/strtime v0.0.0-20200318182718-be999391ffa9 github.com/lithammer/shortuuid/v3 v3.0.4 + github.com/logrusorgru/aurora/v3 v3.0.0 github.com/mailgun/mailgun-go/v4 v4.1.3 github.com/mailru/easyjson v0.7.6 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -33,7 +34,7 @@ require ( github.com/urfave/cli/v2 v2.2.0 // indirect golang.org/x/net v0.0.0-20200923182212-328152dc79b1 // indirect golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed // indirect - golang.org/x/tools v0.0.0-20200923182640-463111b69878 // indirect + golang.org/x/tools v0.0.0-20200924182824-0f1c53950d78 // indirect google.golang.org/protobuf v1.25.0 // indirect gopkg.in/ini.v1 v1.60.0 gopkg.in/yaml.v2 v2.3.0 // indirect diff --git a/go.sum b/go.sum index 8e9a5ff..4719f00 100644 --- a/go.sum +++ b/go.sum @@ -135,6 +135,9 @@ github.com/lithammer/shortuuid v1.0.0 h1:kdcbvjGVEgqeVeDIRtnANOi/F6ftbKrtbxY+cjQ github.com/lithammer/shortuuid v3.0.0+incompatible h1:NcD0xWW/MZYXEHa6ITy6kaXN5nwm/V115vj2YXfhS0w= github.com/lithammer/shortuuid/v3 v3.0.4 h1:uj4xhotfY92Y1Oa6n6HUiFn87CdoEHYUlTy0+IgbLrs= github.com/lithammer/shortuuid/v3 v3.0.4/go.mod h1:RviRjexKqIzx/7r1peoAITm6m7gnif/h+0zmolKJjzw= +github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= +github.com/logrusorgru/aurora/v3 v3.0.0 h1:R6zcoZZbvVcGMvDCKo45A9U/lzYyzl5NfYIvznmDfE4= +github.com/logrusorgru/aurora/v3 v3.0.0/go.mod h1:vsR12bk5grlLvLXAYrBsb5Oc/N+LxAlxggSjiwMnCUc= github.com/mailgun/mailgun-go v1.1.1 h1:mjMcm4qz+SbjAYbGJ6DKROViKtO5S0YjpuOUxQfdr2A= github.com/mailgun/mailgun-go v2.0.0+incompatible h1:0FoRHWwMUctnd8KIR3vtZbqdfjpIMxOZgcSa51s8F8o= github.com/mailgun/mailgun-go/v4 v4.1.3 h1:KLa5EZaOMMeyvY/lfAhWxv9ealB3mtUsMz0O9XmTtP0= @@ -277,6 +280,8 @@ golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200923182640-463111b69878 h1:VUw1+Jf6KJPf82mbTQMia6HCnNMv2BbAipkEZ4KTcqQ= golang.org/x/tools v0.0.0-20200923182640-463111b69878/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20200924182824-0f1c53950d78 h1:3JUoxVhcskhsIDEc7vg0MUUEpmPPN5TfG+E97z/Fn90= +golang.org/x/tools v0.0.0-20200924182824-0f1c53950d78/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/main.go b/main.go index 6010eb3..de03da7 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,7 @@ import ( "github.com/gin-gonic/gin" _ "github.com/hrfee/jfa-go/docs" "github.com/lithammer/shortuuid/v3" + "github.com/logrusorgru/aurora/v3" swaggerFiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" "gopkg.in/ini.v1" @@ -248,7 +249,7 @@ func start(asDaemon, firstCall bool) { debugMode = true } if debugMode { - app.info.Println("WARNING: Don't use debug mode in production, as it exposes pprof on the network.") + app.info.Print(aurora.Magenta("\n\nWARNING: Don't use debug mode in production, as it exposes pprof on the network.\n\n")) app.debug = log.New(os.Stdout, "[DEBUG] ", log.Ltime|log.Lshortfile) } else { app.debug = log.New(ioutil.Discard, "", 0) @@ -471,7 +472,7 @@ func start(asDaemon, firstCall bool) { router.Use(static.Serve("/invite/", static.LocalFile(filepath.Join(app.local_path, "static"), false))) router.GET("/invite/:invCode", app.InviteProxy) if *SWAGGER { - app.info.Print("\n\nSwagger should not be used on a public instance.\nTo test the api with it, you need an API token. See the jfa-go wiki for how to get one.\n\n") + app.info.Print(aurora.Magenta("\n\nWARNING: Swagger should not be used on a public instance.\n\n")) router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) } api := router.Group("/", app.webAuth()) @@ -590,7 +591,7 @@ func flagPassed(name string) (found bool) { // @tag.description Things that dont fit elsewhere. func main() { - fmt.Printf("jfa-go version: %s (%s)\n", VERSION, COMMIT) + fmt.Print(aurora.Sprintf(aurora.Magenta("jfa-go version: %s (%s)\n"), aurora.BrightWhite(VERSION), aurora.White(COMMIT))) folder := "/tmp" if PLATFORM == "windows" { folder = os.Getenv("TEMP")