Module project, commit, submission
All checks were successful
Build and Release / release (push) Successful in 1m15s

This commit is contained in:
2026-04-26 16:31:03 +07:00
parent ac90236022
commit 6918a100fc
60 changed files with 5957 additions and 1020 deletions

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