Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Architecture
- .NET 9 solution in `src/MX.GeoLocation.sln` with API (`MX.GeoLocation.Api.V1`) and MVC web (`MX.GeoLocation.Web`) projects plus abstractions, a generated API client, and a testing package.
- Three NuGet packages are published: `MX.GeoLocation.LookupApi.Abstractions` (interfaces/models), `MX.GeoLocation.Api.Client.V1` (typed HTTP client), and `MX.GeoLocation.Api.Client.Testing` (in-memory fakes and DTO factories for consumer test projects).
- Three NuGet packages are published: `MX.GeoLocation.Abstractions.V1` (interfaces/models), `MX.GeoLocation.Api.Client.V1` (typed HTTP client), and `MX.GeoLocation.Api.Client.Testing` (in-memory fakes and DTO factories for consumer test projects).
- API uses MaxMind GeoIP2 and caches responses in Azure Table Storage:
- **v1.0**: `geolocations` table with `GeoLocationTableEntity` (permanent cache)
- **v1.1**: `geolocationsv11` table with `CityGeoLocationTableEntity` (city: permanent, insights: configurable TTL via `Caching:InsightsCacheDays`, default 7 days)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Both versions enforce the `LookupApiUser` Entra role. An MVC web front end calls

| Package | Description |
|---|---|
| `MX.GeoLocation.LookupApi.Abstractions` | Interfaces and models for the GeoLocation API |
| `MX.GeoLocation.Abstractions.V1` | Interfaces and models for the GeoLocation API |
| `MX.GeoLocation.Api.Client.V1` | Typed HTTP client with DI registration via `AddGeoLocationApiClient()` |
| `MX.GeoLocation.Api.Client.Testing` | In-memory fakes and DTO factory helpers for consumer test projects — see [testing docs](docs/testing.md) |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

<PropertyGroup>
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
<RootNamespace>MX.GeoLocation.LookupApi.Abstractions</RootNamespace>
<RootNamespace>MX.GeoLocation.Abstractions.V1</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageId>MX.GeoLocation.LookupApi.Abstractions</PackageId>
<PackageId>MX.GeoLocation.Abstractions.V1</PackageId>
<Product>Molyneux.IO GeoLocation</Product>
<Title>GeoLocation Lookup API Abstractions</Title>
<Description>This package provides an abstraction layer for interfaces and models for the GeoLocation service.</Description>
Expand Down
4 changes: 2 additions & 2 deletions src/MX.GeoLocation.Abstractions.V1/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# MX.GeoLocation.LookupApi.Abstractions
# MX.GeoLocation.Abstractions.V1

Core abstractions library providing interfaces and models for the GeoLocation lookup service. This package defines the API contracts consumed by `MX.GeoLocation.Api.Client.V1` and tested with `MX.GeoLocation.Api.Client.Testing`.

## Installation

```shell
dotnet add package MX.GeoLocation.LookupApi.Abstractions
dotnet add package MX.GeoLocation.Abstractions.V1
```

## Key Interfaces
Expand Down
2 changes: 1 addition & 1 deletion version.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/main/src/NerdBank.GitVersioning/version.schema.json",
"version": "1.0",
"version": "1.2",
Comment thread
frasermolyneux marked this conversation as resolved.
"gitTagVersionPrefix": "v",
"publicReleaseRefSpec": [
"^refs/heads/main$",
Expand Down
Loading