如何在Google App Maker中创建复杂的用户角色

时间:2018-01-15 16:40:20

标签: google-app-maker

我正在考虑基于组创建一组权限角色,然后根据这些角色细节过滤他们从数据源看到的数据,但我似乎无法按照我的意愿继续前进。

要获得概念证明,我只是试图过滤名册数据源并拥有以下服务器端脚本:

function roleCheckAgents(user)
{
  var userRoles = app.getActiveUserRoles();
  var query = app.models.Agents.newQuery();

  if(userRoles.indexOf(app.roles.testRole) >= 1){
     if(app.models.Agents.getRecords().filter().
       query.filters.strRelatedCompany._equals === "sampleCompany");
     return query.run();
  }

}

该群组本身包含我的和其他一些电子邮件,并列为testRole。在Agents数据源安全性中,我将Load列为脚本:roleCheckAgents(user)

实际上,我想在一个角色中设置多个过滤器,例如Company === "sampleCompany" && Site === "sampleSite"等等。

任何帮助将不胜感激,因为我目前无法看到它将如何以我需要/想要的方式运作。

谢谢!

更新

我能够使多个过滤器工作,但只能作为数据源的查询脚本。创建的问题是我已经在该部分中有查询构建器条件,并且您只能拥有查询构建器或查询脚本。

查询脚本的工作原理如下:

var query = app.models.Audits.newQuery();  
if(app.getActiveUserRoles().indexOf(app.roles.Test) > -1)
  {   query.filters.field1._contains = "center";
      query.filters.field2._contains = "status";
      return query.run();}
else
{}

当前查询构建器项目为:

field1 contains? :searchText OR
field2 contains? :searchText OR
field3 contains? :searchText OR
field4 contains? :searchText OR
field5 contains? :searchText

有关如何将两者作为查询构建器或查询脚本的一部分的任何想法吗?

谢谢。 Kristopher

1 个答案:

答案 0 :(得分:0)

为什么不使用"模型权限"您可以在其中指定每个角色的访问权限(数据源上的安全选项卡)。如果您是GCP超级管理员,则可以创建自定义角色。