Тестовое задание по системе электронного архива:
- Поддерживает первоначальное создание базы данных, таблиц (настройки сохраняет в .env файл)
- В скрипте инициализации ./init/createTables.sql можно настроить любые типы разрешений, в интерфейсе на текущий момент обрабатывается только одно - "Чтение" (остальные только отображаются и меняются, но не влияют на действия)
- Можно установить случайные разрешения на все файлы и папки
- Установленные разрешения влияют только на отображения папок пользователям (пользователь admin видит всегда всё)
- Группа All учитывается всегда, если нет других разрешений (можно проверять на зашитом пользователе Аноним)
- Разрешения, явно заданные для текущей папки можно удалять (крестик напротив разрешения). После удаления разрешения для текущей папки оно становится наследуемым от родителя.
- В скобках первой строки текущих разрешений отображается вычисленный тип разрешения (это либо разрешение для юзера либо разрешение для группы, которые будут перечислены в этом перечне)
- npm update
- npm run build-prod # Необходим установленный глобально webpack
- node index.js
- Перейти в интерфейс настройки http://localhost:8080
- После завершения настройки сервер отключится, необходимо запустить вновь: node index.js
- Перейти в основной интерфейс http://localhost:3000 (по завершении настройки срабатывает редирект, поэтому можно просто перезапустить ноду)
- В основном интерфейсе нет функционала создания файлов и папок поэтому необходимо добавить тестовую структуру из реальной файловой системы: нужно кнопке "Добавить папку" скормить полный путь до добавляемой папки (d:\Forsave\Test)
- Можно нажать кнопку случайные разрешения для рандомной генерации разрешений на все объеты базы данных, но можно задать разрешения вручную (от имени юзера admin всегда видны все папки)