From 145f482d2fe8f5c606084788863bdf40dbefadca Mon Sep 17 00:00:00 2001 From: Pau Date: Tue, 27 May 2025 03:52:22 +0200 Subject: [PATCH] fixed insert and modify queries and parsing --- src/models/resource_types/usersHasPlacesModel.js | 4 ++-- .../resource_types/usersHasPlacesRepository.js | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/models/resource_types/usersHasPlacesModel.js b/src/models/resource_types/usersHasPlacesModel.js index 9403b83..4214699 100644 --- a/src/models/resource_types/usersHasPlacesModel.js +++ b/src/models/resource_types/usersHasPlacesModel.js @@ -26,7 +26,7 @@ const insertUserHasPlacesModel = ({conn, ...params}) => { const uuid = uuidv4() return mysql .execute(insertUserHasPlacesQuery({...params, uuid, now}), conn, {...params, uuid, now}) - .then(queryResult => queryResult[1].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)) + .then(queryResult => queryResult[2].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)) } const modifyUserHasPlacesModel = ({conn, ...params}) => { @@ -39,7 +39,7 @@ const modifyUserHasPlacesModel = ({conn, ...params}) => { if (deletedItem) { throw error404() } - return queryResult[1].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered) + return queryResult[2].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered) }) } diff --git a/src/repositories/resource_types/usersHasPlacesRepository.js b/src/repositories/resource_types/usersHasPlacesRepository.js index 32d5f18..19e8781 100644 --- a/src/repositories/resource_types/usersHasPlacesRepository.js +++ b/src/repositories/resource_types/usersHasPlacesRepository.js @@ -112,7 +112,15 @@ const insertUserHasPlacesQuery = ({ user_uuid, place_uuid, description, createdB const modifyUserHasPlacesQuery = ({user_uuid, place_uuid, report_type_uuid, rating, images, description}) => { const user_uuidCondition = user_uuid ? 'fk_user = (SELECT id FROM dbmaster.users WHERE uuid = :user_uuid),' : ''; const place_uuidCondition = place_uuid ? 'fk_place = (SELECT id FROM dbmaster.places WHERE uuid = :place_uuid),' : ''; - const report_type_uuidCondition = report_type_uuid ? `DELETE FROM dbmaster.report_report_type WHERE report_uuid = :uuid; ${report_type_uuid.map(rt => `INSERT INTO dbmaster.report_report_type (report_uuid, report_type_uuid) VALUES (:uuid, '${rt}');`).join(' ')}` : ''; + const report_type_uuidCondition = report_type_uuid !== undefined + ? `DELETE FROM dbmaster.report_report_type WHERE report_uuid = :uuid;${ + Array.isArray(report_type_uuid) && report_type_uuid.length > 0 + ? ' ' + report_type_uuid.map(rt => + `INSERT INTO dbmaster.report_report_type (report_uuid, report_type_uuid) VALUES (:uuid, '${rt}');` + ).join(' ') + : '' + }` + : ''; const ratingCondition = rating ? 'rating = :rating,' : ''; const imagesCondition = images ? 'images = :images,' : ''; const descriptionCondition = description ? 'description = :description,' : '';