/*
 * @description: 访问中间件
 * @Author: CP
 * @Date: 2021-06-04 10:27:02
 * @FilePath: \construction_management\web\middleware\access_backstage.go
 */
package middleware

import (
	"github.com/kataras/iris/v12"
	"go.mod/dao"
	"go.mod/datasource"
)

func AccessBackstageAuth(ctx iris.Context) {
	// 1.获得登陆后台成员信息
	staffName := ctx.Values().Get("StaffName").(string)
	managerDao := dao.NewManagerDao(datasource.InstanceDbMaster())
	managerData := managerDao.GetUserName(staffName)

	// 2.特定路由下的访问权限
	// path := ctx.Path()
	// // 新增项目
	// if path == "/api/backstage/project/add" {
	// 	if managerData.IsAdmin != 1 {
	// 		ctx.JSON(iris.Map{"code": 2, "msg": "管理员才能新增项目"})
	// 		return
	// 	}
	// }

	// // 编辑项目-只有管理员和自己能编辑项目
	// if path == "/api/backstage/project/save" {
	// 	if managerData.IsAdmin != 1 {
	// 		ctx.JSON(iris.Map{"code": 2, "msg": "管理员才能新增项目"})
	// 		return
	// 	}
	// }

	ctx.Values().Set("manager", managerData)

	// ctx.ViewData("manager", managerData)

	ctx.Next()
}
