bi/controller/app_controller.go

145 lines
2.9 KiB
Go
Raw Normal View History

2022-01-26 16:40:50 +08:00
package controller
import (
"errors"
"github.com/1340691923/xwl_bi/model"
"github.com/1340691923/xwl_bi/platform-basic-libs/jwt"
"github.com/1340691923/xwl_bi/platform-basic-libs/response"
app2 "github.com/1340691923/xwl_bi/platform-basic-libs/service/app"
"github.com/1340691923/xwl_bi/platform-basic-libs/service/myapp"
"github.com/gofiber/fiber/v2"
)
type AppController struct {
BaseController
}
//创建应用
func (this AppController) Create(ctx *fiber.Ctx) error {
var app model.App
err := ctx.BodyParser(&app)
if err != nil {
return this.Error(ctx, err)
}
if app.AppName == "" {
return this.Error(ctx, errors.New("应用名不能为空"))
}
c, _ := jwt.ParseToken(this.GetToken(ctx))
appService := app2.AppService{}
err = appService.Create(app, c.UserID)
if err != nil {
return this.Error(ctx, err)
}
return this.Success(ctx, response.OperateSuccess, nil)
}
//修改应用管理员
func (this AppController) UpdateManager(ctx *fiber.Ctx) error {
var app model.App
err := ctx.BodyParser(&app)
if err != nil {
return this.Error(ctx, err)
}
if app.AppId == "" {
return this.Error(ctx, errors.New("应用ID不能为空"))
}
c, _ := jwt.ParseToken(this.GetToken(ctx))
appService := app2.AppService{}
err = appService.UpdateManager(app, c.UserID)
if err != nil {
return this.Error(ctx, err)
}
return this.Success(ctx, response.OperateSuccess, nil)
}
//得到该用户的应用下拉选
func (this AppController) Config(ctx *fiber.Ctx) error {
list, err := myapp.GetAppidsByToken(this.GetToken(ctx))
if err != nil {
return this.Error(ctx, err)
}
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{
"list": list,
})
}
//重置应用的appkey
func (this AppController) ResetAppkey(ctx *fiber.Ctx) error {
var app model.App
err := ctx.BodyParser(&app)
if err != nil {
return this.Error(ctx, err)
}
c, _ := jwt.ParseToken(this.GetToken(ctx))
appService := app2.AppService{}
err = appService.ResetAppkey(c.UserID, app)
if err != nil {
return this.Error(ctx, err)
}
return this.Success(ctx, response.OperateSuccess, nil)
}
//修改应用的状态
func (this AppController) StatusAction(ctx *fiber.Ctx) error {
var app model.App
err := ctx.BodyParser(&app)
if err != nil {
return this.Error(ctx, err)
}
c, _ := jwt.ParseToken(this.GetToken(ctx))
appService := app2.AppService{}
err = appService.ChangeStatus(app, c.UserID)
if err != nil {
return this.Error(ctx, err)
}
return this.Success(ctx, response.OperateSuccess, nil)
}
func (this AppController) List(ctx *fiber.Ctx) error {
var app model.App
err := ctx.BodyParser(&app)
if err != nil {
return this.Error(ctx, err)
}
c, _ := jwt.ParseToken(this.GetToken(ctx))
appService := app2.AppService{}
list, count, err := appService.List(c.UserID, app)
if err != nil {
return this.Error(ctx, err)
}
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{
"list": list,
"count": count,
})
}