access.go 569 B

1234567891011121314151617181920212223242526272829
  1. package models
  2. import (
  3. "strings"
  4. "time"
  5. )
  6. const (
  7. Readable = iota + 1
  8. Writable
  9. )
  10. type Access struct {
  11. Id int64
  12. UserName string `xorm:"unique(s)"`
  13. RepoName string `xorm:"unique(s)"`
  14. Mode int `xorm:"unique(s)"`
  15. Created time.Time `xorm:"created"`
  16. }
  17. func AddAccess(access *Access) error {
  18. _, err := orm.Insert(access)
  19. return err
  20. }
  21. // if one user can read or write one repository
  22. func HasAccess(userName, repoName, mode string) (bool, error) {
  23. return orm.Get(&Access{0, strings.ToLower(userName), strings.ToLower(repoName), mode})
  24. }