// @ts-check

const varDatabaseDbHandler = require("../../backend/varDatabaseDbHandler");

/** @type {import("../../../types").APIGetUserFunction} */
module.exports = async function apiGetUser({
    fields,
    dbFullName,
    userId,
    useLocal,
}) {
    const query = `SELECT ${fields.join(",")} FROM users WHERE id=?`;

    let foundUser = await varDatabaseDbHandler({
        queryString: query,
        queryValuesArray: [userId],
        database: dbFullName.replace(/[^a-z0-9_]/g, ""),
        useLocal,
    });

    if (!foundUser || !foundUser[0]) {
        return {
            success: false,
            payload: null,
        };
    }

    return {
        success: true,
        payload: foundUser[0],
    };
};
