diff --git a/src/Services/Location/Locations.API/Controllers/LocationsController.cs b/src/Services/Location/Locations.API/Controllers/LocationsController.cs index 2d8b73e3c..71f21a721 100644 --- a/src/Services/Location/Locations.API/Controllers/LocationsController.cs +++ b/src/Services/Location/Locations.API/Controllers/LocationsController.cs @@ -21,11 +21,11 @@ namespace Locations.API.Controllers } //GET api/v1/[controller]/user/1 - [Route("user/{userId:int}")] + [Route("user/{userId:guid}")] [HttpGet] - public async Task GetUserLocation(int userId) + public async Task GetUserLocation(Guid userId) { - var userLocation = await _locationsService.GetUserLocation(userId); + var userLocation = await _locationsService.GetUserLocation(userId.ToString()); return Ok(userLocation); } diff --git a/src/Services/Location/Locations.API/Infrastructure/Repositories/ILocationsRepository.cs b/src/Services/Location/Locations.API/Infrastructure/Repositories/ILocationsRepository.cs index 91cb2c258..03e51b0f4 100644 --- a/src/Services/Location/Locations.API/Infrastructure/Repositories/ILocationsRepository.cs +++ b/src/Services/Location/Locations.API/Infrastructure/Repositories/ILocationsRepository.cs @@ -11,7 +11,7 @@ Task> GetLocationListAsync(); - Task GetUserLocationAsync(int userId); + Task GetUserLocationAsync(string userId); Task> GetCurrentUserRegionsListAsync(LocationRequest currentPosition); diff --git a/src/Services/Location/Locations.API/Infrastructure/Repositories/LocationsRepository.cs b/src/Services/Location/Locations.API/Infrastructure/Repositories/LocationsRepository.cs index 0d756ab5f..764962c8a 100644 --- a/src/Services/Location/Locations.API/Infrastructure/Repositories/LocationsRepository.cs +++ b/src/Services/Location/Locations.API/Infrastructure/Repositories/LocationsRepository.cs @@ -28,7 +28,7 @@ .FirstOrDefaultAsync(); } - public async Task GetUserLocationAsync(int userId) + public async Task GetUserLocationAsync(string userId) { var filter = Builders.Filter.Eq("UserId", userId); return await _context.UserLocation diff --git a/src/Services/Location/Locations.API/Infrastructure/Services/ILocationsService.cs b/src/Services/Location/Locations.API/Infrastructure/Services/ILocationsService.cs index c0e50169f..94c566664 100644 --- a/src/Services/Location/Locations.API/Infrastructure/Services/ILocationsService.cs +++ b/src/Services/Location/Locations.API/Infrastructure/Services/ILocationsService.cs @@ -9,7 +9,7 @@ { Task GetLocation(string locationId); - Task GetUserLocation(int id); + Task GetUserLocation(string id); Task> GetAllLocation(); diff --git a/src/Services/Location/Locations.API/Infrastructure/Services/LocationsService.cs b/src/Services/Location/Locations.API/Infrastructure/Services/LocationsService.cs index eaf89c03a..4b1e3d55d 100644 --- a/src/Services/Location/Locations.API/Infrastructure/Services/LocationsService.cs +++ b/src/Services/Location/Locations.API/Infrastructure/Services/LocationsService.cs @@ -23,9 +23,14 @@ return await _locationsRepository.GetAsync(locationId); } - public async Task GetUserLocation(int id) + public async Task GetUserLocation(string id) { - return await _locationsRepository.GetUserLocationAsync(id); + if (!Guid.TryParse(id, out Guid userId)) + { + throw new ArgumentException("Not valid userId"); + } + + return await _locationsRepository.GetUserLocationAsync(userId.ToString()); } public async Task> GetAllLocation() @@ -35,7 +40,7 @@ public async Task AddOrUpdateUserLocation(string id, LocationRequest currentPosition) { - if (!int.TryParse(id, out int userId)) + if (!Guid.TryParse(id, out Guid userId)) { throw new ArgumentException("Not valid userId"); } @@ -50,7 +55,7 @@ // If current area found, then update user location var locationAncestors = new List(); - var userLocation = await _locationsRepository.GetUserLocationAsync(userId); + var userLocation = await _locationsRepository.GetUserLocationAsync(userId.ToString()); userLocation = userLocation ?? new UserLocation(); userLocation.UserId = userId; userLocation.LocationId = currentUserAreaLocationList[0].Id; diff --git a/src/Services/Location/Locations.API/Model/UserLocation.cs b/src/Services/Location/Locations.API/Model/UserLocation.cs index e72d3e26e..1b7572426 100644 --- a/src/Services/Location/Locations.API/Model/UserLocation.cs +++ b/src/Services/Location/Locations.API/Model/UserLocation.cs @@ -9,7 +9,7 @@ [BsonIgnoreIfDefault] [BsonRepresentation(BsonType.ObjectId)] public string Id { get; set; } - public int UserId { get; set; } = 0; + public Guid UserId { get; set; } [BsonRepresentation(BsonType.ObjectId)] public string LocationId { get; set; } public DateTime UpdateDate { get; set; }