Browse Source

edited hellos

master
esoe 5 months ago
parent
commit
d2db2a2131
  1. 214
      resource-service-api/src/main/resources/static/content/md/hello.md
  2. 1
      storage-rs/src/main/java/ru/molokoin/storagers/controller/StorageController.java
  3. 40
      storage-rs/src/main/resources/static/content/md/hello.md
  4. 11
      storage-rs/src/main/resources/templates/documents.html

214
resource-service-api/src/main/resources/static/content/md/hello.md

@ -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 разметки)
- /прочие папки и файлы ...
## 2.3. Управление данными преподавателей
### GET:domain:port/teacher/list
Возвращает json файл с данными преподавателей
## <red>2.3. Управление данными преподавателей (Teacher)
**Графический интерфейс для работы с данными преподавателей:**
[client-service-teachers:link](http://localhost:84/teachers)
### Таблица в СУБД: teacher
Поля таблицы:
- id (long)
- first_name (строка)
- second_name (строка)
- last_name (строка)
- employee_id (строка)
- snils (строка)
### [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 файл с данными добавленного преподавателя
```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 к микросервисам

1
storage-rs/src/main/java/ru/molokoin/storagers/controller/StorageController.java

@ -139,7 +139,6 @@ public class StorageController { @@ -139,7 +139,6 @@ public class StorageController {
*/
@GetMapping("/export-as-educations/{name}")
public String exportAsEducations(@PathVariable String name){
return "redirect:/uploads";
}

40
storage-rs/src/main/resources/static/content/md/hello.md

@ -1,11 +1,14 @@ @@ -1,11 +1,14 @@
# storageRS
# storage-rs
Настоящий сервис задумывался как универсальное средство работы с файловой системой, которое в перспективе может использоваться различными сервисами.
Сервис работы с файлами:
- загрузка файлов на сервер
- скачивание файлов с сервера
- просмотр списка файлов
- хранение сведений о файлах в базе данных
- представление данных xlsx файлов в json
Связка файлового хранилища с СУБД осуществляется контроллером третьего сервиса (gates)
# Загрузка файлов на сервер
1. файлы загружаются по одному, одновременно создается запись о пакете (table_pack) в базе
@ -13,3 +16,36 @@ table_pack: @@ -13,3 +16,36 @@ table_pack:
- id
- наименование пакета
- тип пакета(наименование загружаемой формы, для выбора последующего алгоритма обработки)
# API
## [GET domain:port/api/list-uploads](http://localhost:82/api/list-uploads)
Получение списка размещенных в хранилище файлов
## GET:/api/document/{filename}
[link](http://localhost:82/api/document/107.xlsx)
Получение метаданных размещенного в хранилище файла:
- наименование
- расширение
- путь
- размер в байтах
Метаданные берутся из информации файловой системы и представляются пользователю в качестве объекта document, обображенного в json формате.
## /api/document/content/{filename}
[link](http://localhost:82/api/document/content/107.xlsx)
Получение данных xlsx файла в json формате
## DELETE:/api/document/delete/{filename}
## POST:/api/document/store
# Face
## /view/{name}
Просмотр содержимого xlsx-файла в виде таблицы
## [/uploads](http://localhost:82/uploads)
Просмотр списка файлов из хранилища по данным файловой системы.
Доступ к инструментам:
- добавления файлов в хранишище
- удаление файлов
- просмотр содержимого xlsx-файлов

11
storage-rs/src/main/resources/templates/documents.html

@ -10,20 +10,20 @@ xmlns:th="http://www.thymeleaf.org"> @@ -10,20 +10,20 @@ xmlns:th="http://www.thymeleaf.org">
<body>
<header>
<h1>Uploads</h1>
menu : auth : Uploads
<h1>STORAGE-RS:Uploads</h1>
<br>
</header>
<main>
<div class="main-wraper">
<h2>Перечень файлов:</h2>
<form th:action="@{/uploads}" method="get" th:object="${doc}"></form>
<form method="post" th:action="@{/upload}" enctype="multipart/form-data">
<div>
<input type="file" name="file">
</div>
<button type="submit">Upload File</button>
</form>
<h2>Перечень файлов в хранилище:</h2>
<table>
<thead>
<tr>
@ -61,12 +61,11 @@ xmlns:th="http://www.thymeleaf.org"> @@ -61,12 +61,11 @@ xmlns:th="http://www.thymeleaf.org">
<input type="submit" value="VIEW"/>
</form>
</td>
<td>
<!-- <td>
<form th:action="@{/export-as-educations/{name}(name=${doc.name})}" th:method="get">
<input type="submit" value="EXPORT-AS-EDUCATIONS"/>
</form>
</td>
</td> -->
</tr>
</tbody>
</table>

Loading…
Cancel
Save