feat: article: finish base functions
This commit is contained in:
@@ -1,20 +1,60 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"nCovTrack-Backend/global"
|
||||
"nCovTrack-Backend/models"
|
||||
"nCovTrack-Backend/utils"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/golang-jwt/jwt/v4"
|
||||
"nCovTrack-Backend/models"
|
||||
"nCovTrack-Backend/service/article"
|
||||
"nCovTrack-Backend/utils"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func SaveArticleHandler(c *gin.Context) {
|
||||
var articleSave models.BackArticle
|
||||
c.ShouldBindJSON(&articleSave)
|
||||
fmt.Println(utils.RenewToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDMxMDA5MDAsImlhdCI6MTY0MzQyNDkwMH0.L8qNmbHJtV8fiKKxGbkZk3DrKBPdvhie_oFooH5hGOY"))
|
||||
utils.Succ(c, map[string]string{"string": utils.GenerateToken(jwt.MapClaims{})})
|
||||
global.Db.First(&articleSave)
|
||||
fmt.Println(articleSave)
|
||||
err := c.ShouldBindJSON(&articleSave)
|
||||
if err != nil {
|
||||
var requestBody []byte
|
||||
_, err := c.Request.Body.Read(requestBody)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
utils.RequestErr(c, requestBody)
|
||||
return
|
||||
}
|
||||
if ok := article.SaveArticle(&articleSave); !ok {
|
||||
utils.ServerErr(c, "Save Failed")
|
||||
return
|
||||
}
|
||||
utils.Succ(c, articleSave)
|
||||
}
|
||||
|
||||
func GetAllArticlesHandler(c *gin.Context) {
|
||||
articles := article.GetArticleList()
|
||||
utils.Succ(c, articles)
|
||||
}
|
||||
|
||||
func DeleteArticleHandler(c *gin.Context) {
|
||||
id, err := strconv.Atoi(c.Param("id"))
|
||||
if err != nil {
|
||||
utils.RequestErr(c, map[string]interface{}{"URI": c.Request.RequestURI})
|
||||
return
|
||||
}
|
||||
if ok := article.DeleteArticle(id); !ok {
|
||||
utils.DataNotFound(c, "The article not found id = "+strconv.Itoa(id))
|
||||
return
|
||||
}
|
||||
utils.Succ(c, nil)
|
||||
}
|
||||
|
||||
func GetArticleHandler(c *gin.Context) {
|
||||
id, err := strconv.Atoi(c.Param("id"))
|
||||
if err != nil {
|
||||
utils.RequestErr(c, map[string]interface{}{"URI": c.Request.RequestURI})
|
||||
return
|
||||
}
|
||||
res := article.GetArticleById(id)
|
||||
if res == nil {
|
||||
utils.DataNotFound(c, nil)
|
||||
return
|
||||
}
|
||||
utils.Succ(c, res)
|
||||
}
|
||||
|
||||
@@ -8,22 +8,22 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// Get provience statistics
|
||||
// ProvinceDataHandler Get province statistics
|
||||
// @Tags Statistics
|
||||
// @Prodeuce json
|
||||
// @Summary provience statistics
|
||||
// @Produce json
|
||||
// @Summary province statistics
|
||||
// @Success 200 {object} models.GinResponse{data=[]models.AreaInfo}
|
||||
// @Router /statistics/provience/{sort} [get]
|
||||
// @Router /statistics/province/{sort} [get]
|
||||
// @Param sort path string false "data sorted by" Enums(today, total, now, default)
|
||||
func ProvienceDataHandler(c *gin.Context) {
|
||||
func ProvinceDataHandler(c *gin.Context) {
|
||||
sort := c.Param("sort")
|
||||
data := service.GetAllProvienceData(sort)
|
||||
utils.Succ(c, data)
|
||||
}
|
||||
|
||||
// Get city statistics
|
||||
// CityDataHandler Get city statistics
|
||||
// @Tags Statistics
|
||||
// @Prodeuce json
|
||||
// @Produce json
|
||||
// @Summary city statistics
|
||||
// @Success 200 {object} models.GinResponse{data=[]models.AreaInfo}
|
||||
// @Router /statistics/city/{sort} [get]
|
||||
@@ -34,9 +34,9 @@ func CityDataHandler(c *gin.Context) {
|
||||
utils.Succ(c, data)
|
||||
}
|
||||
|
||||
// Get country statistics(only china currently)
|
||||
// CountryDataHandler Get country statistics(only china currently)
|
||||
// @Tags Statistics
|
||||
// @Prodeuce json
|
||||
// @Produce json
|
||||
// @Summary country statistics
|
||||
// @Success 200 {object} models.GinResponse{data=[]models.AreaInfo}
|
||||
// @Router /statistics/country/child [get]
|
||||
@@ -47,9 +47,9 @@ func CountryDataHandler(c *gin.Context) {
|
||||
utils.Succ(c, data)
|
||||
}
|
||||
|
||||
// Get china data
|
||||
// ChinaDataHandler Get china data
|
||||
// @Tags Statistics
|
||||
// @Prodeuce json
|
||||
// @Produce json
|
||||
// @Summary china data
|
||||
// @Success 200 {object} models.GinResponse{data=models.ChinaData}
|
||||
// @Router /statistics/china [get]
|
||||
|
||||
Reference in New Issue
Block a user