Implémenter client web de base
Déplacer tous les flags vers rootCmd.PersistentFlags() Ajouter config struct types à models/ Ajouter data/apiclient.go#ApiClient.GetHealth() Ajouter webCmd avec viper.Unmarshal() pour valeurs de config Ajouter package web depuis agecem/bottin
This commit is contained in:
parent
7773b3cf72
commit
c850b221a1
8 changed files with 431 additions and 56 deletions
43
web/webhandlers/handlers.go
Normal file
43
web/webhandlers/handlers.go
Normal file
|
@ -0,0 +1,43 @@
|
|||
package webhandlers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"git.agecem.com/agecem/bottin/v5/data"
|
||||
"github.com/labstack/echo/v4"
|
||||
)
|
||||
|
||||
func GetIndex(c echo.Context) error {
|
||||
return c.Render(http.StatusOK, "index-html", nil)
|
||||
}
|
||||
|
||||
func GetMembre(c echo.Context) error {
|
||||
apiClient := data.NewApiClientFromViper()
|
||||
|
||||
membreID := c.QueryParam("membre_id")
|
||||
|
||||
membre, err := apiClient.GetMembre(membreID)
|
||||
if err != nil {
|
||||
return c.Render(http.StatusBadRequest, "index-html", struct {
|
||||
Result string
|
||||
}{
|
||||
Result: fmt.Sprintln("👎", err.Error()),
|
||||
})
|
||||
}
|
||||
|
||||
membreResult := fmt.Sprintf(`👍
|
||||
Membre trouvéE: [%s]`, membre.ID)
|
||||
|
||||
if membre.PreferedName != "" {
|
||||
membreResult = fmt.Sprintf("%s -> %s", membreResult, membre.PreferedName)
|
||||
} else {
|
||||
membreResult = fmt.Sprintf("%s -> %s, %s", membreResult, membre.LastName, membre.FirstName)
|
||||
}
|
||||
|
||||
return c.Render(http.StatusOK, "index-html", struct {
|
||||
Result string
|
||||
}{
|
||||
Result: membreResult,
|
||||
})
|
||||
}
|
Reference in a new issue