UNPKG

@a11ywatch/core

Version:
57 lines 3.21 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.removeWebsite = void 0; const database_1 = require("../../../../database"); const strings_1 = require("../../../strings"); const find_1 = require("../find"); const history_1 = require("../../history"); const utils_1 = require("../../../utils"); const extracter_1 = require("../../../../web/params/extracter"); const removeWebsite = ({ userId, url = "", domain = "", deleteMany = false, }) => __awaiter(void 0, void 0, void 0, function* () { if (deleteMany) { yield database_1.websitesCollection.deleteMany({ userId }); yield database_1.analyticsCollection.deleteMany({ userId }); yield database_1.pagesCollection.deleteMany({ userId }); yield database_1.issuesCollection.deleteMany({ userId }); yield database_1.actionsCollection.deleteMany({ userId }); yield database_1.pageSpeedCollection.deleteMany({ userId }); return { code: 200, success: true, message: strings_1.SUCCESS_DELETED_ALL }; } const [siteExist, collection] = yield (0, find_1.getWebsite)({ userId, url, domain }); if (!siteExist) { throw new Error(strings_1.WEBSITE_NOT_FOUND); } const removeRelative = siteExist.subdomains || siteExist.tld; const baseRemoveQuery = (0, extracter_1.validateUID)(userId) ? { domain: siteExist.domain, userId } : { domain: siteExist.domain }; const [history, historyCollection] = yield (0, history_1.HistoryController)().getHistoryItem(baseRemoveQuery); let deleteQuery = baseRemoveQuery; if (removeRelative) { deleteQuery = (0, utils_1.domainNameFind)({ userId }, siteExist.domain); } yield database_1.analyticsCollection.deleteMany(deleteQuery); yield database_1.pagesCollection.deleteMany(deleteQuery); yield database_1.issuesCollection.deleteMany(deleteQuery); yield database_1.actionsCollection.deleteMany(deleteQuery); yield database_1.pageSpeedCollection.deleteMany(deleteQuery); yield collection.findOneAndDelete(deleteQuery); if (!history) { if ((yield historyCollection.countDocuments({ userId })) >= 20) { yield historyCollection.deleteOne({ userId }); } yield historyCollection.insertOne(Object.assign(Object.assign({}, siteExist), { deletedDate: new Date() })); } return { website: siteExist, code: 200, success: true, message: strings_1.SUCCESS }; }); exports.removeWebsite = removeWebsite; //# sourceMappingURL=remove.js.map