public static async Task <string> GetUsersWithDelta(GraphServiceClient client, string deltaLink, ITargetBlock <User> target, CancellationToken token) { IUserDeltaCollectionPage page = new UserDeltaCollectionPage(); page.InitializeNextPageRequest(client, deltaLink); return(await GraphHelperUsers.GetUsersWithDelta(page, target, token)); }
private async Task ProduceObjects(ITargetBlock <User> target) { string newDeltaLink = null; if (this.context.InDelta) { if (!this.context.IncomingWatermark.Contains("user")) { throw new WarningNoWatermarkException(); } Watermark watermark = this.context.IncomingWatermark["user"]; if (watermark.Value == null) { throw new WarningNoWatermarkException(); } newDeltaLink = await GraphHelperUsers.GetUsersWithDelta(this.client, watermark.Value, target, this.token); } else { //await GraphHelperUsers.GetUsers(client, target, context.Token, "displayName", "onPremisesSamAccountName", "id", "userPrincipalName"); newDeltaLink = await GraphHelperUsers.GetUsersWithDelta(this.client, target, this.token, "displayName", "onPremisesSamAccountName", "id", "userPrincipalName"); } if (newDeltaLink != null) { logger.Trace($"Got delta link {newDeltaLink}"); this.context.OutgoingWatermark.Add(new Watermark("user", newDeltaLink, "string")); } target.Complete(); }
private static async Task <string> GetUsersWithDelta(IUserDeltaRequest request, ITargetBlock <User> target, CancellationToken token) { var page = await GraphHelper.ExecuteWithRetryAndRateLimit(async() => await request.GetAsync(token), token, 0); foreach (User user in page.CurrentPage) { target.Post(user); } return(await GraphHelperUsers.GetUsersWithDelta(page, target, token)); }
private async Task BuildGuestList(CancellationToken token) { int count = 0; if (!MicrosoftTeamsMAConfigSection.Configuration.ManageGuests) { var result = await GraphHelperUsers.GetGuestUsers(this.client, token); foreach (var item in result) { this.usersToIgnore.Add(item); count++; } } if (count > 0) { logger.Trace($"Added {count} guest users to the ignore list"); } }
public static async Task GetUsers(GraphServiceClient client, ITargetBlock <User> target, CancellationToken token, params string[] selectProperties) { var request = client.Users.Request().Select(string.Join(",", selectProperties)); await GraphHelperUsers.GetUsers(request, target, token); }