# GetStorageLocation

## Overview

GetStorageLocation retrieves a single storage location by id. It returns the full record including current status, hierarchy information (parent zone), storage condition, capacity, and stock levels at this location.

## Business Rules

- Requires `id`
- Returns the full StorageLocation record including:
  - Current status (Active, Inactive)
  - `name`, `code`, `warehouseId`, `parentId`, `storageCondition`, `capacity`
  - Associated StockLevel records at this location
- Returns null if no matching storage location is found

## Process Flow

```mermaid
flowchart TD
    A[Receive id] --> B[SELECT from StorageLocation where id matches]
    B --> C{Storage location found?}
    C -->|Yes| D[Include associated StockLevel records]
    D --> E[Return StorageLocation record]
    C -->|No| F[Return null]
```

## External Dependencies

- None

## Error Scenarios

- **STORAGE_LOCATION_NOT_FOUND**: No storage location matches the given id — caller receives null

## Test Cases

- returns storage location when found
- returns null when not found
- includes associated stock levels
- includes parent zone reference for bins
