add base group Staff

This commit is contained in:
ohdarling88 2020-06-18 10:04:53 +08:00
parent e803135b45
commit 4a7c5dafec
1 changed files with 10 additions and 4 deletions

View File

@ -94,7 +94,13 @@ async function fetchAllDepartments() {
}
log.info('Got', deps.department.length, 'departments');
const depsMap = {};
const depsMap = {
'1': {
name: 'Staff',
id: 1,
parentid: null,
},
};
deps.department.forEach(d => {
d.name = d.name.replace(/ \/ /g, ' - ').replace(/\//g, '&').trim();
depsMap[d.id] = d;
@ -110,7 +116,7 @@ async function fetchAllDepartments() {
allDeps.forEach(d => {
let obj = d;
let dn = [ `ou=${obj.name}` ];
while (obj.parentid !== 1) {
while (obj.parentid) {
obj = depsMap[obj.parentid];
dn.push(`ou=${obj.name}`);
}
@ -216,7 +222,7 @@ async function reloadFromDingtalkServer() {
});
Object.values(allDepartmentsMap).forEach(dep => {
if (dep.parentid != 1) {
if (dep.parentid) {
const parentDep = allDepartmentsMap[dep.parentid];
addMemberToGroup(allLDAPGroupsMap[dep.id], allLDAPGroupsMap[parentDep.id]);
}
@ -260,7 +266,7 @@ async function reloadFromDingtalkServer() {
u.department.forEach(depId => {
let parentDep = allDepartmentsMap[depId];
// allLDAPGroupsMap[parentDep.id].attributes.member.push(personEntry.dn);
while (parentDep && parentDep.id !== 1) {
while (parentDep && parentDep.id) {
addMemberToGroup(personEntry, allLDAPGroupsMap[parentDep.id]);
// console.log('add member', personEntry.attributes.cn, 'to', allLDAPGroupsMap[parentDep.id].attributes.cn);
parentDep = allDepartmentsMap[parentDep.parentid];