🚑 added respondentId to POST-endpoint
Co-authored-by: haraldnilsen <harald_998@hotmail.com> Signed-off-by: Sindre Kjelsrud <kjelsrudsindre@gmail.com>
This commit is contained in:
parent
d56893e9dd
commit
db0f1f8de0
5 changed files with 41 additions and 9 deletions
|
@ -2,9 +2,11 @@ package main
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"helseveileder/db"
|
||||
|
||||
"github.com/gin-contrib/cors"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
|
@ -17,7 +19,8 @@ type FormData struct {
|
|||
|
||||
func main() {
|
||||
router := gin.Default()
|
||||
|
||||
router.Use(cors.Default())
|
||||
|
||||
// Info about user
|
||||
router.POST("/submitform", func(c *gin.Context) {
|
||||
|
||||
|
@ -27,11 +30,22 @@ func main() {
|
|||
fmt.Print(err)
|
||||
}
|
||||
|
||||
fmt.Print(requestBody)
|
||||
// Capture both the ID and error returned from InsertData
|
||||
respondentId, err := db.InsertData(requestBody.Age, requestBody.Education, requestBody.HealthcarePersonnel, requestBody.Gender)
|
||||
|
||||
if err != nil {
|
||||
fmt.Print(err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Unable to insert data"})
|
||||
return
|
||||
}
|
||||
|
||||
db.InsertData(requestBody.Age, requestBody.Education, requestBody.HealthcarePersonnel, requestBody.Gender)
|
||||
// Respond with the ID of the newly inserted respondent
|
||||
c.JSON(http.StatusOK, gin.H{"respondentID": respondentId})
|
||||
})
|
||||
|
||||
// Get questions & answers from database
|
||||
//router.GET("/")
|
||||
|
||||
// Run the server on port 8080
|
||||
router.Run(":8080")
|
||||
//db.SetupDb()
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
func InsertData(age string, education string, healthcarepersonell bool, gender string) {
|
||||
func InsertData(age string, education string, healthcarepersonell bool, gender string) (int, error) {
|
||||
// Connection string
|
||||
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
|
||||
"password=%s dbname=%s sslmode=disable",
|
||||
|
@ -30,6 +30,7 @@ func InsertData(age string, education string, healthcarepersonell bool, gender s
|
|||
insertStatement := `
|
||||
INSERT INTO Respondent (alder, utdanningsgrad, helsepersonell, kjønn)
|
||||
VALUES ($1, $2, $3, $4)
|
||||
RETURNING respondentID
|
||||
`
|
||||
|
||||
stmt, err := db.Prepare(insertStatement)
|
||||
|
@ -38,10 +39,12 @@ func InsertData(age string, education string, healthcarepersonell bool, gender s
|
|||
}
|
||||
defer stmt.Close()
|
||||
|
||||
_, err = stmt.Exec(age, education, healthcarepersonell, gender)
|
||||
var respondentID int
|
||||
err = stmt.QueryRow(age, education, healthcarepersonell, gender).Scan(&respondentID)
|
||||
if err != nil {
|
||||
log.Fatalf("Error executing statement: %v\n", err)
|
||||
}
|
||||
|
||||
fmt.Println("Data inserted successfully")
|
||||
fmt.Printf("Data inserted successfully with respondentID: %d\n", respondentID)
|
||||
return respondentID, nil
|
||||
}
|
|
@ -7,6 +7,7 @@ require (
|
|||
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
|
||||
github.com/chenzhuoyu/iasm v0.9.1 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
|
||||
github.com/gin-contrib/cors v1.5.0 // indirect
|
||||
github.com/gin-contrib/sse v0.1.0 // indirect
|
||||
github.com/gin-gonic/gin v1.9.1 // indirect
|
||||
github.com/go-playground/locales v0.14.1 // indirect
|
||||
|
|
|
@ -13,6 +13,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
|
|||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
|
||||
github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
|
||||
github.com/gin-contrib/cors v1.5.0 h1:DgGKV7DDoOn36DFkNtbHrjoRiT5ExCe+PC9/xp7aKvk=
|
||||
github.com/gin-contrib/cors v1.5.0/go.mod h1:TvU7MAZ3EwrPLI2ztzTt3tqgvBCq+wn8WpZmfADjupI=
|
||||
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
|
||||
|
|
|
@ -15,8 +15,20 @@ export const postFormData = (
|
|||
healthcare_personnel: personnel,
|
||||
gender: gender,
|
||||
}),
|
||||
}).catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
})
|
||||
.then((response) => {
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! Status: ${response.status}`);
|
||||
}
|
||||
return response.json();
|
||||
})
|
||||
.then((data) => {
|
||||
console.log(data);
|
||||
localStorage.setItem("RespondentId", data);
|
||||
return data;
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
|
Reference in a new issue