Skip to content

Commit

Permalink
Merge pull request #149 from mongodb-developer/feature/remove-email-a…
Browse files Browse the repository at this point in the history
…ddress

remove email from players on open APIs;
  • Loading branch information
snarvaez authored Jul 31, 2024
2 parents a9c95ee + 9ddd75e commit 2d8893a
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
11 changes: 6 additions & 5 deletions rest_service/Controllers/PlayersController.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Xml.Linq;
using System.Xml.Linq;
using Microsoft.AspNetCore.Mvc;
using MongoDB.Bson;
using MongoDB.Bson.Serialization;
Expand Down Expand Up @@ -59,11 +59,11 @@ public async Task<List<PlayerResponse>> GetPlayers([FromQuery] PlayerRequest pla
filter &= Builders<Player>.Filter.Eq(x => x.Location, playerUnique.Location);
}

var players = await _playersCollection.FindAsync(filter, new FindOptions<Player,Player>() { Limit = 10 });
var players = await _playersCollection.FindAsync(filter, new FindOptions<Player, Player>() { Limit = 10 });

var playersResponse =
players.ToList().Select(player => new PlayerResponse(player)).ToList();

return playersResponse;
}

Expand Down Expand Up @@ -156,7 +156,7 @@ public async Task<ActionResult<PlayerResponse>> CreatePlayer(PlayerRequest playe
try
{
await _playersCollection.InsertOneAsync(session, player);

await _playersUniqueCollection.InsertOneAsync(session, playerUnique);

if (session.IsInTransaction)
Expand Down Expand Up @@ -205,7 +205,8 @@ public async Task<List<string>> PlayerAutoComplete([FromQuery] string Name)
return arrMatches.GetElement("matches").Value.AsBsonArray
.Select(x => x.ToString())
.ToList();
} catch (Exception e)
}
catch (Exception e)
{
Logger.LogError("GetPlayerAutoComplete did not find matches");
Logger.LogError(e.Message);
Expand Down
21 changes: 20 additions & 1 deletion rest_service/Dtos/ResponseObjects/PlayerResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,27 @@ public PlayerResponse(Player player)
{
Id = player.Id.ToString();
Name = player.Name;
Email = player.Email;
Email = MaskEmail(player.Email ?? string.Empty);
Team = player.Team;
Location = player.Location;
}

public string MaskEmail(string email)
{
if (string.IsNullOrEmpty(email) || !email.Contains("@"))
return email;

string[] emailArr = email.Split('@');
string domainExt = Path.GetExtension(email);

string maskedEmail = string.Format("{0}****{1}@{2}****{3}{4}",
emailArr[0][0],
emailArr[0].Substring(emailArr[0].Length - 1),
emailArr[1][0],
emailArr[1].Substring(emailArr[1].Length - domainExt.Length - 1, 1),
domainExt
);

return maskedEmail;
}
}

0 comments on commit 2d8893a

Please sign in to comment.