'use strict'; const generateControllers = require('../../core/controllers'); const entityService = require('./entity.service'); const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper'); // Module Name const MODULE_NAME = '[entity.controller]'; const controllerOptions = { MODULE_NAME }; const extraControllers = { findColleges: async (req, res, next) => { const params = extractParamsFromRequest(req, res, {}); try { const result = await entityService.fetch(params, { user: req.user, type: 'college' }); return handleResultResponse(result, result.count, params, res); } catch (error) { handleErrorResponse(MODULE_NAME, 'findNext', error, res); } }, findPartners: async (req, res, next) => { const params = extractParamsFromRequest(req, res, {}); try { const result = await eventService.fetch(params, { user: req.user, type: 'partner' }); return handleResultResponse(result, result.count, params, res); } catch (error) { handleErrorResponse(MODULE_NAME, 'findNext', error, res); } }, }; module.exports = generateControllers(entityService, extraControllers, controllerOptions);