diff options
Diffstat (limited to 'user/service.go')
| -rw-r--r-- | user/service.go | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/user/service.go b/user/service.go index 5e0632b..4544cb4 100644 --- a/user/service.go +++ b/user/service.go @@ -27,6 +27,25 @@ func (u *User) Create() error {  	return res.Error  } +func GetUserWithAccountName(user *User, accountName, method string) error { +	if method != "username" && method != "email" { +		return e.ErrInvalidLoginMethod +	} + +	res := db.Where(method + " = ?", accountName).Find(&user) + +	// TODO: handle potential errors +	if res.Error != nil { +		return res.Error +	} + +	if res.RowsAffected == 0 { +		return e.ErrNotFound +	} + +	return nil +} +  func GetUser(user *User, id uint) error {  	res := db.Find(&user, id)  |