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