AK
let baseQuery = knex.select(item.id, item_field1,item_field2,item_field3)
.from(item)
if(user && user.id) {
// додаємо умову для авторизованих
baseQuery.modify(queryBuilder => {
queryBuilder
.select('bookmarks.created_at', knex.raw('CASE WHEN bookmarks.user_id IS NOT NULL THEN true ELSE false END AS is_bookmarked'))
.leftJoin('bookmark', { 'item.id': 'bookmark.item_id' })
.where({user_id: user.id});
});
}
тут виходить що якщо нам не прийшов токен то ми навіть джойн не будемо робити.
якщо робити це тернарками при створенні стрінги то треба тернарками робити поля
bookmarks.created_at
is_bookmarked
LEFT JOIN bookmark ON ...
WHERE user_id =