...
- Система майданчика повинна використовувати централізований endpoint permissions як як єдине джерело прав доступу
Усі бізнес-рішення щодо доступу до:
оголошення процедур,
подання заявок,
роботи з реєстрами,
- подачі заяв на об'єкти оренди,
- створення дій над об'єктами оренди,
- створення контрактів для Малої та Великої приватизації
- створення викупу для Малої та Великої приватизації
- створення Інфораційних повідомлень для Малої та Великої приватизації
- створення об'єктів для Малої та Великої приватизації
повинні базуватись виключно на даних permissions, отриманих з endpoint.
- Майданчик не має права надавати функціональність, яка не підтверджена наявними в endpoind permissions.
Функціональні вимоги
В Prozorro.Sale наявні два endpoints:
- Для отримання загального списку прав і дозволів одразу по всім Майданчикам - https://procedure.prozorro.sale/api/auth/brokers
- Для отримання списку прав і дозволів по одному конкретному Майданчику - https://procedure.prozorro.sale/api/auth/brokers/system/services
- де замість system в запит необхідно підставити owner name Майданчика
Інтеграційні вимоги
- Майданчик повинен виконувати запит до endpoint permissionsendpoint не рідше ніж 1 раз на добу (наразі о 05:00).
- Майданчик повинен обробляти успішну відповідь endpoint та та зчитувати всі передані отримані permissions.
- Отримані permissions повинні зберігатись локально для подальшого використання бізнес-логікою та UI.
- Система повинна зберігати останню валідну версію permissions у у разі тимчасової недоступності endpoint.
Валідація permissions
Система повинна перевіряти цілісність структури permissions, зокрема:
наявність ключа
permissions;наявність секцій
procedures,jobber,registry(за потреби);допустимі значення (
procedure,bids,object).
- У разі виявлення невалідної структури permissions система повинна зафіксувати помилку.необхідно передати інформацію Prozorro.Sale, наприклад, через запит в Slack Workflow
Доступ до процедур
- Система повинна дозволяти оголошення аукціонів організаторами, якщо permissions.procedures.<procedure_name> = procedure
Система повинна дозволяти подання заявок учасниками, якщо permissions.procedures.<procedure_name> = bids
- За відсутності відповідного значення permissions функціональність повинна бути недоступною як на UI, так і на API-рівні.
...
