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,29 @@
import { IQueryHandler, QueryHandler } from '@nestjs/cqrs';
import { ReleaseProgressReadModel } from '@task-stream/api/tracker/domain';
import { FindIssuesRepository } from '../ports/find-issues.repository';
import { FindReleasesRepository } from '../ports/find-releases.repository';
import { ReadAccess } from './read-access';
import { GetReleaseProgressQuery } from './get-release-progress.query';
@QueryHandler(GetReleaseProgressQuery)
export class GetReleaseProgressQueryHandler
implements IQueryHandler<GetReleaseProgressQuery, ReleaseProgressReadModel>
{
constructor(
private readonly findReleases: FindReleasesRepository,
private readonly findIssues: FindIssuesRepository,
private readonly access: ReadAccess,
) {}
async execute(
query: GetReleaseProgressQuery,
): Promise<ReleaseProgressReadModel> {
const release = this.access.assertFound(
await this.findReleases.findById(query.releaseId),
'Release',
query.releaseId,
);
await this.access.assertCanView(release.projectId, query.viewerId);
return this.findIssues.releaseProgress(release.id);
}
}