small fix regarding error handling while modifying and user

This commit is contained in:
Pau 2025-04-06 18:37:28 +02:00
parent 5ca7fb8b06
commit 54569642e5
5 changed files with 56 additions and 14 deletions

View File

@ -43,7 +43,14 @@ const insertEndpointsModel = ({conn, ...params}) => {
const modifyEndpointsModel = ({conn, ...params}) => { const modifyEndpointsModel = ({conn, ...params}) => {
return mysql return mysql
.execute(updateEndpointsQuery(params), conn, params) .execute(updateEndpointsQuery(params), conn, params)
.then(queryResult => queryResult[1].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)) .then(queryResult => {
const deletedItem = queryResult[1].find(item => item.deleted !== null);
if (deletedItem) {
throw error404()
}
return queryResult[1].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)
})
} }
const softDeleteEndpointsModel = ({uuid, deleted, deletedBy, conn}) => { const softDeleteEndpointsModel = ({uuid, deleted, deletedBy, conn}) => {

View File

@ -39,7 +39,15 @@ const insertPermissionModel = ({conn, ...params}) => {
const modifyPermissionModel = ({conn, ...params}) => { const modifyPermissionModel = ({conn, ...params}) => {
return mysql return mysql
.execute(modifyPermissionsQuery(params), conn, params) .execute(modifyPermissionsQuery(params), conn, params)
.then(queryResult => queryResult[1].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)) .then(queryResult => {
const deletedItem = queryResult[1].find(item => item.deleted !== null);
if (deletedItem) {
throw error404()
}
return queryResult[1].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)
})
} }
const softDeletePermissionModel = ({uuid, deleted, deletedBy, conn}) => { const softDeletePermissionModel = ({uuid, deleted, deletedBy, conn}) => {

View File

@ -40,7 +40,14 @@ const modifyRoleModel = ({uuid, name, conn}) => {
return mysql return mysql
.execute(modifyRoleQuery(params), conn, params) .execute(modifyRoleQuery(params), conn, params)
.then(res => res[1].map(({id, created, deleted, createdBy, deletedBy, ...rest}) => ({...rest}))) .then(res => {
const deletedItem = res[1].find(item => item.deleted !== null);
if (deletedItem) {
throw error404()
}
return res[1].map(({id, created, deleted, createdBy, deletedBy, ...rest}) => ({...rest}))
})
} }
const softDeleteRoleModel = ({uuid, deleted, deletedBy, conn}) => { const softDeleteRoleModel = ({uuid, deleted, deletedBy, conn}) => {

View File

@ -1,3 +1,4 @@
import { randomUUID as uuidv4 } from 'node:crypto' import { randomUUID as uuidv4 } from 'node:crypto'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import mysql from '../../adapters/mysql.js' import mysql from '../../adapters/mysql.js'
@ -5,7 +6,8 @@ import {
getRolesHasPermissionsQuery, getRolesHasPermissionsQuery,
countRolesHasPermissionsQuery, countRolesHasPermissionsQuery,
insertRolesHasPermissionsQuery, insertRolesHasPermissionsQuery,
softDeleteRolesHasPermissionsQuery softDeleteRolesHasPermissionsQuery,
modifyRolesHasPermissionsQuery
} from '../../repositories/authorization/roles_has_permissionsRepository.js' } from '../../repositories/authorization/roles_has_permissionsRepository.js'
const getRolesHasPermissionsModel = ({conn, ...rest}) => { const getRolesHasPermissionsModel = ({conn, ...rest}) => {
@ -36,9 +38,22 @@ const insertRolesHasPermissionsModel = ({conn, ...rest}) => {
.then(results => results[1].map(({id, uuid, fk_role, fk_permission, created, deleted, createdBy, deletedBy, ...rest}) => ({...rest}))) .then(results => results[1].map(({id, uuid, fk_role, fk_permission, created, deleted, createdBy, deletedBy, ...rest}) => ({...rest})))
} }
const modifyRolesHasPermissionsModel = ({conn, ...params}) => {
return mysql
.execute(modifyRolesHasPermissionsQuery(params), conn, params)
.then(queryResult => {
const deletedItem = queryResult[1].find(item => item.deleted !== null);
if (deletedItem) {
throw error404()
}
return queryResult[1].map(({id, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)
})
}
const softDeleteRolesHasPermissionsModel = ({conn, deleted, deletedBy, ...rest}) => { const softDeleteRolesHasPermissionsModel = ({conn, deleted, deletedBy, ...rest}) => {
const deletedData = deleted ? dayjs.utc(deleted).format('YYYY-MM-DD HH:mm:ss') : dayjs.utc().format('YYYY-MM-DD HH:mm:ss') const deletedData = deleted ? dayjs.utc(deleted).format('YYYY-MM-DD HH:mm:ss') : dayjs.utc().format('YYYY-MM-DD HH:mm:ss')
const params = { ...rest, deleted: deletedData } const params = { ...rest, deleted: deletedData, deletedBy }
return mysql return mysql
.execute(softDeleteRolesHasPermissionsQuery(params), conn, params) .execute(softDeleteRolesHasPermissionsQuery(params), conn, params)
@ -48,5 +63,6 @@ export {
getRolesHasPermissionsModel, getRolesHasPermissionsModel,
countRolesHasPermissionsModel, countRolesHasPermissionsModel,
insertRolesHasPermissionsModel, insertRolesHasPermissionsModel,
softDeleteRolesHasPermissionsModel softDeleteRolesHasPermissionsModel,
modifyRolesHasPermissionsModel
} }

View File

@ -9,6 +9,7 @@ import {
deleteUserQuery, deleteUserQuery,
softDeleteUserQuery softDeleteUserQuery
} from '../../repositories/authorization/userRepository.js' } from '../../repositories/authorization/userRepository.js'
import { error404 } from '../../utils/errors.js'
const getUserListModel = ({conn, ...rest}) => { const getUserListModel = ({conn, ...rest}) => {
const now = dayjs.utc().format('YYYY-MM-DD HH:mm:ss') const now = dayjs.utc().format('YYYY-MM-DD HH:mm:ss')
@ -40,19 +41,23 @@ const insertUserModel = ({conn, ...params}) => {
return mysql return mysql
.execute(insertUserQuery({...params, uuid, now}), conn, {...params, uuid, now}) .execute(insertUserQuery({...params, uuid, now}), conn, {...params, uuid, now})
.then(queryResult => queryResult[1].map(({id, password, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)) .then(queryResult => queryResult[1].map(({id, password, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered))
.catch(err => {
reject(err)
})
} }
const modifyUserModel = ({conn, ...params}) => { const modifyUserModel = ({conn, ...params}) => {
return mysql return mysql
.execute(modifyUserQuery(params), conn, params) .execute(modifyUserQuery(params), conn, params)
.then(queryResult => queryResult[1].map(({id, password, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)) .then(queryResult => {
const deletedItem = queryResult[1].find(item => item.deleted !== null);
if (deletedItem) {
throw error404()
}
return queryResult[1].map(({id, password, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered)
})
} }
const softDeleteUserModel = ({uuid, deleted, deletedBy, conn}) => { const softDeleteUserModel = ({uuid, deleted, deletedBy, conn}) => {
const deletedData = deleted ? dayjs.utc(deleted).format('YYYY-MM-DD HH:mm:ss') : dayjs.utc.format('YYYY-MM-DD HH:mm:ss') const deletedData = deleted ? dayjs.utc(deleted).format('YYYY-MM-DD HH:mm:ss') : dayjs.utc().format('YYYY-MM-DD HH:mm:ss')
const params = {uuid, deletedBy, deleted: deletedData} const params = {uuid, deletedBy, deleted: deletedData}
return mysql return mysql
@ -66,4 +71,3 @@ export{
insertUserModel, insertUserModel,
modifyUserModel modifyUserModel
} }