WIP: create PR - choose branch
This commit is contained in:
parent
d015d951bd
commit
dea3a8c6a4
34 changed files with 396 additions and 212 deletions
103
models/repo.go
103
models/repo.go
|
@ -129,8 +129,8 @@ func NewRepoContext() {
|
|||
|
||||
// Repository represents a git repository.
|
||||
type Repository struct {
|
||||
Id int64
|
||||
OwnerId int64 `xorm:"UNIQUE(s)"`
|
||||
ID int64 `xorm:"pk autoincr"`
|
||||
OwnerID int64 `xorm:"UNIQUE(s)"`
|
||||
Owner *User `xorm:"-"`
|
||||
LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"`
|
||||
Name string `xorm:"INDEX NOT NULL"`
|
||||
|
@ -159,8 +159,8 @@ type Repository struct {
|
|||
*Mirror `xorm:"-"`
|
||||
|
||||
IsFork bool `xorm:"NOT NULL DEFAULT false"`
|
||||
ForkId int64
|
||||
ForkRepo *Repository `xorm:"-"`
|
||||
ForkID int64
|
||||
BaseRepo *Repository `xorm:"-"`
|
||||
|
||||
Created time.Time `xorm:"CREATED"`
|
||||
Updated time.Time `xorm:"UPDATED"`
|
||||
|
@ -168,7 +168,7 @@ type Repository struct {
|
|||
|
||||
func (repo *Repository) getOwner(e Engine) (err error) {
|
||||
if repo.Owner == nil {
|
||||
repo.Owner, err = getUserById(e, repo.OwnerId)
|
||||
repo.Owner, err = getUserByID(e, repo.OwnerID)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
@ -178,16 +178,16 @@ func (repo *Repository) GetOwner() (err error) {
|
|||
}
|
||||
|
||||
func (repo *Repository) GetMirror() (err error) {
|
||||
repo.Mirror, err = GetMirror(repo.Id)
|
||||
repo.Mirror, err = GetMirror(repo.ID)
|
||||
return err
|
||||
}
|
||||
|
||||
func (repo *Repository) GetForkRepo() (err error) {
|
||||
func (repo *Repository) GetBaseRepo() (err error) {
|
||||
if !repo.IsFork {
|
||||
return nil
|
||||
}
|
||||
|
||||
repo.ForkRepo, err = GetRepositoryById(repo.ForkId)
|
||||
repo.BaseRepo, err = GetRepositoryByID(repo.ForkID)
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -211,7 +211,7 @@ func (repo *Repository) HasAccess(u *User) bool {
|
|||
}
|
||||
|
||||
func (repo *Repository) IsOwnedBy(u *User) bool {
|
||||
return repo.OwnerId == u.Id
|
||||
return repo.OwnerID == u.Id
|
||||
}
|
||||
|
||||
// DescriptionHtml does special handles to description and return HTML string.
|
||||
|
@ -224,7 +224,7 @@ func (repo *Repository) DescriptionHtml() template.HTML {
|
|||
|
||||
func isRepositoryExist(e Engine, u *User, repoName string) (bool, error) {
|
||||
has, err := e.Get(&Repository{
|
||||
OwnerId: u.Id,
|
||||
OwnerID: u.Id,
|
||||
LowerName: strings.ToLower(repoName),
|
||||
})
|
||||
return has && com.IsDir(RepoPath(u.Name, repoName)), err
|
||||
|
@ -287,8 +287,8 @@ func IsUsableName(name string) error {
|
|||
|
||||
// Mirror represents a mirror information of repository.
|
||||
type Mirror struct {
|
||||
Id int64
|
||||
RepoId int64
|
||||
ID int64 `xorm:"pk autoincr"`
|
||||
RepoID int64
|
||||
RepoName string // <user name>/<repo name>
|
||||
Interval int // Hour.
|
||||
Updated time.Time `xorm:"UPDATED"`
|
||||
|
@ -296,7 +296,7 @@ type Mirror struct {
|
|||
}
|
||||
|
||||
func getMirror(e Engine, repoId int64) (*Mirror, error) {
|
||||
m := &Mirror{RepoId: repoId}
|
||||
m := &Mirror{RepoID: repoId}
|
||||
has, err := e.Get(m)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -312,7 +312,7 @@ func GetMirror(repoId int64) (*Mirror, error) {
|
|||
}
|
||||
|
||||
func updateMirror(e Engine, m *Mirror) error {
|
||||
_, err := e.Id(m.Id).Update(m)
|
||||
_, err := e.Id(m.ID).Update(m)
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -330,7 +330,7 @@ func MirrorRepository(repoId int64, userName, repoName, repoPath, url string) er
|
|||
}
|
||||
|
||||
if _, err = x.InsertOne(&Mirror{
|
||||
RepoId: repoId,
|
||||
RepoID: repoId,
|
||||
RepoName: strings.ToLower(userName + "/" + repoName),
|
||||
Interval: 24,
|
||||
NextUpdate: time.Now().Add(24 * time.Hour),
|
||||
|
@ -365,7 +365,7 @@ func MigrateRepository(u *User, name, desc string, private, mirror bool, url str
|
|||
|
||||
repo.IsBare = false
|
||||
if mirror {
|
||||
if err = MirrorRepository(repo.Id, u.Name, repo.Name, repoPath, url); err != nil {
|
||||
if err = MirrorRepository(repo.ID, u.Name, repo.Name, repoPath, url); err != nil {
|
||||
return repo, err
|
||||
}
|
||||
repo.IsMirror = true
|
||||
|
@ -517,7 +517,7 @@ func initRepository(e Engine, repoPath string, u *User, repo *Repository, initRe
|
|||
if len(fileName) == 0 {
|
||||
// Re-fetch the repository from database before updating it (else it would
|
||||
// override changes that were done earlier with sql)
|
||||
if repo, err = getRepositoryById(e, repo.Id); err != nil {
|
||||
if repo, err = getRepositoryByID(e, repo.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
repo.IsBare = true
|
||||
|
@ -562,7 +562,7 @@ func createRepository(e *xorm.Session, u *User, repo *Repository) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
if err = watchRepo(e, u.Id, repo.Id, true); err != nil {
|
||||
if err = watchRepo(e, u.Id, repo.ID, true); err != nil {
|
||||
return fmt.Errorf("watchRepo: %v", err)
|
||||
} else if err = newRepoAction(e, u, repo); err != nil {
|
||||
return fmt.Errorf("newRepoAction: %v", err)
|
||||
|
@ -574,7 +574,7 @@ func createRepository(e *xorm.Session, u *User, repo *Repository) (err error) {
|
|||
// CreateRepository creates a repository for given user or organization.
|
||||
func CreateRepository(u *User, name, desc, lang, license string, isPrivate, isMirror, initReadme bool) (_ *Repository, err error) {
|
||||
repo := &Repository{
|
||||
OwnerId: u.Id,
|
||||
OwnerID: u.Id,
|
||||
Owner: u,
|
||||
Name: name,
|
||||
LowerName: strings.ToLower(name),
|
||||
|
@ -630,12 +630,12 @@ func GetRepositoriesWithUsers(num, offset int) ([]*Repository, error) {
|
|||
}
|
||||
|
||||
for _, repo := range repos {
|
||||
repo.Owner = &User{Id: repo.OwnerId}
|
||||
repo.Owner = &User{Id: repo.OwnerID}
|
||||
has, err := x.Get(repo.Owner)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !has {
|
||||
return nil, ErrUserNotExist{repo.OwnerId, ""}
|
||||
return nil, ErrUserNotExist{repo.OwnerID, ""}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -672,11 +672,11 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error {
|
|||
|
||||
// Note: we have to set value here to make sure recalculate accesses is based on
|
||||
// new owner.
|
||||
repo.OwnerId = newOwner.Id
|
||||
repo.OwnerID = newOwner.Id
|
||||
repo.Owner = newOwner
|
||||
|
||||
// Update repository.
|
||||
if _, err := sess.Id(repo.Id).Update(repo); err != nil {
|
||||
if _, err := sess.Id(repo.ID).Update(repo); err != nil {
|
||||
return fmt.Errorf("update owner: %v", err)
|
||||
}
|
||||
|
||||
|
@ -687,7 +687,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error {
|
|||
}
|
||||
|
||||
// Dummy object.
|
||||
collaboration := &Collaboration{RepoID: repo.Id}
|
||||
collaboration := &Collaboration{RepoID: repo.ID}
|
||||
for _, c := range collaborators {
|
||||
collaboration.UserID = c.Id
|
||||
if c.Id == newOwner.Id || newOwner.IsOrgMember(c.Id) {
|
||||
|
@ -703,7 +703,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error {
|
|||
return fmt.Errorf("getTeams: %v", err)
|
||||
}
|
||||
for _, t := range owner.Teams {
|
||||
if !t.hasRepository(sess, repo.Id) {
|
||||
if !t.hasRepository(sess, repo.ID) {
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -713,7 +713,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error {
|
|||
}
|
||||
}
|
||||
|
||||
if err = owner.removeOrgRepo(sess, repo.Id); err != nil {
|
||||
if err = owner.removeOrgRepo(sess, repo.ID); err != nil {
|
||||
return fmt.Errorf("removeOrgRepo: %v", err)
|
||||
}
|
||||
}
|
||||
|
@ -739,7 +739,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error {
|
|||
return fmt.Errorf("decrease old owner repository count: %v", err)
|
||||
}
|
||||
|
||||
if err = watchRepo(sess, newOwner.Id, repo.Id, true); err != nil {
|
||||
if err = watchRepo(sess, newOwner.Id, repo.ID, true); err != nil {
|
||||
return fmt.Errorf("watchRepo: %v", err)
|
||||
} else if err = transferRepoAction(sess, u, owner, newOwner, repo); err != nil {
|
||||
return fmt.Errorf("transferRepoAction: %v", err)
|
||||
|
@ -747,7 +747,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error {
|
|||
|
||||
// Update mirror information.
|
||||
if repo.IsMirror {
|
||||
mirror, err := getMirror(sess, repo.Id)
|
||||
mirror, err := getMirror(sess, repo.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getMirror: %v", err)
|
||||
}
|
||||
|
@ -794,7 +794,7 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
|||
repo.Website = repo.Website[:255]
|
||||
}
|
||||
|
||||
if _, err = e.Id(repo.Id).AllCols().Update(repo); err != nil {
|
||||
if _, err = e.Id(repo.ID).AllCols().Update(repo); err != nil {
|
||||
return fmt.Errorf("update: %v", err)
|
||||
}
|
||||
|
||||
|
@ -831,7 +831,7 @@ func UpdateRepository(repo *Repository, visibilityChanged bool) (err error) {
|
|||
|
||||
// DeleteRepository deletes a repository for a user or organization.
|
||||
func DeleteRepository(uid, repoID int64, userName string) error {
|
||||
repo := &Repository{Id: repoID, OwnerId: uid}
|
||||
repo := &Repository{ID: repoID, OwnerID: uid}
|
||||
has, err := x.Get(repo)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -840,7 +840,7 @@ func DeleteRepository(uid, repoID int64, userName string) error {
|
|||
}
|
||||
|
||||
// In case is a organization.
|
||||
org, err := GetUserById(uid)
|
||||
org, err := GetUserByID(uid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -866,15 +866,15 @@ func DeleteRepository(uid, repoID int64, userName string) error {
|
|||
}
|
||||
}
|
||||
|
||||
if _, err = sess.Delete(&Repository{Id: repoID}); err != nil {
|
||||
if _, err = sess.Delete(&Repository{ID: repoID}); err != nil {
|
||||
return err
|
||||
} else if _, err = sess.Delete(&Access{RepoID: repo.Id}); err != nil {
|
||||
} else if _, err = sess.Delete(&Access{RepoID: repo.ID}); err != nil {
|
||||
return err
|
||||
} else if _, err = sess.Delete(&Action{RepoID: repo.Id}); err != nil {
|
||||
} else if _, err = sess.Delete(&Action{RepoID: repo.ID}); err != nil {
|
||||
return err
|
||||
} else if _, err = sess.Delete(&Watch{RepoID: repoID}); err != nil {
|
||||
return err
|
||||
} else if _, err = sess.Delete(&Mirror{RepoId: repoID}); err != nil {
|
||||
} else if _, err = sess.Delete(&Mirror{RepoID: repoID}); err != nil {
|
||||
return err
|
||||
} else if _, err = sess.Delete(&IssueUser{RepoId: repoID}); err != nil {
|
||||
return err
|
||||
|
@ -902,7 +902,7 @@ func DeleteRepository(uid, repoID int64, userName string) error {
|
|||
}
|
||||
|
||||
if repo.IsFork {
|
||||
if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks-1 WHERE id=?", repo.ForkId); err != nil {
|
||||
if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks-1 WHERE id=?", repo.ForkID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
@ -946,7 +946,7 @@ func GetRepositoryByRef(ref string) (*Repository, error) {
|
|||
// GetRepositoryByName returns the repository by given name under user if exists.
|
||||
func GetRepositoryByName(uid int64, repoName string) (*Repository, error) {
|
||||
repo := &Repository{
|
||||
OwnerId: uid,
|
||||
OwnerID: uid,
|
||||
LowerName: strings.ToLower(repoName),
|
||||
}
|
||||
has, err := x.Get(repo)
|
||||
|
@ -958,7 +958,7 @@ func GetRepositoryByName(uid int64, repoName string) (*Repository, error) {
|
|||
return repo, err
|
||||
}
|
||||
|
||||
func getRepositoryById(e Engine, id int64) (*Repository, error) {
|
||||
func getRepositoryByID(e Engine, id int64) (*Repository, error) {
|
||||
repo := new(Repository)
|
||||
has, err := e.Id(id).Get(repo)
|
||||
if err != nil {
|
||||
|
@ -969,9 +969,9 @@ func getRepositoryById(e Engine, id int64) (*Repository, error) {
|
|||
return repo, nil
|
||||
}
|
||||
|
||||
// GetRepositoryById returns the repository by given id if exists.
|
||||
func GetRepositoryById(id int64) (*Repository, error) {
|
||||
return getRepositoryById(x, id)
|
||||
// GetRepositoryByID returns the repository by given id if exists.
|
||||
func GetRepositoryByID(id int64) (*Repository, error) {
|
||||
return getRepositoryByID(x, id)
|
||||
}
|
||||
|
||||
// GetRepositories returns a list of repositories of given user.
|
||||
|
@ -982,8 +982,7 @@ func GetRepositories(uid int64, private bool) ([]*Repository, error) {
|
|||
sess.Where("is_private=?", false)
|
||||
}
|
||||
|
||||
err := sess.Find(&repos, &Repository{OwnerId: uid})
|
||||
return repos, err
|
||||
return repos, sess.Find(&repos, &Repository{OwnerID: uid})
|
||||
}
|
||||
|
||||
// GetRecentUpdatedRepositories returns the list of repositories that are recently updated.
|
||||
|
@ -993,8 +992,8 @@ func GetRecentUpdatedRepositories(num int) (repos []*Repository, err error) {
|
|||
}
|
||||
|
||||
// GetRepositoryCount returns the total number of repositories of user.
|
||||
func GetRepositoryCount(user *User) (int64, error) {
|
||||
return x.Count(&Repository{OwnerId: user.Id})
|
||||
func GetRepositoryCount(u *User) (int64, error) {
|
||||
return x.Count(&Repository{OwnerID: u.Id})
|
||||
}
|
||||
|
||||
type SearchOption struct {
|
||||
|
@ -1199,7 +1198,7 @@ type Collaboration struct {
|
|||
// Add collaborator and accompanying access
|
||||
func (repo *Repository) AddCollaborator(u *User) error {
|
||||
collaboration := &Collaboration{
|
||||
RepoID: repo.Id,
|
||||
RepoID: repo.ID,
|
||||
UserID: u.Id,
|
||||
}
|
||||
|
||||
|
@ -1238,13 +1237,13 @@ func (repo *Repository) AddCollaborator(u *User) error {
|
|||
|
||||
func (repo *Repository) getCollaborators(e Engine) ([]*User, error) {
|
||||
collaborations := make([]*Collaboration, 0)
|
||||
if err := e.Find(&collaborations, &Collaboration{RepoID: repo.Id}); err != nil {
|
||||
if err := e.Find(&collaborations, &Collaboration{RepoID: repo.ID}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
users := make([]*User, len(collaborations))
|
||||
for i, c := range collaborations {
|
||||
user, err := getUserById(e, c.UserID)
|
||||
user, err := getUserByID(e, c.UserID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -1261,7 +1260,7 @@ func (repo *Repository) GetCollaborators() ([]*User, error) {
|
|||
// Delete collaborator and accompanying access
|
||||
func (repo *Repository) DeleteCollaborator(u *User) (err error) {
|
||||
collaboration := &Collaboration{
|
||||
RepoID: repo.Id,
|
||||
RepoID: repo.ID,
|
||||
UserID: u.Id,
|
||||
}
|
||||
|
||||
|
@ -1430,14 +1429,14 @@ func HasForkedRepo(ownerID, repoID int64) (*Repository, bool) {
|
|||
|
||||
func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Repository, err error) {
|
||||
repo := &Repository{
|
||||
OwnerId: u.Id,
|
||||
OwnerID: u.Id,
|
||||
Owner: u,
|
||||
Name: name,
|
||||
LowerName: strings.ToLower(name),
|
||||
Description: desc,
|
||||
IsPrivate: oldRepo.IsPrivate,
|
||||
IsFork: true,
|
||||
ForkId: oldRepo.Id,
|
||||
ForkID: oldRepo.ID,
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
|
@ -1450,7 +1449,7 @@ func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Reposit
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks+1 WHERE id=?", oldRepo.Id); err != nil {
|
||||
if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks+1 WHERE id=?", oldRepo.ID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue