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  }