# GetStorageLocation

## Overview

GetStorageLocation retrieves a single storage location by id. It returns the full record including current status, 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`, `siteId`, `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

- None — returns null when not found

## Test Cases

- returns storage location when found
- returns null when not found
- includes associated stock levels
