Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. На странице "интеграции" (https://dev.helloprint.ru/integration) добавляем вкладку "Облачное хранилище". В "источник" пока добавляем только селектел . На этой странице размещаем поля для ввода данных, необходимых для аутентификации запросов (https://docs.selectel.ru/api/object-storage-s3/#authentication )
  2. Добавляем в заказе вкладку "Облако"
  3. Размещаем на этой вкладке поле "загрузить". Примерный образец:

    При "перетаскивании" файлов на это поле запускаем алгоритм загрузки файлов (об этом далее), при нажатии - открываем проводник для выбора файлов и после подтверждения юзером также запускаем алгоритм загрузки. Должна поддерживаться возможность загрузки нескольких файлов за одну операцию
  4. Алгоритм загрузки файлов:
    а) перед началом загрузки выдаем поп-ап для переименования файлов. Заголовок: Список файлов. Тело: список файлов в формате <поле для ввода наименования>.<расширение файла (не редактируемое)>. По умолчанию в поле для ввода наименования подставляем исходное наименование файла. Кнопки: Подтвердить и Отмена. Подтвердить - загружаем файлы с указанными наименованиями и закрываем поп-ап. Отмена - закрываем поп-ап без загрузки файлов.
    б) создаем контейнер с наименованием, совпадающим с номером заказа. Прописываем этот контейнер в БД для этого заказа.
    в) Загружаем эти файлы на сервер и закидываем в крон задачи на загрузку в облако. На вкладке под полем для загрузки выводим список файлов со статусом загрузки (для загрузки на наш сервер можно сделать заполняющуюся шкалу. Рядом со шкалой красный текст "Не закрывайте вкладку". Для файлов, ожидающих загрузки в облако, статус "Ожидает загрузки в облако", для загруженных статус не нужен). 
  5. При открытии вкладки загружаем список файлов в контейнере (если он есть) и ожидающих загрузки в облако (с соответствующим статусом). Если контейнера нет - отображаем только поле для загрузки файлов
  6. Добавляем раздел прав 14.4.13. Доступ к вкладке "Облако" (последующие видимо нужно сместить). В раздел добавляем 2 права - 14.4.13.1 Доступ к загрузке файлов в облако и 14.4.13.2 Доступ к скачиванию файлов из облака
  7. Для входящих API запросов /store-from-calculator, /request-orders, /one-click-orders и /cart-orders при получении файлов также запускаем алгоритм загрузки (п.4), но пропускаем этап с поп-апом (4а). Файлы загружаем с наименованием в формате <номер заказа>_<исходное наименование>. Cейчас файлы из этих запросов грузятся на сервер и работа проводится через вкладку "файлы". На данном этапе дублируем эту систему, позднее от нее откажемся скорее всего.