From 5c53d2eaea9e7233bc8a08de2f40c040c0700c3e Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Fri, 19 Nov 2021 21:41:01 +0100 Subject: [PATCH] Check that surveys are open before accepting a response MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks-To: Kurogor Thanks-To: Fumesover Thanks-To: Sébastien Januszczak Thanks-To: Clément Lanata Thanks-To: Alexandre Delorme Thanks-To: Pioupush --- responses.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/responses.go b/responses.go index 81cc060..cc6ae4a 100644 --- a/responses.go +++ b/responses.go @@ -2,6 +2,7 @@ package main import ( "encoding/json" + "fmt" "strconv" "time" @@ -15,6 +16,14 @@ func init() { return APIErrorResponse{err: err} } + // Check the survey is open + now := time.Now() + if now.Before(s.StartAvailability) { + return APIErrorResponse{err: fmt.Errorf("Le questionnaire n'a pas encore commencé")} + } else if now.After(s.EndAvailability) { + return APIErrorResponse{err: fmt.Errorf("Le questionnaire n'est plus ouvert")} + } + for _, response := range responses { if len(response.Answer) > 0 { if _, err := s.NewResponse(response.IdQuestion, u.Id, response.Answer); err != nil {