|
|
|
@ -8,9 +8,19 @@ export interface Member { |
|
|
|
|
program: string; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const execPositions: { [name: string]: number } = { |
|
|
|
|
presidentcro: 1, |
|
|
|
|
"vice-president": 2, |
|
|
|
|
secretary: 3, |
|
|
|
|
treasurer: 4, |
|
|
|
|
sysadmin: 5, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
export async function getMembers(year: string, term: Term): Promise<Member[]> { |
|
|
|
|
if (process.env.USE_LDAP?.toLowerCase() !== "true") { |
|
|
|
|
return dummyMembers; |
|
|
|
|
return dummyMembers.sort((item1: Member, item2: Member) => { |
|
|
|
|
return execPositions[item1.program] - execPositions[item2.program]; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
let members: Member[] = []; |
|
|
|
|
|
|
|
|
@ -26,6 +36,7 @@ export async function getMembers(year: string, term: Term): Promise<Member[]> { |
|
|
|
|
0, |
|
|
|
|
1 |
|
|
|
|
)}${year}))`,
|
|
|
|
|
explicitBufferAttributes: ["position"], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
members = searchEntries |
|
|
|
@ -33,12 +44,14 @@ export async function getMembers(year: string, term: Term): Promise<Member[]> { |
|
|
|
|
return { |
|
|
|
|
name: item.cn as string, |
|
|
|
|
id: item.uid as string, |
|
|
|
|
program: item.program === undefined ? "" : (item.program as string), |
|
|
|
|
program: |
|
|
|
|
item.position === undefined ? "" : (item.position[0] as string), |
|
|
|
|
}; |
|
|
|
|
}) |
|
|
|
|
.sort((item1: Member, item2: Member) => |
|
|
|
|
item1.name.localeCompare(item2.name) |
|
|
|
|
); |
|
|
|
|
.filter((item: Member) => item.program !== ""); |
|
|
|
|
// .sort((item1: Member, item2: Member) => {
|
|
|
|
|
// return execPositions[item1.program] - execPositions[item2.program];
|
|
|
|
|
// });
|
|
|
|
|
} finally { |
|
|
|
|
await client.unbind(); |
|
|
|
|
} |
|
|
|
@ -48,13 +61,18 @@ export async function getMembers(year: string, term: Term): Promise<Member[]> { |
|
|
|
|
|
|
|
|
|
const dummyMembers: Member[] = [ |
|
|
|
|
{ |
|
|
|
|
name: "John Smith", |
|
|
|
|
id: "j12smith", |
|
|
|
|
program: "MAT/Mathematics Computer Science", |
|
|
|
|
name: "Alice ", |
|
|
|
|
id: "a12smith", |
|
|
|
|
program: "sysadmin", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: "Jane Smith", |
|
|
|
|
id: "j34smith", |
|
|
|
|
program: "MAT/Mathematics Computer Science", |
|
|
|
|
program: "vice-president", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: "John Smith", |
|
|
|
|
id: "j12smith", |
|
|
|
|
program: "presidentcro", |
|
|
|
|
}, |
|
|
|
|
]; |
|
|
|
|