Приклад для плану закупівлі --------------------------- Зміна власника плану закупівлі ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Переглянемо приклад зміни власника для плану. Створення плану закупівлі ^^^^^^^^^^^^^^^^^^^^^^^^^ Спочатку створимо план закупівлі: .. http:example:: tutorial/create-plan.http :code: Майданчик `broker` є поточним власником ``owner`` плану закупівлі. Зверніть увагу, що секція відповіді `access` містить ключ ``transfer``, який використовується для зміни власника плану закупівлі. Після реєстрація плану закупівлі в ЦБД майданчик повинен довести ключ ``transfer`` до відома клієнта. Ініціація зміни власника ^^^^^^^^^^^^^^^^^^^^^^^^ Майданчик, що стане новим власником плану закупівлі, повинен створити об'єкт `Transfer`. .. http:example:: tutorial/create-plan-transfer.http :code: Об'єкт `Transfer` містить новий ключ доступу ``token`` та новий ключ ``transfer`` для об'єкта, власник якого буде змінений. Об'єкт `Transfer` можна переглянути за допомогою ідентифікатора `id`: .. http:example:: tutorial/get-plan-transfer.http :code: Зміна власника плану закупівлі ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Можливість зміни власника плану закупівлі залежить від статусу плану закупівлі: +-----------+--------------+ | Дозволено | Не дозволено | +-----------+--------------+ | scheduled | draft | | | | | | cancelled | | | | | | complete | +-----------+--------------+ Щоб змінити власника плану закупівлі новий майданчик повинен надіслати POST запит на відповідний `/plans/id/` з секцією `data`, що міститиме ідентифікатор ``id`` для `Transfer` та ключ ``transfer`` отриманий від клієнта: .. http:example:: tutorial/change-plan-ownership.http :code: Оновлене значення властивості ``owner`` вказує, що власник був успішно змінений. Зверніть увагу, що новий майданчик повинен довести до відома клієнта новий ключ ``transfer`` (згенерований в об'єкті `Transfer`). Після того, як об'єкт `Transfer` було застосовано, для нього генерується властивість ``usedFor`` (вказується шлях до об'єкта, власника якого було змінено): .. http:example:: tutorial/get-used-plan-transfer.http :code: 'Використаний' об'єкт `Transfer` вже не можна застосувати до іншого об'єкта. Спробуємо змінити план закупівлі за допомогою ключа ``token``, отриманого при створенні об'єкта `Transfer`. .. http:example:: tutorial/modify-plan.http :code: Зверніть увагу, що тільки майданчик з відповідним рівнем акредитації може стати новим власником. В іншому випадку майданчику така дія буде заборонена. .. http:example:: tutorial/change-plan-ownership-forbidden.http :code: Зміна власника дозволена тільки якщо поточний власник тендера має спеціальний рівень акредетації, що дозволяє зміну: .. http:example:: tutorial/change-plan-ownership-forbidden-owner.http :code: