"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ListOrgMembersQuery = void 0; const Result_1 = require("../../../../shared/domain/Result"); class ListOrgMembersQuery { constructor(orgRepository, userRepository) { this.orgRepository = orgRepository; this.userRepository = userRepository; } async execute(request) { const org = await this.orgRepository.findById(request.orgId); if (!org) { return (0, Result_1.Err)('Organization not found'); } const members = await this.orgRepository.listMembers(request.orgId); const dtos = []; for (const member of members) { const user = await this.userRepository.findById(member.userId); if (user) { dtos.push({ id: member.id, userId: member.userId, email: user.email.value, name: user.name, role: member.role, joinedAt: member.joinedAt, }); } } return (0, Result_1.Ok)({ members: dtos, total: dtos.length }); } } exports.ListOrgMembersQuery = ListOrgMembersQuery;