package gmodel

import (
	"gorm.io/gorm"
	"time"
)

// fs_admin_menu 后台--菜单表
type FsAdminMenu struct {
	Id         int64      `gorm:"primary_key;default:0;auto_increment;" json:"id"`   // 序号
	Pid        *int64     `gorm:"default:0;" json:"pid"`                             // 上级菜单
	Name       *string    `gorm:"default:'';" json:"name"`                           //
	Path       *string    `gorm:"default:'';" json:"path"`                           //
	Hide       *string    `gorm:"default:'';" json:"hide"`                           //
	Metadata   *[]byte    `gorm:"default:'';" json:"metadata"`                       // 元数据,json格式
	Remark     *string    `gorm:"default:'';" json:"remark"`                         //
	Sort       *int64     `gorm:"default:0;" json:"sort"`                            // 排序权重
	CreateTime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"create_time"` //
	UpdateTime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"update_time"` //
	DeleteTime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"delete_time"` //
	CreateUid  *int64     `gorm:"default:0;" json:"create_uid"`                      // 创建人
	UpdateUid  *int64     `gorm:"default:0;" json:"update_uid"`                      // 更新人
	DeleteUid  *int64     `gorm:"default:0;" json:"delete_uid"`                      // 删除人
	IsDel      *int64     `gorm:"default:0;" json:"is_del"`                          // 是否删除:1=是 0=否
	Status     *int64     `gorm:"default:2;" json:"status"`                          // 状态:1=启用,2=停用
	Type       *int64     `gorm:"default:0;" json:"type"`                            // 类型:1=菜单,2=iframe,3=外链,4=按钮
	Alias      *string    `gorm:"default:'';" json:"alias"`                          //
	Icon       *string    `gorm:"default:'';" json:"icon"`                           //
	Redirect   *string    `gorm:"default:'';" json:"redirect"`                       //
	Highlight  *string    `gorm:"default:'';" json:"highlight"`                      //
	View       *string    `gorm:"default:'';" json:"view"`                           //
	Colour     *string    `gorm:"default:'';" json:"colour"`                         //
	Label      *int64     `gorm:"default:0;" json:"label"`                           // 整页路由:1=是,0=否
}
type FsAdminMenuModel struct {
	db   *gorm.DB
	name string
}

func NewFsAdminMenuModel(db *gorm.DB) *FsAdminMenuModel {
	return &FsAdminMenuModel{db: db, name: "fs_admin_menu"}
}