1.2 KiB
1.2 KiB
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, 🛡).
Пример вызова
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 |