Arbeidstilsynet.Brevgenerator.Client 4.0.0

dotnet add package Arbeidstilsynet.Brevgenerator.Client --version 4.0.0
                    
NuGet\Install-Package Arbeidstilsynet.Brevgenerator.Client -Version 4.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Arbeidstilsynet.Brevgenerator.Client" Version="4.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Arbeidstilsynet.Brevgenerator.Client" Version="4.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Arbeidstilsynet.Brevgenerator.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Arbeidstilsynet.Brevgenerator.Client --version 4.0.0
                    
#r "nuget: Arbeidstilsynet.Brevgenerator.Client, 4.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Arbeidstilsynet.Brevgenerator.Client@4.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Arbeidstilsynet.Brevgenerator.Client&version=4.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Arbeidstilsynet.Brevgenerator.Client&version=4.0.0
                    
Install as a Cake Tool

Arbeidstilsynet.Brevgenerator.Client

NuGet-pakke i C# for å konsumere Brevgenerator-API.

Modeller for payload ligger i Arbeidstilsynet.Brevgenerator.Client.Models

Autentisering må angis eksplisitt av konsumenten. Klienten støtter to moduser:

  • BearerToken – async factory som returnerer et gyldig bearer token (f.eks. Entra ID client credentials). Eneste støttet av nåværende deployet API.
  • ApiKey – async factory som returnerer ApiKey, som sendes i headeren x-api-key. Ble brukt før.

Hvordan installere

dotnet add package Arbeidstilsynet.Brevgenerator.Client

Eksempel på bruk

using Arbeidstilsynet.Brevgenerator.Client;
using Arbeidstilsynet.Brevgenerator.Client.Models;

var brevGenConfig = new BrevgeneratorConfig(Environment.GetEnvironmentVariable("BREVGENERATOR_API_URL")!);

// Bearer token-modus (f.eks. Entra ID client credentials)
var client = new BrevgeneratorClient(
    brevGenConfig,
    BrevgeneratorClient.AuthMode.BearerToken,
    bearerTokenFactory: async () => await HentAzureTokenAsync()
);

var payload = GenererBrevArgsBuilder
    .Create()
    .AddMarkdown(
        "# Sample Markdown content\n## {{ exampleVariable }}",
        new() { { "exampleVariable", "value" } }
    )
    .WithDefaultTemplate(Language.Nynorsk, SignatureVariant.ElektroniskGodkjent)
    .WithDefaultTemplateFields(
        new()
        {
            Dato = "2024",
            SaksbehandlerNavn = "Lorem Ipsum",
            Saksnummer = "2024/1234",
            Virksomhet = new()
            {
                Adresse = "Hei",
                Navn = "Mr Ipsum",
                Postnr = "1234",
                Poststed = "Stedet"
            }
        }
    )
    .WithMetadata(documentTitle: "My document", author: "A. U. Thor")
    .Build();

var result = await client.GenererBrev(payload);

Hvordan publisere ny versjon

  1. Oppdater Version i nuget-client.csproj med passende nytt semantisk versjonsnummer
  2. Skriv inn dine endringer i CHANGELOG.md
  3. PR og merge til main-branch
  4. Lag Git tag nuget-x.y.z
  5. En ny pakke blir bygget og publisert i nuget.org, klar til bruk
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.0 103 2/16/2026

# Versjonslogg

## 4.0.0

- Publiserer nå til `nuget.org` i stedet for Azure DevOps
- Omdøpt pakke fra `AT.Brevgenerator.Klient` til `Arbeidstilsynet.Brevgenerator.Client`
- Omdøpt namespace fra `AT.Brevgenerator.Klient` / `AT.Brevgenerator.Klient.Model` til `Arbeidstilsynet.Brevgenerator.Client` / `Arbeidstilsynet.Brevgenerator.Client.Models`
- Omdøpt `BrevgeneratorKlient` / `IBrevgeneratorKlient` til `BrevgeneratorClient` / `IBrevgeneratorClient`

## 3.3.0

- Lagt til støtte for `ErUnntattOffentlighet` og `UnntattOffentlighetHjemmel` i direktorat-template
- GenererBrevArgsBuilder sjekker nå at `UnntattOffentlighetHjemmel` er definert når `ErUnntattOffentlighet` er `true`

