package defaults import ( "git.nobla.cn/golang/aeus-admin/models" "gorm.io/gorm" ) var ( defaultRoles = []*models.Role{} defaultUsers = []*models.User{} ) func init() { adminRole := &models.Role{} adminRole.Name = "admin" adminRole.Label = "管理员" adminRole.Description = "管理员角色" defaultRoles = append(defaultRoles, adminRole) adminUser := &models.User{} adminUser.Uid = "admin" adminUser.Username = "admin" adminUser.Password = "admin" adminUser.Role = "admin" adminUser.Admin = true guestUser := &models.User{} guestUser.Uid = "guest" guestUser.Username = "guest" guestUser.Password = "guest" guestUser.Role = "admin" defaultUsers = append(defaultUsers, adminUser, guestUser) } func Init(db *gorm.DB) (err error) { var ( n int64 ) if db.Model(&models.Role{}).Count(&n); n == 0 { db.Create(defaultRoles) permissions := make([]*models.Permission, 0) db.Find(&permissions) for _, row := range defaultRoles { items := make([]*models.RolePermission, 0) for _, perm := range permissions { item := &models.RolePermission{} item.Role = row.Name item.PermissionId = perm.Id items = append(items, item) } db.Save(items) } } if db.Model(&models.User{}).Count(&n); n == 0 { db.Create(defaultUsers) } return }