# ListContactPersonsByPartner

## Overview

ListContactPersonsByPartner retrieves all contact persons linked to a given organization partner. This supports listing contact persons for an organization, including primary and non-primary contacts across all statuses.

## Business Rules

- Accepts `{ partnerId }` as input
- Returns all contact persons linked to the specified partner, regardless of their status (ACTIVE or INACTIVE)
- Returns an empty array when the partner has no contact persons — not an error
- Results include both primary and non-primary contact persons
- Only ORGANIZATION-type partners have contact persons; querying an INDIVIDUAL-type partner returns an empty array

## Process Flow

```mermaid
flowchart TD
    A[Receive input] --> B[SELECT from ContactPerson where partnerId = input.partnerId]
    B --> C{Any contacts found?}
    C -->|Yes| D[Return contact person records]
    C -->|No| E[Return empty array]
```

## External Dependencies

- None

## Error Scenarios

- No explicit error — returns an empty array when no contact persons exist for the partner

## Test Cases

- returns all contact persons for a partner with multiple contacts
- returns empty array when partner has no contact persons
- includes both ACTIVE and INACTIVE contact persons
- includes both primary and non-primary contact persons
- returns empty array for an INDIVIDUAL-type partner
