|
@@ -52,16 +52,16 @@ function appendUserACL(user){
|
|
|
if(!acl) acl = new Parse.ACL();
|
|
|
|
|
|
// 添加superadmin用户的可读可写权限
|
|
|
- acl.setWriteAccess("superadmin", true);
|
|
|
- acl.setReadAccess("superadmin", true);
|
|
|
+ acl.setRoleWriteAccess("superadmin", true);
|
|
|
+ acl.setRoleReadAccess("superadmin", true);
|
|
|
|
|
|
// 添加admin用户的可读可写权限
|
|
|
- acl.setWriteAccess("admin", true);
|
|
|
- acl.setReadAccess("admin", true);
|
|
|
+ acl.setRoleWriteAccess("admin", true);
|
|
|
+ acl.setRoleReadAccess("admin", true);
|
|
|
|
|
|
// 添加manager用户的可读可写权限
|
|
|
- acl.setWriteAccess("manager", true);
|
|
|
- acl.setReadAccess("manager", true);
|
|
|
+ acl.setRoleWriteAccess("manager", true);
|
|
|
+ acl.setRoleReadAccess("manager", true);
|
|
|
|
|
|
// 添加公共可读权限
|
|
|
acl.setPublicReadAccess(true);
|
|
@@ -107,13 +107,40 @@ export function defineUserAfterSave(){
|
|
|
Parse.Cloud.afterSave("Profile", async (request) => {
|
|
|
// console.log("save Profile",request?.object?.id)
|
|
|
let query = new Parse.Query("Profile");
|
|
|
+ let userPointer = request?.object?.get("user")
|
|
|
query.include("user");
|
|
|
- profile = await query.get(request?.object?.id);
|
|
|
+ console.log(userPointer)
|
|
|
+ profile = await query.get(request?.object?.id,{useMasterKey:true});
|
|
|
syncUserProfileToAuthing(profile.get("user"),profile)
|
|
|
-
|
|
|
+
|
|
|
+ appandUserToRole(profile.get("user")?.toPointer() || userPointer,profile?.get("identity"))
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+// 同步Profile角色身份
|
|
|
+async function appandUserToRole(user,roleName) {
|
|
|
+ console.log(user,roleName)
|
|
|
+ let id = user?.id || user?.objectId
|
|
|
+ if(!id || !roleName) return
|
|
|
+ let userObj = new Parse.User();
|
|
|
+ userObj.id = id;
|
|
|
+ let query = new Parse.Query(Parse.Role);
|
|
|
+ query.equalTo("name", roleName);
|
|
|
+ try{
|
|
|
+ let role = await query.first({ useMasterKey: true });
|
|
|
+ console.log(role?.toJSON())
|
|
|
+ if (role?.toJSON()?.name) {
|
|
|
+ let usersRelation = role.relation("users");
|
|
|
+ usersRelation.add(userObj);
|
|
|
+ await role.save(null, { useMasterKey: true });
|
|
|
+ let users = await usersRelation.query().find({ useMasterKey: true });
|
|
|
+ console.log('Users in role after addition:', users.map(u => u.toJSON()));
|
|
|
+ }
|
|
|
+ }catch(err){
|
|
|
+ console.error(err)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* 查询用户
|
|
|
* @param {*} user
|