UNPKG

typecql

Version:

ORM for CQL databases.

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