package handler import ( "github.com/artalkjs/artalk/v2/internal/artransfer" "github.com/artalkjs/artalk/v2/internal/core" "github.com/artalkjs/artalk/v2/internal/i18n" "github.com/artalkjs/artalk/v2/server/common" "github.com/gofiber/fiber/v2" ) type ResponseTransferExport struct { // The exported data which is a JSON string Artrans string `json:"artrans"` } // @Id ExportArtrans // @Summary Export Artrans // @Description Export data from Artalk // @Tags Transfer // @Security ApiKeyAuth // @Produce json // @Success 200 {object} ResponseTransferExport // @Failure 500 {object} Map{msg=string} // @Router /transfer/export [get] func TransferExport(app *core.App, router fiber.Router) { router.Get("/transfer/export", common.AdminGuard(app, func(c *fiber.Ctx) error { var siteNameScope []string jsonStr, err := artransfer.RunExportArtrans(app.Dao(), &artransfer.ExportParams{ SiteNameScope: siteNameScope, }) if err != nil { common.RespError(c, 500, i18n.T("Export error"), common.Map{ "err": err, }) } return common.RespData(c, ResponseTransferExport{ Artrans: jsonStr, }) })) }