Нужно сделать как бы каталог товаров, который будет обновляться в реал-тайме. Сейчас использую vue и .net core, signalR.
Проблема в поиске, фильтрах и сортировке. Если у пользователя есть фильтр, по производителю, то при добавлении товара с этим производителем, товар должен появится у пользователя, но с другим производителем нет(логично...).
Как реализовано сейчас:
Есть табличка в базе, где хранится SignalR Connection Id и все настройки фильтров, сортировки и производителя.
При добавлении нового товара, иду по табличке и выбираю тех, кому подходит.
При удалении товара, просто кидаю signalR событие типа "product:delete:${product_id}", а на клиенте делаю подписки для товаров, которые сейчас отображаются. Для редактирования всё тоже самое, что и для удаления.
Но мне это всё не очень нравится, может подскажете как сделать лучше с текущим стеком или может есть какие-то инструменты, которые умеют делать, то что мне нужно(которые можно будет интегрировать в .net core)
я бы заюзал веб сокеты и vuex-геттеры. сервер по веб сокетам на клиент эмитит очердной товар(ы). клиент пушит его(их) в хранилище. vue рендерит эти товары через vuex-геттер (ну или computed можно, хотя лучше геттеры). в геттере соответсвенно фильтруете хранилище по текущим фильтрам