model

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AttachmentUrl

func AttachmentUrl(id string) string

附件链接

func ClearRulesData

func ClearRulesData() error

清空数据

func FormatStructToArrayMap

func FormatStructToArrayMap(data any) []map[string]any

格式化获取的数据为 array_map

func FormatStructToMap

func FormatStructToMap(data any) map[string]any

格式化获取的数据为 map

func GetConfig

func GetConfig(key string, typ ...string) any

获取配置

func NewAdmin

func NewAdmin() *gorm.DB

func NewAttachment

func NewAttachment() *gorm.DB

func NewAuthGroup

func NewAuthGroup() *gorm.DB

func NewAuthGroupAccess

func NewAuthGroupAccess() *gorm.DB

func NewAuthRule

func NewAuthRule() *gorm.DB

func NewAuthRuleAccess

func NewAuthRuleAccess() *gorm.DB

func NewDB

func NewDB() *gorm.DB

创建一个 db 连接

func NewRules

func NewRules() *gorm.DB

Types

type Admin

type Admin struct {
	ID           string `gorm:"column:id;type:char(32);not null;primaryKey;" json:"id"`
	Name         string `gorm:"column:name;not null;type:varchar(30);" json:"name"`
	Password     string `gorm:"column:password;type:char(32);" json:"password"`
	PasswordSalt string `gorm:"column:password_salt;type:char(6);" json:"password_salt"`
	Nickname     string `gorm:"column:nickname;type:varchar(150);" json:"nickname"`
	Email        string `gorm:"column:email;type:varchar(100);" json:"email"`
	Avatar       string `gorm:"column:avatar;type:char(32);" json:"avatar"`
	Introduce    string `gorm:"column:introduce;type:mediumtext;" json:"introduce"`
	IsRoot       int    `gorm:"column:is_root;type:tinyint(1);" json:"is_root"`
	Status       int    `gorm:"column:status;not null;type:tinyint(1);" json:"status"`
	RefreshTime  int    `gorm:"column:refresh_time;type:int(10);" json:"refresh_time"`
	RefreshIp    string `gorm:"column:refresh_ip;type:varchar(50);" json:"refresh_ip"`
	LastActive   int    `gorm:"column:last_active;type:int(10);" json:"last_active"`
	LastIp       string `gorm:"column:last_ip;type:varchar(50);" json:"last_ip"`
	UpdateTime   int    `gorm:"column:update_time;type:int(10);" json:"update_time"`
	UpdateIp     string `gorm:"column:update_ip;type:varchar(50);" json:"update_ip"`
	AddTime      int    `gorm:"column:add_time;type:int(10);" json:"add_time"`
	AddIp        string `gorm:"column:add_ip;type:varchar(50);" json:"add_ip"`

	Groups        []AuthGroup       `gorm:"many2many:auth_group_access;foreignKey:ID;joinForeignKey:AdminId;References:ID;JoinReferences:GroupId"`
	Attachments   []Attachment      `gorm:"polymorphic:Owner;polymorphicValue:admin;"`
	GroupAccesses []AuthGroupAccess `gorm:"foreignKey:AdminId;references:ID"`
}

func (*Admin) BeforeCreate

func (this *Admin) BeforeCreate(tx *gorm.DB) error

type Attachment

type Attachment struct {
	ID         string `gorm:"column:id;size:32;not null;index;" json:"id"`
	OwnerType  string `gorm:"column:owner_type;size:50;not null;" json:"owner_type"`
	OwnerID    string `gorm:"column:owner_id;size:32;" json:"owner_id"`
	Name       string `gorm:"column:name;size:50;" json:"name"`
	Path       string `gorm:"column:path;size:255;" json:"path"`
	Mime       string `gorm:"column:mime;size:100;" json:"mime"`
	Extension  string `gorm:"column:extension;size:10;" json:"extension"`
	Size       string `gorm:"column:size;size:100;" json:"size"`
	Md5        string `gorm:"column:md5;size:32;" json:"md5"`
	Sha1       string `gorm:"column:sha1;size:40;" json:"sha1"`
	Disk       string `gorm:"column:disk;size:16;" json:"disk"`
	Status     int    `gorm:"column:status;not null;size:1;" json:"status"`
	UpdateTime int    `gorm:"column:update_time;size:10;" json:"update_time"`
	CreateTime int    `gorm:"column:create_time;size:10;" json:"create_time"`
	AddTime    int    `gorm:"column:add_time;size:10;" json:"add_time"`
	AddIp      string `gorm:"column:add_ip;size:50;" json:"add_ip"`
}

附件

func (*Attachment) BeforeCreate

