// @ts-check const updateDbEntry = require("../../backend/db/updateDbEntry"); /** * # Update API User Function * * @param {object} params * @param {{ id: string | number } & Object} params.payload * @param {string} params.dbFullName * @param {boolean} [params.useLocal] * * @returns {Promise<{ success: boolean, payload: any }>} */ module.exports = async function apiUpdateUser({ payload, dbFullName, useLocal, }) { const data = (() => { const reqBodyKeys = Object.keys(payload); /** @type {any} */ const finalData = {}; reqBodyKeys.forEach((key) => { if (key?.match(/^date_|^id$/)) return; finalData[key] = payload[key]; }); return finalData; })(); const updateUser = await updateDbEntry({ dbContext: "Dsql User", paradigm: "Full Access", dbFullName, tableName: "users", identifierColumnName: "id", identifierValue: payload.id, data: data, useLocal, }); return { success: true, payload: updateUser, }; };