package userrepository

import (
	"legalgo-BE-go/database"
	userdomain "legalgo-BE-go/internal/domain/user"
)

type accessor struct {
	db *database.DB
}

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

func New(
	db *database.DB,
) User {
	return &accessor{db}
}
