Merge remote-tracking branch 'mine/access_refactor' into access_refactor
Conflicts: cmd/serve.go models/access.go models/migrations/migrations.go models/org.go models/repo.go models/user.go modules/middleware/org.go modules/middleware/repo.go routers/api/v1/repo.go routers/org/teams.go routers/repo/http.go routers/user/home.go
This commit is contained in:
commit
6c1ee384f1
10 changed files with 44 additions and 42 deletions
|
@ -7,15 +7,15 @@ package models
|
|||
type AccessMode int
|
||||
|
||||
const (
|
||||
NoAccess AccessMode = iota
|
||||
ReadAccess
|
||||
WriteAccess
|
||||
AdminAccess
|
||||
OwnerAccess
|
||||
ACCESS_MODE_NONE AccessMode = iota
|
||||
ACCESS_MODE_READ
|
||||
ACCESS_MODE_WRITE
|
||||
ACCESS_MODE_ADMIN
|
||||
ACCESS_MODE_OWNER
|
||||
)
|
||||
|
||||
func maxAccessMode(modes ...AccessMode) AccessMode {
|
||||
max := NoAccess
|
||||
max := ACCESS_MODE_NONE
|
||||
for _, mode := range modes {
|
||||
if mode > max {
|
||||
max = mode
|
||||
|
@ -43,14 +43,14 @@ func HasAccess(u *User, r *Repository, testMode AccessMode) (bool, error) {
|
|||
// Return the Access a user has to a repository. Will return NoneAccess if the
|
||||
// user does not have access. User can be nil!
|
||||
func AccessLevel(u *User, r *Repository) (AccessMode, error) {
|
||||
mode := NoAccess
|
||||
mode := ACCESS_MODE_NONE
|
||||
if !r.IsPrivate {
|
||||
mode = ReadAccess
|
||||
mode = ACCESS_MODE_READ
|
||||
}
|
||||
|
||||
if u != nil {
|
||||
if u.Id == r.OwnerId {
|
||||
return OwnerAccess, nil
|
||||
return ACCESS_MODE_OWNER, nil
|
||||
}
|
||||
|
||||
a := &Access{UserID: u.Id, RepoID: r.Id}
|
||||
|
@ -98,7 +98,7 @@ func (r *Repository) RecalcAccessSess() error {
|
|||
return err
|
||||
}
|
||||
for _, c := range collaborators {
|
||||
accessMap[c.Id] = WriteAccess
|
||||
accessMap[c.Id] = ACCESS_MODE_WRITE
|
||||
}
|
||||
|
||||
if err := r.GetOwner(); err != nil {
|
||||
|
@ -123,9 +123,9 @@ func (r *Repository) RecalcAccessSess() error {
|
|||
}
|
||||
}
|
||||
|
||||
minMode := ReadAccess
|
||||
minMode := ACCESS_MODE_READ
|
||||
if !r.IsPrivate {
|
||||
minMode = WriteAccess
|
||||
minMode = ACCESS_MODE_WRITE
|
||||
}
|
||||
|
||||
newAccesses := make([]Access, 0, len(accessMap))
|
||||
|
|
|
@ -134,7 +134,7 @@ func CreateOrganization(org, owner *User) (*User, error) {
|
|||
OrgId: org.Id,
|
||||
LowerName: strings.ToLower(OWNER_TEAM),
|
||||
Name: OWNER_TEAM,
|
||||
Authorize: OwnerAccess,
|
||||
Authorize: ACCESS_MODE_OWNER,
|
||||
NumMembers: 1,
|
||||
}
|
||||
if _, err = sess.Insert(t); err != nil {
|
||||
|
|
|
@ -395,6 +395,7 @@ func ChangeUserName(u *User, newUserName string) (err error) {
|
|||
if !IsLegalName(newUserName) {
|
||||
return ErrUserNameIllegal
|
||||
}
|
||||
|
||||
return os.Rename(UserPath(u.LowerName), UserPath(newUserName))
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue