UNPKG

typecql

Version:

ORM for CQL databases.

77 lines 3.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.insertFetch = insertFetch; const replaceUppersInObject_1 = require("../formating/replaceUppersInObject"); const mergePrimaryKeysDefaults_1 = require("../formating/mergePrimaryKeysDefaults"); const getDefaultTableValues_1 = require("../formating/getDefaultTableValues"); const log_1 = require("../../logging/log"); async function insertFetch(client, data, table, options, writeFactory, settings) { const { returning, replace, returnRaw } = options; (0, getDefaultTableValues_1.getTableDefaultValuesObject)(data, table.tableName); (0, mergePrimaryKeysDefaults_1.mergePrimaryKeysDefaults)(data, table.tableName); const query = writeFactory.InsertQuery(data, options); try { if (!replace) { const result = await client.execute(query, Object.values(data), { prepare: true, consistency: options?.consistency, }); (0, log_1.TypeCQLLOG)({ query, params: Object.values(data), filename: __filename, type: 'log', globalOptions: settings?.logging, localOptions: options?.logging, }); const wasApplied = result.wasApplied(); const row = result.rows?.[0]; delete row?.["'[applied]'"]; if (!returning) { return { wasApplied }; } if (returnRaw === true) { return (0, replaceUppersInObject_1.formatObjectWithSettings)(wasApplied === true ? data : row, table.tableName, settings, client); } return { row: (0, replaceUppersInObject_1.formatObjectWithSettings)(wasApplied === true ? data : row, table.tableName, settings, client), wasApplied, }; } await client.execute(query, Object.values(data), { prepare: true, consistency: options?.consistency, }); (0, log_1.TypeCQLLOG)({ query, params: Object.values(data), filename: __filename, type: 'log', globalOptions: settings?.logging, localOptions: options?.logging, }); if (!returning) { return { wasApplied: true }; } if (returnRaw === true) { return (0, replaceUppersInObject_1.formatObjectWithSettings)(data, table.tableName, settings, client); } return { row: (0, replaceUppersInObject_1.formatObjectWithSettings)(data, table.tableName, settings, client), wasApplied: true, }; } catch (error) { (0, log_1.TypeCQLLOG)({ query, params: Object.values(data), filename: __filename, type: 'error', globalOptions: settings?.logging, localOptions: options?.logging, error, }); throw error; } } //# sourceMappingURL=insertFetch.js.map