Size: a a a

Node.js — русскоговорящее сообщество

2020 September 29

M

Murena in Node.js — русскоговорящее сообщество
как более правильно информировать клиент - при каждом запросе что в какой то момент пользователь уже не подписан на сервис и надо перевести его на другой тип юзера на клиенте ?
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Murena
всем привет подскажите кто сталкивался - какой самый правильный флоу Node.js+SPA при работе с пользователями и подписками (тип оплаты за пользование сервисом) - имею ввиду как и где лучше контролить когда експайрится подписка пользователя на сервис - на SPA или и при каждом запросе к api на ноде ?
Этим должен заниматься сервер
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Murena
просто самый простой способ это при каждом запросе к api проверять middleware подписку - если что не так то кидать ошибку 401 и SPA будет вылогинивать юзера - но вот как селать так чтоб не вылогинивал а api давал команду клиенту чтоб перевести пользователя на тип юзера который без подписки
Проверять подписку, если нет - менять статус подписки(или что-то на подобии)
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Murena
как более правильно информировать клиент - при каждом запросе что в какой то момент пользователь уже не подписан на сервис и надо перевести его на другой тип юзера на клиенте ?
Как правило это должна быть проверка к конкретному ресурсу, который должен быть оплачен. Если оплаты нет - 402 подойдёт. Зависит от вашей логики приложения
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
А ваше клиент приложение уже в зависимости от ответа знает что рендерить
источник

M

Murena in Node.js — русскоговорящее сообщество
Volodymyr Bortniak
Этим должен заниматься сервер
ясно - а как на сервере лучше в бд хранить данные о подписке - имею ввиду хранить просто дату окончания - и с ней работать уже всем - или делать какой то воркер что будет запускатся раз в стуки или раз в какое то время и менять просто статус аккаунтов юзеров у которых закончилась подписка ?
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Murena
ясно - а как на сервере лучше в бд хранить данные о подписке - имею ввиду хранить просто дату окончания - и с ней работать уже всем - или делать какой то воркер что будет запускатся раз в стуки или раз в какое то время и менять просто статус аккаунтов юзеров у которых закончилась подписка ?
А бизнес что говорит?
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
На домен надо опираться
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Если не имеет значения пол дня халявы для юзеров(в чём я сильно сомневаюсь) - можно и по крону проверять
источник

M

Murena in Node.js — русскоговорящее сообщество
Volodymyr Bortniak
А бизнес что говорит?
пока бизнес еще ничего не говорит - просто планирование )
источник

И

Илья | 😶 ☮️... in Node.js — русскоговорящее сообщество
Murena
пока бизнес еще ничего не говорит - просто планирование )
Что за специфика ?
источник

M

Murena in Node.js — русскоговорящее сообщество
Volodymyr Bortniak
На домен надо опираться
ну или как вариант можно через ивенты в ORMке при каждом обращении за юзером в бд высчитывать статус исходя из даты окончания подписки
источник

В-

Вернер Карл Гейзенбе... in Node.js — русскоговорящее сообщество
Murena
ясно - а как на сервере лучше в бд хранить данные о подписке - имею ввиду хранить просто дату окончания - и с ней работать уже всем - или делать какой то воркер что будет запускатся раз в стуки или раз в какое то время и менять просто статус аккаунтов юзеров у которых закончилась подписка ?
Можно дату окончания и при каждом запросе проверять, если не затратно
источник

В-

Вернер Карл Гейзенбе... in Node.js — русскоговорящее сообщество
Ну, да
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Murena
ну или как вариант можно через ивенты в ORMке при каждом обращении за юзером в бд высчитывать статус исходя из даты окончания подписки
Как по мне - плохо выносить такое на уровень орм
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Орм это про данные, а подписка - бизнес логика
источник

M

Murena in Node.js — русскоговорящее сообщество
так даже проще - получается если бекенд отдает 402 ошибку, на клиенте пропишу обработчик ошибок что перехватывает только 402 и при срабатывании просто перекачает еще раз данные о юзере - и api уже вернет юзера с другим статусом
источник

M

Murena in Node.js — русскоговорящее сообщество
Volodymyr Bortniak
Орм это про данные, а подписка - бизнес логика
здесь согласен - поэтому и спрашиваю - как по феншую на больших проектах делают подобное ) чтоб все было на своих местах )
источник

VB

Volodymyr Bortniak in Node.js — русскоговорящее сообщество
Юзера с другим статусом или подписку? А
нормализация.. 😢
источник

M

Murena in Node.js — русскоговорящее сообщество
Volodymyr Bortniak
Юзера с другим статусом или подписку? А
нормализация.. 😢
ну тут уже при планировании бд будет решатся - но скорее всего у юзера будет отдельное поле на каком он тарифном плане free или subscribed исходя их этого клиент будет решать что ему показывать а что нет
источник