first commit

This commit is contained in:
2026-10-03 13:40:26 +02:00
parent 732a5b5a16
commit 566f415fa7
555 changed files with 62704 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
import { EventsHandler, IEventHandler } from '@nestjs/cqrs';
import { ReleaseUpdatedEvent } from '@task-stream/api/tracker/domain';
import { UpsertMaterializedIssueRepository } from '../ports/upsert-materialized-issue.repository';
import { UpsertMaterializedReleaseRepository } from '../ports/upsert-materialized-release.repository';
import { ReadModelNotifier, versionOf } from './read-model-notifier';
@EventsHandler(ReleaseUpdatedEvent)
export class ReleaseUpdatedEventHandler
implements IEventHandler<ReleaseUpdatedEvent>
{
constructor(
private readonly upsertMaterializedReleaseRepository: UpsertMaterializedReleaseRepository,
private readonly upsertMaterializedIssueRepository: UpsertMaterializedIssueRepository,
private readonly notifier: ReadModelNotifier,
) {}
async handle(event: ReleaseUpdatedEvent) {
await this.upsertMaterializedReleaseRepository.upsert({
id: event.aggregateId,
...event.changes,
version: versionOf(event),
});
if (event.changes.name) {
await this.upsertMaterializedIssueRepository.renameRelease(
event.aggregateId,
event.changes.name,
);
}
await this.notifier.release(event.aggregateId, event);
}
}