A slightly nicer interface to Postgres over node-libpq providing both sync and async operations
88
Quality
Pending
Does it follow best practices?
Impact
88%
1.20xAverage score across 10 eval scenarios
Build a simple user profile query system that safely retrieves user information from a PostgreSQL database using parameterized queries.
Create a module that provides functions to query user profiles from a database. The system should support:
All database queries must use proper parameterization to prevent SQL injection vulnerabilities. Assume the database has a users table with columns: id, email, age, and registration_date.
@generates
/**
* Retrieves a user profile by user ID
*
* @param {Object} client - Database client instance
* @param {number} userId - The user's ID
* @returns {Promise<Object|null>} User object or null if not found
*/
async function getUserById(client, userId) {
// IMPLEMENTATION HERE
}
/**
* Finds a user by email address
*
* @param {Object} client - Database client instance
* @param {string} email - The user's email address
* @returns {Promise<Object|null>} User object or null if not found
*/
async function getUserByEmail(client, email) {
// IMPLEMENTATION HERE
}
/**
* Finds all users within a specified age range
*
* @param {Object} client - Database client instance
* @param {number} minAge - Minimum age (inclusive)
* @param {number} maxAge - Maximum age (inclusive)
* @returns {Promise<Array>} Array of user objects
*/
async function getUsersByAgeRange(client, minAge, maxAge) {
// IMPLEMENTATION HERE
}
module.exports = {
getUserById,
getUserByEmail,
getUsersByAgeRange
};The following test cases verify the functionality:
Provides PostgreSQL database connectivity and query execution.
Install with Tessl CLI
npx tessl i tessl/npm-pg-nativeevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10