diff options
Diffstat (limited to 'model/user.go')
-rw-r--r-- | model/user.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/model/user.go b/model/user.go index 4959371..09562bd 100644 --- a/model/user.go +++ b/model/user.go @@ -1,8 +1,36 @@ package model +import ( + "database/sql" +) + type User struct { Id UUID Name string Salt string Password []byte } + +func GetUserByName(db *sql.DB, name string) *User { + row := db.QueryRow("SELECT Id, Name, Salt, Password FROM User WHERE Name=$1", name) + if row == nil { + return nil + } + + var user User + row.Scan(&user.Id, &user.Name, &user.Salt, &user.Password) + + return &user +} + +func GetUserById(db *sql.DB, id UUID) *User { + row := db.QueryRow("SELECT Id, Name, Salt, Password FROM User WHERE Id=$1", id) + if row == nil { + return nil + } + + var user User + row.Scan(&user.Id, &user.Name, &user.Salt, &user.Password) + + return &user +} |