github.com/unclejack/drone@v0.2.1-0.20140918182345-831b034aa33b/pkg/model/member.go (about)

     1  package model
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  const (
     8  	// Owners can add / remove team members, create / delete projects,
     9  	// and have rwx access to all projects owned by the team.
    10  	RoleOwner = "Owner"
    11  
    12  	// Admins can create / delete projects and have rwx acess
    13  	// to all projects owned by the team.
    14  	RoleAdmin = "Admin"
    15  
    16  	// Write members have rwx access to all projects
    17  	// owned by the team. They may not create new projects.
    18  	RoleWrite = "Write"
    19  
    20  	// Read members have readonly access to all projects
    21  	// owned by the team.
    22  	RoleRead = "Read"
    23  )
    24  
    25  type Role struct {
    26  	ID     int64  `meddler:"id,pk"`
    27  	TeamID int64  `meddler:"team_id"`
    28  	UserID int64  `meddler:"user_id"`
    29  	Role   string `meddler:"role"`
    30  }
    31  
    32  type Member struct {
    33  	ID       int64  `meddler:"user_id"`
    34  	Name     string `meddler:"name"`
    35  	Email    string `meddler:"email"`
    36  	Gravatar string `meddler:"gravatar"`
    37  	Role     string `meddler:"role"`
    38  }
    39  
    40  // Returns the Gravatar Image URL.
    41  func (m *Member) Image() string      { return fmt.Sprintf(GravatarPattern, m.Gravatar, 42) }
    42  func (m *Member) ImageSmall() string { return fmt.Sprintf(GravatarPattern, m.Gravatar, 32) }
    43  func (m *Member) ImageLarge() string { return fmt.Sprintf(GravatarPattern, m.Gravatar, 160) }