diff --git a/src/interfaces/permission.ts b/src/interfaces/permission.ts index 771cf12..e955f41 100644 --- a/src/interfaces/permission.ts +++ b/src/interfaces/permission.ts @@ -128,21 +128,29 @@ class CheckAuth { privilege: "CHILD", }; } else if (privilege == "BROTHER") { + const minLevel = node === 0 ? 0 : node - 1; data = { // root: node >= 0 ? [x.orgRootId] : null, + /* root: node >= 0 ? [x.orgRootId] : null, child1: node >= 2 ? [x.orgChild1Id] : null, child2: node >= 3 ? [x.orgChild2Id] : null, child3: node >= 4 ? [x.orgChild3Id] : null, + */ + root: minLevel <= 0 ? [x.orgRootId] : null, + child1: minLevel <= 1 ? [x.orgChild1Id] : null, + child2: minLevel <= 2 ? [x.orgChild2Id] : null, + child3: minLevel <= 3 ? [x.orgChild3Id] : null, + child4: minLevel <= 4 ? [x.orgChild4Id] : null, privilege: "BROTHER", }; } else if (privilege == "NORMAL") { data = { - root: [x.orgRootId], - child1: [x.orgChild1Id], - child2: [x.orgChild2Id], - child3: [x.orgChild3Id], - child4: [x.orgChild4Id], + root: node == 0 ? [x.orgRootId] : null, + child1: node == 1 ? [x.orgChild1Id] : null, + child2: node == 2 ? [x.orgChild2Id] : null, + child3: node == 3 ? [x.orgChild3Id] : null, + child4: node == 4 ? [x.orgChild4Id] : null, privilege: "NORMAL", }; } else if (privilege == "SPECIFIC") {