diff --git a/README.md b/README.md index 7ba28c2..ba5f421 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,6 @@ ##### Требования к валидации: * login: 3-50 символов, ^[A-Za-z0-9_]+$, уникальное значение * password: ≥ 5 символов - ##### Response - 201 - Created ``` { @@ -75,7 +74,6 @@ } } ``` - ##### Errors * `409 USER_EXISTS` — пользователь с таким логином уже есть(`B1`) * `422 VALIDATION_FAILED` — пустой логин/неправильный пароль(`B2`) @@ -131,12 +129,10 @@ "token": af32df3bas739f272bd109c823 } ``` - ##### Errors * `401 BAD_CREDENTIALS` — неверный логин/пароль (B1) * `422 VALIDATION_FAILED` — пустые поля (B2) * `400 BAD_REQUEST` — сервер не смог десереализовать JSON - #### Logout-Request ``` { @@ -179,7 +175,6 @@ null ### 8.API-Маршруты * `GET /api/v1/User/Diaries` - получить кусок дневника пользователя (требует Authorization: Bearer ) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20) * `GET /api/v1/User/TreatmentSchemes` - получить список схем пользователя (требует Authorization: Bearer ) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20) - ### 9.Контракт #### Diaries-Request ##### Response - 200 - OK @@ -222,11 +217,9 @@ null ] } ``` - ##### Errors * `401 TOKEN_REQUIRED|TOKEN_EXPIRED` — токен недействителен, либо отсутствует * `500 DATA_LOAD_FAILED` — ошибка при загрузке данных (`B1`) - #### TreatmentSchemes-Request ##### Response - 200 - OK ``` @@ -249,11 +242,9 @@ null ] } ``` - ##### Errors * `401 TOKEN_REQUIRED|TOKEN_EXPIRED` — токен недействителен, либо отсутствует * `500 DATA_LOAD_FAILED` — ошибка при загрузке данных (B1) - ### 10. Используемые сущности ДБ * diaries(uuid(PK), time , mania_level , depression_level , mood_level , activity_level , appetite_level , dream_level , anxiety_level, user_treatment_schemes_uuid) * mania(level(PK)) @@ -310,7 +301,6 @@ null ##### Требования к валидации: * Все поля, кроме `comment` обязательны к заполнению * `user_treatment_schemes_uuid` должен указывать на существующую схему лечения - ##### Response - 201 - Created ``` { @@ -341,13 +331,11 @@ null }, } ``` - ##### Errors * `400 BAD_REQUEST` — отсутствуют обязательные поля * `400 BAD_REQUEST` — сервер не смог десереализовать JSON * `422 UNPROCECCABLE_ENTITY` - Во `time` значение размерностей ниже, чем день, должно быть равно 0 * `422 TREATMENT_SCHEME_IS_NOT_EXISTS` - такой схемы лечения болезни не существует - ### 10. Используемые сущности ДБ * diaries(uuid(PK), time , mania_level , depression_level , mood_level , activity_level , appetite_level , dream_level , anxiety_level, user_treatment_schemes_uuid) * mania(level(PK)) @@ -385,8 +373,6 @@ null * Пользователь изменил запись соглсано условиям выше в БД ### 8.API-Маршруты * `PUT /api/v1/Auth/Diaries/:diary_guid` - Изменение записи в дневнике - - ### 9.Контракт #### Diaries-Request ``` @@ -408,7 +394,6 @@ null ##### Требования к валидации: * Все поля, кроме `comment` обязательны к заполнению * `user_treatment_schemes_uuid` должен указывать на существующую схему лечения - ##### Response - 201 - Updated ``` { @@ -444,7 +429,6 @@ null * `400 BAD_REQUEST` — сервер не смог десереализовать JSON * `422 UNPROCECCABLE_ENTITY` - `time` не должно быть изменено * `422 TREATMENT_SCHEME_IS_NOT_EXISTS` - такой схемы лечения болезни не существует - ### 10. Используемые сущности ДБ * diaries(uuid(PK), time , mania_level , depression_level , mood_level , activity_level , appetite_level , dream_level , anxiety_level, user_treatment_schemes_uuid) * mania(level(PK)) @@ -478,22 +462,21 @@ null * Целевая запись отсутствует в БД ### 8.API-Маршруты * `DELETE /api/v1/Auth/Diaries/:diary_guid` - удаление записи в дневнике - ### 9.Контракт #### Diaries-Request ##### Требования к валидации: * `:diary_guid` должен указывать на существующую страницу дневника - ##### Response - 204 - Deleted ``` null ``` ##### Errors * `404 NOT_FOUND` - такой схемы лечения болезни никогда не существовало или она уже удалена - ### 10. Используемые сущности ДБ * diaries(uuid(PK)) + + ## UseCase №7 ### 1.Название: Создание схемы лечения ### 2.Актор: Пользователь @@ -511,3 +494,64 @@ null * Схему нельзя создать в таком виде. На попытку создать схему выходит окно ошибок ### 7.Постусловия * Схема создана и доступна для выбора в качестве лечения +### 8.API-маршруты +* `POST /api/v1/TreatmentScheme` - создание схемы лечения +### 9.Контракт +#### Diaries-Request +``` +{ + "treatment_name": "Bipolar I Scheme Urgent", + "instructions": "Схема для быстрого и жесткого купирования психозов. Аминазин пить каждый день.", + "medications": [ + { + "uuid": "eda5a5f7-167a-44b9-900d-c5c6acfc249b", + "name": "Aminazin", + "dose": 100, + "unit": "mg", + "is_urgent": true + }, + { + "uuid": "eda5a5f7-167a-44b9-900d-c5c6acfc249b", + "name": "Haloperidol", + "dose": 15, + "unit": "mg", + "is_urgent": false + } + ] +} +``` +##### Требования к валидации: +* `treatment_name` обязателен к заполнению +* `medications` должен содержать хотя бы одно лекарство +##### Response - 200 - Updated +``` +{ + "uuid": "eda5a5f7-167a-44b9-900d-c5c6acfc249b" + "treatment_name": "Bipolar I Scheme Urgent", + "instructions": "Схема для быстрого и жесткого купирования психозов. Аминазин пить каждый день.", + "medications": [ + { + "uuid": "eda5a5f7-167a-44b9-900d-c5c6acfc249b", + "name": "Aminazin", + "dose": 100, + "unit": "mg", + "is_urgent": true + }, + { + "uuid": "eda5a5f7-167a-44b9-900d-c5c6acfc249b", + "name": "Haloperidol", + "dose": 15, + "unit": "mg", + "is_urgent": false + } + ] +} +``` +##### Errors +* `400 BAD_REQUEST` — сервер не смог десереализовать JSON +* `400 BAD_REQUEST` — Обязательные поля заполнены неправильно +* `409 SCHEME_ALREADYEXISTS` - такая схема уже существует +### 10. Используемые сущности ДБ +* user_treatment_schemes(uuid, user_uuid, treatment_name, instructions) +* medications(uuid, name, dose, unit, is_urgent) +* treatment_schemes(user_treatment_schemes_uuid, medication_uuid)