1
0
mirror of https://github.com/bitwarden/directory-connector synced 2025-12-05 23:53:21 +00:00

force sync parameter

This commit is contained in:
Kyle Spearrin
2017-05-13 22:51:15 -04:00
parent ca30ab61aa
commit eaaf9c9da9
2 changed files with 15 additions and 8 deletions

View File

@@ -530,8 +530,15 @@ namespace Bit.Console
}
else
{
var force = false;
if(_usingArgs)
{
var parameters = ParseParameters();
force = parameters.ContainsKey("f");
}
Con.WriteLine("Syncing...");
var result = await Sync.SyncAllAsync();
var result = await Sync.SyncAllAsync(force);
if(result.Success)
{

View File

@@ -11,7 +11,7 @@ namespace Bit.Core.Utilities
{
public static class Sync
{
public static async Task<SyncResult> SyncAllAsync()
public static async Task<SyncResult> SyncAllAsync(bool force = false)
{
if(!AuthService.Instance.Authenticated || !AuthService.Instance.OrganizationSet)
{
@@ -45,13 +45,13 @@ namespace Bit.Core.Utilities
List<GroupEntry> groups = null;
if(SettingsService.Instance.Sync.SyncGroups)
{
groups = await GetGroupsAsync();
groups = await GetGroupsAsync(force);
}
List<UserEntry> users = null;
if(SettingsService.Instance.Sync.SyncUsers)
{
users = await GetUsersAsync();
users = await GetUsersAsync(force);
}
FlattenGroupsToUsers(groups, null, groups, users);
@@ -87,7 +87,7 @@ namespace Bit.Core.Utilities
}
}
private static Task<List<GroupEntry>> GetGroupsAsync()
private static Task<List<GroupEntry>> GetGroupsAsync(bool force = false)
{
if(!SettingsService.Instance.Sync.SyncGroups)
{
@@ -113,7 +113,7 @@ namespace Bit.Core.Utilities
var filter = string.IsNullOrWhiteSpace(SettingsService.Instance.Sync.GroupFilter) ? null :
SettingsService.Instance.Sync.GroupFilter;
if(!string.IsNullOrWhiteSpace(SettingsService.Instance.Sync.RevisionDateAttribute) &&
if(!force && !string.IsNullOrWhiteSpace(SettingsService.Instance.Sync.RevisionDateAttribute) &&
SettingsService.Instance.LastGroupSyncDate.HasValue)
{
filter = string.Format("(&{0}({1}>{2}))",
@@ -177,7 +177,7 @@ namespace Bit.Core.Utilities
return Task.FromResult(groups);
}
private static Task<List<UserEntry>> GetUsersAsync()
private static Task<List<UserEntry>> GetUsersAsync(bool force = false)
{
if(!SettingsService.Instance.Sync.SyncUsers)
{
@@ -203,7 +203,7 @@ namespace Bit.Core.Utilities
var filter = string.IsNullOrWhiteSpace(SettingsService.Instance.Sync.UserFilter) ? null :
SettingsService.Instance.Sync.UserFilter;
if(!string.IsNullOrWhiteSpace(SettingsService.Instance.Sync.RevisionDateAttribute) &&
if(!force && !string.IsNullOrWhiteSpace(SettingsService.Instance.Sync.RevisionDateAttribute) &&
SettingsService.Instance.LastUserSyncDate.HasValue)
{
filter = string.Format("(&{0}({1}>{2}))",