Bläddra i källkod

feat: user after save

MetaPunkGames 8 månader sedan
förälder
incheckning
999fb514f2
3 ändrade filer med 37 tillägg och 4 borttagningar
  1. 2 1
      server/cloud/authing/index.js
  2. 30 0
      server/cloud/authing/trigger-user-save.js
  3. 5 3
      server/server.js

+ 2 - 1
server/cloud/authing/index.js

@@ -1,2 +1,3 @@
 export * from "./func-authing-session-sync"
-export * from "./func-authing-org-sync"
+export * from "./func-authing-org-sync"
+export * from "./trigger-user-save"

+ 30 - 0
server/cloud/authing/trigger-user-save.js

@@ -0,0 +1,30 @@
+
+export function defineUserAfterSave(){
+    Parse.Cloud.afterSave("_User", async (request) => {
+        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)
+    });
+}
+
+function fixJsonFileds(json){
+    delete json.ACL
+    delete json.className
+    delete json.sessionToken
+    delete json.company
+    return json
+}

+ 5 - 3
server/server.js

@@ -46,6 +46,7 @@ import  {textbookRouter} from "./api/textbook/routes";
 import { defineAliOssSTS } from "./cloud/aliyun"
 import { defineAuthingLogin } from "./cloud/authing"
 import { defineAuthingDepartSync } from "./cloud/authing"
+import { defineUserAfterSave } from "./cloud/authing"
 import { importData } from "./db/func/import-data"
 
 
@@ -177,9 +178,10 @@ async function initParseAndDatabase(){
         importData()
       }, 500);
       // 导入CloudCode
-      defineAuthingLogin()
-      defineAuthingDepartSync()
-      defineAliOssSTS()
+      defineAuthingLogin();
+      defineAuthingDepartSync();
+      defineAliOssSTS();
+      defineUserAfterSave();
     });
  
     console.log("正在启动管理看板...")