Операційна БД нотифікацій

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Загальний опис

Призначенням бази даних notifications є зберігання службових даних шаблонів та записів про відправлені користувачам inbox-нотифікації.

2. Схема бази даних

notifications-schema
Умовні позначення
Позначення в діаграмі Позначення в таблиці Значення

ο та [PK]

(PK)

Первинний ключ

[FK]

(references таблиця.колонка)

Зовнішній ключ

ім’я колонки жирним шрифтом

Обов’язкове поле (not null)

ім’я колонки звичайним шрифтом

Необов’язкове поле (null)

3. Структури даних

3.1. inbox_notification

In-app повідомлення користувачів для відображення у Кабінеті Громадянина

Ім’я колонки
Опис

id uuid (PK)
Ідентифікатор рядка

recipient_id text
Ідентифікатор користувача, який має отримати повідомлення

subject text
Заголовок повідомлення

message text
Зміст повідомлення

is_acknowledged boolean
Статус повідомлення (прочитане/не прочитане)

created_at timestamp with time zone
Дата/Час створення повідомлення

updated_at timestamp with time zone
Дата/Час оновлення повідомлення

3.2. notification_template

Дані шаблонів повідомлень

Ім’я колонки
Опис

id uuid (PK)
Ідентифікатор рядка

name text
Службова назва шаблону повідомлення. Є унікальною в комбінації з channel

channel text
Канал зв’язку для використання шаблону повідомлення. Є унікальним в комбінації з name

  • inbox - Кабінеті Громадянина

  • email - електронна пошта

  • diia - застосунок Дія

content text
Текстовий шаблон тіла повідомлення для подальшого заповнення даними

checksum text
SHA-256 чек-сума, згенерована на вміст поля CONTENT

created_at timestamp with time zone
Дата/Час створення/публікації шаблону

updated_at timestamp with time zone
Дата/Час останньої зміни в рамках публікації шаблону

title text
Текстовий заголовок повідомлення

ext_template_id text
Унікальний ідентифікатор копії шаблона, яку було збережено у зовнішній системі для подальшої відправки повідомлень з його використанням

ext_published_at timestamp with time zone
Дата/Час останньої публікації запису у зовнішню системуBD

Обмеження унікальності

ext_template_id

name,channel

3.3. notification_template_attr

Додаткові атрибути шаблонів в залежності від вимог окремого каналу зв’язку

Ім’я колонки
Опис

id uuid (PK)
Ідентифікатор рядка

template_id uuid (references notification_template.id)
Ідентифікатор шаблону повідомлень

name text
Службова назва атрибуту

value text
Значення атрибуту