Merge pull request 'Ajouter /v2/seed' (#4) from feature/route-seed into main

Reviewed-on: #4
This commit is contained in:
Victor Lacasse-Beaudoin 2023-06-06 01:20:17 -05:00
commit e842982a46
3 changed files with 56 additions and 4 deletions

View file

@ -55,6 +55,8 @@ var apiCmd = &cobra.Command{
// Routes // Routes
e.POST("/v2/seed/", handlers.PostSeed)
e.GET("/v2/health/", handlers.GetHealth) e.GET("/v2/health/", handlers.GetHealth)
e.GET("/v2/membres/:membre_id/", handlers.GetMembre) e.GET("/v2/membres/:membre_id/", handlers.GetMembre)

35
handlers/seed.go Normal file
View file

@ -0,0 +1,35 @@
package handlers
import (
"fmt"
"net/http"
"git.agecem.com/agecem/bottin-agenda/data"
"git.agecem.com/agecem/bottin-agenda/responses"
"github.com/labstack/echo/v4"
)
func PostSeed(c echo.Context) error {
var response responses.PostSeedResponse
var statusCode int = http.StatusInternalServerError
client, err := data.NewDataClientFromViper()
if err != nil {
response.Message = fmt.Sprintf("Error during data.NewDataClientFromViper(): %s", err)
return c.JSON(statusCode, response)
}
_, err = client.Seed()
if err != nil {
response.Message = fmt.Sprintf("Error during client.Seed(): %s", err)
return c.JSON(statusCode, response)
}
response.Message = "Seed seems successful"
statusCode = http.StatusOK
return c.JSON(statusCode, response)
}

View file

@ -2,9 +2,24 @@ package responses
import bottinmodels "git.agecem.com/agecem/bottin/v5/models" import bottinmodels "git.agecem.com/agecem/bottin/v5/models"
type PostSeedResponse struct {
Message string `json:"message"`
}
type GetMembreResponseData struct {
Membre bottinmodels.Membre `json:"membre"`
}
type GetMembreResponse struct { type GetMembreResponse struct {
Message string `json:"message"` Message string `json:"message"`
Data struct { Data GetMembreResponseData `json:"data"`
Membre bottinmodels.Membre }
} `json:"data"`
type PostTransactionsResponseData struct {
RowsInserted int64 `json:"rows_inserted"`
}
type PostTransactionsResponse struct {
Message string `json:"message"`
Data PostTransactionsResponseData `json:"data"`
} }