aboutsummaryrefslogtreecommitdiffstats
path: root/models/user.go
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-04-30 23:48:01 -0400
committerUnknown <joe2010xtmf@163.com>2014-04-30 23:48:01 -0400
commit49dc57e3368c6b6557520b671c9f1c3b4fe26db8 (patch)
tree8ca5d226ed52fc4600e16efeb6a027523beb2bf6 /models/user.go
parentde46c06d2ef10c580015cabed67ae8eb17667605 (diff)
downloadgitea-49dc57e3368c6b6557520b671c9f1c3b4fe26db8.tar.gz
gitea-49dc57e3368c6b6557520b671c9f1c3b4fe26db8.zip
Add /api/v1/users/search
Diffstat (limited to 'models/user.go')
-rw-r--r--models/user.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/models/user.go b/models/user.go
index 661eff2fdd..6751d11d49 100644
--- a/models/user.go
+++ b/models/user.go
@@ -409,6 +409,25 @@ func GetUserByEmail(email string) (*User, error) {
return user, nil
}
+// SearchUserByName returns given number of users whose name contains keyword.
+func SearchUserByName(key string, limit int) (us []*User, err error) {
+ // Prevent SQL inject.
+ key = strings.TrimSpace(key)
+ if len(key) == 0 {
+ return us, nil
+ }
+
+ key = strings.Split(key, " ")[0]
+ if len(key) == 0 {
+ return us, nil
+ }
+ key = strings.ToLower(key)
+
+ us = make([]*User, 0, limit)
+ err = orm.Limit(limit).Where("lower_name like '%" + key + "%'").Find(&us)
+ return us, err
+}
+
// LoginUserPlain validates user by raw user name and password.
func LoginUserPlain(uname, passwd string) (*User, error) {
var u *User