UNPKG

@a11ywatch/core

Version:
69 lines 3.39 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AnalyticsController = exports.getAnalyticsPaging = void 0; const extracter_1 = require("../../../web/params/extracter"); const database_1 = require("../../../database"); const utils_1 = require("../../utils"); const getAnalyticsPaging = (params, chain) => __awaiter(void 0, void 0, void 0, function* () { const { userId, domain, limit = 20, offset = 0, all = false } = params !== null && params !== void 0 ? params : {}; let filters = {}; if ((0, extracter_1.validateUID)(userId)) { filters = { userId }; } if (typeof domain !== "undefined" && domain) { if (all) { filters = (0, utils_1.domainNameFind)(filters, domain); } else { filters = Object.assign(Object.assign({}, filters), { domain }); } } try { const pages = (yield database_1.analyticsCollection .find(filters) .skip(offset) .limit(limit) .toArray()); return chain ? [pages, database_1.analyticsCollection] : pages; } catch (e) { console.error(e); return chain ? [[], database_1.analyticsCollection] : []; } }); exports.getAnalyticsPaging = getAnalyticsPaging; const AnalyticsController = ({ user } = { user: null }) => ({ getCollection: database_1.analyticsCollection, getWebsite: ({ pageUrl, userId, domain, bypass }, chain) => __awaiter(void 0, void 0, void 0, function* () { const searchProps = (0, utils_1.websiteSearchParams)({ pageUrl, userId, domain }); let analytics = null; if ((0, extracter_1.validateUID)(userId) || bypass) { analytics = yield database_1.analyticsCollection.findOne(searchProps); } return chain ? [analytics, database_1.analyticsCollection] : analytics; }), getWebsiteAnalytics: ({ userId, domain }) => __awaiter(void 0, void 0, void 0, function* () { const searchProps = (0, utils_1.websiteSearchParams)({ domain, userId }); return (0, extracter_1.validateUID)(userId) ? yield database_1.analyticsCollection.find(searchProps).limit(0).toArray() : []; }), getAnalytics: ({ userId, pageUrl }) => __awaiter(void 0, void 0, void 0, function* () { const searchProps = (0, utils_1.websiteSearchParams)({ pageUrl, userId }); return (0, extracter_1.validateUID)(userId) ? yield database_1.analyticsCollection.find(searchProps).limit(20).toArray() : []; }), getAnalyticsPaging: exports.getAnalyticsPaging, }); exports.AnalyticsController = AnalyticsController; //# sourceMappingURL=index.js.map