Browse Source

fix: save User & Profile

MetaPunkGames 8 months ago
parent
commit
46299b9808
1 changed files with 31 additions and 14 deletions
  1. 31 14
      server/cloud/authing/trigger-user-save.js

+ 31 - 14
server/cloud/authing/trigger-user-save.js

@@ -1,24 +1,41 @@
 
 export function defineUserAfterSave(){
     Parse.Cloud.afterSave("_User", async (request) => {
+        console.log("save _User",request?.object?.id)
         let query = new Parse.Query("Profile");
         query.equalTo("user",request?.object?.id)
         let profile = await query.first();
-        let userInfo = user.toJSON();
-        userInfo= fixJsonFileds(userInfo)
-        if(profile){
-            let pjson = profile.toJSON();
-            delete pjson.objectId;
-            pjson= fixJsonFileds(pjson)
-            Object.keys(pjson).forEach(key=>{
-                userInfo[key] = pjson[key]
-            })
-        }
-        // 映射对应字段
-        userInfo.company = userInfo.companyName
-        delete userInfo.companyName
-        console.log(userInfo)
+       syncUserProfileToAuthing(request?.object,profile)
     });
+
+    Parse.Cloud.afterSave("Profile", async (request) => {
+        console.log("save Profile",request?.object?.id)
+        let query = new Parse.Query("Profile");
+        query.include("user");
+        profile = await query.get(require?.object?.id);
+        syncUserProfileToAuthing(profile.get("user"),profile)
+     
+    });
+}
+
+
+function syncUserProfileToAuthing(){
+    let userInfo = user.toJSON();
+    userInfo = fixJsonFileds(userInfo)
+    if(profile){
+        let pjson = profile.toJSON();
+        delete pjson.objectId;
+        pjson= fixJsonFileds(pjson)
+        Object.keys(pjson).forEach(key=>{
+            userInfo[key] = pjson[key]
+        })
+    }
+    // 映射对应字段
+    userInfo.company = userInfo.companyName
+    delete userInfo.companyName
+    userInfo.userType = userInfo.identity
+    delete userInfo.identity
+    console.log(userInfo)
 }
 
 function fixJsonFileds(json){