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}) => {
return mysql
.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}) => {

View File

@ -39,7 +39,15 @@ const insertPermissionModel = ({conn, ...params}) => {
const modifyPermissionModel = ({conn, ...params}) => {
return mysql
.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}) => {

View File

@ -40,7 +40,14 @@ const modifyRoleModel = ({uuid, name, conn}) => {
return mysql
.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}) => {

View File

@ -1,3 +1,4 @@
import { randomUUID as uuidv4 } from 'node:crypto'
import dayjs from 'dayjs'
import mysql from '../../adapters/mysql.js'
@ -5,7 +6,8 @@ import {
getRolesHasPermissionsQuery,
countRolesHasPermissionsQuery,
insertRolesHasPermissionsQuery,
softDeleteRolesHasPermissionsQuery
softDeleteRolesHasPermissionsQuery,
modifyRolesHasPermissionsQuery
} from '../../repositories/authorization/roles_has_permissionsRepository.js'
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})))
}
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 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
.execute(softDeleteRolesHasPermissionsQuery(params), conn, params)
@ -48,5 +63,6 @@ export {
getRolesHasPermissionsModel,
countRolesHasPermissionsModel,
insertRolesHasPermissionsModel,
softDeleteRolesHasPermissionsModel
}
softDeleteRolesHasPermissionsModel,
modifyRolesHasPermissionsModel
}

View File

@ -9,6 +9,7 @@ import {
deleteUserQuery,
softDeleteUserQuery
} from '../../repositories/authorization/userRepository.js'
import { error404 } from '../../utils/errors.js'
const getUserListModel = ({conn, ...rest}) => {
const now = dayjs.utc().format('YYYY-MM-DD HH:mm:ss')
@ -40,19 +41,23 @@ const insertUserModel = ({conn, ...params}) => {
return mysql
.execute(insertUserQuery({...params, uuid, now}), conn, {...params, uuid, now})
.then(queryResult => queryResult[1].map(({id, password, created, deleted, createdBy, deletedBy, ...resultFiltered}) => resultFiltered))
.catch(err => {
reject(err)
})
}
const modifyUserModel = ({conn, ...params}) => {
return mysql
.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 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}
return mysql
@ -65,5 +70,4 @@ export{
softDeleteUserModel,
insertUserModel,
modifyUserModel
}
}