diff options
author | Unknwon <u@gogs.io> | 2015-09-07 13:58:23 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-09-07 13:58:23 -0400 |
commit | 3d9b98fae4782a45edc3f53ad4561fe7e14a4377 (patch) | |
tree | 082f9394854f6549f003e283784b1b7e72126b7a /models/org.go | |
parent | 36405d0faaf6e4ed5e0a0deb37aebf77a8c29ff0 (diff) | |
download | gitea-3d9b98fae4782a45edc3f53ad4561fe7e14a4377.tar.gz gitea-3d9b98fae4782a45edc3f53ad4561fe7e14a4377.zip |
#1585 order owners list by last changed time
Diffstat (limited to 'models/org.go')
-rw-r--r-- | models/org.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/models/org.go b/models/org.go index 4076bf15e5..b45dcafb21 100644 --- a/models/org.go +++ b/models/org.go @@ -9,6 +9,8 @@ import ( "fmt" "os" "strings" + + "github.com/go-xorm/xorm" ) var ( @@ -251,6 +253,25 @@ func IsPublicMembership(orgId, uid int64) bool { return has } +func getOwnedOrgsByUserID(sess *xorm.Session, userID int64) ([]*User, error) { + orgs := make([]*User, 0, 10) + return orgs, sess.Where("`org_user`.uid=?", userID).And("`org_user`.is_owner=?", true). + Join("INNER", "`org_user`", "`org_user`.org_id=`user`.id").Find(&orgs) +} + +// GetOwnedOrgsByUserID returns a list of organizations are owned by given user ID. +func GetOwnedOrgsByUserID(userID int64) ([]*User, error) { + sess := x.NewSession() + return getOwnedOrgsByUserID(sess, userID) +} + +// GetOwnedOrganizationsByUserIDDesc returns a list of organizations are owned by +// given user ID and descring order by given condition. +func GetOwnedOrgsByUserIDDesc(userID int64, desc string) ([]*User, error) { + sess := x.NewSession() + return getOwnedOrgsByUserID(sess.Desc(desc), userID) +} + // GetOrgUsersByUserId returns all organization-user relations by user ID. func GetOrgUsersByUserId(uid int64) ([]*OrgUser, error) { ous := make([]*OrgUser, 0, 10) |