Files
nCovTrack-Backend/handler/statistics.go
2022-02-27 16:36:33 +08:00

60 lines
1.7 KiB
Go

package handler
import (
service "nCovTrack-Backend/service/statistics"
"nCovTrack-Backend/utils"
"strings"
"github.com/gin-gonic/gin"
)
// ProvinceDataHandler Get province statistics
// @Tags Statistics
// @Produce json
// @Summary province statistics
// @Success 200 {object} utils.GinResponse{data=[]models.AreaInfo}
// @Router /statistics/province/{sort} [get]
// @Param sort path string false "data sorted by" Enums(today, total, now, default)
func ProvinceDataHandler(c *gin.Context) {
sort := c.Param("sort")
data := service.GetAllProvienceData(sort)
utils.Succ(c, data)
}
// CityDataHandler Get city statistics
// @Tags Statistics
// @Produce json
// @Summary city statistics
// @Success 200 {object} utils.GinResponse{data=[]models.AreaInfo}
// @Router /statistics/city/{sort} [get]
// @Param sort path string false "data sorted by" Enums(today, total, now, default)
func CityDataHandler(c *gin.Context) {
sort := c.Param("sort")
data := service.GetAllCityData(sort)
utils.Succ(c, data)
}
// CountryDataHandler Get country statistics(only china currently)
// @Tags Statistics
// @Produce json
// @Summary country statistics
// @Success 200 {object} utils.GinResponse{data=[]models.AreaInfo}
// @Router /statistics/country/child [get]
// @Router /statistics/country [get]
func CountryDataHandler(c *gin.Context) {
child := strings.Contains(c.Request.URL.RequestURI(), "child")
data := service.GetCountryData(child)
utils.Succ(c, data)
}
// ChinaDataHandler Get china data
// @Tags Statistics
// @Produce json
// @Summary china data
// @Success 200 {object} utils.GinResponse{data=models.ChinaData}
// @Router /statistics/china [get]
func ChinaDataHandler(c *gin.Context) {
data := service.GetChinaNCovStatistic()
utils.Succ(c, data)
}