summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/publickey.go2
-rw-r--r--models/user.go15
2 files changed, 16 insertions, 1 deletions
diff --git a/models/publickey.go b/models/publickey.go
index 426e6b0be7..ed47ff209d 100644
--- a/models/publickey.go
+++ b/models/publickey.go
@@ -78,7 +78,7 @@ func init() {
type PublicKey struct {
Id int64
OwnerId int64 `xorm:"unique(s) index not null"`
- Name string `xorm:"unique(s) not null"` //UNIQUE(s)
+ Name string `xorm:"unique(s) not null"`
Fingerprint string
Content string `xorm:"TEXT not null"`
Created time.Time `xorm:"created"`
diff --git a/models/user.go b/models/user.go
index 1ec3b29520..2196eae84f 100644
--- a/models/user.go
+++ b/models/user.go
@@ -367,6 +367,21 @@ func GetUserByName(name string) (*User, error) {
return user, nil
}
+// GetUserByEmail returns the user object by given e-mail if exists.
+func GetUserByEmail(email string) (*User, error) {
+ if len(email) == 0 {
+ return nil, ErrUserNotExist
+ }
+ user := &User{Email: strings.ToLower(email)}
+ has, err := orm.Get(user)
+ if err != nil {
+ return nil, err
+ } else if !has {
+ return nil, ErrUserNotExist
+ }
+ return user, nil
+}
+
// LoginUserPlain validates user by raw user name and password.
func LoginUserPlain(name, passwd string) (*User, error) {
user := User{LowerName: strings.ToLower(name), Passwd: passwd}