UNPKG

@exweiv/weiv-data

Version:

Custom API Library for Wix sites to connect MongoDB. Designed to easily switch from wix-data APIs.

63 lines (62 loc) 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getReferencesItemIds = exports.getReferenceItemId = void 0; const mongodb_1 = require("mongodb"); const validator_1 = require("./validator"); const lodash_1 = require("lodash"); const error_manager_1 = require("../Errors/error_manager"); const id_converters_1 = require("../Functions/id_converters"); const getReferenceItemId = (referringItem) => { if (referringItem) { let safeReferringItem; if (mongodb_1.ObjectId.isValid(referringItem)) { if (typeof referringItem === "string") { return new mongodb_1.ObjectId(referringItem); } else if (typeof referringItem === "object") { return referringItem; } else { (0, error_manager_1.kaptanLogar)("00013", "ItemID is not a string or ObjectID so we can't convert it to ObjectID in any way"); } } else { if (typeof referringItem === "object") { if (!referringItem._id) { (0, error_manager_1.kaptanLogar)("00013", "when sending Item it must contain _id field in it with a valid value!"); } safeReferringItem = (0, validator_1.copyOwnPropsOnly)(referringItem); return (0, id_converters_1.convertIdToObjectId)(safeReferringItem._id); } else { if (typeof referringItem !== "string") { (0, error_manager_1.kaptanLogar)("00013", "ItemID must be ObjectId or StringId! It cannot be something else!"); } return (0, id_converters_1.convertIdToObjectId)(referringItem); } } } else { (0, error_manager_1.kaptanLogar)("00013", "RefferingItem is empty there is no value!"); } }; exports.getReferenceItemId = getReferenceItemId; const getReferencesItemIds = (referencedItem) => { if (referencedItem) { let saveObjectIds = []; if ((0, lodash_1.isArray)(referencedItem)) { for (const i of referencedItem) { saveObjectIds.push((0, exports.getReferenceItemId)(i)); } return saveObjectIds; } else { saveObjectIds.push((0, exports.getReferenceItemId)(referencedItem)); return saveObjectIds; } } else { (0, error_manager_1.kaptanLogar)("00013", "ReferencedItem is empty there is no value!"); } }; exports.getReferencesItemIds = getReferencesItemIds;