Skip to content

Commit

Permalink
Release v5 (#605)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: Daniel Almeida <[email protected]>

* 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 <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

* 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 <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hunor Tot-Bagi <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: Daniel Almeida <[email protected]>

* 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 <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: Daniel Almeida <[email protected]>
Co-authored-by: Hunor Tot-Bagi <[email protected]>
Co-authored-by: Nikola Dmitrasinovic <[email protected]>

* 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 <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: Daniel Almeida <[email protected]>

* 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 <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>
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 <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

* 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] <[email protected]>

* ci: use includeNotFoundTests=false in tests

---------

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

* 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <[email protected]>

* 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] <[email protected]>
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 <[email protected]>

* 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] <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mika Aaron Herrmann <[email protected]>
Co-authored-by: Daniel Silva <[email protected]>
Co-authored-by: Mika Herrmann <[email protected]>
Co-authored-by: Vladimir Vuckovic <[email protected]>

* 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] <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Daniel Almeida <[email protected]>
Co-authored-by: Nikola Vetnić <[email protected]>
Co-authored-by: Nikola Dmitrasinovic <[email protected]>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Daniel Silva <[email protected]>
Co-authored-by: Hunor Tot-Bagi <[email protected]>
Co-authored-by: Nikola Dmitrasinovic <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mika Aaron Herrmann <[email protected]>
Co-authored-by: Mika Herrmann <[email protected]>
Co-authored-by: Vladimir Vuckovic <[email protected]>
  • Loading branch information
