|
|
@ -11,6 +11,8 @@ import ( |
|
|
|
"time" |
|
|
|
|
|
|
|
"github.com/dchest/scrypt" |
|
|
|
|
|
|
|
"github.com/gogits/gogs/utils" |
|
|
|
) |
|
|
|
|
|
|
|
// User types.
|
|
|
@ -29,9 +31,9 @@ const ( |
|
|
|
type User struct { |
|
|
|
Id int64 |
|
|
|
LowerName string `xorm:"unique not null"` |
|
|
|
Name string `xorm:"unique not null"` |
|
|
|
Email string `xorm:"unique not null"` |
|
|
|
Passwd string `xorm:"not null"` |
|
|
|
Name string `xorm:"unique not null" valid:"Required"` |
|
|
|
Email string `xorm:"unique not null" valid:"Email"` |
|
|
|
Passwd string `xorm:"not null" valid:"MinSize(8)"` |
|
|
|
LoginType int |
|
|
|
Type int |
|
|
|
NumFollowers int |
|
|
@ -82,24 +84,17 @@ func IsUserExist(name string) (bool, error) { |
|
|
|
return orm.Get(&User{LowerName: strings.ToLower(name)}) |
|
|
|
} |
|
|
|
|
|
|
|
// validateUser checks if user exist.
|
|
|
|
func validateUser(name string) error { |
|
|
|
isExist, err := IsUserExist(name) |
|
|
|
// RegisterUser creates record of a new user.
|
|
|
|
func RegisterUser(user *User) (err error) { |
|
|
|
isExist, err := IsUserExist(usern>.Name) |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} else if isExist { |
|
|
|
return ErrUserAlreadyExist |
|
|
|
} |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
// RegisterUser creates record of a new user.
|
|
|
|
func RegisterUser(user *User) (err error) { |
|
|
|
if err = validateUser(user.Name); err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
user.LowerName = strings.ToLower(user.Name) |
|
|
|
// TODO: generate Avatar address.
|
|
|
|
user.Avatar = utils.EncodeMd5(user.Email) |
|
|
|
user.Created = time.Now() |
|
|
|
user.Updated = time.Now() |
|
|
|
_, err = orm.Insert(user) |
|
|
|