github.com/wanliu/go-oauth2-server@v0.0.0-20180817021415-f928fa1580df/oauth/role.go (about) 1 package oauth 2 3 import ( 4 "errors" 5 6 "github.com/wanliu/go-oauth2-server/models" 7 ) 8 9 var ( 10 // ErrRoleNotFound ... 11 ErrRoleNotFound = errors.New("Role not found") 12 ) 13 14 // FindRoleByID looks up a role by ID and returns it 15 func (s *Service) FindRoleByID(id string) (*models.OauthRole, error) { 16 role := new(models.OauthRole) 17 if s.db.Where("id = ?", id).First(role).RecordNotFound() { 18 return nil, ErrRoleNotFound 19 } 20 return role, nil 21 } 22 23 func (s *Service) CreateRole(id, name string) (*models.OauthRole, error) { 24 var role = models.OauthRole{ID: id, Name: name} 25 26 if err := s.db.FirstOrCreate(&role).Error; err != nil { 27 return nil, err 28 } 29 return &role, nil 30 }