add stat route for questions
This commit is contained in:
parent
fdb196b7b4
commit
94add98ea6
2
go.mod
2
go.mod
@ -15,7 +15,7 @@ require (
|
||||
github.com/themakers/hlog v0.0.0-20191205140925-235e0e4baddf
|
||||
go.uber.org/zap v1.26.0
|
||||
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316203002-18b697f52b2f
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240317192828-4199ac7f22f0
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/worker.git v0.0.0-20240313171802-7da5fbb4caf3
|
||||
)
|
||||
|
||||
|
24
go.sum
24
go.sum
@ -186,27 +186,7 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d h1:gbaDt35HMDqOK84WYmDIlXMI7rstUcRqNttaT6Kx1do=
|
||||
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240314133622-a34c0e2e5168 h1:KYujnAq8IOdTe9QESIivXKeaBTt+e4jVN0FiWlKyggw=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240314133622-a34c0e2e5168/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240315113539-a26dce3bed0e h1:nd9ZkwEq2wPDG/Nc5TDh5EFNckqrUKsI6jU4es84vxU=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240315113539-a26dce3bed0e/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240315133641-4cc870989184 h1:tiQQbN7OHrCohzPVeA6g9M7/WZDWMTahQmEDmYO20d8=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240315133641-4cc870989184/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240315174302-9c8724561332 h1:AZDjQxeoDzSpzzcHg0VoX3kiofqwaiHPne9slnr4U/Q=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240315174302-9c8724561332/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316193909-666b0782a71d h1:fO/NJhS3XUokE6VPzAzlKcNL1+/6sxqZwJISzZRjXPM=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316193909-666b0782a71d/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316194414-590aeb0e0040 h1:BFOnpGwTCPtNgTgU4URZKEreIQykiLdRi9oGbqa/cTU=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316194414-590aeb0e0040/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316194932-bf7f344d302b h1:CXfSjR85CK/xg7ybgj0JvqqUvedaX8Cln14npbOLGBc=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316194932-bf7f344d302b/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316200433-8f361e4662b7 h1:1PBcGuNwVzdaIuzOD5fP8Q/Cq4d/iMH6l/8In4Jbs+g=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316200433-8f361e4662b7/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316201233-fa2bede7ad66 h1:SoXlfsRGq92ZmVu/gC3XY2uXNX9YmLrB+3hlnZT6r6Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316201233-fa2bede7ad66/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316202317-f86e8ce0dd59 h1:+5EFdjA4TdjEoyPRyzJHyh058gITIvmP9QxSDmbgx2g=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316202317-f86e8ce0dd59/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316203002-18b697f52b2f h1:WNjPA0i54wYb0a2xM5ltHmt6z9rTAgv09MdXrpNOnog=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240316203002-18b697f52b2f/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240317192828-4199ac7f22f0 h1:1mfKWIsUbBisQx7tilN8ee0bI3+4wa7zVYLsHYCbaUI=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240317192828-4199ac7f22f0/go.mod h1:okduDAq0NVVDcM+TMyrd4mVXzBMeTzYI2B2/yi1sL1Y=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/worker.git v0.0.0-20240313171802-7da5fbb4caf3 h1:BLHIUnJAttW9OAW7A63H9ON/HPhXdpBa/YPUQWD4ORA=
|
||||
penahub.gitlab.yandexcloud.net/backend/quiz/worker.git v0.0.0-20240313171802-7da5fbb4caf3/go.mod h1:/BFcX4F10DRuFuAHlwkKO+1QAXPL4i49x1tsrTwxlqE=
|
||||
|
@ -51,4 +51,5 @@ func (s *Service) Register(app *fiber.App) {
|
||||
// statistics handlers
|
||||
app.Post("/statistic/:quizID/devices", s.GetDeviceStatistics)
|
||||
app.Post("/statistic/:quizID/general", s.GetGeneralStatistics)
|
||||
app.Post("/statistic/:quizID/questions", s.GetQuestionsStatistics)
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ type GeneralStatsResp struct {
|
||||
|
||||
func (s *Service) GetGeneralStatistics(ctx *fiber.Ctx) error {
|
||||
quizIDStr := ctx.Params("quizID")
|
||||
quizId, err := strconv.ParseInt(quizIDStr, 10, 64)
|
||||
quizID, err := strconv.ParseInt(quizIDStr, 10, 64)
|
||||
if err != nil {
|
||||
return ctx.Status(fiber.StatusBadRequest).SendString("Invalid quiz ID format")
|
||||
}
|
||||
@ -53,7 +53,7 @@ func (s *Service) GetGeneralStatistics(ctx *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
generalStats, err := s.dal.StatisticsRepo.GetGeneralStatistics(ctx.Context(), statistics.DeviceStatReq{
|
||||
QuizId: quizId,
|
||||
QuizId: quizID,
|
||||
From: req.From,
|
||||
To: req.To,
|
||||
})
|
||||
@ -63,3 +63,27 @@ func (s *Service) GetGeneralStatistics(ctx *fiber.Ctx) error {
|
||||
|
||||
return ctx.Status(fiber.StatusOK).JSON(generalStats)
|
||||
}
|
||||
|
||||
func (s *Service) GetQuestionsStatistics(ctx *fiber.Ctx) error {
|
||||
quizIDStr := ctx.Params("quizID")
|
||||
quizID, err := strconv.ParseInt(quizIDStr, 0, 64)
|
||||
if err != nil {
|
||||
return ctx.Status(fiber.StatusBadRequest).SendString("Invalid quiz ID format")
|
||||
}
|
||||
|
||||
var req DeviceStatReq
|
||||
if err := ctx.BodyParser(&req); err != nil {
|
||||
ctx.Status(fiber.StatusBadRequest).SendString("Invalid request data")
|
||||
}
|
||||
|
||||
questionsStats, err := s.dal.StatisticsRepo.GetQuestionsStatistics(ctx.Context(), statistics.DeviceStatReq{
|
||||
QuizId: quizID,
|
||||
From: req.From,
|
||||
To: req.To,
|
||||
})
|
||||
if err != nil {
|
||||
return ctx.Status(fiber.StatusInternalServerError).SendString(err.Error())
|
||||
}
|
||||
|
||||
return ctx.Status(fiber.StatusOK).JSON(questionsStats)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user