UNPKG

@a11ywatch/core

Version:
62 lines 2.8 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.getIssuesPaging = exports.getIssues = exports.getIssue = void 0; const database_1 = require("../../../../database"); const utils_1 = require("../../../utils"); const getIssue = ({ url, pageUrl, userId, noRetries }, chain) => __awaiter(void 0, void 0, void 0, function* () { const queryUrl = decodeURIComponent(String(url || pageUrl)); const searchProps = (0, utils_1.websiteSearchParams)({ pageUrl: queryUrl, userId, }); let issue = null; if (Object.keys(searchProps).length) { issue = yield database_1.issuesCollection.findOne(searchProps); if (!issue && !noRetries) { issue = yield database_1.issuesCollection.findOne({ pageUrl: queryUrl }); if (!issue) { issue = yield database_1.issuesCollection.findOne({ domain: (0, utils_1.getHostName)(queryUrl), }); } } } return chain ? [issue, database_1.issuesCollection] : issue; }); exports.getIssue = getIssue; const getIssues = ({ userId, domain, pageUrl, }, limit = 2000) => __awaiter(void 0, void 0, void 0, function* () { const searchProps = (0, utils_1.websiteSearchParams)({ domain: domain || (0, utils_1.getHostName)(pageUrl), userId, }); return yield database_1.issuesCollection .find(searchProps) .sort({ pageUrl: 1 }) .limit(limit) .toArray(); }); exports.getIssues = getIssues; const getIssuesPaging = (params) => __awaiter(void 0, void 0, void 0, function* () { const { userId, domain, pageUrl, limit = 10, offset = 0, all } = params !== null && params !== void 0 ? params : {}; const searchParams = (0, utils_1.websiteSearchParams)({ domain: domain || (0, utils_1.getHostName)(pageUrl), userId, all, }); return (yield database_1.issuesCollection .find(searchParams) .skip(offset) .limit(limit) .toArray()); }); exports.getIssuesPaging = getIssuesPaging; //# sourceMappingURL=index.js.map