aboutsummaryrefslogtreecommitdiff
path: root/models/access.go
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-02-17 13:27:01 -0500
committerUnknown <joe2010xtmf@163.com>2014-02-17 13:27:01 -0500
commit5da2ad743567297b965b06a8e75ab37d308b215c (patch)
treeb71bf94a6155a0bb417df5a1048de4f430bf18e1 /models/access.go
parent362896479582bbe9142b604ee232d40aade0313f (diff)
parentee9bcf4d9ff41fb0cc02e53c2da2b9bfc520d54b (diff)
Merge branch 'master' of github.com:gogits/gogs
Diffstat (limited to 'models/access.go')
-rw-r--r--models/access.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/models/access.go b/models/access.go
new file mode 100644
index 00000000..11bb360a
--- /dev/null
+++ b/models/access.go
@@ -0,0 +1,29 @@
+package models
+
+import (
+ "strings"
+ "time"
+)
+
+const (
+ Readable = iota + 1
+ Writable
+)
+
+type Access struct {
+ Id int64
+ UserName string `xorm:"unique(s)"`
+ RepoName string `xorm:"unique(s)"`
+ Mode int `xorm:"unique(s)"`
+ Created time.Time `xorm:"created"`
+}
+
+func AddAccess(access *Access) error {
+ _, err := orm.Insert(access)
+ return err
+}
+
+// if one user can read or write one repository
+func HasAccess(userName, repoName, mode string) (bool, error) {
+ return orm.Get(&Access{0, strings.ToLower(userName), strings.ToLower(repoName), mode})
+}