expressServer/services/userService.js

44 lines
1.0 KiB
JavaScript

const userMapper = require('../repositories/userRepository')
const logger = require('morgan')
const errorMessages = require('../config/errorMessages')
exports.user_list = async () => {
try {
const list_users = await userMapper.selectAllUser()
return list_users
} catch (err) {
throw err
}
}
exports.create_user = async (user) => {
try {
const { account } = user
const session = await userMapper.startTransaction()
try {
const check_user = await userMapper.selectUserByAccount(account)
if (check_user) {
throw new Error(errorMessages.user.already_exists)
}
const result = await userMapper.createUser(user)
await userMapper.commitTransaction(session)
return result
} catch (err) {
try {
await userMapper.rollbackTransaction(session)
} catch (roolbackErr) {
logger('Error rolling back transaction: ', roolbackErr)
}
throw err
}
} catch (err) {
logger('Error creating user: ', err)
throw err
}
}