|
|
|
@ -1,38 +1,111 @@
@@ -1,38 +1,111 @@
|
|
|
|
|
# 1. RESOURCE-SERVICE-API : HELLO.MD |
|
|
|
|
<style> |
|
|
|
|
blue { |
|
|
|
|
color: blue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# 2. Описание api |
|
|
|
|
## 2.1. domain:port/hello |
|
|
|
|
red { |
|
|
|
|
color: red; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
green { |
|
|
|
|
color: lightgreen; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
# 1. <blue>RESOURCE-SERVICE-API : HELLO.MD |
|
|
|
|
|
|
|
|
|
# 2. <blue>Описание api |
|
|
|
|
## <red>2.1. domain:port/hello</red> |
|
|
|
|
Возвращает текущую страницу описания сервиса |
|
|
|
|
|
|
|
|
|
## 2.2. domain:port/content/* |
|
|
|
|
статический контент сервиса, |
|
|
|
|
вспомогательные файлы для оформления или наполнения страниц |
|
|
|
|
например: |
|
|
|
|
- /images/* |
|
|
|
|
- /md/* |
|
|
|
|
- /прочие папки и файлы ... |
|
|
|
|
## <red>2.2. domain:port/content/*</red> |
|
|
|
|
статический контент сервиса, вспомогательные файлы для оформления или наполнения страниц например: |
|
|
|
|
- /images/* (картинки) |
|
|
|
|
- /md/* (статические файлы markdown разметки) |
|
|
|
|
- /прочие папки и файлы ... |
|
|
|
|
|
|
|
|
|
## <red>2.3. Управление данными преподавателей (Teacher) |
|
|
|
|
**Графический интерфейс для работы с данными преподавателей:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/teachers) |
|
|
|
|
|
|
|
|
|
### Таблица в СУБД: teacher |
|
|
|
|
Поля таблицы: |
|
|
|
|
- id (long) |
|
|
|
|
- first_name (строка) |
|
|
|
|
- second_name (строка) |
|
|
|
|
- last_name (строка) |
|
|
|
|
- employee_id (строка) |
|
|
|
|
- snils (строка) |
|
|
|
|
|
|
|
|
|
## 2.3. Управление данными преподавателей |
|
|
|
|
### GET:domain:port/teacher/list |
|
|
|
|
Возвращает json файл с данными преподавателей |
|
|
|
|
### [GET:domain:port/teacher/list](http://localhost:81/teacher/list) |
|
|
|
|
Возвращает json файл с данными преподавателей, **например**: |
|
|
|
|
```json |
|
|
|
|
[ |
|
|
|
|
{ |
|
|
|
|
"id": 116, |
|
|
|
|
"first_name": "Игорь", |
|
|
|
|
"second_name": "Ворожейкин", |
|
|
|
|
"last_name": "Александрович", |
|
|
|
|
"employee_id": "24", |
|
|
|
|
"snils": "" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"id": 117, |
|
|
|
|
"first_name": "Камил", |
|
|
|
|
"second_name": "Кулембитов", |
|
|
|
|
"last_name": "Минибаевич", |
|
|
|
|
"employee_id": "25", |
|
|
|
|
"snils": "" |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### GET:domain:port/teacher/{id} |
|
|
|
|
Возвращает json файл с данными одного преподавателя |
|
|
|
|
### [GET:domain:port/teacher/{id}](http://localhost:81/teacher/117) |
|
|
|
|
Возвращает json файл с данными одного преподавателя, например: |
|
|
|
|
```json |
|
|
|
|
{ |
|
|
|
|
"id": 117, |
|
|
|
|
"first_name": "Камил", |
|
|
|
|
"second_name": "Кулембитов", |
|
|
|
|
"last_name": "Минибаевич", |
|
|
|
|
"employee_id": "25", |
|
|
|
|
"snils": "" |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### POST:domain:port/teacher/save |
|
|
|
|
Добавляет запись о новом преподавателе |
|
|
|
|
Возвращает json файл с данными добавленного преподавателя |
|
|
|
|
Добавляет запись о новом преподавателе |
|
|
|
|
Возвращает json файл с данными добавленного преподавателя |
|
|
|
|
```console |
|
|
|
|
curl -X POST\ |
|
|
|
|
-H "Content-Type: application/json"\ |
|
|
|
|
-d '{"first_name": "Камил", "second_name": "Кулембитов", "last_name": "Минибаевич", "employee_id": "25", "snils": ""}'\ |
|
|
|
|
http://localhost:81/teacher/save |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### PUT:domain:port/teacher/update/{id} |
|
|
|
|
Обновляет запись о преподавателе по id |
|
|
|
|
Возвращает json файл с обновленными данными преподавателя |
|
|
|
|
Обновляет запись о преподавателе по id, например: |
|
|
|
|
```console |
|
|
|
|
curl -X PUT\ |
|
|
|
|
-H "Content-Type: application/json"\ |
|
|
|
|
-d '{"first_name": "Камил", "second_name": "Кулембитов", "last_name": "Минибаевич", "employee_id": "25", "snils": ""}'\ |
|
|
|
|
http://localhost:81/teacher/update/117 |
|
|
|
|
``` |
|
|
|
|
Возвращает json файл с обновленными данными преподавателя. |
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/teacher/delete/{id} |
|
|
|
|
Удаляет запись о преподавателе по id |
|
|
|
|
Возвращает текстовое сообщение с результатами выполнения операции |
|
|
|
|
Удаляет запись о преподавателе по id, например: |
|
|
|
|
```console |
|
|
|
|
curl -X DELETE\ |
|
|
|
|
http://localhost:81/teacher/delete/117 |
|
|
|
|
``` |
|
|
|
|
Возвращает текстовое сообщение (true/false) с результатами выполнения операции. |
|
|
|
|
Не позволит удалить запись о преподавателе, если на нее ссылается хотябы один учебный курс. |
|
|
|
|
|
|
|
|
|
## <red>2.4. Управление Критериями программ обучения (ProgramCretarea) |
|
|
|
|
**Графический интерфейс для работы с критериями:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/program-cretareas) |
|
|
|
|
|
|
|
|
|
## 2.4. Управление Критериями программ обучения |
|
|
|
|
Таблица: program_cretareas |
|
|
|
|
### Таблица в СУБД: program_cretareas |
|
|
|
|
Поля таблицы: |
|
|
|
|
- id (идентификатор); |
|
|
|
|
- name (наименование категории программы обучения); |
|
|
|
@ -53,10 +126,13 @@
@@ -53,10 +126,13 @@
|
|
|
|
|
Возвращает json файл с обновленными данными о критерии прогрммы обучения |
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/cretarea/delete/{id} |
|
|
|
|
Удаляет запись о критерии программы обучения по id |
|
|
|
|
Возвращает текстовое сообщение с результатами выполнения операции |
|
|
|
|
Удаляет запись о критерии программы обучения по id. |
|
|
|
|
Возвращает текстовое сообщение с результатами выполнения операции (true/false). |
|
|
|
|
Не позволяет удалить критерий, если он связан хотябы с одной программой обучения. |
|
|
|
|
|
|
|
|
|
## 2.5. Управление программами обучения |
|
|
|
|
## <red>2.5. Управление программами обучения (Program) |
|
|
|
|
**Графический интерфейс для работы с программами обучения:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/programs) |
|
|
|
|
### GET:domain:port/program/list |
|
|
|
|
Получение сведений обо всех программах обучения в json-формате |
|
|
|
|
|
|
|
|
@ -71,8 +147,11 @@
@@ -71,8 +147,11 @@
|
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/program/delete/{id} |
|
|
|
|
Удаление сведений о программе |
|
|
|
|
Не позволяет удалить сведения о программе обучения, если в базе содержится хотябы один курс по этой программе |
|
|
|
|
|
|
|
|
|
## 2.6. Объекты строительтва |
|
|
|
|
## <red>2.6. Объекты строительтва (Building) |
|
|
|
|
**Графический интерфейс для работы с объектами строительства:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/buildings) |
|
|
|
|
### GET:domain:port/building/list |
|
|
|
|
Получение сведений обо всех объектах строительства в json-формате |
|
|
|
|
|
|
|
|
@ -86,20 +165,99 @@
@@ -86,20 +165,99 @@
|
|
|
|
|
Обновление сведений об объекте строительства |
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/building/delete/{id} |
|
|
|
|
Удаление сведений об объекте строительства |
|
|
|
|
Удаление сведений об объекте строительства. |
|
|
|
|
Не позволит удалить сведения об объекте строительства, если на него ссылается хотябы один курс. |
|
|
|
|
|
|
|
|
|
## <red>2.7. Учебные курсы (Course) |
|
|
|
|
**Графический интерфейс для работы с учебными курсами:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/courses) |
|
|
|
|
### GET:domain:port/curse/list |
|
|
|
|
Получение сведений обо всех курсах в json-формате |
|
|
|
|
|
|
|
|
|
### GET:domain:port/curse/{id} |
|
|
|
|
Получение сведений об курсе в json-формате |
|
|
|
|
|
|
|
|
|
### POST:domain:port/curse/create |
|
|
|
|
Создание записи о новом курсе |
|
|
|
|
|
|
|
|
|
### PUT:domain:port/curse/update/{id} |
|
|
|
|
Обновление сведений о курсе |
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/curse/delete/{id} |
|
|
|
|
Удаление сведений о курсе по id курса. |
|
|
|
|
Не позволит удалить сведения о курсе, если на него ссылается хотябы одн азапись реестра обученных. |
|
|
|
|
|
|
|
|
|
## <red>2.8. Организации (Organization) |
|
|
|
|
**Графический интерфейс для работы со сведениями об организациях:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/organizations) |
|
|
|
|
|
|
|
|
|
### GET:domain:port/organization/list |
|
|
|
|
Получение сведений обо всех записях реестра в json-формате |
|
|
|
|
|
|
|
|
|
### GET:domain:port/organization/{id} |
|
|
|
|
Получение сведений о записи в реестре в json-формате |
|
|
|
|
|
|
|
|
|
### POST:domain:port/organization/create |
|
|
|
|
Создание новой записи реестре |
|
|
|
|
|
|
|
|
|
# 3. Структура базы данных сервиса : SCHEME |
|
|
|
|
### PUT:domain:port/organization/update/{id} |
|
|
|
|
Обновление записи в реестре |
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/organization/delete/{id} |
|
|
|
|
Удаление записи в реестре по id записи. |
|
|
|
|
Не позволит удалить сведения об организации, если на них ссылается хотябы одна запись о студенте. |
|
|
|
|
|
|
|
|
|
## <red>2.9. Студенты (Student) |
|
|
|
|
**Графический интерфейс для работы со сведениями о студентах:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/students) |
|
|
|
|
|
|
|
|
|
### GET:domain:port/student/list |
|
|
|
|
Получение сведений обо всех студентах в json-формате |
|
|
|
|
|
|
|
|
|
### GET:domain:port/student/{id} |
|
|
|
|
Получение сведений о студенте в json-формате |
|
|
|
|
|
|
|
|
|
### POST:domain:port/student/create |
|
|
|
|
Создание новой записи о студенте |
|
|
|
|
|
|
|
|
|
### PUT:domain:port/student/update/{id} |
|
|
|
|
Обновление сведений о студенте |
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/student/delete/{id} |
|
|
|
|
Удаление записи о студенте. |
|
|
|
|
Не позволит удалить запись о студенте, если на ее ссылается хотя бы одна запись из реестра обученных. |
|
|
|
|
|
|
|
|
|
## <red>2.10. Записи в реестре обученных (EducationEntry) |
|
|
|
|
**Графический интерфейс для работы с записями реестра:** |
|
|
|
|
[client-service-teachers:link](http://localhost:84/educations) |
|
|
|
|
|
|
|
|
|
### GET:domain:port/education/list |
|
|
|
|
Получение сведений обо всех записях реестра в json-формате |
|
|
|
|
|
|
|
|
|
### GET:domain:port/education/{id} |
|
|
|
|
Получение сведений о записи в реестре в json-формате |
|
|
|
|
|
|
|
|
|
### POST:domain:port/education/create |
|
|
|
|
Создание новой записи реестре |
|
|
|
|
|
|
|
|
|
### PUT:domain:port/education/update/{id} |
|
|
|
|
Обновление записи в реестре |
|
|
|
|
|
|
|
|
|
### DELETE:domain:port/education/delete/{id} |
|
|
|
|
Удаление записи в реестре по id записи |
|
|
|
|
|
|
|
|
|
# <blue>3. Структура базы данных сервиса : SCHEME |
|
|
|
|
|
|
|
|
|
![image entity relationship diagram](content/images/ERD.svg "entity relationship diagram") |
|
|
|
|
|
|
|
|
|
# 4. Памятка |
|
|
|
|
# <blue>4. Памятка |
|
|
|
|
1. Предусмотреть возможность внесения сведений об обучении по курсу "Охрана труда, пункт В" (отВ): |
|
|
|
|
- одна программа предполагает наличие от 7-ми до 9-ти записей в реестре |
|
|
|
|
- нет возможности по реестру понять, какие в итоге подпункты были включены в протокол |
|
|
|
|
- нет возможности сгенерировать протокол на основании внесенных в реестр данных |
|
|
|
|
2. Предусмотреть возможность сопоставления должности и программы, для |
|
|
|
|
- назначения тестирований на платформе ЕИСОТ |
|
|
|
|
3. Подключить контейнер postgres к микросервисам |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|