| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- /*
- * Sites Analysis API List
- * /sitesAnalysis/manage/analysisList - GET
- * /sitesAnalysis/manage/config - POST 创建新配置
- * /sitesAnalysis/manage/config/{id} - GET & POST & DELETE 获取、更新、删除配置
- * /sitesAnalysis/data/{id} - GET 获取指定ID的分析数据
- */
- package routes
- import (
- "fwh-toolbox-server/controllers"
- "github.com/gofiber/fiber/v2"
- "go.mongodb.org/mongo-driver/bson/primitive"
- )
- func SitesAnalysisSetup(api fiber.Router) {
- // 获取站点分析管理名称表
- api.Get("/sitesAnalysis/manage/analysisList", func(c *fiber.Ctx) error {
- listPage, err := controllers.GetSiteAnalysisManageList()
- if err != nil {
- return JSONResponseNoData(c, 500, "Database read failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", listPage)
- })
- // 创建一个分析配置
- api.Post("/sitesAnalysis/manage/config", func(c *fiber.Ctx) error {
- var body controllers.SiteAnalysisConfig
- if err := c.BodyParser(&body); err != nil {
- return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
- "code": 400,
- "message": "Invalid request body",
- })
- }
- if err := controllers.InsertSiteAnalysisConfig(body); err != nil {
- return JSONResponseNoData(c, 500, "Database write failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", body)
- })
- // 获取单个分析配置
- api.Get("/sitesAnalysis/manage/config/:id", func(c *fiber.Ctx) error {
- id := c.Params("id")
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return JSONResponseNoData(c, 400, "Invalid request para :id")
- }
- config, err := controllers.GetSiteAnalysisConfig(objID)
- if err != nil {
- return JSONResponseNoData(c, 500, "Database read failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", config)
- })
- // 更新一个分析配置
- api.Post("/sitesAnalysis/manage/config/:id", func(c *fiber.Ctx) error {
- id := c.Params("id")
- var body controllers.SiteAnalysisConfig
- if err := c.BodyParser(&body); err != nil {
- return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
- "code": 400,
- "message": "Invalid request body",
- })
- }
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return JSONResponseNoData(c, 400, "Invalid request para :id")
- }
- if err := controllers.UpdateSiteAnalysisConfig(objID, body); err != nil {
- return JSONResponseNoData(c, 500, "Database write failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", body)
- })
- // 删除一个监控
- api.Delete("/sitesAnalysis/manage/config/:id", func(c *fiber.Ctx) error {
- id := c.Params("id")
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return JSONResponseNoData(c, 400, "Invalid request para :id")
- }
- err = controllers.DeleteSiteAnalysisConfig(objID)
- if err != nil {
- return JSONResponseNoData(c, 500, "Database delete failed. (MongoDb)")
- }
- return JSONResponseNoData(c, 0, "success")
- })
- // 获取指定ID的分析数据
- // api.Get("/sitesAnalysis/data/:id", func(c *fiber.Ctx) error {
- // id, err := strconv.ParseUint(c.Params("id"), 10, 64)
- // if err != nil {
- // return JSONResponseNoData(c, 400, "Invalid request id")
- // }
- // data, err := controllers.GetSiteAnalysisData(id)
- // if err != nil {
- // return JSONResponseNoData(c, 500, "Database read failed. (MongoDb)")
- // }
- // return JSONResponse(c, 0, "success", data)
- // })
- }
|