Add migrations and continue implementing election insertion

This commit is contained in:
2024-12-30 20:41:28 +01:00
parent 9e96be5ff2
commit 29fb5880e3
9 changed files with 138 additions and 164 deletions

View File

@ -26,7 +26,7 @@ func (app *application) createElection(w http.ResponseWriter, r *http.Request) {
request.CheckField(validator.GreaterThan(len(request.Choices), 1), "choices", "there must be more than 1 choice")
request.CheckField(
!request.AreVotersKnown || (request.AreVotersKnown && *request.MaxVoters > 0),
!(request.AreVotersKnown && request.MaxVoters == nil),
"maxVoters",
"must be greater than 0 when voters are known",
)
@ -36,5 +36,13 @@ func (app *application) createElection(w http.ResponseWriter, r *http.Request) {
return
}
_, err = app.elections.Insert(request.Name, request.Tokens, request.AreVotersKnown, request.MaxVoters, request.Choices, request.ExpiresAt)
if err != nil {
app.serverError(w, r, err)
return
}
//TODO: if voters are known, generate voters and write them in the response (change openapi as well)
w.Write([]byte("TODO"))
}