package handlers import ( "net/http" "git.agecem.com/agecem/bottin/v4/data" "github.com/labstack/echo/v4" "github.com/spf13/viper" ) func ReadMembre(c echo.Context) error { connection := data.PostgresConnection{ User: viper.GetString("db.user"), Password: viper.GetString("db.password"), Host: viper.GetString("db.host"), Database: viper.GetString("db.database"), Port: viper.GetInt("db.port"), } client, err := data.NewDataClient(connection) if err != nil { return c.JSON(http.StatusInternalServerError, map[string]string{ "message": "Could not establish database connection", "error": err.Error(), }) } membreID := c.Param("membre_id") membre, err := client.GetMembre(membreID) if err != nil { if err.Error() == "No membre by that id was found" { return c.JSON(http.StatusNotFound, map[string]string{ "message": "Not Found", }) } return c.JSON(http.StatusInternalServerError, map[string]string{ "message": "Unknown error during GetMembre", "error": err.Error(), }) } return c.JSON(http.StatusOK, map[string]interface{}{ "message": "Read successful", "data": map[string]interface{}{ "membre": &membre, }, }) } /* func PostMembres(c echo.Context) error { connection := data.PostgresConnection{ User: viper.GetString("db.user"), Password: viper.GetString("db.password"), Host: viper.GetString("db.host"), Database: viper.GetString("db.database"), Port: viper.GetInt("db.port"), } client, err := data.NewDataClient(connection) if err != nil { return c.JSON(http.StatusInternalServerError, map[string]string{ "message": "Could not establish database connection", "error": err.Error(), }) } programmes := []models.Programme{ { ID: "foo", Titre: "Foo", }, { ID: "bar", Titre: "Bar", }, } newProgrammes, err := client.InsertProgrammes(programmes) if err != nil { return c.JSON(http.StatusInternalServerError, map[string]string{ "message": "Could not insert programmes", "error": err.Error(), }) } membres := []models.Membre{ { ID: "1327163", PreferedName: "victor", ProgrammeID: "foo", }, { ID: "0000000", PreferedName: "test user", ProgrammeID: "bar", }, } newMembres, err := client.InsertMembres(membres) if err != nil { return c.JSON(http.StatusInternalServerError, map[string]string{ "message": "Could not insert membres", "error": err.Error(), }) } return c.JSON(http.StatusOK, map[string]interface{}{ "message": "Insert successful", "data": map[string]interface{}{ "membres": newMembres, "programmes": newProgrammes, }, }) } */