diff --git a/dist/package-shared/functions/backend/db/updateDbEntry.d.ts b/dist/package-shared/functions/backend/db/updateDbEntry.d.ts index 8b76a40..4858098 100644 --- a/dist/package-shared/functions/backend/db/updateDbEntry.d.ts +++ b/dist/package-shared/functions/backend/db/updateDbEntry.d.ts @@ -17,6 +17,7 @@ type Param({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, whereClauseObject, }: Param): Promise>; +} = any>({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, whereClauseObject, targetIds, }: Param): Promise>; export {}; diff --git a/dist/package-shared/functions/backend/db/updateDbEntry.js b/dist/package-shared/functions/backend/db/updateDbEntry.js index 15ebf9d..f0f2123 100644 --- a/dist/package-shared/functions/backend/db/updateDbEntry.js +++ b/dist/package-shared/functions/backend/db/updateDbEntry.js @@ -24,7 +24,7 @@ const grab_parsed_value_1 = __importDefault(require("./grab-parsed-value")); * @description */ function updateDbEntry(_a) { - return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, whereClauseObject, }) { + return __awaiter(this, arguments, void 0, function* ({ dbContext, dbFullName, tableName, data, tableSchema, identifierColumnName, identifierValue, encryptionKey, encryptionSalt, forceLocal, debug, dbConfig, whereClauseObject, targetIds, }) { var _b, _c; /** * Check if data is valid @@ -97,7 +97,11 @@ function updateDbEntry(_a) { //////////////////////////////////////// //////////////////////////////////////// let query = `UPDATE ${isMaster && !dbFullName ? "" : `\`${dbFullName}\`.`}\`${tableName}\` SET ${updateKeyValueArray.join(",")}`; - if (whereClauseObject) { + if (targetIds) { + query += ` WHERE id IN (${targetIds.map((id) => "?").join(",")})`; + updateValues = targetIds; + } + else if (whereClauseObject) { query += ` ${whereClauseObject.clause}`; updateValues.push(...(whereClauseObject.params || [])); } diff --git a/dist/package-shared/utils/data-fetching/crud.js b/dist/package-shared/utils/data-fetching/crud.js index 2975834..8e38285 100644 --- a/dist/package-shared/utils/data-fetching/crud.js +++ b/dist/package-shared/utils/data-fetching/crud.js @@ -70,6 +70,7 @@ function dsqlCrud(params) { tableSchema, dbConfig, whereClauseObject, + targetIds, }); return UPDATE_RESULT; case "delete": diff --git a/package-shared/functions/backend/db/updateDbEntry.ts b/package-shared/functions/backend/db/updateDbEntry.ts index a48f8fb..a97c04c 100644 --- a/package-shared/functions/backend/db/updateDbEntry.ts +++ b/package-shared/functions/backend/db/updateDbEntry.ts @@ -27,6 +27,7 @@ type Param = { debug?: boolean; dbConfig?: ConnectionConfig; whereClauseObject?: DsqlCrudParamWhereClause; + targetIds?: (string | number)[]; }; /** @@ -49,6 +50,7 @@ export default async function updateDbEntry< debug, dbConfig, whereClauseObject, + targetIds, }: Param): Promise> { /** * Check if data is valid @@ -142,7 +144,10 @@ export default async function updateDbEntry< isMaster && !dbFullName ? "" : `\`${dbFullName}\`.` }\`${tableName}\` SET ${updateKeyValueArray.join(",")}`; - if (whereClauseObject) { + if (targetIds) { + query += ` WHERE id IN (${targetIds.map((id) => "?").join(",")})`; + updateValues = targetIds; + } else if (whereClauseObject) { query += ` ${whereClauseObject.clause}`; updateValues.push(...(whereClauseObject.params || [])); } else { diff --git a/package-shared/utils/data-fetching/crud.ts b/package-shared/utils/data-fetching/crud.ts index fd6da3b..5654402 100644 --- a/package-shared/utils/data-fetching/crud.ts +++ b/package-shared/utils/data-fetching/crud.ts @@ -94,6 +94,7 @@ export default async function dsqlCrud< tableSchema, dbConfig, whereClauseObject, + targetIds, }); return UPDATE_RESULT; diff --git a/package.json b/package.json index 3ef5ecc..42543a6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "5.7.23", + "version": "5.7.24", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": {