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) }