Skip to content

Commit

Permalink
feat: or-2560 add json ld to lidmaatschap beheer detail & zoek
Browse files Browse the repository at this point in the history
  • Loading branch information
emalfroy committed Nov 19, 2024
1 parent 3485f86 commit 64dd8b2
Show file tree
Hide file tree
Showing 13 changed files with 118 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ INamenVoorLidmaatschapMapper namenVoorLidmaatschapMapper
)
=> new()
{
id = lidmaatschap.JsonLdMetadata.Id,
type = lidmaatschap.JsonLdMetadata.Type,
AndereVereniging = lidmaatschap.AndereVereniging,
Beschrijving = lidmaatschap.Beschrijving,
Identificatie = lidmaatschap.Identificatie,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace AssociationRegistry.Admin.Api.Verenigingen.Detail.Examples;

using Formats;
using Hosts.Configuration.ConfigurationBindings;
using JsonLdContext;
using NodaTime;
Expand Down Expand Up @@ -178,6 +179,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
[
new Lidmaatschap
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
LidmaatschapId = 1,
Beschrijving = "Een lidmaatschap",
Naam = "De andere vereniging",
Expand Down Expand Up @@ -348,6 +351,33 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
},
},
Relaties = Array.Empty<Relatie>(),
Lidmaatschappen = new []
{
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
LidmaatschapId = 1,
AndereVereniging = "V0001002",
Naam = "De andere vereniging",
Van = DateOnly.FromDateTime(DateTime.Today.AddYears(-1)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today).ToString(WellknownFormats.DateOnly),
Beschrijving = "Gewoon een lid",
Identificatie = "L1234",
},
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "2"),
type = JsonLdType.Lidmaatschap.Type,
LidmaatschapId = 2,
Naam = "Samen sterk",
AndereVereniging = "V0001003",
Van = DateOnly.FromDateTime(DateTime.Today.AddMonths(-5)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today.AddDays(-5)).ToString(WellknownFormats.DateOnly),
Beschrijving = "Tijdelijk lidmaatschap",
Identificatie = "L4321",
},
},
Bron = Bron.KBO.Waarde,
},
Metadata = new Metadata
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
[DataContract]
public class Lidmaatschap
{
/// <summary>De json-ld id</summary>
[DataMember(Name = "@id")]
public string id { get; init; }

/// <summary>Het json-ld type</summary>
[DataMember(Name = "@type")]
public string type { get; set; }

/// <summary>
/// De unieke identificatie code van dit lidmaatschap binnen de vereniging
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ public SearchVerenigingenResponse GetExamples()
{
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001002",
Van = DateOnly.FromDateTime(DateTime.Today.AddYears(-1)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today).ToString(WellknownFormats.DateOnly),
Expand Down Expand Up @@ -176,6 +178,8 @@ public SearchVerenigingenResponse GetExamples()
{
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001002",
Van = DateOnly.FromDateTime(DateTime.Today.AddYears(-1)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today).ToString(WellknownFormats.DateOnly),
Expand All @@ -184,6 +188,8 @@ public SearchVerenigingenResponse GetExamples()
},
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "2"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001003",
Van = DateOnly.FromDateTime(DateTime.Today.AddMonths(-5)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today.AddDays(-5)).ToString(WellknownFormats.DateOnly),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
[DataContract]
public class Lidmaatschap
{
// /// <summary>De json-ld id</summary>
// [DataMember(Name = "@id")]
// public string id { get; init; }
//
// /// <summary>Het json-ld type</summary>
// [DataMember(Name = "@type")]
// public string type { get; set; }
/// <summary>De json-ld id</summary>
[DataMember(Name = "@id")]
public string id { get; init; }

/// <summary>Het json-ld type</summary>
[DataMember(Name = "@type")]
public string type { get; set; }

/// <summary>
/// De vCode van de andere vereniging
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ private static Vereniging Map(
private static Lidmaatschap Map(VerenigingZoekDocument.Lidmaatschap l)
=> new()
{
// id = l.JsonLdMetadata.Id,
// type = l.JsonLdMetadata.Type,
id = l.JsonLdMetadata.Id,
type = l.JsonLdMetadata.Type,
AndereVereniging = l.AndereVereniging,
Van = l.DatumVan,
Tot = l.DatumTot,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ namespace AssociationRegistry.Admin.ProjectionHost.Projections.Detail;
public class BeheerVerenigingDetailMapper
{
public static Lidmaatschap MapLidmaatschap(Registratiedata.Lidmaatschap lid, string vCode)
=> new(CreateJsonLdMetadata(JsonLdType.Locatie, vCode, lid.LidmaatschapId.ToString()),
=> new(CreateJsonLdMetadata(JsonLdType.Lidmaatschap, vCode, lid.LidmaatschapId.ToString()),
lid.LidmaatschapId,
lid.AndereVereniging,
lid.DatumVan,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using AssociationRegistry.Public.Api.Verenigingen.Detail.ResponseModels;
using AssociationRegistry.Public.Schema.Constants;
using AssociationRegistry.Vereniging;
using Formats;
using Swashbuckle.AspNetCore.Filters;
using Adres = ResponseModels.Adres;
using AdresId = ResponseModels.AdresId;
Expand Down Expand Up @@ -139,7 +140,7 @@ public PubliekVerenigingDetailResponse GetExamples()
[
new Lidmaatschap
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001111"),
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
Beschrijving = "Een lidmaatschap",
Naam = "De andere vereniging",
Expand Down Expand Up @@ -265,7 +266,20 @@ public PubliekVerenigingDetailResponse[] GetExamples()
},
},
Relaties = Array.Empty<Relatie>(),
Lidmaatschappen = Array.Empty<Lidmaatschap>(),
Lidmaatschappen = new []
{
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001002",
Naam = "De andere vereniging",
Van = DateOnly.FromDateTime(DateTime.Today.AddYears(-1)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today).ToString(WellknownFormats.DateOnly),
Beschrijving = "Gewoon een lid",
Identificatie = "L1234",
},
},
},
Metadata = new Metadata { DatumLaatsteAanpassing = "2023-05-15" },
},
Expand Down Expand Up @@ -368,7 +382,31 @@ public PubliekVerenigingDetailResponse[] GetExamples()
},
},
Relaties = Array.Empty<Relatie>(),
Lidmaatschappen = Array.Empty<Lidmaatschap>(),
Lidmaatschappen = new []
{
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001002",
Naam = "De andere vereniging",
Van = DateOnly.FromDateTime(DateTime.Today.AddYears(-1)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today).ToString(WellknownFormats.DateOnly),
Beschrijving = "Gewoon een lid",
Identificatie = "L1234",
},
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "2"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001003",
Naam = "Samen sterk",
Van = DateOnly.FromDateTime(DateTime.Today.AddMonths(-5)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today.AddDays(-5)).ToString(WellknownFormats.DateOnly),
Beschrijving = "Tijdelijk lidmaatschap",
Identificatie = "L4321",
},
},
},
Metadata = new Metadata { DatumLaatsteAanpassing = "2024-09-09" },
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ public SearchVerenigingenResponse GetExamples()
{
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001002",
Van = DateOnly.FromDateTime(DateTime.Today.AddYears(-1)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today).ToString(WellknownFormats.DateOnly),
Expand Down Expand Up @@ -164,6 +166,8 @@ public SearchVerenigingenResponse GetExamples()
{
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001002",
Van = DateOnly.FromDateTime(DateTime.Today.AddYears(-1)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today).ToString(WellknownFormats.DateOnly),
Expand All @@ -172,6 +176,8 @@ public SearchVerenigingenResponse GetExamples()
},
new Lidmaatschap()
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues("V0001001", "2"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = "V0001003",
Van = DateOnly.FromDateTime(DateTime.Today.AddMonths(-5)).ToString(WellknownFormats.DateOnly),
Tot = DateOnly.FromDateTime(DateTime.Today.AddDays(-5)).ToString(WellknownFormats.DateOnly),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,9 +186,9 @@ public static Lidmaatschap[] MapRequestLidmaatschappen(VoegLidmaatschapToeReques
[
new Lidmaatschap()
{
// id = JsonLdType.Lidmaatschap.CreateWithIdValues(
// vCode, "1"),
// type = JsonLdType.Lidmaatschap.Type,
id = JsonLdType.Lidmaatschap.CreateWithIdValues(
vCode, "1"),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = request.AndereVereniging,
Beschrijving = request.Beschrijving,
Identificatie = request.Identificatie,
Expand All @@ -197,15 +197,15 @@ public static Lidmaatschap[] MapRequestLidmaatschappen(VoegLidmaatschapToeReques
},
];

public static Lidmaatschap[] MapRequestLidmaatschappen(WijzigLidmaatschapRequest request, string vCode)
public static Lidmaatschap[] MapRequestLidmaatschappen(WijzigLidmaatschapRequest request, string vCode, string andereVereniging, int lidmaatschapLidmaatschapId)
=>
[
new Lidmaatschap()
{
// id = JsonLdType.Lidmaatschap.CreateWithIdValues(
// vCode, "1"),
// type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = vCode,
id = JsonLdType.Lidmaatschap.CreateWithIdValues(
vCode, lidmaatschapLidmaatschapId.ToString()),
type = JsonLdType.Lidmaatschap.Type,
AndereVereniging = andereVereniging,
Beschrijving = request.Beschrijving,
Identificatie = request.Identificatie,
Van = request.Van!.Value.FormatAsBelgianDate(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using Admin.ProjectionHost.Infrastructure.Extensions;
using Formats;
using Framework.AlbaHost;
using JsonLdContext;
using KellermanSoftware.CompareNetObjects;
using Xunit;
using Lidmaatschap = Admin.Api.Verenigingen.Detail.ResponseModels.Lidmaatschap;
Expand All @@ -27,6 +28,8 @@ public void JsonContentMatches()

var expected = new Lidmaatschap
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues(_context.VCode, "1"),
type = JsonLdType.Lidmaatschap.Type,
LidmaatschapId = 1,
AndereVereniging = _context.Request.AndereVereniging,
Beschrijving = _context.Request.Beschrijving,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using Admin.ProjectionHost.Infrastructure.Extensions;
using Formats;
using Framework.AlbaHost;
using JsonLdContext;
using KellermanSoftware.CompareNetObjects;
using Xunit;

Expand All @@ -26,6 +27,8 @@ public void JsonContentMatches()

var expected = new Lidmaatschap
{
id = JsonLdType.Lidmaatschap.CreateWithIdValues(_context.VCode, _context.Scenario.LidmaatschapWerdToegevoegd.Lidmaatschap.LidmaatschapId.ToString()),
type = JsonLdType.Lidmaatschap.Type,
LidmaatschapId = _context.Scenario.LidmaatschapWerdToegevoegd.Lidmaatschap.LidmaatschapId,
AndereVereniging = _context.Scenario.LidmaatschapWerdToegevoegd.Lidmaatschap.AndereVereniging,
Beschrijving = _context.Request.Beschrijving,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public async Task WithFeitelijkeVereniging()
Werkingsgebieden = BeheerZoekResponseMapper.MapScenarioWerkingsgebieden(FeitelijkeVerenigingWerdGeregistreerd.Werkingsgebieden),
Locaties = BeheerZoekResponseMapper.MapScenarioLocaties(FeitelijkeVerenigingWerdGeregistreerd.Locaties, _testContext.VCode),
Sleutels = BeheerZoekResponseMapper.MapSleutels(_testContext.VCode),
Lidmaatschappen = BeheerZoekResponseMapper.MapRequestLidmaatschappen(_testContext.Request, _testContext.Scenario.BaseScenario.AndereFeitelijkeVerenigingWerdGeregistreerd.VCode),
Lidmaatschappen = BeheerZoekResponseMapper.MapRequestLidmaatschappen(_testContext.Request, _testContext.VCode, _testContext.Scenario.LidmaatschapWerdToegevoegd.Lidmaatschap.AndereVereniging, _testContext.Scenario.LidmaatschapWerdToegevoegd.Lidmaatschap.LidmaatschapId),
Links = new VerenigingLinks()
{
Detail = new Uri($"{_testContext.AdminApiAppSettings.BaseUrl}/v1/verenigingen/{_testContext.VCode}"),
Expand Down

0 comments on commit 64dd8b2

Please sign in to comment.