hugo-cms/providers/db/user.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,
}
}