UNPKG

@fabrix/spool-analytics

Version:

Spool: Analytics for Fabrix

63 lines (62 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const common_1 = require("@fabrix/fabrix/dist/common"); class AnalyticsController extends common_1.FabrixController { create(req, res) { res.json({}); } findOne(req, res) { const Analytics = this.app.models['Analytic']; const name = req.params.name; Analytics.findOne({ where: { name: name } }) .then(analytic => { return res.json(analytic); }) .catch(err => { return res.serverError(err); }); } findCompare(req, res) { this.app.services.AnalyticsService.findCompare(req.params) .then(analytic => { return res.json(analytic); }) .catch(err => { return res.serverError(err); }); } findGroup(req, res) { this.app.services.AnalyticsService.findGroup(req.params, req.query) .then(analytics => { return res.json(analytics); }) .catch(err => { return res.serverError(err); }); } findAll(req, res) { const Analytics = this.app.models['Analytic']; const limit = Math.max(0, req.query.limit || 10); const offset = Math.max(0, req.query.offset || 0); const sort = req.query.sort || [['created_at', 'DESC']]; const where = req.jsonCriteria(req.query.where); Analytics.findAndCountAll({ order: sort, offset: offset, limit: limit, where: where }) .then(analytics => { res.paginate(analytics.count, limit, offset, sort); return res.json(analytics.rows); }) .catch(err => { return res.serverError(err); }); } } exports.AnalyticsController = AnalyticsController;