82 lines
2.2 KiB
JavaScript
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,
|
|
})
|
|
})
|