@@ -79,6 +79,16 @@ func CommitRepoAction(userId int64, userName string, | |||
}) | |||
return err | |||
} | |||
// Update repository last update time. | |||
repo, err := GetRepositoryByName(userId, repoName) | |||
if err != nil { | |||
return err | |||
} | |||
repo.Updated = time.Now() | |||
if err = UpdateRepository(repo); err != nil { | |||
return err | |||
} | |||
return nil | |||
} | |||
@@ -358,6 +358,11 @@ func RepoPath(userName, repoName string) string { | |||
return filepath.Join(UserPath(userName), repoName+".git") | |||
} | |||
func UpdateRepository(repo *Repository) error { | |||
_, err := orm.Id(repo.Id).UseBool().Update(repo) | |||
return err | |||
} | |||
// DeleteRepository deletes a repository for a user or orgnaztion. | |||
func DeleteRepository(userId, repoId int64, userName string) (err error) { | |||
repo := &Repository{Id: repoId, OwnerId: userId} | |||
@@ -402,9 +407,9 @@ func DeleteRepository(userId, repoId int64, userName string) (err error) { | |||
} | |||
// GetRepositoryByName returns the repository by given name under user if exists. | |||
func GetRepositoryByName(user *User, repoName string) (*Repository, error) { | |||
func GetRepositoryByName(userId int64, repoName string) (*Repository, error) { | |||
repo := &Repository{ | |||
OwnerId: user.Id, | |||
OwnerId: userId, | |||
LowerName: strings.ToLower(repoName), | |||
} | |||
has, err := orm.Get(repo) |
@@ -279,9 +279,7 @@ func GetUserByName(name string) (*User, error) { | |||
if len(name) == 0 { | |||
return nil, ErrUserNotExist | |||
} | |||
user := &User{ | |||
LowerName: strings.ToLower(name), | |||
} | |||
user := &User{LowerName: strings.ToLower(name)} | |||
has, err := orm.Get(user) | |||
if err != nil { | |||
return nil, err |
@@ -54,7 +54,7 @@ func RepoAssignment(redirect bool) martini.Handler { | |||
ctx.Repo.Owner = user | |||
// get repository | |||
repo, err := models.GetRepositoryByName(user, params["reponame"]) | |||
repo, err := models.GetRepositoryByName(user.Id, params["reponame"]) | |||
if err != nil { | |||
if redirect { | |||
ctx.Redirect("/") |
@@ -86,7 +86,7 @@ func runServ(*cli.Context) { | |||
os.Setenv("userName", user.Name) | |||
os.Setenv("userId", strconv.Itoa(int(user.Id))) | |||
repo, err := models.GetRepositoryByName(user, repoName) | |||
repo, err := models.GetRepositoryByName(user.Id, repoName) | |||
if err != nil { | |||
println("Unavilable repository", err) | |||
return |