96 lines
2.4 KiB
JavaScript
96 lines
2.4 KiB
JavaScript
const response = require('../../../helpers/responses')
|
|
const db = require('../../../../models/migration')
|
|
const errorHandler = require('../../../middlewares/errorHandler')
|
|
const {sequelize} = require('../../../../models/migration')
|
|
const { where } = require('sequelize')
|
|
const Branch = db.Branch
|
|
|
|
const getAll = async (req, res) => {
|
|
try {
|
|
const branch = await Branch.findAll({
|
|
order: [['created_at', 'DESC']]
|
|
})
|
|
return response.success(res, branch, 'successfully loaded')
|
|
} catch (error) {
|
|
errorHandler(error, req, res)
|
|
return response.failed(res, 500, error.message)
|
|
}
|
|
}
|
|
|
|
const create = async (req, res) => {
|
|
const t = await sequelize.transaction()
|
|
try {
|
|
const user_id = req.user.id
|
|
const body = req.body
|
|
|
|
const branch = await Branch.create({
|
|
...body,
|
|
user_id
|
|
})
|
|
|
|
await t.commit()
|
|
return response.success(res, branch, 'create successfuly')
|
|
} catch (error) {
|
|
errorHandler(error, req, res)
|
|
return response.failed(res, 500, error.message)
|
|
}
|
|
}
|
|
|
|
const update = async (req, res) => {
|
|
const t = await sequelize.transaction()
|
|
try {
|
|
const id = req.params.id
|
|
const body = req.body
|
|
const user_id = req.user.id
|
|
|
|
const branch = await Branch.findOne({
|
|
where: {id},
|
|
transaction: t
|
|
})
|
|
|
|
if (!branch) {
|
|
await t.rollback()
|
|
return response.failed(res, 404, 'Data Not Found')
|
|
}
|
|
|
|
const branchUpdate = await branch.update({
|
|
...body,
|
|
user_id
|
|
})
|
|
|
|
await t.commit()
|
|
return response.success(res, branchUpdate, 'Updated Successfuly')
|
|
|
|
|
|
} catch (error) {
|
|
await t.rollback()
|
|
errorHandler(error, req, res)
|
|
return response.failed(res, 500, error.message)
|
|
}
|
|
}
|
|
|
|
const destroy = async (req, res) => {
|
|
try {
|
|
const id = req.params.id
|
|
const branch = await Branch.findOne({
|
|
where: { id },
|
|
})
|
|
|
|
if (!branch) {
|
|
return response.failed(res, 404, 'Data Not Found')
|
|
}
|
|
await branch.destroy();
|
|
return response.success(res, null, 'Deleted Successfuly')
|
|
|
|
} catch (error) {
|
|
errorHandler(error, req, res)
|
|
return response.failed(res, 500, error.message)
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
getAll,
|
|
create,
|
|
update,
|
|
destroy
|
|
} |