Compare commits

...

3 Commits

Author SHA1 Message Date
db05b0b815 Actually include the data 2024-01-04 23:47:01 -08:00
16ee1f98ed Parse geloc_postal_code values 2024-01-04 23:41:43 -08:00
fec33bff1d Don't use memory cache if it's in development mode 2024-01-04 23:41:31 -08:00
3 changed files with 13 additions and 3 deletions

View File

@@ -15,24 +15,31 @@ namespace AS1024.GeoFeed.Controllers
{
private readonly IGeoFeedProvider builder;
private readonly IMemoryCache memoryCache;
private readonly IWebHostEnvironment environment;
private const string GeoFeedCacheKey = "GeoFeedData";
public GeofeedController(IGeoFeedProvider builder,
IMemoryCache memoryCache) {
IMemoryCache memoryCache,
IWebHostEnvironment environment) {
this.builder = builder;
this.memoryCache = memoryCache;
this.environment = environment;
}
[HttpGet]
[Route("")]
public async Task<IActionResult> Get()
{
if (!memoryCache.TryGetValue(GeoFeedCacheKey, out List<IPGeoFeed>? feed))
if (!memoryCache.TryGetValue(GeoFeedCacheKey, out List<IPGeoFeed>? feed)
&& environment.IsProduction())
{
feed = await builder.GetGeoFeedData();
var cacheEntryOptions = new MemoryCacheEntryOptions()
.SetSlidingExpiration(TimeSpan.FromMinutes(15));
memoryCache.Set(GeoFeedCacheKey, feed, cacheEntryOptions);
} else
{
feed = await builder.GetGeoFeedData();
}
var csvContent = feed.ToGeoFeedCsv(); // Assuming ToGeoFeedCsv() returns a string in CSV format.

View File

@@ -66,7 +66,8 @@ namespace AS1024.GeoFeed.GeoFeedBuilder
GeolocCity = data.CustomFields.GeolocCity,
GeolocRegion = data.CustomFields.GeolocRegion,
GeolocCountry = data.CustomFields.GeolocCountry,
GeolocHasLocation = data.CustomFields.GeolocHasLocation
GeolocHasLocation = data.CustomFields.GeolocHasLocation,
GeolocPostalCode = data.CustomFields.GeolocPostalCode
});
}
catch (Exception ex)

View File

@@ -26,6 +26,8 @@ namespace AS1024.GeoFeed.Models
public bool? GeolocHasLocation { get; set; }
[JsonProperty("geoloc_region")]
public string? GeolocRegion { get; set; }
[JsonProperty("geoloc_postal_code")]
public string? GeolocPostalCode { get; set; }
}