## 3.2.0

Støtte for ny dokument-mal "direktorat" med egen logo og andre felter. Konfigurer med nye metoder i builder `WithDirektoratTemplate` og `WithDirektoratTemplateFields`.

Til forskjell fra "default" template er ingen felter i `DirektoratTemplateFields` påkrevd.

## 3.1.6

- Fiks så `bearerTokenFactory` alltid kalles ved gjenbruk av samme httpClient
- Sett headers på selve request i stedet for å mutere `httpClient.DefaultRequestHeaders`
- Refactor av intern mappestruktur

## 3.1.5

- Fjern logging av payload og forenklet feilhåndtering

## 3.1.4

- Publiserer fra GitHub til public feed `AT.Public.NuGet`

## 3.1.3 - 2025-10-31

Fjernet `Path,Timeout,WaitForFonts` fra PuppeteerPDFOptions. Dette er en breaking change, men disse egenskapene var ikke ment å være tilgjengelige. API schema har blitt oppdatert og forsøk på å bruke disse vil bli stoppet av schema validation.

## 3.1.2 - 2025-10-09

Lagt til ClientId, TenantId og Scope i `BrevgeneratorSecret`

## 3.1.1 - 2025-10-09

Lagt til `AT.Brevgenerator.Klient.Model.BrevgeneratorSecret`

## 3.1.0 - 2025-10-09

Lagt til støtte for `DefaultTemplateFields.TidligereReferanse`

## 3.0.0 - 2025-08-29

Breaking changes:

- Fjernet automatisk uthenting av API Key fra AWS (ApiKeyRetriever og IApiKeyRetriever er fjernet).
- Fjernet AWS-avhengigheter (APIGateway, SimpleSystemsManagement) og forenklet `BrevgeneratorConfig` til kun `ApiUrl`.
- Region og ParameterStoreApiKeyIdName fjernet fra konfigurasjon.
- `AuthMode` må angis eksplisitt i konstruktør.

Nytt:

- Støtte for Bearer token (Entra ID client credentials e.l.) via `bearerTokenFactory`.

Migrering:

- Opprett konfig: `var config = new BrevgeneratorConfig(apiUrl);`
- Konstruer klient:

```cs
new BrevgeneratorKlient(
   config,
   BrevgeneratorKlient.AuthMode.BearerToken,
   bearerTokenFactory: async () => await GetToken()
);
```

eller

```cs
new BrevgeneratorKlient(
  config,
  BrevgeneratorKlient.AuthMode.ApiKey,
  apiKeyFactory: async () => await GetApiKey()
);
```

## 2.3.3 - 2025-04-08

Opprydding i model for å tilsvare API sitt schema:

- Satt de fleste felter i AT.Brevgenerator.Klient.Model.DefaultTemplateFields som required.
- Satt alle felter i AT.Brevgenerator.Klient.Model.Virksomhet som required.
- Forbedret håndtering av initialisering i builder.

## 2.3.2 - 2025-04-02

Fjernt nullability fra AT.Brevgenerator.Klient.Model.GeneratePdfOptions.Dynamic siden det er påkrevd av APIet

## 2.3.1 - 2025-03-28

Fjernet AT.Brevgenerator.Klient.Model.BasicConfig.BodyClass som ikke gjør noe

## 2.3.0 - 2025-03-27

Lagt til støtte for blank template

## 2.2.0 - 2025-01-22

Lagt til støtte for `null` som variabelverdi i forbindelse med truthy logikk

## 2.1.0 - 2025-01-14

Lagt til nye valgfrie felter i default template: DeresDato, DeresReferanse, ErUnntattOffentlighet

## 2.0.0 - 2024-11-29

Endret TargetFramework til net8.0

## 1.1.0 - 2024-10-29

La til signatureVariant Usignert

## 1.0.2 - 2024-10-18

Fiks få med signatureVariant i ArgsBuilder

## 1.0.1 - 2024-10-17

Fiks serialisering av enums

## 1.0.0 - 2024-10-09

Første versjon av pakken