@@ -417,7 +417,64 @@ func (h AdminAPIsHandler) getAllSurveyResponses(l *logs.Log, r *http.Request, cl
417
417
}
418
418
return l .HTTPResponseSuccessJSON (data )
419
419
}
420
+ func (h AdminAPIsHandler ) getAllSurveysResponses (l * logs.Log , r * http.Request , claims * tokenauth.Claims ) logs.HTTPResponse {
421
+ vars := mux .Vars (r )
422
+ id := vars ["id" ]
423
+ if len (id ) <= 0 {
424
+ return l .HTTPResponseErrorData (logutils .StatusMissing , logutils .TypePathParam , logutils .StringArgs ("id" ), nil , http .StatusBadRequest , false )
425
+ }
426
+
427
+ startDateRaw := r .URL .Query ().Get ("start_date" )
428
+ var startDate * time.Time
429
+ if len (startDateRaw ) > 0 {
430
+ dateParsed , err := time .Parse (time .RFC3339 , startDateRaw )
431
+ if err != nil {
432
+ return l .HTTPResponseErrorData (logutils .StatusInvalid , logutils .TypeQueryParam , logutils .StringArgs ("start_date" ), nil , http .StatusBadRequest , false )
433
+ }
434
+ startDate = & dateParsed
435
+ }
436
+
437
+ endDateRaw := r .URL .Query ().Get ("end_date" )
438
+ var endDate * time.Time
439
+ if len (endDateRaw ) > 0 {
440
+ dateParsed , err := time .Parse (time .RFC3339 , endDateRaw )
441
+ if err != nil {
442
+ return l .HTTPResponseErrorData (logutils .StatusInvalid , logutils .TypeQueryParam , logutils .StringArgs ("end_date" ), nil , http .StatusBadRequest , false )
443
+ }
444
+ endDate = & dateParsed
445
+ }
420
446
447
+ limitRaw := r .URL .Query ().Get ("limit" )
448
+ limit := 20
449
+ if len (limitRaw ) > 0 {
450
+ intParsed , err := strconv .Atoi (limitRaw )
451
+ if err != nil {
452
+ return l .HTTPResponseErrorData (logutils .StatusInvalid , logutils .TypeQueryParam , logutils .StringArgs ("limit" ), nil , http .StatusBadRequest , false )
453
+ }
454
+ limit = intParsed
455
+ }
456
+
457
+ offsetRaw := r .URL .Query ().Get ("offset" )
458
+ offset := 0
459
+ if len (offsetRaw ) > 0 {
460
+ intParsed , err := strconv .Atoi (offsetRaw )
461
+ if err != nil {
462
+ return l .HTTPResponseErrorData (logutils .StatusInvalid , logutils .TypeQueryParam , logutils .StringArgs ("offset" ), nil , http .StatusBadRequest , false )
463
+ }
464
+ offset = intParsed
465
+ }
466
+
467
+ resData , err := h .app .Admin .GetAllSurveysResponses (claims .OrgID , claims .AppID , id , claims .Subject , claims .ExternalIDs , startDate , endDate , & limit , & offset )
468
+ if err != nil {
469
+ return l .HTTPResponseErrorAction (logutils .ActionGet , model .TypeSurvey , nil , err , http .StatusInternalServerError , true )
470
+ }
471
+
472
+ data , err := json .Marshal (resData )
473
+ if err != nil {
474
+ return l .HTTPResponseErrorAction (logutils .ActionMarshal , logutils .TypeResponseBody , nil , err , http .StatusInternalServerError , false )
475
+ }
476
+ return l .HTTPResponseSuccessJSON (data )
477
+ }
421
478
func (h AdminAPIsHandler ) getAlertContacts (l * logs.Log , r * http.Request , claims * tokenauth.Claims ) logs.HTTPResponse {
422
479
resData , err := h .app .Admin .GetAlertContacts (claims .OrgID , claims .AppID )
423
480
if err != nil {
0 commit comments