@a11ywatch/core
Version:
a11ywatch central API
92 lines • 4.18 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.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
;