Skip to content

Commit 7035d48

Browse files
committed
refactor: apply DDD to teams module and update cross-module imports
1 parent 8daf256 commit 7035d48

79 files changed

Lines changed: 1750 additions & 1474 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/app.module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { FastifyAdapter } from '@bull-board/fastify';
1515
import { BullModule } from '@nestjs/bullmq';
1616
import { MailModule } from '@shared/adapters/mail';
1717
import { MigrationService } from '@shared/migration';
18-
import { TeamsModule } from './modules/teams';
18+
import { TeamsModule } from './teams';
1919
import { ProjectsModule } from './modules/projects';
2020

2121
@Module({

src/modules/projects/commands/find-project.command.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { HttpStatus, Inject, Injectable } from '@nestjs/common';
22
import { IProjectsRepository } from '../repository';
3-
import { FindTeamMemberCommand } from '@core/modules/teams';
3+
import { FindTeamMemberQuery } from '@core/teams';
44
import { createHash } from 'crypto';
55
import type { Project } from '../entities';
66
import { BaseException } from '@shared/error';
@@ -10,7 +10,7 @@ export class FindProjectCommand {
1010
constructor(
1111
@Inject('IProjectsRepository')
1212
private readonly projectsRepo: IProjectsRepository,
13-
private readonly findTeamMemberCommand: FindTeamMemberCommand,
13+
private readonly findTeamMemberQ: FindTeamMemberQuery,
1414
) {}
1515

1616
public async execute(projectId: string, userId?: string, shareToken?: string) {
@@ -45,7 +45,7 @@ export class FindProjectCommand {
4545
);
4646
}
4747

48-
const member = await this.findTeamMemberCommand.execute(project.teamId, userId);
48+
const member = await this.findTeamMemberQ.execute(project.teamId, userId);
4949

5050
if (!member) {
5151
throw new BaseException(

src/modules/projects/mappers/projects.mapper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import type { RawMemberRow } from '@core/modules/teams/repository';
21
import type { Project } from '@shared/entities';
32
import { ROLE_PRIORITY } from '@shared/constants';
3+
import { RawMemberRow } from '@core/teams/domain/repository';
44

55
export class ProjectsMapper {
66
public static toDetailResponse(project: Project, member?: RawMemberRow, token?: string) {

src/modules/projects/projects.module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { forwardRef, Module } from '@nestjs/common';
22
import { ProjectsService } from './services';
33
import { ProjectsController } from './controller';
44
import { ProjectsRepository } from './repository';
5-
import { TeamsModule } from '../teams';
5+
import { TeamsModule } from '../../teams';
66
import { FindProjectCommand } from './commands';
77

88
const REPOSITORY = {

src/modules/projects/services/projects.service.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { HttpStatus, Inject, Injectable } from '@nestjs/common';
22
import { IProjectsRepository } from '../repository';
33
import type { CreateProjectDto, CreateShareTokenDto, UpdateProjectDto } from '../dtos';
4-
import { FindTeamCommand, FindTeamMemberCommand } from '@core/modules/teams';
54
import { ROLE_PRIORITY } from '@shared/constants';
65
import { ProjectStatus } from '../entities';
76
import { ProjectsMapper } from '../mappers';
87
import { createHash, randomBytes } from 'crypto';
98
import { BaseException } from '@shared/error';
9+
import { FindTeamMemberQuery, FindTeamQuery } from '@core/teams';
1010

1111
@Injectable()
1212
export class ProjectsService {
1313
constructor(
1414
@Inject('IProjectsRepository')
1515
private readonly projectsRepo: IProjectsRepository,
16-
private readonly findTeamCommand: FindTeamCommand,
17-
private readonly findTeamMemberCommand: FindTeamMemberCommand,
16+
private readonly findTeamQ: FindTeamQuery,
17+
private readonly findTeamMemberQ: FindTeamMemberQuery,
1818
) {}
1919

2020
public create = async (userId: string, slug: string, dto: CreateProjectDto) => {
@@ -254,7 +254,7 @@ export class ProjectsService {
254254
userId: string,
255255
minRole: keyof typeof ROLE_PRIORITY = 'viewer',
256256
) {
257-
const team = await this.findTeamCommand.execute(slug);
257+
const team = await this.findTeamQ.execute(slug);
258258
if (!team) {
259259
throw new BaseException(
260260
{
@@ -265,7 +265,7 @@ export class ProjectsService {
265265
);
266266
}
267267

268-
const member = await this.findTeamMemberCommand.execute(team.id, userId);
268+
const member = await this.findTeamMemberQ.execute(team.id, userId);
269269
if (!member) {
270270
throw new BaseException(
271271
{

src/modules/teams/commands/index.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/modules/teams/controller/index.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)