Options
All
  • Public
  • Public/Protected
  • All
Menu

Module permission

Index

Type aliases

PermValueType

PermValueType: "CustomizeApplication" | "ViewAllUsers" | "ManageUsers" | "ViewRoles" | "ManageRoles" | "ViewProfiles" | "ViewPermissionSets" | "ManagePermissionSets" | "AssignPermissionSets" | "ViewGroups" | "ManageGroups" | "ViewQueues" | "ManageQueues" | "ManageSharing" | "ManageSystemConfig" | "ViewProcesses" | "ManageProcesses" | "RunProcesses" | "ViewFlows" | "ManageFlows" | "RunFlows" | "ViewScripts" | "ManageScripts" | "RunScripts" | "ViewTimedTasks" | "ManageTimedTasks" | "ViewReports" | "ManageReports" | "RunReports" | "ExportReports" | "ViewDashboards" | "ManageDashboards" | "RunDashboards" | "ViewAllData" | "ModifyAllData" | "RunSQL" | "ManageWebsite" | "ManagePackage" | "ManageDevelopBranch" | "UseDevelopBranch" | "ManageFeatureBranch" | "UseFeatureBranch" | "ManageFixBugBranch" | "UseFixBugBranch" | "ManageBaseline" | "ViewEncryptedData" | "ViewETLEngine" | "ViewPortalUserPermissions" | "ManagePortalUserPermissions" | "ViewServicePermissions" | "ManageServicePermissions" | "ManageScene" | "ManageEventStreaming" | "ViewNativeBO" | "ManageNativeBO" | "AssetBaseQuery" | "AssetListQuery" | "AssetAdmin" | "AppPackage" | "AppInstall" | "AppAdmin" | "AppDev" | "DataVAdmin" | "DataVDev" | "BaAdmin" | "BaDev" | "ManageDevCloud" | "ViewTenantTraceLog" | "ViewPrivateData"

permission value type

"CustomizeApplication": 开发应用

"ViewAllUsers": 查看所有用户

"ManageUsers": 管理用户&用户权限

"ViewRoles": 查看角色

"ManageRoles": 管理角色

"ViewProfiles": 查看权限管理

"ViewPermissionSets": 查看扩展权限集

"ManagePermissionSets":管理扩展权限集

"AssignPermissionSets": 分配扩展权限集

"ViewGroups": 查看组

"ManageGroups": 管理组

"ViewQueues": 查看队列

"ManageQueues": 管理队列

"ManageSharing": 管理分享规则

"ManageSystemConfig": 管理系统设置

"ViewProcesses": 查看 BPM

"ManageProcesses": 管理 BPM

"RunProcesses": 执行 BPM

"ViewFlows": 查看服务编排

"ManageFlows": 管理服务编排

"RunFlows": 执行服务编排

"ViewScripts": 查看脚本

"ManageScripts": 管理脚本

"RunScripts": 执行脚本

"ViewTimedTasks": 查看定时任务

"ManageTimedTasks": 管理定时任务

"ViewReports": 查看报表

"ManageReports": 管理报表

"RunReports": 运行报表

"ExportReports": 导出报表

"ViewDashboards": 查看仪表板

"ManageDashboards": 管理仪表板

"RunDashboards": 执行仪表板

"ViewAllData": 查看所有数据

"ModifyAllData": 修改所有数据

"RunSQL": 运行 SQL

"ManageWebsite": 管理网站

"ManagePackage": 管理包

"ManageDevelopBranch": 管理开发分支

"UseDevelopBranch": 使用开发分支

"ManageFeatureBranch": 管理特性分支

"UseFeatureBranch": 使用特性分支

"ManageFixBugBranch": 管理BUG修复分支

"UseFixBugBranch": 使用BUG修复分支

"ManageBaseline": 管理基线

"ViewEncryptedData": 查看加密数据

"ViewETLEngine": 管理 ETL 作业

"ViewPortalUserPermissions": 查看业务用户权限

"ManagePortalUserPermissions": 管理业务用户权限

"ViewServicePermissions": 查看业务权限

"ManageServicePermissions": 管理业务权限

