I've a custom webpart Anniversaries, which get data from list.
This is my service to get data from list:
public get(listName: string, startDate: Date, AnniversariesNumberOfItemsToDisplay: number): Promise<Person[]> {
return sp.web.lists
.getByTitle(listName)
.select(Fields.Email, Fields.HireDate, Fields.FullName)
.items.get()
.then(listItems => {
let rawData = new Array<any>();
listItems.forEach((item: any) => {
const hireDate = moment
.utc(item[Fields.HireDate])
.local()
.toDate();
let anniversaryDate = moment(hireDate).year(moment().year());
if (anniversaryDate.isBefore(moment(), 'date')) {
anniversaryDate = anniversaryDate.add(1, 'year');
}
const PersonItem = {
email: item[Fields.Email],
fullName: item[Fields.FullName],
hireDate,
anniversaryDate: anniversaryDate.toDate()
};
rawData.push(PersonItem);
});
return rawData;
});
}
But is it possible to take data for all users in Azure AD without using a list?