Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating entities can cause errors #707

Merged
merged 2 commits into from
Jun 18, 2024
Merged

Conversation

tnotheis
Copy link
Member

@tnotheis tnotheis commented Jun 18, 2024

Readiness checklist

  • I added/updated unit tests.
  • I added/updated integration tests.
  • I ensured that the PR title is good enough for the changelog.
  • I labeled the PR.

The problem was that when EF Core deserializes an entity, it used the "real" constructor. In case of an identity, this caused an IdentityCreatedDomainEvent to be created on an update, even though it isn't a new identity.
The Quotas module, which handles this domain event and creates a copy of the identity in their own schema, then runs into an error because an identity with that address already exists.

I fixed this by adding empty default constructors for all classes that inherit from Entity. This empty default constructor is prioritized by EF Core.

@tnotheis tnotheis added the bug Something isn't working label Jun 18, 2024
@tnotheis tnotheis requested a review from stnmtz June 18, 2024 14:21
Copy link

coderabbitai bot commented Jun 18, 2024

Important

Review skipped

Auto reviews are limited to specific labels.

Labels to auto review (1)
  • dependencies

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@tnotheis tnotheis marked this pull request as ready for review June 18, 2024 14:22
@tnotheis tnotheis enabled auto-merge (squash) June 18, 2024 14:23
@tnotheis tnotheis merged commit d68c7b6 into main Jun 18, 2024
21 checks passed
@tnotheis tnotheis deleted the updating-entities-can-cause-errors branch June 18, 2024 14:30
daniel-almeida-konkconsulting pushed a commit that referenced this pull request Jun 20, 2024
* fix: add empty default constructors for all entities

* test: add ArchUnit test to assert the existance of empty default constructors
tnotheis added a commit that referenced this pull request Jun 24, 2024
* Make C# build fail in case of nullability warnings (#690)

* chore: make compiler treat nullability warnings as errors

* chore: add more warnings