"ManageScene": 管理场景

"ManageEventStreaming": 运行和停止数据接入与事件流任务

"ViewNativeBO": 查看原生服务

"ManageNativeBO": 管理原生服务

"AssetBaseQuery": 查询组件/库

"AssetListQuery": 资产列表查询

"AssetAdmin": 管理组件/库

"AppAdmin": 管理&开发页面

"AppDev": 开发页面

"DataVAdmin": 管理&开发DMAX项目

"DataVDev": 开发DMAX项目

"BaAdmin": 管理&开发BA组态项目

"BaDev": 开发BA组态项目

"ManageDevCloud": 对接DevCloud

"ViewTenantTraceLog": 查看租户跟踪日志

"ViewPrivateData": 查看敏感隐私数据

PermissionValue

PermissionValue: {[ a in PermValueType]: boolean }

permission map

Functions

hasPermissionSet

  • hasPermissionSet(permissionSetName: string): boolean
  • Check whether has the specified permission set for the current user

    example
    
    import * as ps from 'permission';
    
    let permission_set_name = "edit_account"
    let ok = ps.hasPermissionSet(permission_set_name)
    

    Parameters

    • permissionSetName: string

      the permission set name

    Returns boolean

newPermissionManager

  • service permission manager

    example
    import * as permission from 'permission';
    
    let mng = permission.newPermissionManager();
    
    let ps = mng.getList();
    ps.forEach((v) => console.log(v.name));
    ps.forEach((v) => console.log(v));
    
    let categories = mng.getCategoryList();
    categories.forEach((v) => {
      console.log("category: ", v);
      let cp = mng.getListByCategory(v);
      cp.forEach((d) => console.log(d));
    })
    
    console.log("no categories");
    let cp = mng.getListByCategory("");
    cp.forEach((d) => console.log(d.name))
    
    
    let id = mng.create("name_2", "新建的标签", "test");
    console.log(id);
    
    cp = mng.getListByCategory("test")
    cp.forEach((v) => console.log(v.id, v.name, v.label, v.category));
    
    mng.delete(id);
    

    Returns PermissionManager

newProfileManager

  • 权限管理

    在启用租户级别安全模式下, 需要有 System Admin Profile 权限才能操作

    example
    import * as permission from 'permission';
    
    let mng = permission.newProfileManager();
    
    let profiles = mng.getList();
    console.log(profiles);
    for (let p of profiles) {
      console.log(p.name);
    }
    
    try {
      let id = mng.create("create_by_script_1", "由脚本创建");
      let p = mng.getById(id);
      console.log(p);
      console.log(p.id);
      console.log(p.name);
    
      let pas = mng.getPermissionsById(id);
      // console.log(pas);
    
      for (let pa of pas) {
          console.log(pa.servicePermission, pa.accessible);
          if (!pa.accessible) {
              mng.setPermission(id, pa.servicePermission, !pa.accessible);
          }
      }
      pas.filter((v, i) => i % 2 == 0).forEach((v) => mng.setPermission(id, v.servicePermission, false))
    
      pas = mng.getPermissionsById(id);
      console.log(pas);
    
    
      mng.deleteById(id);
    
    } catch (e) {
       console.log(e.message);
    }
    
    example
    import * as permission from 'permission';
    
    
    let mng = permission.newProfileManager();
    let newName = "SOMNAME";
    try {
     mng.deleteByName(newName);
    }catch (e) {
      console.log(e);
    }
    
    let anonymous = "Anonymous User Profile";
    let ap = mng.getByName(anonymous);
    
    
    let newId = mng.clone(ap.id, newName);
    
    let aps = mng.getPermissionsById(ap.id);
    let bps = mng.getPermissionsById(newId);
    
    for (let i = 0; i < aps.length; i++) {
      if (aps[i].accessible != bps[i].accessible || aps[i].servicePermission != bps[i].servicePermission) {
           console.log("oops~")
      }
    }
    
    bps.forEach(v => {
       v.accessible = !v.accessible
    })
    
    mng.setPermissions(newId, bps)
    
    

    Returns ProfileManager

valueMap