Files
mbmanager-api/components/belonging/belongingController.js
T
kavehhn de60d4f163 ADD: Events
ADD: Index One Belonging
ADD: Belonging Code
2025-06-04 16:07:45 +03:30

82 lines
2.2 KiB
JavaScript

const catchAsync = require('../../globalErrorHandler/catchAsync')
const belongingService = require('./belongingService')
const { eventEmitter } = require('../../events/eventEmitter')
exports.searchBelongings = catchAsync(async (req, res, next) => {
const { facets, belongings, totalCount, pagesCount } = await belongingService.searchBelongings(req.query)
res.status(200).json({
status: 'success',
facets,
belongings,
totalCount,
pagesCount,
})
})
exports.indexAllBelongings = catchAsync(async (req, res, next) => {
const { indexedCount } = await belongingService.indexAllBelongings()
res.status(200).json({
status: 'success',
indexedCount,
})
})
exports.indexOneBelonging = catchAsync(async (req, res, next) => {
await belongingService.indexOneBelonging()
res.status(200).json({
status: 'success',
})
})
exports.getAllBelongings = catchAsync(async (req, res, next) => {
const belongings = await belongingService.getAllBelongings()
res.status(200).json({
status: 'success',
results: belongings.length,
data: belongings,
})
})
exports.createBelonging = catchAsync(async (req, res, next) => {
const belonging = await belongingService.createBelonging(req.body)
eventEmitter.emit('createBelonging', belonging)
res.status(201).json({
status: 'success',
data: belonging,
})
})
exports.getBelonging = catchAsync(async (req, res, next) => {
const belonging = await belongingService.getBelonging(req.params.belongingId)
res.status(200).json({
status: 'success',
data: belonging,
})
})
exports.updateBelonging = catchAsync(async (req, res, next) => {
const belonging = await belongingService.updateBelonging(req.params.belongingId, req.body)
await belongingService.indexAllBelongings()
res.status(200).json({
status: 'success',
data: belonging,
})
})
exports.deleteBelonging = catchAsync(async (req, res, next) => {
await belongingService.deleteBelonging(req.params.belongingId)
// eventEmitter.emit('deleteBelonging')
res.status(204).json({
status: 'success',
data: null,
})
})