# GetPartner

## Overview

GetPartner retrieves a single business partner record by id. This serves as the core partner lookup for existence checks, state validation, and all partner lifecycle commands.

## Business Rules

- Accepts `{ id }` as input — retrieves by unique identifier
- Returns the full partner record including all fields (id, companyId, name, type, status, preferredCurrencyId, timestamps)
- Returns null if no matching partner is found
- All comparisons are exact (case-sensitive)

## Process Flow

```mermaid
flowchart TD
    A[Receive input] --> B[SELECT from Partner where id = input.id]
    B --> C{Partner found?}
    C -->|Yes| D[Return partner record]
    C -->|No| E[Return null]
```

## External Dependencies

- None

## Error Scenarios

- **PARTNER_NOT_FOUND**: No partner matches the given id — caller receives null

## Test Cases

- returns partner when found by id
- returns null when partner not found
