У меня 6 пользовательских уровней.Это то, что они должны делать:
- 1-й уровень: просмотр сообщений, которые публикуются немедленно.
- 2-й уровень: просмотр того же сообщения через 60 минут
- 3-й уровень: см. Тот же пост через 120 минут
- 4-й уровень: см. Тот же пост через 240 минут
- 5-йуровень: см. тот же пост через 360 минут
- 6-й уровень: см. тот же пост через 24 часа
Все пользователи получают своиtier
настроить, когда они регистрируются на сайте.
Теперь, когда кто-то публикует данные на сайте, вот как выглядит структура документа в mongoose:
![enter image description here](https://i.stack.imgur.com/VL6yo.png)
Для отметок времени, которые вы видите, я использую moment.js и просто обычную функцию: moment();
Все отметки времени здесь устанавливаются, когда уровни пользователей должны видеть сообщение.
Теперь янеобходимо получить эти документы по уровню аутентифицированного пользователя.Вот что я делаю сейчас:
app.get('/', async(req, res) => {
if(req.session.user && req.cookies.user_sid){
let user = await User.findOne({username:req.session.user.username});
if(user.group = "Tier 1") {
let advertisements = await Advertisement.find();
res.render('index', {user, advertisements});
// TIER 1 SEES ALL POSTS IMMEDIATELY.
}
if(user.group = "Tier 2") {
let advertisements = await Advertisement.find();
// Now I need some logic here so the tier 2 users could see post after 60 minutes from when it was posted.
res.render('index', {user, advertisements});
}
} else {
res.render('index');
}
});
Я не знаю, как получить результаты из tier 2