UNPKG

@a11ywatch/core

Version:
92 lines 4.18 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.getWebsites = exports.getWebsitesPaging = exports.getWebsitesPaginated = exports.getWebsitesWithUsers = exports.getWebsiteWrapper = exports.getWebsite = void 0; const database_1 = require("../../../../database"); const utils_1 = require("../../../utils"); const main_1 = require("../../page-speed/main"); const getWebsite = ({ userId, url, domain, }) => __awaiter(void 0, void 0, void 0, function* () { const params = (0, utils_1.websiteSearchParams)({ userId, url, domain, }); const website = database_1.websitesCollection && (yield database_1.websitesCollection.findOne(params)); return [website, database_1.websitesCollection]; }); exports.getWebsite = getWebsite; const getWebsiteWrapper = (params) => __awaiter(void 0, void 0, void 0, function* () { const [website] = yield (0, exports.getWebsite)(params); return website; }); exports.getWebsiteWrapper = getWebsiteWrapper; const getWebsitesWithUsers = (userLimit = 20, filter = {}) => __awaiter(void 0, void 0, void 0, function* () { return [ yield database_1.websitesCollection .find(Object.assign({ userId: { $gte: 0, $ne: -1 } }, filter)) .project({ url: 1, userId: 1 }) .limit(userLimit) .toArray(), database_1.websitesCollection, ]; }); exports.getWebsitesWithUsers = getWebsitesWithUsers; const getWebsitesPaginated = (limit = 10, filter = {}, page = 0, offset, project) => __awaiter(void 0, void 0, void 0, function* () { const data = database_1.websitesCollection && (yield database_1.websitesCollection .find(filter) .sort({ order: 1, _id: 1 }) .project(project !== null && project !== void 0 ? project : { url: 1, userId: 1, subdomains: 1, tld: 1, monitoringEnabled: 1, }) .limit(limit) .skip(offset !== null && offset !== void 0 ? offset : limit * page) .toArray()); return [data !== null && data !== void 0 ? data : [], database_1.websitesCollection]; }); exports.getWebsitesPaginated = getWebsitesPaginated; const getWebsitesPaging = ({ userId, limit = 3, offset = 0, insights = false }, chain) => __awaiter(void 0, void 0, void 0, function* () { var _a; const webPages = (yield database_1.websitesCollection .find({ userId }) .sort({ order: 1, _id: 1 }) .skip(offset) .limit(limit) .toArray()); if (insights) { for (let i = 0; i < webPages.length; i++) { const { json } = (_a = (yield (0, main_1.PageSpeedController)().getWebsite({ userId, pageUrl: webPages[i].url, domain: webPages[i].domain, }, false))) !== null && _a !== void 0 ? _a : {}; if (json) { webPages[i].insight = { json }; } } } return chain ? [webPages, database_1.websitesCollection] : webPages; }); exports.getWebsitesPaging = getWebsitesPaging; const getWebsites = ({ userId }, chain) => __awaiter(void 0, void 0, void 0, function* () { const websites = yield database_1.websitesCollection .find({ userId }) .limit(10) .toArray(); return chain ? [websites, database_1.websitesCollection] : websites; }); exports.getWebsites = getWebsites; //# sourceMappingURL=get.js.map