Can view student responses on a dedicated page
This commit is contained in:
parent
56c408282b
commit
6d271f765b
3 changed files with 57 additions and 6 deletions
27
responses.go
27
responses.go
|
|
@ -25,10 +25,37 @@ func init() {
|
|||
|
||||
return APIResponse{true}
|
||||
}), loggedUser))
|
||||
router.POST("/api/users/:uid/surveys/:sid", apiAuthHandler(func(u *User, ps httprouter.Params, body []byte) HTTPResponse {
|
||||
return surveyAuthHandler(func(s Survey, u *User, _ []byte) HTTPResponse {
|
||||
return userHandler(func(u User, _ []byte) HTTPResponse {
|
||||
var responses []Response
|
||||
if err := json.Unmarshal(body, &responses); err != nil {
|
||||
return APIErrorResponse{err: err}
|
||||
}
|
||||
|
||||
for _, response := range responses {
|
||||
if len(response.Answer) > 0 {
|
||||
if _, err := s.NewResponse(response.IdQuestion, u.Id, response.Answer); err != nil {
|
||||
return APIErrorResponse{err: err}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return APIResponse{true}
|
||||
})(ps, body)
|
||||
})(u, ps, body)
|
||||
}, adminRestricted))
|
||||
router.GET("/api/surveys/:sid/responses", apiAuthHandler(surveyAuthHandler(
|
||||
func(s Survey, u *User, _ []byte) HTTPResponse {
|
||||
return formatApiResponse(s.GetMyResponses(u, s.Corrected))
|
||||
}), loggedUser))
|
||||
router.GET("/api/users/:uid/surveys/:sid/responses", apiAuthHandler(func(u *User, ps httprouter.Params, body []byte) HTTPResponse {
|
||||
return surveyAuthHandler(func(s Survey, u *User, _ []byte) HTTPResponse {
|
||||
return userHandler(func(u User, _ []byte) HTTPResponse {
|
||||
return formatApiResponse(s.GetMyResponses(&u, s.Corrected))
|
||||
})(ps, body)
|
||||
})(u, ps, body)
|
||||
}, adminRestricted))
|
||||
router.GET("/api/surveys/:sid/responses/:rid", apiAuthHandler(responseAuthHandler(
|
||||
func(r Response, _ *User, _ []byte) HTTPResponse {
|
||||
return APIResponse{r}
|
||||
|
|
|
|||
Reference in a new issue