})
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
}
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}
}
// 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)
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
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("/")
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