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:"unique_key;default:'';" json:"name"`                //
	Path         *string    `gorm:"default:'';" json:"path"`                           //
	Hide         *string    `gorm:"default:'';" json:"hide"`                           //
	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"`                         //
	FullPageRout *int64     `gorm:"default:0;" json:"full_page_rout"`                  // 整页路由:1=是,0=否
	Label        *string    `gorm:"default:'';" json:"label"`                          //
	Metadata     *[]byte    `gorm:"default:'';" json:"metadata"`                       // 元数据,json格式
	Status       *int64     `gorm:"default:2;" json:"status"`                          // 状态:1=启用,2=停用
	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=否
}
type FsAdminMenuModel struct {
	db   *gorm.DB
	name string
}

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