# `src.athlete_insert` Регистрация атлета (владелец/AdminWeb; ключ атлета хранится только хэшем). | Параметр | Тип | Обяз. | Описание | |---|---|---|---| | `p_name` | text | да | отображаемое имя (Ф-9.1) | | `p_api_key_hash` | text | да | SHA-256 ключа; открытый ключ не хранится | **Возвращает** `int` — id атлета (`src.athlete.id`). **Логика/особенности:** дубликат хэша — исключение `UNIQUE` (один ключ = один атлет); `_delete` нет — отключение блокировкой (`athlete_update`, 🛡). ## Пример вызова ```sql SELECT src.athlete_insert('TEST-Атлет', 'TEST-hash-1'); ``` ## Тесты | № | Тип | Условие | Ожидаемый результат | |---|---|---|---| | 1 | основной сценарий | валидные имя и хэш | id > 0; `is_blocked = false`, `created_at ≈ now()` | | 2 | исключение | повтор `p_api_key_hash` (фикстура TEST-hash-1) | исключение UNIQUE | | 3 | исключение | `p_name = NULL` | исключение NOT NULL |