first commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import { IQueryHandler, QueryHandler } from '@nestjs/cqrs';
|
||||
import { ActivityReadModel } from '@task-stream/api/tracker/domain';
|
||||
import { FindActivityRepository } from '../ports/find-activity.repository';
|
||||
import { ReadAccess } from './read-access';
|
||||
import { GetActivityQuery } from './get-activity.query';
|
||||
|
||||
@QueryHandler(GetActivityQuery)
|
||||
export class GetActivityQueryHandler
|
||||
implements IQueryHandler<GetActivityQuery, ActivityReadModel[]>
|
||||
{
|
||||
constructor(
|
||||
private readonly findActivity: FindActivityRepository,
|
||||
private readonly access: ReadAccess,
|
||||
) {}
|
||||
|
||||
async execute(query: GetActivityQuery): Promise<ActivityReadModel[]> {
|
||||
await this.access.assertCanView(query.projectId, query.viewerId);
|
||||
return this.findActivity.find({
|
||||
projectId: query.projectId,
|
||||
issueId: query.issueId,
|
||||
limit: Math.min(query.limit, 200),
|
||||
before: query.before,
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user