@a11ywatch/core
Version:
a11ywatch central API
69 lines • 3.39 kB
JavaScript
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
;