JAVASCRIPT   12

Permission.js

Guest on 6th June 2021 05:35:21 AM

  1. /**
  2.  * Manages user permissions.
  3.  *
  4.  * @author  Matthias Schmidt
  5.  * @copyright     2001-2021 WoltLab GmbH
  6.  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  7.  * @module  Permission (alias)
  8.  * @module  WoltLabSuite/Core/Permission
  9.  */
  10. define(['Dictionary'], function(Dictionary) {
  11.       "use strict";
  12.      
  13.       var _permissions = new Dictionary();
  14.      
  15.       /**
  16.        * @exports WoltLabSuite/Core/Permission
  17.        */
  18.       return {
  19.             /**
  20.              * Adds a single permission to the store.
  21.              *
  22.              * @param   {string}    permission  permission name
  23.              * @param   {boolean}   value       permission value
  24.              */
  25.             add: function(permission, value) {
  26.                   if (typeof value !== "boolean") {
  27.                         throw new TypeError("Permission value has to be boolean.");
  28.                   }
  29.                  
  30.                   _permissions.set(permission, value);
  31.             },
  32.            
  33.             /**
  34.              * Adds all the permissions in the given object to the store.
  35.              *
  36.              * @param   {Object.<string, boolean>}    object            permission list
  37.              */
  38.             addObject: function(object) {
  39.                   for (var key in object) {
  40.                         if (objOwns(object, key)) {
  41.                               this.add(key, object[key]);
  42.                         }
  43.                   }
  44.             },
  45.            
  46.             /**
  47.              * Returns the value of a permission.
  48.              *
  49.              * If the permission is unknown, false is returned.
  50.              *
  51.              * @param   {string}    permission  permission name
  52.              * @return  {boolean}   permission value
  53.              */
  54.             get: function(permission) {
  55.                   if (_permissions.has(permission)) {
  56.                         return _permissions.get(permission);
  57.                   }
  58.                  
  59.                   return false;
  60.             }
  61.       };
  62. });

Raw Paste


Login or Register to edit or fork this paste. It's free.