package endpoints
import (
"fmt"
"git.dragse.it/anthrove/e621-sdk-go/pkg/e621/model"
)
// GetUser retrieves user information from e621.net based on the provided username.
//
// Parameters:
// - requestContext: The context for the API request, including the host, user agent, username, and API key.
// - username: The username of the user to retrieve.
// Returns:
// - model.User: The retrieved user.
// - error: An error, if any, encountered during the API request or response handling.
func GetUser(requestContext model.RequestContext, username string) (model.User, error) {
endpoint := fmt.Sprintf("users/%s.json", username)
return getRequest[model.User](requestContext, endpoint, nil)
}
// GetUsers retrieves a list of users from e621.net based on query parameters.
// - query: A map containing additional query parameters for the API request.
// - []model.User: A slice of users.
func GetUsers(requestContext model.RequestContext, query map[string]string) ([]model.User, error) {
endpoint := "users.json"
return getRequest[[]model.User](requestContext, endpoint, query)