public class ExistingFieldSync : ISyncLogFields
public async Task<List<LogField>> Sync(List<LogField> logFields, IS3Store s3Store)
var s3ExistingFieldList = await s3Store.GetLogFields(Constants.ExistingLogFieldFileNameS3);
var fieldToAddInS3ExistingField = logFields.Where(p =>
!s3ExistingFieldList.Any(p2 => p2.Name.Equals(p.Name))).ToHashSet();
if (fieldToAddInS3ExistingField != null && fieldToAddInS3ExistingField.Any())
s3ExistingFieldList.AddRange(fieldToAddInS3ExistingField);
var existingList = s3ExistingFieldList.DistinctBy(x => x.Name).ToList();
await s3Store.AddLogFields(existingList, Constants.ExistingLogFieldFileNameS3);
return new List<LogField>();