UNPKG

@a11ywatch/core

Version:
88 lines 2.93 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.getReport = void 0; const url_1 = require("url"); const config_1 = require("../../../config/config"); const database_1 = require("../../../database"); const getReport = (url, userId) => __awaiter(void 0, void 0, void 0, function* () { if (!url) { return { website: undefined }; } const authenticated = typeof userId !== "undefined"; let website; let domain; let targetPages = false; try { const { pathname, hostname } = new url_1.URL(url); if (pathname !== "/") { targetPages = true; } domain = hostname; } catch (e) { console.error(e); } let findBy = {}; let websiteFindBy = {}; let domainCollection = null; if (targetPages) { findBy = { url }; domainCollection = database_1.pagesCollection; } else { findBy = { domain }; domainCollection = database_1.websitesCollection; } if (authenticated) { websiteFindBy = Object.assign(Object.assign({}, findBy), { userId }); } else { websiteFindBy = Object.assign({}, findBy); } if (!Object.keys(websiteFindBy).length) { return { website: null, }; } try { website = domainCollection && (yield domainCollection.findOne(websiteFindBy)); } catch (e) { console.error(e); } if (website) { try { const websiteIssues = database_1.issuesCollection && (yield database_1.issuesCollection.findOne({ pageUrl: website.url, })); if (websiteIssues && websiteIssues.issues) { website.issues = websiteIssues.issues; } if (!authenticated && !config_1.SUPER_MODE) { website.insight = undefined; website.pageHeaders = undefined; website.ua = undefined; website.userId = undefined; } } catch (e) { console.error(e); } } return { website, }; }); exports.getReport = getReport; //# sourceMappingURL=read.js.map