using MediatR;

namespace IamService.API.Application.Commands.Groups;

/// <summary>
/// EN: Command to add a member to a group.
/// VI: Command để thêm thành viên vào nhóm.
/// </summary>
public record AddGroupMemberCommand(
    Guid GroupId,
    Guid UserId,
    int? RoleId = null,
    Guid? AddedByUserId = null) : IRequest<AddGroupMemberCommandResult>;

/// <summary>
/// EN: Result of AddGroupMemberCommand.
/// VI: Kết quả của AddGroupMemberCommand.
/// </summary>
public record AddGroupMemberCommandResult(
    Guid GroupId,
    Guid UserId,
    string Role,
    DateTime JoinedAt);