func (this *Attachment) BeforeCreate(tx *gorm.DB) error

type AuthGroup

type AuthGroup struct {
	ID          string `gorm:"column:id;type:char(32);not null;primaryKey;" json:"id"`
	Parentid    string `gorm:"column:parentid;type:char(32);not null;" json:"parentid"`
	Title       string `gorm:"column:title;type:varchar(50);" json:"title"`
	Description string `gorm:"column:description;type:varchar(80);" json:"description"`
	Listorder   string `gorm:"column:listorder;type:int(10);" json:"listorder"`
	Status      int    `gorm:"column:status;not null;type:tinyint(1);" json:"status"`
	UpdateTime  int    `gorm:"column:update_time;type:int(10);" json:"update_time"`
	UpdateIp    string `gorm:"column:update_ip;type:varchar(50);" json:"update_ip"`
	AddTime     int    `gorm:"column:add_time;type:int(10);" json:"add_time"`
	AddIp       string `gorm:"column:add_ip;type:varchar(50);" json:"add_ip"`

	Admins []Admin    `gorm:"many2many:auth_group_access;foreignKey:ID;joinForeignKey:GroupId;References:ID;JoinReferences:AdminId"`
	Rules  []AuthRule `gorm:"many2many:auth_rule_access;foreignKey:ID;joinForeignKey:GroupId;References:ID;JoinReferences:RuleId"`

	RuleAccesses  []AuthRuleAccess  `gorm:"foreignKey:GroupId;references:ID"`
	GroupAccesses []AuthGroupAccess `gorm:"foreignKey:GroupId;references:ID"`
}

权限分组

func (*AuthGroup) BeforeCreate

func (this *AuthGroup) BeforeCreate(tx *gorm.DB) error

type AuthGroupAccess

type AuthGroupAccess struct {
	AdminId string `gorm:"column:admin_id;type:char(32);not null;index;" json:"admin_id"`
	GroupId string `gorm:"column:group_id;type:char(32);not null;index;" json:"group_id"`

	Admin Admin     `gorm:"foreignKey:ID;references:AdminId"`
	Group AuthGroup `gorm:"foreignKey:ID;references:GroupId"`
}

管理员管理分组

type AuthRule

type AuthRule struct {
	ID          string `gorm:"column:id;size:32;not null;index;" json:"id"`
	Parentid    string `gorm:"column:parentid;size:32;not null;" json:"parentid"`
	Title       string `gorm:"column:title;not null;size:50;" json:"title"`
	Url         string `gorm:"column:url;not null;" json:"url"`
	Method      string `gorm:"column:method;not null;size:10;" json:"method"`
	Slug        string `gorm:"column:slug;not null;size:50;" json:"slug"`
	Description string `gorm:"column:description;" json:"description"`
	Listorder   string `gorm:"column:listorder;size:10;" json:"listorder"`
	Status      int    `gorm:"column:status;not null;" json:"status"`
	UpdateTime  int    `gorm:"column:update_time;size:10;" json:"update_time"`
	UpdateIp    string `gorm:"column:update_ip;size:50;" json:"update_ip"`
	AddTime     int    `gorm:"column:add_time;size:10;" json:"add_time"`
	AddIp       string `gorm:"column:add_ip;size:50;" json:"add_ip"`

	RuleAccesses []AuthRuleAccess `gorm:"foreignKey:RuleId;references:ID"`
}

菜单权限

func (*AuthRule) BeforeCreate

func (this *AuthRule) BeforeCreate(tx *gorm.DB) error

type AuthRuleAccess

type AuthRuleAccess struct {
	GroupId string `gorm:"column:group_id;size:32;not null;index;" json:"group_id"`
	RuleId  string `gorm:"column:rule_id;size:32;not null;index;" json:"rule_id"`

	Rule  AuthRule  `gorm:"foreignKey:ID;references:RuleId"`
	Group AuthGroup `gorm:"foreignKey:ID;references:GroupId"`
}

分组关联菜单权限

type Rules

type Rules struct {
	ID    string `gorm:"primaryKey;autoIncrement:false;size:32"`
	Ptype string `gorm:"size:250;"`
	V0    string `gorm:"size:250;"`
	V1    string `gorm:"size:250;"`
	V2    string `gorm:"size:250;"`
	V3    string `gorm:"size:250;"`
	V4    string `gorm:"size:250;"`
	V5    string `gorm:"size:250;"`
}

授权权限

func (*Rules) BeforeCreate

func (this *Rules) BeforeCreate(db *gorm.DB) error

type Session

type Session = gorm.Session

gorm 的 Session

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL