@a11ywatch/core
Version:
a11ywatch central API
78 lines • 3.51 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.getPagesPaging = exports.getAllPages = exports.getPage = exports.getPages = void 0;
const database_1 = require("../../../../database");
const utils_1 = require("../../../utils");
const main_1 = require("../../page-speed/main");
const getPages = ({ domain, userId, url }, chain) => __awaiter(void 0, void 0, void 0, function* () {
if (!database_1.pagesCollection) {
return chain ? [[], database_1.pagesCollection] : [];
}
const searchProps = (0, utils_1.websiteSearchParams)({
userId,
domain: domain || (url && (0, utils_1.getHostName)(url)),
});
try {
const pages = yield database_1.pagesCollection
.find(searchProps)
.sort({ url: 1 })
.limit(0)
.toArray();
return chain ? [pages, database_1.pagesCollection] : pages;
}
catch (e) {
return chain ? [[], database_1.pagesCollection] : [];
}
});
exports.getPages = getPages;
const getPage = ({ userId, url, }) => __awaiter(void 0, void 0, void 0, function* () {
const searchProps = (0, utils_1.websiteSearchParams)({ url, userId });
const page = database_1.pagesCollection && (yield database_1.pagesCollection.findOne(searchProps));
return [page, database_1.pagesCollection];
});
exports.getPage = getPage;
const getAllPages = () => __awaiter(void 0, void 0, void 0, function* () {
const websites = database_1.pagesCollection && (yield database_1.pagesCollection.find({}).limit(0).toArray());
return [websites, database_1.pagesCollection];
});
exports.getAllPages = getAllPages;
const getPagesPaging = ({ userId, domain, limit = 5, offset = 0, insights = false, }, chain) => __awaiter(void 0, void 0, void 0, function* () {
var _a;
let params = {};
if (typeof userId !== "undefined") {
params = { userId };
}
if (typeof domain !== "undefined" && domain) {
params = (0, utils_1.domainNameFind)(params, domain);
}
const pages = database_1.pagesCollection &&
(yield database_1.pagesCollection.find(params).skip(offset).limit(limit).toArray());
if (pages && insights) {
for (let i = 0; i < pages.length; i++) {
const cp = pages[i];
if (!cp.pageInsights) {
continue;
}
const { json } = (_a = (yield (0, main_1.PageSpeedController)().getWebsite({
userId,
pageUrl: cp.url,
domain,
}))) !== null && _a !== void 0 ? _a : {};
if (json) {
pages[i].insight = { json };
}
}
}
return chain ? [pages, database_1.pagesCollection] : pages;
});
exports.getPagesPaging = getPagesPaging;
//# sourceMappingURL=domains.js.map
;