diff --git a/v4/handlers/insert.go b/v4/handlers/insert.go index dda92ee..4d07443 100644 --- a/v4/handlers/insert.go +++ b/v4/handlers/insert.go @@ -26,36 +26,20 @@ func PostMembres(c echo.Context) error { }) } - programmes := []models.Programme{ - { - ID: "foo", - Titre: "Foo", - }, - { - ID: "bar", - Titre: "Bar", - }, - } + var membres []models.Membre - newProgrammes, err := client.InsertProgrammes(programmes) - if err != nil { - return c.JSON(http.StatusInternalServerError, map[string]string{ - "message": "Could not insert programmes", + if err := c.Bind(&membres); err != nil { + return c.JSON(http.StatusBadRequest, map[string]string{ + "message": "Could not bind membres", "error": err.Error(), }) } - membres := []models.Membre{ - { - ID: "1327163", - PreferedName: "victor", - ProgrammeID: "foo", - }, - { - ID: "0000000", - PreferedName: "test user", - ProgrammeID: "bar", - }, + if len(membres) == 0 { + return c.JSON(http.StatusBadRequest, map[string]string{ + "message": "Nothing to do", + "error": "No valid membres to insert were found", + }) } newMembres, err := client.InsertMembres(membres) @@ -69,8 +53,7 @@ func PostMembres(c echo.Context) error { return c.JSON(http.StatusOK, map[string]interface{}{ "message": "Insert successful", "data": map[string]interface{}{ - "membres": newMembres, - "programmes": newProgrammes, + "membres": newMembres, }, }) } diff --git a/v4/models/models.go b/v4/models/models.go index e781aff..2c29a82 100644 --- a/v4/models/models.go +++ b/v4/models/models.go @@ -16,16 +16,16 @@ CREATE TABLE membres ( ` type Programme struct { - ID string `db:"id"` - Titre string `db:"titre"` + ID string `db:"id" json:"programme_id"` + Titre string `db:"titre" json:"titre"` } type Membre struct { - ID string `db:"id"` - LastName string `db:"last_name"` - FirstName string `db:"first_name"` - PreferedName string `db:"prefered_name"` - ProgrammeID string `db:"programme_id"` + ID string `db:"id" json:"membre_id"` + LastName string `db:"last_name" json:"last_name"` + FirstName string `db:"first_name" json:"first_name"` + PreferedName string `db:"prefered_name" json:"prefered_name"` + ProgrammeID string `db:"programme_id" json:"programme_id"` } type Entry interface {