Перейти к содержанию

API — Аутентификация

Префикс: /api/auth

POST /api/auth/register

Регистрация пользователя.

Тело (JSON):

Поле Тип Обязательно Описание
email string да Email
password string да Пароль
full_name string да ФИО
role string да admin, doctor, nurse, …
subdomain string да Клиника
department_id int для nurse/head ID отделения

Пример:

curl -X POST http://localhost:8000/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "doctor@clinic.ru",
    "password": "SecurePass123",
    "full_name": "Иванов Иван",
    "role": "doctor",
    "subdomain": "demo",
    "department_id": 1
  }'

Ответ 201:

{
  "id": 5,
  "email": "doctor@clinic.ru",
  "full_name": "Иванов Иван",
  "role": "doctor"
}

POST /api/auth/login

Тело: email, password, subdomain

curl -X POST http://localhost:8000/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"doctor@clinic.ru","password":"SecurePass123","subdomain":"demo"}'

Ответ 200:

{
  "access_token": "eyJ...",
  "token_type": "bearer"
}

GET /api/auth/me

Текущий пользователь. Требует Bearer token.

curl -H "Authorization: Bearer TOKEN" \
  http://localhost:8000/api/auth/me

Ответ:

{
  "id": 5,
  "email": "doctor@clinic.ru",
  "full_name": "Иванов Иван",
  "role": "doctor",
  "department_id": 1,
  "department_name": "Терапия"
}

GET /api/auth/departments

Публичный список отделений клиники.

GET /api/auth/departments?subdomain=demo

Ошибки

Код Причина
400 Email уже занят, неверная роль
401 Неверный пароль
404 Subdomain не найден