本文整理匯總了TypeScript中leancloud-storage.Role.getUsers方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Role.getUsers方法的具體用法?TypeScript Role.getUsers怎麽用?TypeScript Role.getUsers使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類leancloud-storage.Role
的用法示例。
在下文中一共展示了Role.getUsers方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: done
roleQuery.find<AV.Role[]>().then(roles => {
// 如果角色存在
if (roles.length > 0) {
let administratorRole = roles[0];
roleQuery.equalTo('users', AV.User.current());
roleQuery.find<AV.Object[]>().then(userForRole => {
if (userForRole.length == 0) {//該角色存在,但是當前用戶未被賦予該角色
let userRoleRelation = administratorRole.getUsers();
userRoleRelation.add(AV.User.current());//為當前用戶賦予該角色
administratorRole.save<AV.Role>().then(result => {
chai.assert.isNotNull(result.id);
done();
}, error => {
if (error) throw 'error on add user';
});
}
}, error => {
if (error) throw 'error on find role';
});
} else {
// 該角色不存在,接下來創建該角色,並未當前用戶賦予該角色
let administratorRole = new AV.Role(randomRolename);//新建角色
let userRoleRelation = administratorRole.getUsers();
userRoleRelation.add(AV.User.current());//為當前用戶賦予該角色
administratorRole.save<AV.Role>().then(role => {
chai.assert.isNotNull(role.id);
done();
}, error => {
if (error) throw 'error save role and add user';
});
}
}, error => {
示例2:
return currentUser.signUp().then<AV.Role>(user => {
administratorRole = new AV.Role(randomRolename);
let roleAcl = new AV.ACL();
roleAcl.setPublicReadAccess(true);
roleAcl.setPublicWriteAccess(false);
// 當前用戶是該角色的創建者,因此具備對該角色的寫權限
roleAcl.setWriteAccess(AV.User.current(), true);
administratorRole.setACL(roleAcl);
administratorRole.getUsers().add(AV.User.current());
return administratorRole;
}, error => {
示例3: it
it('AVObject#setACL', function (done) {
try {
// 示例代碼-Start
// 新建一個帖子對象
let post = new AV.Object('Post');
post.set("title", "大家好,我是新人");
// 新建一個角色,並把為當前用戶賦予該角色
administratorRole = new AV.Role(randomRolename);//新建角色
let relation = administratorRole.getUsers();
administratorRole.getUsers().add(AV.User.current());//為當前用戶賦予該角色
administratorRole.save<AV.Role>().then(administratorRole => {//角色保存成功
// 新建一個 ACL 實例
let objectACL = new AV.ACL();
objectACL.setPublicReadAccess(true);
objectACL.setRoleWriteAccess(administratorRole, true);
// 將 ACL 實例賦予 Post 對象
post.setACL(objectACL);
post.save<AV.Object>().then(post => {
chai.assert.isNotNull(post.id);
done();
}, error => {
if (error) throw error;
});
}, error => {
//角色保存失敗,處理 error
});
// 示例代碼-End
}
catch (e) {
chai.assert.isNull(e);
}
});