76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package controllers
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
	"os"
 | 
						|
 | 
						|
	"forge.redroom.link/yves/sqldb"
 | 
						|
	beego "github.com/beego/beego/v2/server/web"
 | 
						|
	"github.com/rs/zerolog/log"
 | 
						|
)
 | 
						|
 | 
						|
// Operations about schema
 | 
						|
type HelperController struct {
 | 
						|
	beego.Controller
 | 
						|
}
 | 
						|
 | 
						|
// @Title ParseHeader
 | 
						|
// @Description Post raw header
 | 
						|
// @Param	body		body 	form data		"body of jsonform data"
 | 
						|
// @Success 200 {string} success !
 | 
						|
// @Failure 500 query error
 | 
						|
// @router /header [post]
 | 
						|
func (s *HelperController) ParseHeader() {
 | 
						|
	db := sqldb.Open(os.Getenv("driverdb"), os.Getenv("paramsdb"))
 | 
						|
	data, err := db.ListTables()
 | 
						|
	if err != nil {
 | 
						|
		log.Error().Msg(err.Error())
 | 
						|
		s.Data["json"] = map[string]string{"error": err.Error()}
 | 
						|
		s.Ctx.Output.SetStatus(http.StatusInternalServerError)
 | 
						|
	}
 | 
						|
	s.Data["json"] = data
 | 
						|
	s.ServeJSON()
 | 
						|
 | 
						|
	db.Close()
 | 
						|
}
 | 
						|
 | 
						|
// @Title CreateTable
 | 
						|
// @Description Post raw header
 | 
						|
// @Param	body		body 	form data		"body of jsonform data"
 | 
						|
// @Success 200 {string} success !
 | 
						|
// @Failure 500 query error
 | 
						|
// @router /create [post]
 | 
						|
func (s *HelperController) CreateTable() {
 | 
						|
	db := sqldb.Open(os.Getenv("driverdb"), os.Getenv("paramsdb"))
 | 
						|
	data, err := db.ListTables()
 | 
						|
	if err != nil {
 | 
						|
		log.Error().Msg(err.Error())
 | 
						|
		s.Data["json"] = map[string]string{"error": err.Error()}
 | 
						|
		s.Ctx.Output.SetStatus(http.StatusInternalServerError)
 | 
						|
	}
 | 
						|
	s.Data["json"] = data
 | 
						|
	s.ServeJSON()
 | 
						|
 | 
						|
	db.Close()
 | 
						|
}
 | 
						|
 | 
						|
// @Title Import
 | 
						|
// @Description Post raw header
 | 
						|
// @Param	body		body 	form data		"body of jsonform data"
 | 
						|
// @Success 200 {string} success !
 | 
						|
// @Failure 500 query error
 | 
						|
// @router /import/:table [post]
 | 
						|
func (s *HelperController) Import() {
 | 
						|
	db := sqldb.Open(os.Getenv("driverdb"), os.Getenv("paramsdb"))
 | 
						|
	data, err := db.ListTables()
 | 
						|
	if err != nil {
 | 
						|
		log.Error().Msg(err.Error())
 | 
						|
		s.Data["json"] = map[string]string{"error": err.Error()}
 | 
						|
		s.Ctx.Output.SetStatus(http.StatusInternalServerError)
 | 
						|
	}
 | 
						|
	s.Data["json"] = data
 | 
						|
	s.ServeJSON()
 | 
						|
 | 
						|
	db.Close()
 | 
						|
}
 |