!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/OTapi/node_modules/mongoose/lib/helpers/indexes/   drwxr-xr-x
Free 13.27 GB of 57.97 GB (22.89%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     getRelatedIndexes.js (1.8 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
'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;
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0459 ]--