Skip to content

Commit

Permalink
feat: or-1282 jsonld for beheer zoeken
Browse files Browse the repository at this point in the history
  • Loading branch information
QuintenGreenstack committed Jan 18, 2024
1 parent 7ff6a2e commit cd8023f
Show file tree
Hide file tree
Showing 19 changed files with 322 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
namespace AssociationRegistry.Admin.Api.Verenigingen.Detail.Examples;

using Infrastructure.ConfigurationBindings;
using JsonLdContext;
using ResponseModels;
using Schema.Constants;
using Swashbuckle.AspNetCore.Filters;
Expand Down Expand Up @@ -33,6 +34,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
Context = $"{_appSettings.PublicApiBaseUrl}/v1/contexten/beheer/detail-vereniging-context.json",
Vereniging = new VerenigingDetail
{
id = JsonLdType.Vereniging.CreateWithIdValues("V0001001"),
type = JsonLdType.Vereniging.Type,
VCode = "V0001001",
Verenigingstype = new VerenigingsType
{
Expand All @@ -55,6 +58,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new HoofdactiviteitVerenigingsloket
{
id = JsonLdType.Hoofdactiviteit.CreateWithIdValues("CULT"),
type = JsonLdType.Hoofdactiviteit.Type,
Code = "CULT",
Naam = "Cultuur",
},
Expand All @@ -63,6 +68,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new Contactgegeven
{
id = JsonLdType.Contactgegeven.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Contactgegeven.Type,
Contactgegeventype = "E-mail",
Beschrijving = "Info",
Waarde = "info@example.org",
Expand All @@ -75,13 +82,17 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new Locatie
{
id = JsonLdType.Locatie.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Locatie.Type,
LocatieId = 1,
Locatietype = "Correspondentie",
IsPrimair = true,
Adresvoorstelling = "Kerkstraat 5, 1770 Liedekerke, Belgie",
Naam = "Administratief centrum",
Adres = new Adres
{
id = JsonLdType.Adres.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Adres.Type,
Straatnaam = "Kerkstraat",
Huisnummer = "5",
Busnummer = "b",
Expand All @@ -101,6 +112,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new Vertegenwoordiger
{
id = JsonLdType.Vertegenwoordiger.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Vertegenwoordiger.Type,
VertegenwoordigerId = 1,
Insz = "1234567890",
Voornaam = "Jane",
Expand All @@ -112,6 +125,16 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
Mobiel = "0000112233",
Telefoon = "0001112233",
SocialMedia = "http://example.org",
VertegenwoordigerContactgegevens = new VertegenwoordigerContactgegevens()
{
id = JsonLdType.VertegenwoordigerContactgegeven.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.VertegenwoordigerContactgegeven.Type,
Email = "jhon@example.org",
Mobiel = "0000112233",
Telefoon = "0001112233",
SocialMedia = "http://example.org",
IsPrimair = false,
},
Bron = Bron.Initiator.Waarde,
},
},
Expand All @@ -133,6 +156,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
Context = $"{_appSettings.PublicApiBaseUrl}/v1/contexten/beheer/detail-vereniging-context.json",
Vereniging = new VerenigingDetail
{
id = JsonLdType.Vereniging.CreateWithIdValues("V0001002"),
type = JsonLdType.Vereniging.Type,
VCode = "V0001002",
Verenigingstype = new VerenigingsType
{
Expand All @@ -156,6 +181,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new HoofdactiviteitVerenigingsloket
{
id = JsonLdType.Hoofdactiviteit.CreateWithIdValues("CULT"),
type = JsonLdType.Hoofdactiviteit.Type,
Code = "CULT",
Naam = "Cultuur",
},
Expand All @@ -164,6 +191,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new Contactgegeven
{
id = JsonLdType.Contactgegeven.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Contactgegeven.Type,
Contactgegeventype = "E-mail",
Beschrijving = "Info",
Waarde = "info@example.org",
Expand All @@ -173,6 +202,8 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
},
new Contactgegeven
{
id = JsonLdType.Contactgegeven.CreateWithIdValues("V0001001", "2"),
type = JsonLdType.Contactgegeven.Type,
Contactgegeventype = Contactgegeventype.SocialMedia,
Beschrijving = "BlubBlub",
Waarde = "blubblub.com/vissen",
Expand All @@ -185,13 +216,17 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new Locatie
{
id = JsonLdType.Locatie.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Locatie.Type,
LocatieId = 1,
Locatietype = Locatietype.MaatschappelijkeZetelVolgensKbo.Waarde,
IsPrimair = true,
Adresvoorstelling = "Zeebank 10, 8400 Oostende, Belgie",
Naam = "",
Adres = new Adres
{
id = JsonLdType.Adres.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Adres.Type,
Straatnaam = "Zeebank",
Huisnummer = "10",
Busnummer = "",
Expand All @@ -203,13 +238,17 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
},
new Locatie
{
id = JsonLdType.Locatie.CreateWithIdValues("V0001001", "2"),
type = JsonLdType.Locatie.Type,
LocatieId = 2,
Locatietype = Locatietype.Activiteiten.Waarde,
IsPrimair = false,
Adresvoorstelling = "De pier 1, 8430 Westende",
Naam = "Vis plaats",
Adres = new Adres
{
id = JsonLdType.Adres.CreateWithIdValues("V0001001", "2"),
type = JsonLdType.Adres.Type,
Straatnaam = "De pier",
Huisnummer = "1",
Busnummer = "",
Expand All @@ -230,8 +269,16 @@ public IEnumerable<SwaggerExample<DetailVerenigingResponse>> GetExamples()
{
new Sleutel
{
id = JsonLdType.Sleutel.CreateWithIdValues("V0001001", Sleutelbron.Kbo.Waarde),
type = JsonLdType.Sleutel.Type,
Waarde = "0123456789",
Bron = Sleutelbron.Kbo.Waarde,
GestructureerdeIdentificator = new GestructureerdeIdentificator()
{
id = JsonLdType.GestructureerdeSleutel.CreateWithIdValues("V0001001", Sleutelbron.Kbo.Waarde),
type = JsonLdType.GestructureerdeSleutel.Type,
Nummer = "0123456789",
},
},
},
Relaties = Array.Empty<Relatie>(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
namespace AssociationRegistry.Admin.Api.Verenigingen.Search.Examples;

using Infrastructure.ConfigurationBindings;
using JsonLdContext;
using ResponseModels;
using Schema.Constants;
using Swashbuckle.AspNetCore.Filters;
Expand All @@ -27,10 +28,21 @@ public SearchVerenigingenResponse GetExamples()
{
new Vereniging
{
id = JsonLdType.Vereniging.CreateWithIdValues("V0001001"),
type = JsonLdType.Vereniging.Type,
VCode = "V0001001",
Naam = "FWA De vrolijke BA’s",
KorteNaam = "DVB",
HoofdactiviteitenVerenigingsloket = new[] { new HoofdactiviteitVerenigingsloket { Code = "CULT", Naam = "Cultuur" } },
HoofdactiviteitenVerenigingsloket = new[]
{
new HoofdactiviteitVerenigingsloket
{
id = JsonLdType.Hoofdactiviteit.CreateWithIdValues("CULT"),
type = JsonLdType.Hoofdactiviteit.Type,
Code = "CULT",
Naam = "Cultuur",
},
},
Status = VerenigingStatus.Actief,
Doelgroep = new DoelgroepResponse
{
Expand All @@ -41,6 +53,8 @@ public SearchVerenigingenResponse GetExamples()
{
new Locatie
{
id = JsonLdType.Locatie.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Locatie.Type,
Locatietype = "Correspondentie",
IsPrimair = true,
Adresvoorstelling = "kerkstraat 5, 1770 Liedekerke, Belgie",
Expand All @@ -62,6 +76,8 @@ public SearchVerenigingenResponse GetExamples()
},
new Vereniging
{
id = JsonLdType.Vereniging.CreateWithIdValues("V00036651"),
type = JsonLdType.Vereniging.Type,
VCode = "V0036651",
Naam = "FWA De Bron",
KorteNaam = string.Empty,
Expand All @@ -71,6 +87,8 @@ public SearchVerenigingenResponse GetExamples()
{
new HoofdactiviteitVerenigingsloket
{
id = JsonLdType.Hoofdactiviteit.CreateWithIdValues("SPRT"),
type = JsonLdType.Hoofdactiviteit.Type,
Code = "SPRT",
Naam = "Sport",
},
Expand All @@ -89,6 +107,8 @@ public SearchVerenigingenResponse GetExamples()
{
new Locatie
{
id = JsonLdType.Locatie.CreateWithIdValues("V0001001", "1"),
type = JsonLdType.Locatie.Type,
Locatietype = "Activiteiten",
IsPrimair = false,
Adresvoorstelling = "dorpstraat 91, 9000 Gent, Belgie",
Expand All @@ -101,8 +121,16 @@ public SearchVerenigingenResponse GetExamples()
{
new Sleutel
{
id = JsonLdType.Sleutel.CreateWithIdValues("V0001002", Sleutelbron.Kbo.Waarde),
type = JsonLdType.Sleutel.Type,
Waarde = "0123456789",
Bron = Sleutelbron.Kbo.Waarde,
GestructureerdeIdentificator = new GestructureerdeIdentificator()
{
id = JsonLdType.GestructureerdeSleutel.CreateWithIdValues("V0001002", Sleutelbron.Kbo.Waarde),
type = JsonLdType.GestructureerdeSleutel.Type,
Nummer = "0123456789",
},
},
},
Links = new VerenigingLinks
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
namespace AssociationRegistry.Admin.Api.Verenigingen.Search.ResponseModels;

using System.Runtime.Serialization;

[DataContract]
public class GestructureerdeIdentificator
{
/// <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; init; }

/// <summary>
/// De externe identificator van de vereniging in de bron
/// </summary>
[DataMember(Name = "Nummer")]
public string Nummer { get; set; } = null!;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
[DataContract]
public class HoofdactiviteitVerenigingsloket
{
/// <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 verkorte code van de hoofdactiviteit
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
[DataContract]
public class Locatie
{
/// <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>
/// Het soort locatie dat beschreven wordt<br />
/// <br />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
[DataContract]
public class Sleutel
{
/// <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 bron van de sleutel
/// </summary>
Expand All @@ -16,4 +24,10 @@ public class Sleutel
/// </summary>
[DataMember(Name = "Waarde")]
public string Waarde { get; set; } = null!;

/// <summary>
/// De gestructureerde identificator
/// </summary>
[DataMember(Name = "GestructureerdeIdentificator")]
public GestructureerdeIdentificator GestructureerdeIdentificator { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Search.ResponseModels;
[DataContract]
public class Vereniging
{
/// <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 vereniging</summary>
[DataMember(Name = "VCode")]
public string VCode { get; init; } = null!;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ public SearchVerenigingenResponse ToSearchVereningenResponse(
private static Vereniging Map(VerenigingZoekDocument verenigingZoekDocument, AppSettings appSettings)
=> new()
{
id = verenigingZoekDocument.JsonLdMetadata.Id,
type = verenigingZoekDocument.JsonLdMetadata.Type,
VCode = verenigingZoekDocument.VCode,
Verenigingstype = Map(verenigingZoekDocument.Type),
Naam = verenigingZoekDocument.Naam,
Expand Down Expand Up @@ -64,7 +66,13 @@ private static VerenigingLinks Map(string vCode, AppSettings appSettings)
=> new() { Detail = new Uri($"{appSettings.BaseUrl}/v1/verenigingen/{vCode}") };

private static HoofdactiviteitVerenigingsloket Map(VerenigingZoekDocument.HoofdactiviteitVerenigingsloket h)
=> new() { Code = h.Code, Naam = h.Naam };
=> new()
{
id = h.JsonLdMetadata.Id,
type = h.JsonLdMetadata.Type,
Code = h.Code,
Naam = h.Naam,
};

private static VerenigingsType Map(VerenigingZoekDocument.VerenigingsType verenigingDocumentType)
=> new()
Expand Down Expand Up @@ -100,6 +108,8 @@ private static string CalculateHoofdactiviteiten(IEnumerable<string> originalHoo
private static Locatie Map(VerenigingZoekDocument.Locatie loc)
=> new()
{
id = loc.JsonLdMetadata.Id,
type = loc.JsonLdMetadata.Type,
Locatietype = loc.Locatietype,
IsPrimair = loc.IsPrimair,
Adresvoorstelling = loc.Adresvoorstelling,
Expand All @@ -111,7 +121,15 @@ private static Locatie Map(VerenigingZoekDocument.Locatie loc)
private static Sleutel Map(VerenigingZoekDocument.Sleutel s)
=> new()
{
id = s.JsonLdMetadata.Id,
type = s.JsonLdMetadata.Type,
Bron = s.Bron,
Waarde = s.Waarde,
GestructureerdeIdentificator = new GestructureerdeIdentificator
{
id = s.GestructureerdeIdentificator.JsonLdMetadata.Id,
type = s.GestructureerdeIdentificator.JsonLdMetadata.Type,
Nummer = s.GestructureerdeIdentificator.Nummer,
},
};
}
Loading

0 comments on commit cd8023f

Please sign in to comment.