Module project, commit, submission
All checks were successful
Build and Release / release (push) Successful in 1m15s
All checks were successful
Build and Release / release (push) Successful in 1m15s
This commit is contained in:
64
pkg/constants/project_member.go
Normal file
64
pkg/constants/project_member.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package constants
|
||||
|
||||
type ProjectMemberRole int16
|
||||
|
||||
const (
|
||||
ProjectMemberRoleOwner ProjectMemberRole = 1
|
||||
ProjectMemberRoleEditor ProjectMemberRole = 2
|
||||
ProjectMemberRoleViewer ProjectMemberRole = 3
|
||||
)
|
||||
|
||||
func (r ProjectMemberRole) String() string {
|
||||
switch r {
|
||||
case ProjectMemberRoleOwner:
|
||||
return "OWNER"
|
||||
case ProjectMemberRoleEditor:
|
||||
return "EDITOR"
|
||||
case ProjectMemberRoleViewer:
|
||||
return "VIEWER"
|
||||
default:
|
||||
return "UNKNOWN"
|
||||
}
|
||||
}
|
||||
|
||||
func (r ProjectMemberRole) Int16() int16 {
|
||||
return int16(r)
|
||||
}
|
||||
|
||||
func ParseProjectMemberRole(v int16) ProjectMemberRole {
|
||||
switch v {
|
||||
case 1:
|
||||
return ProjectMemberRoleOwner
|
||||
case 2:
|
||||
return ProjectMemberRoleEditor
|
||||
case 3:
|
||||
return ProjectMemberRoleViewer
|
||||
default:
|
||||
return ProjectMemberRoleViewer
|
||||
}
|
||||
}
|
||||
|
||||
func ParseProjectMemberRoleText(v string) ProjectMemberRole {
|
||||
switch v {
|
||||
case "OWNER":
|
||||
return ProjectMemberRoleOwner
|
||||
case "EDITOR":
|
||||
return ProjectMemberRoleEditor
|
||||
case "VIEWER":
|
||||
return ProjectMemberRoleViewer
|
||||
default:
|
||||
return ProjectMemberRoleViewer
|
||||
}
|
||||
}
|
||||
|
||||
func (r ProjectMemberRole) CanWrite() bool {
|
||||
return r == ProjectMemberRoleOwner || r == ProjectMemberRoleEditor
|
||||
}
|
||||
|
||||
func (r ProjectMemberRole) CanRead() bool {
|
||||
return r == ProjectMemberRoleOwner || r == ProjectMemberRoleEditor || r == ProjectMemberRoleViewer
|
||||
}
|
||||
|
||||
func (r ProjectMemberRole) IsOwner() bool {
|
||||
return r == ProjectMemberRoleOwner
|
||||
}
|
||||
Reference in New Issue
Block a user