7fife-backend/node_modules/mongoose/lib/helpers/topology/isAtlas.js

32 lines
748 B
JavaScript

'use strict';
const getConstructorName = require('../getConstructorName');
/**
* @typedef { import('mongodb').TopologyDescription } TopologyDescription
*/
/**
* Checks if topologyDescription contains servers connected to an atlas instance
*
* @param {TopologyDescription} topologyDescription
* @returns {boolean}
*/
module.exports = function isAtlas(topologyDescription) {
if (getConstructorName(topologyDescription) !== 'TopologyDescription') {
return false;
}
if (topologyDescription.servers.size === 0) {
return false;
}
for (const server of topologyDescription.servers.values()) {
if (server.host.endsWith('.mongodb.net') === false || server.port !== 27017) {
return false;
}
}
return true;
};