diff options
author | Unknown <joe2010xtmf@163.com> | 2014-02-17 13:27:01 -0500 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-02-17 13:27:01 -0500 |
commit | 5da2ad743567297b965b06a8e75ab37d308b215c (patch) | |
tree | b71bf94a6155a0bb417df5a1048de4f430bf18e1 /models/access.go | |
parent | 362896479582bbe9142b604ee232d40aade0313f (diff) | |
parent | ee9bcf4d9ff41fb0cc02e53c2da2b9bfc520d54b (diff) |
Merge branch 'master' of github.com:gogits/gogs
Diffstat (limited to 'models/access.go')
-rw-r--r-- | models/access.go | 29 |
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}) +} |