46 lines
913 B
Go
46 lines
913 B
Go
package db
|
|
|
|
import (
|
|
"context"
|
|
"lmika.dev/lmika/hugo-cms/gen/sqlc/dbq"
|
|
"lmika.dev/lmika/hugo-cms/models"
|
|
)
|
|
|
|
func (db *DB) AddUser(ctx context.Context, user *models.User) error {
|
|
id, err := db.q.AddUser(ctx, dbq.AddUserParams{
|
|
Email: user.Email,
|
|
Password: user.PasswordHash,
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
user.ID = id
|
|
return nil
|
|
}
|
|
|
|
func (db *DB) GetUserByID(ctx context.Context, id int64) (models.User, error) {
|
|
res, err := db.q.GetUserByID(ctx, id)
|
|
if err != nil {
|
|
return models.User{}, err
|
|
}
|
|
|
|
return dbUserToUser(res), nil
|
|
}
|
|
|
|
func (db *DB) GetUserByEmail(ctx context.Context, email string) (models.User, error) {
|
|
res, err := db.q.GetUserByEmail(ctx, email)
|
|
if err != nil {
|
|
return models.User{}, err
|
|
}
|
|
|
|
return dbUserToUser(res), nil
|
|
}
|
|
|
|
func dbUserToUser(u dbq.User) models.User {
|
|
return models.User{
|
|
ID: u.ID,
|
|
Email: u.Email,
|
|
PasswordHash: u.Password,
|
|
}
|
|
}
|