package userrepository

import (
	"legalgo-BE-go/database"
	authdomain "legalgo-BE-go/internal/domain/auth"
)

type UserRepository struct {
	DB *database.DB
}

type UserIntf interface {
	GetUserByEmail(string) (*authdomain.User, error)
	GetUserByID(string) (*authdomain.UserProfile, error)
	GetUserProfile(string) (*authdomain.UserProfile, error)
	CreateUser(*authdomain.User) (*authdomain.User, error)
}

func New(
	db *database.DB,
) UserIntf {
	return &UserRepository{db}
}
