# ListTimeEntryCodes

## Overview

ListTimeEntryCodes returns a paginated catalog of all `TimeEntryCode` records, for admin review of the full vocabulary of time types available to calculation and rules.

## Business Rules

- Results are paginated per the standard PaginationInput / buildPaginatedResult conventions
- Returns codes referenced by any rule as well as unreferenced ones — a code referenced by a WorkRule/EligibilityRule is preserved (not hard-deleted) and always appears in the catalog
- `TimeEntryCode` is master data, not effective-dated — the list reflects the current catalog, with no historical generations

## Process Flow

```mermaid
flowchart TD
    A[Caller provides pagination] --> B[Query all TimeEntryCode records]
    B --> C[Apply pagination]
    C --> D[Return paginated catalog of TimeEntryCode]
```

## External Dependencies

- [time-tracking::TimeEntryCode](../model/TimeEntryCode.md) model — entity being queried

## Error Scenarios

- **VALIDATION_ERROR**: the supplied input is malformed, out of range, or references an unrecognized enum value

## Test Cases

- returns a paginated list of TimeEntryCode records
- a code referenced by a WorkRule / EligibilityRule still appears in the list
- returns an empty page when the catalog has no codes beyond the requested page