13 people authored Jul 1, 2024
1 parent 04883bc commit 5428a91
Show file tree
Hide file tree
Showing 596 changed files with 10,537 additions and 64,189 deletions.
6 changes: 6 additions & 0 deletions .ci/appsettings.override.postgres.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@
}
},
"Devices": {
"Application": {
"InstanceUrl": "localhost"
},
"Infrastructure": {
"SqlDatabase": {
"Provider": "Postgres",
Expand Down Expand Up @@ -66,6 +69,9 @@
}
},
"Messages": {
"Application": {
"InstanceUrl": "localhost"
},
"Infrastructure": {
"SqlDatabase": {
"Provider": "Postgres",
Expand Down
6 changes: 6 additions & 0 deletions .ci/appsettings.override.sqlserver.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@
}
},
"Devices": {
"Application": {
"InstanceUrl": "localhost"
},
"Infrastructure": {
"SqlDatabase": {
"Provider": "SqlServer",
Expand Down Expand Up @@ -66,6 +69,9 @@
}
},
"Messages": {
"Application": {
"InstanceUrl": "localhost"
},
"Infrastructure": {
"SqlDatabase": {
"Provider": "SqlServer",
Expand Down
74 changes: 38 additions & 36 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
run: ./.ci/test.sh
env:
DOTNET_CONSOLE_ANSI_COLOR: true

image-test-builds:
name: Build ${{matrix.image}} Image
runs-on: ubuntu-latest
Expand All @@ -110,28 +110,28 @@ jobs:
include:
- dockerfile: ConsumerApi/Dockerfile
image: consumer-api

- dockerfile: AdminApi/src/AdminApi/Dockerfile
image: admin-ui

- dockerfile: Modules/Devices/src/Devices.AdminCli/Dockerfile
image: admin-cli

- dockerfile: DatabaseMigrator/Dockerfile
image: database-migrator

- dockerfile: EventHandlerService/src/EventHandlerService/Dockerfile
image: event-handler-service

- dockerfile: Modules/Files/src/Files.Jobs.SanityCheck/Dockerfile
image: files-sanity-check

- dockerfile: Jobs/src/Job.IdentityDeletion/Dockerfile
image: identity-deletion-jobs

- dockerfile: SseServer/src/SseServer/Dockerfile
image: sse-server

steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -159,10 +159,10 @@ jobs:
key: buildx-${{ matrix.image }}-cache-${{ hashFiles(matrix.dockerfile) }}
restore-keys: |
buildx-${{ matrix.image }}-cache-
- name: Install script dependencies
run: npm install --prefix ./.ci

- name: Build Image
uses: docker/build-push-action@v6
env:
Expand Down Expand Up @@ -197,21 +197,21 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: latest
cache: "npm"
cache-dependency-path: "**/package-lock.json"

- name: Setup NuGet
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.x

- name: Install script dependencies
run: npm install --prefix ./.ci

- name: Download cached Docker images
uses: actions/download-artifact@v4
with:
Expand All @@ -221,14 +221,14 @@ jobs:

- name: Load Docker images
run: ./.ci/loadDockerImages.sh

- name: Run integration tests
run: ./.ci/integrationTest.sqlserver.sh

- name: Save Docker Logs
if: failure()
run: docker compose -f ./.ci/docker-compose.test.yml -f ./.ci/docker-compose.test.sqlserver.yml logs > docker-log.txt

- name: Archive logs
if: failure()
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -269,14 +269,14 @@ jobs:

- name: Load Docker images
run: ./.ci/loadDockerImages.sh

- name: Run integration tests
run: ./.ci/integrationTest.postgres.sh

- name: Save Docker Logs
if: failure()
run: docker compose -f ./.ci/docker-compose.test.yml -f ./.ci/docker-compose.test.postgres.yml logs > docker-log.txt

- name: Archive logs
if: failure()
uses: actions/upload-artifact@v4
Expand All @@ -295,12 +295,13 @@ jobs:
uses: actions/checkout@v4
with:
path: backbone

- name: Checkout runtime repository
uses: actions/checkout@v4
with:
repository: nmshd/runtime
path: runtime
ref: release/v5

- uses: actions/setup-node@v4
with:
Expand All @@ -317,14 +318,14 @@ jobs:

- name: Load Docker images
run: ./backbone/.ci/loadDockerImages.sh

- name: Run Consumer API & Admin API
run: docker compose -f ./backbone/.ci/docker-compose.test.yml -f ./backbone/.ci/docker-compose.test.sqlserver.yml up -d --no-build

- name: Install runtime dependencies
working-directory: ./runtime
run: npm install

- name: Run transport Tests
working-directory: ./runtime/packages/transport
env:
Expand All @@ -334,18 +335,18 @@ jobs:
NMSHD_TEST_BASEURL_ADMIN_API: http://localhost:5173
NMSHD_TEST_ADMIN_API_KEY: test
run: npm run test:local:lokijs

- name: Save Docker Logs
if: failure()
run: docker compose -f ./backbone/.ci/docker-compose.test.yml -f ./backbone/.ci/docker-compose.test.sqlserver.yml logs > docker-log.txt

- name: Archive logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: transport-test-sqlserver-docker-logs
path: docker-log.txt

- name: Stop Consumer API
run: docker compose -f ./backbone/.ci/docker-compose.test.yml -f ./backbone/.ci/docker-compose.test.sqlserver.yml down

Expand All @@ -358,13 +359,14 @@ jobs:
uses: actions/checkout@v4
with:
path: backbone

- name: Checkout runtime repository
uses: actions/checkout@v4
with:
repository: nmshd/runtime
path: runtime

ref: release/v5

- uses: actions/setup-node@v4
with:
node-version: latest
Expand All @@ -380,14 +382,14 @@ jobs:

- name: Load Docker images
run: ./backbone/.ci/loadDockerImages.sh

- name: Run Consumer API & Admin API
run: docker compose -f ./backbone/.ci/docker-compose.test.yml -f ./backbone/.ci/docker-compose.test.postgres.yml up -d --no-build

- name: Install runtime dependencies
working-directory: ./runtime
run: npm install

- name: Run transport Tests
working-directory: ./runtime/packages/transport
env:
Expand All @@ -397,18 +399,18 @@ jobs:
NMSHD_TEST_BASEURL_ADMIN_API: http://localhost:5173
NMSHD_TEST_ADMIN_API_KEY: test
run: npm run test:local:lokijs

- name: Save Docker Logs
if: failure()
run: docker compose -f ./backbone/.ci/docker-compose.test.yml -f ./backbone/.ci/docker-compose.test.postgres.yml logs > docker-log.txt

- name: Archive logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: transport-test-postgres-docker-logs
path: docker-log.txt

- name: Stop Consumer API
run: docker compose -f ./backbone/.ci/docker-compose.test.yml -f ./backbone/.ci/docker-compose.test.postgres.yml down

Expand Down

This file was deleted.

This file was deleted.

Loading

0 comments on commit 5428a91

Please sign in to comment.