CDB3-3490 JAS, JAL. Cancellations model in the Announcement
Погоджено рішення зробити логіку скасування Сутностей Jobber-a однаковою.
До Announcement необхідно додати cancellations модель повністью аналогічну Redemption.cancellations
Згідно бізнес вимог, при надсиланні майданчиком запита на Announcement.cancellations статус Announcement має змінитись з pending на deleted.
Взагалі, ручна дія зміни статуса Announcement у deleted доступна тільки із статуса pending.
У моделі Announcement.cancellations:
- завантаження документа cancellationDetails - НЕ обов'язково для ЦБД (завантажувати чи ні - залишається на розсуд Організатора)
- заповнення поля reason - обов'язково для ЦБД (Організатор обов'язково має щось вказати. Це multiLang, тобто, без довідника - довільне поле для тексту)
- заповнення поля datePublished - якщо майданчик передав у запиті, то заповнюємо значенням, що передав Майданчик. Якщо не передав, то записуємо current_date на рівні ЦБД. Присутня валідація: Announcement.datePublished < cancellations.datePublished < current_time (не може бути в майбутньому))
Якщо на ЦБД прийшов запит cancellations згідно правил описаних вище, то ЦБД після валідації автоматично змінює статус Announcement з pending на deleted. Майданчику не потрібно слати додатковий запит на зміну статуса.
Edited by Yuriy Bilinsky