1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- const { ManagementClient,Models } = require('authing-node-sdk')
- const managementClient = new ManagementClient({
- accessKeyId: '6682ab96b7bd5db59d6785a0',
- accessKeySecret: "4cfc095a72a67e22065c97e90054315c",
- host: 'https://textbook.u2-dev.hep.com.cn',
- })
- export function defineDepartmentTrigger(){
- Parse.Cloud.beforeSave("Department", async (request) => {
- await syncDepartmentInfo(request,request.object)
- });
- Parse.Cloud.beforeDelete("Department", async (request) => {
- let organizationCode = request?.object?.get("organizationCode")
- if(organizationCode) organizationCode = String(organizationCode)
- const result = await managementClient.deleteDepartment({
-
- organizationCode: organizationCode,
- departmentId: request?.object?.id
- });
- });
- }
- async function syncDepartmentInfo(request,depart){
- let authDepartment = {}
- if(depart?.id) authDepartment.departmentId = depart?.id
- if(depart?.get("status")) authDepartment.status = depart?.get("status")
- if(depart?.get("code")) authDepartment.code = depart?.get("code")
- if(depart?.get("name")) authDepartment.name = depart?.get("name")
- if(depart?.get("organizationCode")) authDepartment.organizationCode = String(depart?.get("organizationCode"))
- if(depart?.get("discription")) authDepartment.discription = depart?.get("discription")
- let parentDepartmentId = depart?.get("parent")?.id || depart?.get("parent")?.objectId || "root"
- if(parentDepartmentId) authDepartment.parentDepartmentId = parentDepartmentId
- let result
- if(depart?.id){
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- result = await managementClient.updateDepartment(authDepartment);
-
- }else{
-
-
- result = await managementClient.createDepartment(authDepartment);
- if(result?.statusCode==200){
- request.object.id = result?.data?.departmentId
- }
- }
-
- }
|