import { Result } from '@core/shared/application/Result'; import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode'; import type { ITeamMembershipRepository } from '../../domain/repositories/ITeamMembershipRepository'; import type { RejectTeamJoinRequestInputPort } from '../ports/input/RejectTeamJoinRequestInputPort'; export class RejectTeamJoinRequestUseCase { constructor( private readonly membershipRepository: ITeamMembershipRepository, ) {} async execute(command: RejectTeamJoinRequestInputPort): Promise>> { const { requestId } = command; await this.membershipRepository.removeJoinRequest(requestId); return Result.ok(undefined); } }