summaryrefslogtreecommitdiffstats
path: root/models/access.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/access.go')
-rw-r--r--models/access.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/models/access.go b/models/access.go
index 447777ad5a..b4c1349b65 100644
--- a/models/access.go
+++ b/models/access.go
@@ -20,6 +20,33 @@ const (
ACCESS_MODE_OWNER // 4
)
+func (mode AccessMode) String() string {
+ switch mode {
+ case ACCESS_MODE_READ:
+ return "read"
+ case ACCESS_MODE_WRITE:
+ return "write"
+ case ACCESS_MODE_ADMIN:
+ return "admin"
+ case ACCESS_MODE_OWNER:
+ return "owner"
+ default:
+ return "none"
+ }
+}
+
+// ParseAccessMode returns corresponding access mode to given permission string.
+func ParseAccessMode(permission string) AccessMode {
+ switch permission {
+ case "write":
+ return ACCESS_MODE_WRITE
+ case "admin":
+ return ACCESS_MODE_ADMIN
+ default:
+ return ACCESS_MODE_READ
+ }
+}
+
// Access represents the highest access level of a user to the repository. The only access type
// that is not in this table is the real owner of a repository. In case of an organization
// repository, the members of the owners team are in this table.