* Consumer API: Prevent messages to identities to be deleted (#685)

* feat: add find all method with possible identity address collection filter

* test: unit test find all identities handler

* feat: ensure message is only sent if none of the recipients has an identity to be deleted

* refactor: add status filter to list identities query to prevent pulling too many instances into memory

* test: exclude consumer api projects from arch unit tests

* test: add integration tests for messages controller (send messages)

* refactor: use expression for identitiy filtering

* fix: arch unit tests

* test: try to make deserialization of data reusable

* test: make PeersToBeDeleted property required and rename class

* chore: formatting

* fix: update npm packages with vulnerabilties

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Update npm package with vulnerability in Tokens performance tests (#694)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Integrate domain events into Domain (remaining modules) (#679)

* chore: Challenges: Make entities subclasses of Entity

* chore: Devices: Make entities subclasses of Entity

* chore: Correct namespace of DatawalletModifiedDomainEventHandler

* chore: Correct namespace of DatawalletModifiedDomainEvent

* chore: Devices: Integrate IdentityDeletionProcessStartedDomainEvent

* chore: Devices: Integrate IdentityCreatedDomainEvent

* chore: Devices: Integrate IdentityDeletionProcessStatusChangedDomainEvent

* fix: Remove unused event bus parameter

* chore: Integrate FileUploadedDomainEvent into domain

* chore: Messages: Make entities subclasses of Entity

* chore: Integrate MessageCreatedDomainEvent into domain

* test: Messages: Add domain test for MessageCreatedDomainEvent

* chore: Relationships: Make entities subclasses of Entity

* chore: Relationships: Integrate RelationshipChangeCreatedDomainEvent into domain

* chore: Relationships: Integrate RelationshipChangeCompletedDomainEvent into domain

* chore: Relationships: Integrate RelationshipTemplateCreatedDomainEvent into domain

* test: Relationships: Write domain tests and remove handler tests for the domain events

* chore: Tokens: Make entities subclasses of Entity

* chore: Tokens: Integrate TokenCreatedDomainEvent into domain

* test: Tokens: Add domain test for TokenCreatedDomainEvent

* fix: Fix formatting

* fix: Make Test classes subclasses of AbstractTestsBase

* chore: Add todos

* chore: Rename test classes and tests

* chore: Fix formatting

* chore: Remove comments

* chore: Use factory methods

* chore: Don't use factory methods

* fix: Fix "Start of week, last monday" bug

* fix: Import missing dependency

* chore: Remove event bus call from handler and tests

* chore: Raise TierOfIdentityChangedDomainEvent automatically when changing the Tier Id

* chore: Raise IdentityDeletionProcessStatusChangedDomainEvent automatically when changing status (wip)

* fix: Remove double raises of TierOfIdentityChangedDomainEvent

* chore: Rename CancelDeletionProcessTests class to CancelDeletionProcessAsOwnerTests

* fix: Fix formatting

* test: Add three unit tests for the ChangeTier method

* test: StartOfWeek on Monday returns same day

* test: Add test for successful path

* chore: Unify test names

* chore: Raise more IdentityDeletionProcessStatusChangedDomainEvents

* chore: Rework TestDataGenerator, remove unused Factory method

* fix: Use TierId property in constructor and rewrite null check

* chore: Remove comments

* fix: Implement custom save methods manually

* chore: fix nullability warning in Identity.cs

* test: refactor TestDataGenerator.cs

* test: don't assert for NotThrow

* test: dont use the word "triggers" in tests; use "raises" instead

* chore: Remove commented out code, fix typo

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Daniel Silva <daniel.p.silva@konkconsulting.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* chore: fix build errors upon initial merge

* chore: update sdk with new relationships api

* test: update helper methods with new sdk changes

* chore: remove unnecessary unit tests

* Push support for Connectors via server sent events (#691)

* feat: add SseServer project

* fix: don't raise domain event in FinalizeSyncRun Handler

* feat: only trigger one DatawalletModifiedDomainEvent, no matter how many modifications were added

* fix: use string for properties in DatawalletModifiedDomainEvent

* chore: move TraceIdMiddleware.cs to BuildingBlocks.API

* chore: formatting

* feat: add JwtSigningCertificate to ConsumerApi appsettings.override.json

* chore: remove RequestResponseTimeMiddleware ResponseDurationMiddleware from ConsumerApi and use the ones from BuildingBlocks isntead

* feat: implement SseServer

* feat: add SseConnector

* chore: throw NotSupportedException instead of NotImplementedException in various places

* chore: cleanup Configuration.cs

* chore: formatting

* feat: make JwtSigningCertificate config required

* refactor: extract method to get push notification name into extension method

* feat: catch exception during send in SseServerClient

* feat: only send event name

* chore: enable SSE for local development

* refactor: extract extension method

* chore: improve folder structure

* fix: don't add success if there is no success

* refactor: add ISseServerClient

* test: add SseConnectorTests.cs

* test: introduce BeEquivalentToJson extension method

* refactor: extract request building logic into SseMessageBuilder

* chore: introduce log event ids

* refactor: rename SseConnector to ServerSentEventsConnector

* chore: move SseServer project to "SseServer/src" folder

* test: add tests for EventQueue

* chore: rename database health checks from "<moduleName>" to "<moduleName>Database"

* feat: add health check to SseServer

* feat: add SseServer health check to Consumer API health check

* feat: add Dockerfile for SseServer

* chore: add SseServer to Backbone.run.xml

* ci: add sse server to build and publish pipelines

* chore: make buildContainerImage.js script executable

* chore: fix formatting

* test: fix test

* feat: add sseserver to helm chart

* ci: add sse server to docker-compose.test.yml

* chore: minor changes

* feat: only enable sse health check if sse is enabled

* ci: add JwtSigningCertificate to pipeline configs

* feat: only create sse resources if sse provider is enabled in config

* test: import FluentAssertions.Json in StringAssertionsExtensions to make the tests work

* test: cleanup

* test: remove unused code

* chore: add local logging overrides for eventhandlerservice

* chore: explicitly AllowAnonymous for "/{address}/events" route

* chore: remove redundant configuration from sseserver's appsettings.json

* feat: make Modules property in SseServer's configuration required

* chore: remove commented out code

* chore: add explaining comments to the call of the UpdateDeviceRegistrationCommand

* ci: fix job name

* fix: remove publishing of TierOfIdentityChangedDomainEvent from Handlers

* chore: Make RelationshipAuditLogEntry an Entity

* chore: Integrate RelationshipStatusChangedDomainEvent into Domain

* chore: Integrate RelationshipReactivationRequestedDomainEvent into Domain

* chore: Integrate RelationshipReactivationCompletedDomainEvent into Domain

* test: Make all domain event tests domain tests instead of handler tests

* Update NuGet dependencies (#703)

* Build(deps): Bump the update-nuget-dependencies group with 10 updates

Bumps the update-nuget-dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [FluentValidation](https://github.com/JeremySkinner/fluentvalidation) | `11.9.1` | `11.9.2` |
| [FluentValidation.DependencyInjectionExtensions](https://github.com/JeremySkinner/fluentvalidation) | `11.9.1` | `11.9.2` |
| [NetEscapades.AspNetCore.SecurityHeaders](https://github.com/andrewlock/NetEscapades.AspNetCore.SecurityHeaders) | `0.21.0` | `0.22.0` |
| [Serilog.Sinks.Debug](https://github.com/serilog/serilog-sinks-debug) | `2.0.0` | `3.0.0` |
| [GitHubActionsTestLogger](https://github.com/Tyrrrz/GitHubActionsTestLogger) | `2.3.3` | `2.4.1` |
| [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) | `17.8.0` | `17.10.0` |
| [NJsonSchema.NewtonsoftJson](https://github.com/RicoSuter/NJsonSchema) | `11.0.0` | `11.0.1` |
| [xunit](https://github.com/xunit/xunit) | `2.5.3` | `2.8.1` |
| [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit) | `2.5.3` | `2.8.1` |
| [coverlet.collector](https://github.com/coverlet-coverage/coverlet) | `6.0.0` | `6.0.2` |


Updates `FluentValidation` from 11.9.1 to 11.9.2
- [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases)
- [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt)
- [Commits](FluentValidation/FluentValidation@11.9.1...11.9.2)

Updates `FluentValidation.DependencyInjectionExtensions` from 11.9.1 to 11.9.2
- [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases)
- [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt)
- [Commits](FluentValidation/FluentValidation@11.9.1...11.9.2)

Updates `FluentValidation` from 11.9.1 to 11.9.2
- [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases)
- [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt)
- [Commits](FluentValidation/FluentValidation@11.9.1...11.9.2)

Updates `NetEscapades.AspNetCore.SecurityHeaders` from 0.21.0 to 0.22.0
- [Changelog](https://github.com/andrewlock/NetEscapades.AspNetCore.SecurityHeaders/blob/master/CHANGELOG.md)
- [Commits](andrewlock/NetEscapades.AspNetCore.SecurityHeaders@v0.21.0...v0.22.0)

Updates `Serilog.Sinks.Debug` from 2.0.0 to 3.0.0
- [Release notes](https://github.com/serilog/serilog-sinks-debug/releases)
- [Commits](serilog/serilog-sinks-debug@v2.0.0...v3.0.0)

Updates `GitHubActionsTestLogger` from 2.3.3 to 2.4.1
- [Release notes](https://github.com/Tyrrrz/GitHubActionsTestLogger/releases)
- [Commits](Tyrrrz/GitHubActionsTestLogger@2.3.3...2.4.1)

Updates `Microsoft.NET.Test.Sdk` from 17.8.0 to 17.10.0
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](microsoft/vstest@v17.8.0...v17.10.0)

Updates `NJsonSchema.NewtonsoftJson` from 11.0.0 to 11.0.1
- [Release notes](https://github.com/RicoSuter/NJsonSchema/releases)
- [Commits](RicoSuter/NJsonSchema@v11.0.0...v11.0.1)

Updates `xunit` from 2.5.3 to 2.8.1
- [Commits](xunit/xunit@2.5.3...2.8.1)

Updates `xunit.runner.visualstudio` from 2.5.3 to 2.8.1
- [Release notes](https://github.com/xunit/visualstudio.xunit/releases)
- [Commits](xunit/visualstudio.xunit@2.5.3...2.8.1)

Updates `coverlet.collector` from 6.0.0 to 6.0.2
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](coverlet-coverage/coverlet@v6.0.0...v6.0.2)

---
updated-dependencies:
- dependency-name: FluentValidation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: FluentValidation.DependencyInjectionExtensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: FluentValidation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: NetEscapades.AspNetCore.SecurityHeaders
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: Serilog.Sinks.Debug
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: update-nuget-dependencies
- dependency-name: GitHubActionsTestLogger
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: NJsonSchema.NewtonsoftJson
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: xunit.runner.visualstudio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: coverlet.collector
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* ci: use includeNotFoundTests=false in tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Admin UI: Update npm dependencies (#702)

Bumps the update-npm-dependencies group in /AdminApi/src/AdminApi/ClientApp with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `18.0.2` | `18.0.3` |
| [@angular/cdk](https://github.com/angular/components) | `18.0.2` | `18.0.3` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `18.0.2` | `18.0.3` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `18.0.2` | `18.0.3` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `18.0.2` | `18.0.3` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `18.0.2` | `18.0.3` |
| [@angular/material](https://github.com/angular/components) | `18.0.2` | `18.0.3` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `18.0.2` | `18.0.3` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `18.0.2` | `18.0.3` |
| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `18.0.2` | `18.0.3` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `18.0.2` | `18.0.3` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `18.0.3` | `18.0.4` |
| [@angular/cli](https://github.com/angular/angular-cli) | `18.0.3` | `18.0.4` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `18.0.2` | `18.0.3` |
| [prettier](https://github.com/prettier/prettier) | `3.3.1` | `3.3.2` |


Updates `@angular/animations` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/animations)

Updates `@angular/cdk` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md)
- [Commits](angular/components@18.0.2...18.0.3)

Updates `@angular/common` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/common)

Updates `@angular/compiler` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/compiler)

Updates `@angular/core` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/core)

Updates `@angular/forms` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/forms)

Updates `@angular/material` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md)
- [Commits](angular/components@18.0.2...18.0.3)

Updates `@angular/platform-browser` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/platform-browser)

Updates `@angular/platform-browser-dynamic` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/platform-browser-dynamic)

Updates `@angular/platform-server` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/platform-server)

Updates `@angular/router` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/router)

Updates `@angular-devkit/build-angular` from 18.0.3 to 18.0.4
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](angular/angular-cli@18.0.3...18.0.4)

Updates `@angular/cli` from 18.0.3 to 18.0.4
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](angular/angular-cli@18.0.3...18.0.4)

Updates `@angular/compiler-cli` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/compiler-cli)

Updates `prettier` from 3.3.1 to 3.3.2
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.3.1...3.3.2)

---
updated-dependencies:
- dependency-name: "@angular/animations"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/cdk"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/common"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/compiler"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/forms"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/material"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/platform-browser"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/platform-browser-dynamic"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/platform-server"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/router"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/compiler-cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>

* Update dotnet/sdk image in Dockerfiles (#701)

Bumps the update-docker-dependencies group with 1 update in the /DatabaseMigrator directory: dotnet/sdk.
Bumps the update-docker-dependencies group with 1 update in the /EventHandlerService/src/EventHandlerService directory: dotnet/sdk.
Bumps the update-docker-dependencies group with 1 update in the /Jobs/src/Job.IdentityDeletion directory: dotnet/sdk.
Bumps the update-docker-dependencies group with 1 update in the /Modules/Devices/src/Devices.AdminCli directory: dotnet/sdk.


Updates `dotnet/sdk` from 8.0.301 to 8.0.302

Updates `dotnet/sdk` from 8.0.301 to 8.0.302

Updates `dotnet/sdk` from 8.0.301 to 8.0.302

Updates `dotnet/sdk` from 8.0.301 to 8.0.302

---
updated-dependencies:
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Consumer API: Prevent creation and updates to relationships where peer is in status "ToBeDeleted" (#695)

* feat: prevent relationship commands with identities to be deleted

* test: add relationship integration tests

* fix: formatting

* refactor: rename test scenarios

* refactor: add mediatr query to retrieve relationship peer address

* test: adjust step definitions

* refactor: rename validation method

* refactor: use GetPeerOfActiveIdentityInRelationshipResponse type and adjust integration tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* AdminUI: Table with identity deletion process audit logs doesn't show up when there are no audit log entries (#706)

* fix: identity audit logs would not display

* ci: trigger pipelines

* chore: update ws version to the latest

* fix: update dependencies to fix vulnerability

---------

Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Updating entities can cause errors (#707)

* fix: add empty default constructors for all entities

* test: add ArchUnit test to assert the existance of empty default constructors

* chore: merge with 'main' and resolve conflicts

* fix: add decomposition domain events

* fix: revert last change

* fix: Add private parameterless constructor for Tier class

* Updating entities can cause errors (#707)

* fix: add empty default constructors for all entities

* test: add ArchUnit test to assert the existance of empty default constructors

* fix: don't publish ExternalEventCreatedDomainEvent manually

* chore: remove AddressPrefix from appsettings.json files

* chore: add InstanceUrl to appsettings.override.json of EventHandlerService

* fix: delete QuotasDbContextSeeder, as it is not required anymore

* feat: raise TierCreatedDomainEvent in correct constructor

* fix: correctly configure InstanceUrl

* fix: trigger RelationshipStatusChangedDomainEvent in case of creation

* test: clear domain events in TestData

* fix: add method that was removed from controller

* test: add Raises_RelationshipStatusChangedDomainEvent test to creation of relationship

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mika Aaron Herrmann <65243124+MH321Productions@users.noreply.github.com>
Co-authored-by: Daniel Silva <daniel.p.silva@konkconsulting.com>
Co-authored-by: Mika Herrmann <mika.herrmann@js-soft.com>
Co-authored-by: Vladimir Vuckovic <37671301+stamenione@users.noreply.github.com>
tnotheis added a commit that referenced this pull request Jul 1, 2024
* Consumer API: Revamp Relationships API (#576)

* chore: move entities to Aggregates folder

* feat: creation of Relationship and remove Changes related stuff

* test: split into two tests

* feat: acceptance of creation

* feat: reject creation

* feat: revoke creation

* test: split relationship tests into multiple files

* feat: allow multiple relationships as long as there is only one active

* chore: remove redundant parameter

* refactor: make RelationshipTemplatesRepository.Find return null instead of throwing

* feat: add Handler

* feat: add and use expressions

* chore: don't use AutoMapper and add more tests

* feat: reject relationship

* feat: AcceptRelationshipCommand

* feat: RevokeRelationshipCommand

* feat: add AuditLog to DTOs

* feat: add CreationContent property to RelationshipDTO

* feat: add additional properties to RelationshipCreatedIntegrationEvent and RelationshipStatusChangedIntegrationEvent

* feat: handle new integration events in Synchronization module

* chore: formatting

* test: fix tests

* feat: replace integration events in quotas module with new ones

* feat: add migration

* feat: add controller methods

* chore: fix/ignore compiler warnings

* refactor: cleanup error codes

* feat: add insomnia workspace

* feat: add openapi.yml

* fix: add RelationshipMetadataDTO type and add creationContent property to RelationshipDTO

* refactor: rename Content to CreationContent in request to create a relationship

* chore: update InsomniaWorkspace and openapi.yml

* chore: rename RelationshipStatus "Accepted" to "Active"

* chore: fix merge conflicts

* chore: remove redundant whitespace

* feat: add AcceptanceContent

* fix: avoid error on creation of RelationshipsOverview view when RelationshipChanges table does not exist

* feat: (WIP!!): update Admin API RelationshipOverviews view

* feat: add AcceptanceContent to DTO

* fix: pass AcceptanceContent to AcceptRelationshipCommand

* chore: use postgres in Admin CLI launchSettings.json

* fix: relationships overview migration

* feat: update revamped relationships overview view with audit log

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Daniel Almeida <115644988+daniel-almeida-konkconsulting@users.noreply.github.com>

* Consumer API: Terminate a Relationship (#588)

* chore: move entities to Aggregates folder

* feat: creation of Relationship and remove Changes related stuff

* test: split into two tests

* feat: acceptance of creation

* feat: reject creation

* feat: revoke creation

* test: split relationship tests into multiple files

* feat: allow multiple relationships as long as there is only one active

* chore: remove redundant parameter

* refactor: make RelationshipTemplatesRepository.Find return null instead of throwing

* feat: add Handler

* feat: add and use expressions

* chore: don't use AutoMapper and add more tests

* feat: reject relationship

* feat: AcceptRelationshipCommand

* feat: RevokeRelationshipCommand

* feat: add AuditLog to DTOs

* feat: add CreationContent property to RelationshipDTO

* feat: add additional properties to RelationshipCreatedIntegrationEvent and RelationshipStatusChangedIntegrationEvent

* feat: handle new integration events in Synchronization module

* chore: formatting

* test: fix tests

* feat: replace integration events in quotas module with new ones

* feat: add migration

* feat: add controller methods

* chore: fix/ignore compiler warnings

* refactor: cleanup error codes

* feat: add insomnia workspace

* feat: add openapi.yml

* fix: add RelationshipMetadataDTO type and add creationContent property to RelationshipDTO

* refactor: rename Content to CreationContent in request to create a relationship

* chore: update InsomniaWorkspace and openapi.yml

* feat: implement domain part of relationship termination

* feat: implement application part of relationship termination

* feat: implement relationship termination controller

* feat: disable creating new relationship while terminated one exists

* feat: disable sending messages when relationship is terminated

* test: add relationship termination domain and handler tests

* chore: rename RelationshipStatus "Accepted" to "Active"

* feat: trigger external event

* chore: fix formatting

* chore: fix merge conflicts

* chore: remove redundant whitespace

* fix: add missing directive

* fix: update Content to CreationContent

* chore: update files prior to making PR ready for review

* chore: fix formatting

* feat: add AcceptanceContent

* fix: avoid error on creation of RelationshipsOverview view when RelationshipChanges table does not exist

* feat: (WIP!!): update Admin API RelationshipOverviews view

* feat: add AcceptanceContent to DTO

* fix: pass AcceptanceContent to AcceptRelationshipCommand

* chore: use postgres in Admin CLI launchSettings.json

* feat: implement PR change requests

* feat: implement PR change requests

* chore: fix formatting

* feat: implement PR change requests

* fix: relationships overview migration

* feat: update revamped relationships overview view with audit log

* test: add relationship tests

* chore: fix formatting and remove redundant overload

* chore: fix formatting

* feat: implement PR change requests

* feat: implement PR change requests

* chore: remove redundant Relationship statuses

* fix: update condition

* fix: re-introduce Terminated status

* chore: remove unused method

* refactor: combine checks for other relationships

---------

Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: Daniel Almeida <115644988+daniel-almeida-konkconsulting@users.noreply.github.com>

* fix: add missing schemas

* fix: add missing schemas

* chore: fix formatting

* Consumer API: Rename AcceptanceContent property of Relationship class (#613)

* feat: rename field to CreationResponseContent

* feat: update AcceptRelationshipRequest property

* feat: update Content property when revoking and rejecting

* fix: update method calls with additional parameter

* fix: update method calls

* chore: remove unnecessarily added property

* fix: update ctor to fix the compiler error

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Consumer API: Use StatusChanged instead of RelationshipCreated DomainEvent when establishing a new Relationship (#615)

* refactor: remove relationship created event

* refactor: remove tests

* refactor: remove using directives

* refactor: remove relationship created form Quotas module

* refactor: remove external event type, RelationshipCreated

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* fix: add Status to RelationshipEntityTypeConfiguration of Messages module

* fix: query for youngest relationship when sending messages

* fix: rename Content property in Accept/Reject/RevokeRelationship to CreationResponseContent

* Re-enable transport tests (#621)

* feat: add relationship termination routes to openapi.yml

* chore: fix error code in openapi.yml

* fix: use constructor instead of AutoMapper to map to RelationshipDTO

* chore: remove IMapTo<Relationship> from RelationshipDTO

* Backbone-specific addresses (#570)

* feat: add 100 char-long identityAddresses

* chore: add missing config

* chore: fix erroneous migrations

* feat: add 100 char-long identityAddresses on SqlServer

* chore: fix erroneous migrations' name

* chore: fix erroneous migrations' name

* chore: attempt to remove identity assertions from transport tests

* chore: fix sed

* chore: fix erroneous migrations' name

* chore: use backbone-specific-addresses branch of transport tests

* chore: branch → ref

* chore: fix branch name

* chore: backbone sln merge

* chore: remove realm, change url to prod.enmeshed.eu where applicable

* chore: fix unit tests after removing realm from identity

* chore: remove AddressPrefix from config files

* chore: remove AddressPrefix from config files

* chore: fix formatting

* chore: remove second needless migration

* fix: remove old configuration and update messages to use InstanceUrl, from configuration

* chore: move migration order
hopefully this fixes the pipeline for now. However, this must be fixed later

* feat: implement new IdentityAddress generation algorithm

* chore: reformat

* chore: simplify isValid

* feat: change address length to 80

* chore: fix migration name

* chore: fix migration name

* chore: fix old 100 to 80 chars

* chore: trigger pipeline

* fix: pipeline test file

* fix: missing defaultschema for migrations

* fix: missing defaultschema for migrations

* fix: max length set to 100

* chore: add InstanceUrl to test appsettings

* chore: transport tests should still use the backbone-specific-addresses branch

* chore: add InstanceUrl to test appsettings for event handler

* fix: bad feature/backbone-specific-addresses branch name

* fix: 100 → 80 chars

* chore: remove out-of-date migrations

* feat: Identity80 migrations for relationships module

* chore: more restrictive regex. usage of return value instead of relying on exceptions

* chore: fix migration file names

* fix: exception thrown when address does not match the regex

* chore: identitySpecificPart must be a hex representation of bytes

* refactor: turn regex into a compiled one

* chorte: remove unused pattern

* chore: use named regex groups

* chore: extract CHECKSUM_LENGTH, create addressWithoutChecksumregex group

* chore: optimize regex

* refactor: rename variable

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Consumer API: Requesting reactivation of a Relationship (#597)

* chore: move entities to Aggregates folder

* feat: creation of Relationship and remove Changes related stuff

* test: split into two tests

* feat: acceptance of creation

* feat: reject creation

* feat: revoke creation

* test: split relationship tests into multiple files

* feat: allow multiple relationships as long as there is only one active

* chore: remove redundant parameter

* refactor: make RelationshipTemplatesRepository.Find return null instead of throwing

* feat: add Handler

* feat: add and use expressions

* chore: don't use AutoMapper and add more tests

* feat: reject relationship

* feat: AcceptRelationshipCommand

* feat: RevokeRelationshipCommand

* feat: add AuditLog to DTOs

* feat: add CreationContent property to RelationshipDTO

* feat: add additional properties to RelationshipCreatedIntegrationEvent and RelationshipStatusChangedIntegrationEvent

* feat: handle new integration events in Synchronization module

* chore: formatting

* test: fix tests

* feat: replace integration events in quotas module with new ones

* feat: add migration

* feat: add controller methods

* chore: fix/ignore compiler warnings

* refactor: cleanup error codes

* feat: add insomnia workspace

* feat: add openapi.yml

* feat: reactivate relationship & tests

* test: add handler tests

* feat: add handler and route

* fix: add RelationshipMetadataDTO type and add creationContent property to RelationshipDTO

* refactor: extract method, remove comment

* refactor: rename Content to CreationContent in request to create a relationship

* chore: update InsomniaWorkspace and openapi.yml

* chore: rename RelationshipStatus "Accepted" to "Active"

* feat: implement ExternalEvent of type RelationshipReactivationRequested

* chore: fix merge conflicts

* chore: remove redundant whitespace

* chore: rename

* feat: add AcceptanceContent

* fix: avoid error on creation of RelationshipsOverview view when RelationshipChanges table does not exist

* feat: (WIP!!): update Admin API RelationshipOverviews view

* feat: add AcceptanceContent to DTO

* fix: pass AcceptanceContent to AcceptRelationshipCommand

* chore: use postgres in Admin CLI launchSettings.json

* chore: remove comments

* chore: rename

* chore: rename

* feat: add integration event in quotas module

* chore: rename

* chore: fix formating issues

* fix: relationships overview migration

* feat: update revamped relationships overview view with audit log

* chore: formatting

* fix: missing parameter from accept method

* fix: delete AdminUi RelationshipsOverviews table in RelationshipsRevamp migration

* refactor: use RecalculateMetricStatuses overload with MetricKeys instead of strings

* chore: grant relationships module delete permission on AdminUi schema

* chore: check if view exists before deleting it

* fix: check if view exists before deleting it

* chore: rename

* chore: remove unused method

* chore: rename

* refactor: utilize CreateActiveRelationship method

* chore: rename

* chore: fix naming across integration events

* chore: more renaming

* fix: remove status change for reactive & adapt tests

* feat: ensure there is not already an open reactivation request
fix: adapt tests to new changes

* fix: event id

* fix: formatting

* fix: rename route segment

* chore: add blank lines

* chore: move private method & remove unnecessary check

* chore: rename

* chore: rename command

* chore: rename DomainError

* chore: remove redundant test

* chore: rename test

* feat: enforce quotas of NumberOfRelationships (wip)

* fix: formatting issues

* chore: rename "IntegrationEvent" to "DomainEvent"

* fix: type and merge conflict

* feat: improve Count()

* chore: fix formatting

* chore: remove item group

* chore: rename

* fix: count only for the quotas of the identity that requested reactivation

* fix: last audit log retrival & entity type configuration

* chore: add missing mapping for ExternalEventTypes in ExternalEventDTO

* fix: compiler errors

* ci: trigger pipelines

* wip: disappearing AuditLogs in Count method

* fix: add missing status assignment when requesting reactivation

* fix: relationship status enum do not match.

* fix: increment system time to ensure relationship audit log order by behaviour

* chore: rename

* chore: remove unnecessary time set

* chore: remove one creation of an active relationship

* fix: remove terminating status

* feat: add CreatedBy property

* refactor: test participants

* fix: count only for the identity that requested the reactivation

* fix: merge conflict

* test: improve test

---------

Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hunor Tot-Bagi <hunortotbagi@gmail.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: Daniel Almeida <115644988+daniel-almeida-konkconsulting@users.noreply.github.com>

* fix: remove RelationshipCreated integration event remains from the project (#648)

* feat: return relationship dto when terminating a relationship (#651)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Consumer API: Revoke a Relationship reactivation request (#600)

* chore: move entities to Aggregates folder

* feat: creation of Relationship and remove Changes related stuff

* test: split into two tests

* feat: acceptance of creation

* feat: reject creation

* feat: revoke creation

* test: split relationship tests into multiple files

* feat: allow multiple relationships as long as there is only one active

* chore: remove redundant parameter

* refactor: make RelationshipTemplatesRepository.Find return null instead of throwing

* feat: add Handler

* feat: add and use expressions

* chore: don't use AutoMapper and add more tests

* feat: reject relationship

* feat: AcceptRelationshipCommand

* feat: RevokeRelationshipCommand

* feat: add AuditLog to DTOs

* feat: add CreationContent property to RelationshipDTO

* feat: add additional properties to RelationshipCreatedIntegrationEvent and RelationshipStatusChangedIntegrationEvent

* feat: handle new integration events in Synchronization module

* chore: formatting

* test: fix tests

* feat: replace integration events in quotas module with new ones

* feat: add migration

* feat: add controller methods

* chore: fix/ignore compiler warnings

* refactor: cleanup error codes

* feat: add insomnia workspace

* feat: add openapi.yml

* fix: add RelationshipMetadataDTO type and add creationContent property to RelationshipDTO

* refactor: rename Content to CreationContent in request to create a relationship

* chore: update InsomniaWorkspace and openapi.yml

* chore: rename RelationshipStatus "Accepted" to "Active"

* chore: fix merge conflicts

* feat: implement domain part

* feat: implement application part

* feat: implement controller

* chore: remove redundant whitespace

* test: add domain and handler tests

* feat: update domain errors

* feat: trigger external event

* chore: fix formatting

* chore: update files prior to making PR ready for review

* chore: fix formatting

* feat: add AcceptanceContent

* fix: avoid error on creation of RelationshipsOverview view when RelationshipChanges table does not exist

* feat: (WIP!!): update Admin API RelationshipOverviews view

* feat: add AcceptanceContent to DTO

* fix: pass AcceptanceContent to AcceptRelationshipCommand

* chore: use postgres in Admin CLI launchSettings.json

* chore: fix formatting

* chore: add _relationshipTemplateAllocations field

* fix: update failing test

* fix: update tests

* fix: relationships overview migration

* feat: update revamped relationships overview view with audit log

* feat: implementing PR change requests

* feat: implement PR change requests

* chore: remove CreatedAt property

* feat: implement PR change requests

* chore: remove redundant Relationship statuses

* fix: update condition

* chore: update identifier

* Merge branch 'release/v5' of github.com:nmshd/backbone into nmshdb-89-termination-of-a-relationship

* chore: fix formatting

* chore: update object property name

* Merge branch 'release/v5' of github.com:nmshd/backbone into nmshdb-93-revocation-of-a-reactivation-of-a-relationship

* feat: implement PR change requests

* feat: order audit logs before accessing the last

* fix: return helper method

* chore: fix formatting

* fix: consider the time of the reactivation within the given quota period

* fix: remove unused relationship created type

* feat: address PR change requests

* feat: address PR change requests

* chore: add named parameters to test methods

* chore: fix formatting

* fix: remove nullable reference type from CreatedBy prop, RelationshipAuditLogEntry

---------

Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: Daniel Almeida <115644988+daniel-almeida-konkconsulting@users.noreply.github.com>
Co-authored-by: Hunor Tot-Bagi <hunortotbagi@gmail.com>
Co-authored-by: Nikola Dmitrasinovic <nikola.dm@yahoo.com>

* Consumer API: Instance URL without subdomains leads to invalid addresses (#655)

* Remove InstanceUrl from default config (#656)

* feat: remove InstanceUrl from appsettings.json

* feat: add InstanceUrl to appsettings.override.json

* ci: add InstanceUrl to config of pipelines

* chore: fix remaining appsettings files

* ci: run transport tests on release/v5 branch

* Consumer API: Reject a Relationship reactivation request (#608)

* chore: move entities to Aggregates folder

* feat: creation of Relationship and remove Changes related stuff

* test: split into two tests

* feat: acceptance of creation

* feat: reject creation

* feat: revoke creation

* test: split relationship tests into multiple files

* feat: allow multiple relationships as long as there is only one active

* chore: remove redundant parameter

* refactor: make RelationshipTemplatesRepository.Find return null instead of throwing

* feat: add Handler

* feat: add and use expressions

* chore: don't use AutoMapper and add more tests

* feat: reject relationship

* feat: AcceptRelationshipCommand

* feat: RevokeRelationshipCommand

* feat: add AuditLog to DTOs

* feat: add CreationContent property to RelationshipDTO

* feat: add additional properties to RelationshipCreatedIntegrationEvent and RelationshipStatusChangedIntegrationEvent

* feat: handle new integration events in Synchronization module

* chore: formatting

* test: fix tests

* feat: replace integration events in quotas module with new ones

* feat: add migration

* feat: add controller methods

* chore: fix/ignore compiler warnings

* refactor: cleanup error codes

* feat: add insomnia workspace

* feat: add openapi.yml

* fix: add RelationshipMetadataDTO type and add creationContent property to RelationshipDTO

* refactor: rename Content to CreationContent in request to create a relationship

* chore: update InsomniaWorkspace and openapi.yml

* chore: rename RelationshipStatus "Accepted" to "Active"

* chore: fix merge conflicts

* chore: remove redundant whitespace

* feat: implement RejectReactivation()

* feat: implement Handler

* feat: add AcceptanceContent

* fix: avoid error on creation of RelationshipsOverview view when RelationshipChanges table does not exist

* feat: (WIP!!): update Admin API RelationshipOverviews view

* feat: add AcceptanceContent to DTO

* fix: pass AcceptanceContent to AcceptRelationshipCommand

* chore: use postgres in Admin CLI launchSettings.json

* fix: relationships overview migration

* feat: update revamped relationships overview view with audit log

* feat: add integration event

* fix: resolve formatting issues

* refactor: improve code structure over various classes

* feat: publish integration event in the handler

* feat: add controller route

* feat: implement reject relationship reactivation
test: add reject reactivation tests
refactor: improve code structure of Relationship

* test: refactor tests

* refactor: improve code structure of tests

* merge release/v5 into branch

* refactor: change integration event to domain event

* chore: fix formatting issues

* test: fix test

* refactor: improve code structure of Handler/Relationship tests, extract methods

* refactor: improve code structure of Relationship

* chore: fix formatting

* feat: update relationship repository

* fix: remove prop form IdentityAddress

* refactor: minor improvements

* fix: merge conflicts

* fix: use correct status in tests

* chore: fix formatting issues

* tests: use RequestReactivation()

* chore: rename helper method for tests

* refactor: various minor improvements

* chore: add reference

* refactor: various small improvements

* chore: fix domain error message

---------

Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: Daniel Almeida <115644988+daniel-almeida-konkconsulting@users.noreply.github.com>

* Consumer API: Accept a Relationship reactivation request (#622)

* feat: implement new endpoint

* feat: implement AcceptReactivation()

* feat: implement Handler

* chore: fix formatting

* feat: implement new DomainEvent

* feat: use external event

* test: add event handler tests

* feat: applay quotas for metrics

* feat: improve Count()

* fix: remove stringValue on peer

* refactor: minor improvements

* fix: count only for requested identity

* fix: use correct participant

* feat: improve Count() Quotas -> RelationshipsRepository

* Merge branch 'release/v5' into nmshdb-91-accepting-relationship-reactivation

* test: use RequestReactivation() in test helpers

* feat: remove implementation of relationship quota counted towards relationship reactivation

* feat: count termenated relationships toward relationship quota

* chore: do not use 'revival' in context of relationship reactivation

* fix: order audit log by date

* feat: rework accept relationship reactivation

* feat: improve Count()

* refactor: improve code structure of tests

* refactor: various minor improvements

* refactor: various small improvements

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Terminated relationships not being counted towards quota usage unless they've been requested for reactivation (#653)

* feat: do not count reactivated relationships for quota usage

* test: RelationshipsRepository filters by IdentityAddress

* chore: fix formatting

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Consumer API: Decomposing a relationship as first Participant (#618)

* feat: implement the domain part of decomposing a relationship

* feat: implement the application part of decomposing a relationship

* feat: implement relationship decompose controller

* feat: implement relationship decomposed by peer external event

* chore: rename "IntegrationEvent" to "DomainEvent"

* chore: rename & reorganize files

* fix: failing tests

* feat: implement that same identity can decompose only once

* chore: fix formatting

* refactor: update tests

* fix: change controller response

* fix: utilize correct logger

* feat: add event handler tests

* chore: remove redundant using

* fix: add missing interface

* chore: remove redundant using

* feat: improve Count()

* feat: add migration for FromHasDecomposed & ToHasDecomposed

* fix: use .Value instead of .StringValue

* chore: add empty line between namespace and class

* test: improve tests

* chore: add more empty line between namespace and class

* fix: remove unused relationship created type

* fix: only one universal CreateTerminatedRelationship method exists

* fix: compiler error

* fix: return correct response

* fix: improve relationship

* chore: change doman error message

* test: improve tests

* fix: remove unused domain event & improve test

* chore: rename & metohd reposition

* test: improve tests

* feat: implement quota calculation for decomposed relationships

* test: add parameter names to call of CreateDecomposedRelationship

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Consumer API: Decomposing a relationship as second Participant  (#661)

* feat: add new endpoint to RelationshipsController

* feat: implement Decompose()

* feat: add new handler

* feat: implement handler

* chore: rename audit log reason

* chore: fix formatting issues

* wip

* tests: add handler tests

* chore: remove empty lines, rename various items

* refactor: various smaller improvements

* feat: improve Decompose()

* test: add tests for second participant

* refactor: improve code structure

* chore: remove comments

* chore: rename test

* chore: remove brackets

* chore: rename method

* refactor: improve code structure of Decompose()

* chore: fix formatting

* format: improve code structure of Decompose()

* refactor: improve code structure of EnsureStatus() and Decompose()

* Consumer API: Requesting/completing relationship reactivations does not create external events (#664)

* fix: register RelationshipReactivationRequestedDomainEventHandler

* fix: add DTO mapping for ExternalEventType RelationshipReactivationCompleted

* Consumer API: RelationshipReactivationCompleted external event is sent to wrong relationship participant (#665)

* fix: always send external event to peer

* ci: add missing dependencies to publish helm chart job

* refactor: extract GetPeer method on Relationship

* chore: fix formatting

* Consumer API: Remove account reference from push notification content (#680)

* fix: inherit from AbstractTestsBase

* feat: remove account reference

* chore: formatting

* fix: remove addressPrefix config and add instanceUrl instead

* Update Consumer API SDK (#700)

* chore: update sdk with new relationships api

* refactor: rename classes by removing DTO suffix

* refactor: revert change

* chore: update npm packages

* chore: update package.json

* chore: npm i after package update

* chore: update package file with 'main'

* chore: merge package-lock with 'main'

* fix: prettier

* Identity Address in database is filled with blanks up to 80 characters (#711)

* refactor: change identity address database type and generate postgres migrations

* fix: postgres migrations and add sql server migrations

* Merge main into release/v5 (#696)

* Make C# build fail in case of nullability warnings (#690)

* chore: make compiler treat nullability warnings as errors

* chore: add more warnings

* Consumer API: Prevent messages to identities to be deleted (#685)

* feat: add find all method with possible identity address collection filter

* test: unit test find all identities handler

* feat: ensure message is only sent if none of the recipients has an identity to be deleted

* refactor: add status filter to list identities query to prevent pulling too many instances into memory

* test: exclude consumer api projects from arch unit tests

* test: add integration tests for messages controller (send messages)

* refactor: use expression for identitiy filtering

* fix: arch unit tests

* test: try to make deserialization of data reusable

* test: make PeersToBeDeleted property required and rename class

* chore: formatting

* fix: update npm packages with vulnerabilties

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Update npm package with vulnerability in Tokens performance tests (#694)

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Integrate domain events into Domain (remaining modules) (#679)

* chore: Challenges: Make entities subclasses of Entity

* chore: Devices: Make entities subclasses of Entity

* chore: Correct namespace of DatawalletModifiedDomainEventHandler

* chore: Correct namespace of DatawalletModifiedDomainEvent

* chore: Devices: Integrate IdentityDeletionProcessStartedDomainEvent

* chore: Devices: Integrate IdentityCreatedDomainEvent

* chore: Devices: Integrate IdentityDeletionProcessStatusChangedDomainEvent

* fix: Remove unused event bus parameter

* chore: Integrate FileUploadedDomainEvent into domain

* chore: Messages: Make entities subclasses of Entity

* chore: Integrate MessageCreatedDomainEvent into domain

* test: Messages: Add domain test for MessageCreatedDomainEvent

* chore: Relationships: Make entities subclasses of Entity

* chore: Relationships: Integrate RelationshipChangeCreatedDomainEvent into domain

* chore: Relationships: Integrate RelationshipChangeCompletedDomainEvent into domain

* chore: Relationships: Integrate RelationshipTemplateCreatedDomainEvent into domain

* test: Relationships: Write domain tests and remove handler tests for the domain events

* chore: Tokens: Make entities subclasses of Entity

* chore: Tokens: Integrate TokenCreatedDomainEvent into domain

* test: Tokens: Add domain test for TokenCreatedDomainEvent

* fix: Fix formatting

* fix: Make Test classes subclasses of AbstractTestsBase

* chore: Add todos

* chore: Rename test classes and tests

* chore: Fix formatting

* chore: Remove comments

* chore: Use factory methods

* chore: Don't use factory methods

* fix: Fix "Start of week, last monday" bug

* fix: Import missing dependency

* chore: Remove event bus call from handler and tests

* chore: Raise TierOfIdentityChangedDomainEvent automatically when changing the Tier Id

* chore: Raise IdentityDeletionProcessStatusChangedDomainEvent automatically when changing status (wip)

* fix: Remove double raises of TierOfIdentityChangedDomainEvent

* chore: Rename CancelDeletionProcessTests class to CancelDeletionProcessAsOwnerTests

* fix: Fix formatting

* test: Add three unit tests for the ChangeTier method

* test: StartOfWeek on Monday returns same day

* test: Add test for successful path

* chore: Unify test names

* chore: Raise more IdentityDeletionProcessStatusChangedDomainEvents

* chore: Rework TestDataGenerator, remove unused Factory method

* fix: Use TierId property in constructor and rewrite null check

* chore: Remove comments

* fix: Implement custom save methods manually

* chore: fix nullability warning in Identity.cs

* test: refactor TestDataGenerator.cs

* test: don't assert for NotThrow

* test: dont use the word "triggers" in tests; use "raises" instead

* chore: Remove commented out code, fix typo

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Daniel Silva <daniel.p.silva@konkconsulting.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* chore: fix build errors upon initial merge

* chore: update sdk with new relationships api

* test: update helper methods with new sdk changes

* chore: remove unnecessary unit tests

* Push support for Connectors via server sent events (#691)

* feat: add SseServer project

* fix: don't raise domain event in FinalizeSyncRun Handler

* feat: only trigger one DatawalletModifiedDomainEvent, no matter how many modifications were added

* fix: use string for properties in DatawalletModifiedDomainEvent

* chore: move TraceIdMiddleware.cs to BuildingBlocks.API

* chore: formatting

* feat: add JwtSigningCertificate to ConsumerApi appsettings.override.json

* chore: remove RequestResponseTimeMiddleware ResponseDurationMiddleware from ConsumerApi and use the ones from BuildingBlocks isntead

* feat: implement SseServer

* feat: add SseConnector

* chore: throw NotSupportedException instead of NotImplementedException in various places

* chore: cleanup Configuration.cs

* chore: formatting

* feat: make JwtSigningCertificate config required

* refactor: extract method to get push notification name into extension method

* feat: catch exception during send in SseServerClient

* feat: only send event name

* chore: enable SSE for local development

* refactor: extract extension method

* chore: improve folder structure

* fix: don't add success if there is no success

* refactor: add ISseServerClient

* test: add SseConnectorTests.cs

* test: introduce BeEquivalentToJson extension method

* refactor: extract request building logic into SseMessageBuilder

* chore: introduce log event ids

* refactor: rename SseConnector to ServerSentEventsConnector

* chore: move SseServer project to "SseServer/src" folder

* test: add tests for EventQueue

* chore: rename database health checks from "<moduleName>" to "<moduleName>Database"

* feat: add health check to SseServer

* feat: add SseServer health check to Consumer API health check

* feat: add Dockerfile for SseServer

* chore: add SseServer to Backbone.run.xml

* ci: add sse server to build and publish pipelines

* chore: make buildContainerImage.js script executable

* chore: fix formatting

* test: fix test

* feat: add sseserver to helm chart

* ci: add sse server to docker-compose.test.yml

* chore: minor changes

* feat: only enable sse health check if sse is enabled

* ci: add JwtSigningCertificate to pipeline configs

* feat: only create sse resources if sse provider is enabled in config

* test: import FluentAssertions.Json in StringAssertionsExtensions to make the tests work

* test: cleanup

* test: remove unused code

* chore: add local logging overrides for eventhandlerservice

* chore: explicitly AllowAnonymous for "/{address}/events" route

* chore: remove redundant configuration from sseserver's appsettings.json

* feat: make Modules property in SseServer's configuration required

* chore: remove commented out code

* chore: add explaining comments to the call of the UpdateDeviceRegistrationCommand

* ci: fix job name

* fix: remove publishing of TierOfIdentityChangedDomainEvent from Handlers

* chore: Make RelationshipAuditLogEntry an Entity

* chore: Integrate RelationshipStatusChangedDomainEvent into Domain

* chore: Integrate RelationshipReactivationRequestedDomainEvent into Domain

* chore: Integrate RelationshipReactivationCompletedDomainEvent into Domain

* test: Make all domain event tests domain tests instead of handler tests

* Update NuGet dependencies (#703)

* Build(deps): Bump the update-nuget-dependencies group with 10 updates

Bumps the update-nuget-dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [FluentValidation](https://github.com/JeremySkinner/fluentvalidation) | `11.9.1` | `11.9.2` |
| [FluentValidation.DependencyInjectionExtensions](https://github.com/JeremySkinner/fluentvalidation) | `11.9.1` | `11.9.2` |
| [NetEscapades.AspNetCore.SecurityHeaders](https://github.com/andrewlock/NetEscapades.AspNetCore.SecurityHeaders) | `0.21.0` | `0.22.0` |
| [Serilog.Sinks.Debug](https://github.com/serilog/serilog-sinks-debug) | `2.0.0` | `3.0.0` |
| [GitHubActionsTestLogger](https://github.com/Tyrrrz/GitHubActionsTestLogger) | `2.3.3` | `2.4.1` |
| [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) | `17.8.0` | `17.10.0` |
| [NJsonSchema.NewtonsoftJson](https://github.com/RicoSuter/NJsonSchema) | `11.0.0` | `11.0.1` |
| [xunit](https://github.com/xunit/xunit) | `2.5.3` | `2.8.1` |
| [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit) | `2.5.3` | `2.8.1` |
| [coverlet.collector](https://github.com/coverlet-coverage/coverlet) | `6.0.0` | `6.0.2` |


Updates `FluentValidation` from 11.9.1 to 11.9.2
- [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases)
- [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt)
- [Commits](https://github.com/JeremySkinner/fluentvalidation/compare/11.9.1...11.9.2)

Updates `FluentValidation.DependencyInjectionExtensions` from 11.9.1 to 11.9.2
- [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases)
- [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt)
- [Commits](https://github.com/JeremySkinner/fluentvalidation/compare/11.9.1...11.9.2)

Updates `FluentValidation` from 11.9.1 to 11.9.2
- [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases)
- [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt)
- [Commits](https://github.com/JeremySkinner/fluentvalidation/compare/11.9.1...11.9.2)

Updates `NetEscapades.AspNetCore.SecurityHeaders` from 0.21.0 to 0.22.0
- [Changelog](https://github.com/andrewlock/NetEscapades.AspNetCore.SecurityHeaders/blob/master/CHANGELOG.md)
- [Commits](https://github.com/andrewlock/NetEscapades.AspNetCore.SecurityHeaders/compare/v0.21.0...v0.22.0)

Updates `Serilog.Sinks.Debug` from 2.0.0 to 3.0.0
- [Release notes](https://github.com/serilog/serilog-sinks-debug/releases)
- [Commits](https://github.com/serilog/serilog-sinks-debug/compare/v2.0.0...v3.0.0)

Updates `GitHubActionsTestLogger` from 2.3.3 to 2.4.1
- [Release notes](https://github.com/Tyrrrz/GitHubActionsTestLogger/releases)
- [Commits](https://github.com/Tyrrrz/GitHubActionsTestLogger/compare/2.3.3...2.4.1)

Updates `Microsoft.NET.Test.Sdk` from 17.8.0 to 17.10.0
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.8.0...v17.10.0)

Updates `NJsonSchema.NewtonsoftJson` from 11.0.0 to 11.0.1
- [Release notes](https://github.com/RicoSuter/NJsonSchema/releases)
- [Commits](https://github.com/RicoSuter/NJsonSchema/compare/v11.0.0...v11.0.1)

Updates `xunit` from 2.5.3 to 2.8.1
- [Commits](https://github.com/xunit/xunit/compare/2.5.3...2.8.1)

Updates `xunit.runner.visualstudio` from 2.5.3 to 2.8.1
- [Release notes](https://github.com/xunit/visualstudio.xunit/releases)
- [Commits](https://github.com/xunit/visualstudio.xunit/compare/2.5.3...2.8.1)

Updates `coverlet.collector` from 6.0.0 to 6.0.2
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](https://github.com/coverlet-coverage/coverlet/compare/v6.0.0...v6.0.2)

---
updated-dependencies:
- dependency-name: FluentValidation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: FluentValidation.DependencyInjectionExtensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: FluentValidation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: NetEscapades.AspNetCore.SecurityHeaders
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: Serilog.Sinks.Debug
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: update-nuget-dependencies
- dependency-name: GitHubActionsTestLogger
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: NJsonSchema.NewtonsoftJson
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: xunit.runner.visualstudio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: update-nuget-dependencies
- dependency-name: coverlet.collector
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-nuget-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* ci: use includeNotFoundTests=false in tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Admin UI: Update npm dependencies (#702)

Bumps the update-npm-dependencies group in /AdminApi/src/AdminApi/ClientApp with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `18.0.2` | `18.0.3` |
| [@angular/cdk](https://github.com/angular/components) | `18.0.2` | `18.0.3` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `18.0.2` | `18.0.3` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `18.0.2` | `18.0.3` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `18.0.2` | `18.0.3` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `18.0.2` | `18.0.3` |
| [@angular/material](https://github.com/angular/components) | `18.0.2` | `18.0.3` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `18.0.2` | `18.0.3` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `18.0.2` | `18.0.3` |
| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `18.0.2` | `18.0.3` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `18.0.2` | `18.0.3` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `18.0.3` | `18.0.4` |
| [@angular/cli](https://github.com/angular/angular-cli) | `18.0.3` | `18.0.4` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `18.0.2` | `18.0.3` |
| [prettier](https://github.com/prettier/prettier) | `3.3.1` | `3.3.2` |


Updates `@angular/animations` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/animations)

Updates `@angular/cdk` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/components/compare/18.0.2...18.0.3)

Updates `@angular/common` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/common)

Updates `@angular/compiler` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/compiler)

Updates `@angular/core` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/core)

Updates `@angular/forms` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/forms)

Updates `@angular/material` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/components/compare/18.0.2...18.0.3)

Updates `@angular/platform-browser` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/platform-browser)

Updates `@angular/platform-browser-dynamic` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/platform-browser-dynamic)

Updates `@angular/platform-server` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/platform-server)

Updates `@angular/router` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/router)

Updates `@angular-devkit/build-angular` from 18.0.3 to 18.0.4
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.0.3...18.0.4)

Updates `@angular/cli` from 18.0.3 to 18.0.4
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.0.3...18.0.4)

Updates `@angular/compiler-cli` from 18.0.2 to 18.0.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/18.0.3/packages/compiler-cli)

Updates `prettier` from 3.3.1 to 3.3.2
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.3.1...3.3.2)

---
updated-dependencies:
- dependency-name: "@angular/animations"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/cdk"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/common"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/compiler"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/forms"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/material"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/platform-browser"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/platform-browser-dynamic"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/platform-server"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/router"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: "@angular/compiler-cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: update-npm-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>

* Update dotnet/sdk image in Dockerfiles (#701)

Bumps the update-docker-dependencies group with 1 update in the /DatabaseMigrator directory: dotnet/sdk.
Bumps the update-docker-dependencies group with 1 update in the /EventHandlerService/src/EventHandlerService directory: dotnet/sdk.
Bumps the update-docker-dependencies group with 1 update in the /Jobs/src/Job.IdentityDeletion directory: dotnet/sdk.
Bumps the update-docker-dependencies group with 1 update in the /Modules/Devices/src/Devices.AdminCli directory: dotnet/sdk.


Updates `dotnet/sdk` from 8.0.301 to 8.0.302

Updates `dotnet/sdk` from 8.0.301 to 8.0.302

Updates `dotnet/sdk` from 8.0.301 to 8.0.302

Updates `dotnet/sdk` from 8.0.301 to 8.0.302

---
updated-dependencies:
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
- dependency-name: dotnet/sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: update-docker-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Consumer API: Prevent creation and updates to relationships where peer is in status "ToBeDeleted" (#695)

* feat: prevent relationship commands with identities to be deleted

* test: add relationship integration tests

* fix: formatting

* refactor: rename test scenarios

* refactor: add mediatr query to retrieve relationship peer address

* test: adjust step definitions

* refactor: rename validation method

* refactor: use GetPeerOfActiveIdentityInRelationshipResponse type and adjust integration tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* AdminUI: Table with identity deletion process audit logs doesn't show up when there are no audit log entries (#706)

* fix: identity audit logs would not display

* ci: trigger pipelines

* chore: update ws version to the latest

* fix: update dependencies to fix vulnerability

---------

Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>

* Updating entities can cause errors (#707)

* fix: add empty default constructors for all entities

* test: add ArchUnit test to assert the existance of empty default constructors

* chore: merge with 'main' and resolve conflicts

* fix: add decomposition domain events

* fix: revert last change

* fix: Add private parameterless constructor for Tier class

* Updating entities can cause errors (#707)

* fix: add empty default constructors for all entities

* test: add ArchUnit test to assert the existance of empty default constructors

* fix: don't publish ExternalEventCreatedDomainEvent manually

* chore: remove AddressPrefix from appsettings.json files

* chore: add InstanceUrl to appsettings.override.json of EventHandlerService

* fix: delete QuotasDbContextSeeder, as it is not required anymore

* feat: raise TierCreatedDomainEvent in correct constructor

* fix: correctly configure InstanceUrl

* fix: trigger RelationshipStatusChangedDomainEvent in case of creation

* test: clear domain events in TestData

* fix: add method that was removed from controller

* test: add Raises_RelationshipStatusChangedDomainEvent test to creation of relationship

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Timo Notheisen <65653426+tnotheis@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <timo.notheisen@js-soft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mika Aaron Herrmann <65243124+MH321Productions@users.noreply.github.com>
Co-authored-by: Daniel Silva <daniel.p.silva@konkconsulting.com>
Co-authored-by: Mika Herrmann <mika.herrmann@js-soft.com>
Co-authored-by: Vladimir Vuckovic <37671301+stamenione@users.noreply.github.com>

* chore: formatting and fix archunit tests

* fix: add Terminate route to RelationshipsController.cs

* test: update Relationships tests to not mention relationship changes

* fix: add "Relatonships/{id}/Revoke route" that was deleted by merge

* test: remove remaining occurrences of "id1" addresses in tests

* chore: remove remaining RelationshipChange specific stuff

* feat: replace Admin API views

* feat: combine Challenges migrations

* feat: combine Devices migrations

* feat: combine Files migrations

* feat: combine Messages migrations

* feat: combine Quotas migrations

* feat: combine Tokens migrations

* feat: combine Relationships migrations

* feat: combine Synchronization migrations

* feat: add migrations for Tokens

* chore: fix formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Daniel Almeida <115644988+daniel-almeida-konkconsulting@users.noreply.github.com>
Co-authored-by: Nikola Vetnić <62119280+NikolaVetnic@users.noreply.github.com>
Co-authored-by: Nikola Dmitrasinovic <118458592+NikolaDmitrasinovic@users.noreply.github.com>
Co-authored-by: Julian König <33655937+jkoenig134@users.noreply.github.com>
Co-authored-by: Daniel Silva <daniel.p.silva@konkconsulting.com>
Co-authored-by: Hunor Tot-Bagi <hunortotbagi@gmail.com>
Co-authored-by: Nikola Dmitrasinovic <nikola.dm@yahoo.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mika Aaron Herrmann <65243124+MH321Productions@users.noreply.github.com>
Co-authored-by: Mika Herrmann <mika.herrmann@js-soft.com>
Co-authored-by: Vladimir Vuckovic <37671301+stamenione@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants