package model type SystemRoleMenu struct { Id int64 `json:"id"` RoleId int64 `json:"role_id"` MenuId int64 `json:"menu_id"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } func (s *SystemRoleMenu) TableName() string { return "system_role_menu" } func NewSystemMenuPermissions(roleID int64, menuIds []uint32) []*SystemRoleMenu { systemRoleMenu := make([]*SystemRoleMenu, len(menuIds)) for i, v := range menuIds { systemRoleMenu[i] = &SystemRoleMenu{ RoleId: roleID, MenuId: int64(v), } } return systemRoleMenu } type SystemRoleMenuSlice []*SystemRoleMenu func (s SystemRoleMenuSlice) ToPB() []int32 { var menuIds []int32 for _, v := range s { menuIds = append(menuIds, int32(v.MenuId)) } return menuIds }