Здравствуйте, использую Expres+TypeORM+routing-controllers
Приложение рендерит страницы из ejs.
Не могу понять, почему у меня прилетает пустой объект из контроллера.
Код контроллера:
@Controller()
@Get('/dashboard')
@Render ('dashboard')
getDashboard () {
const sites = this.usersSitesService.selectSitesByUserId(1);
return { sites };
}
Код сервиса:
selectSitesByUserId = async (id: number): Promise<any> => {
const res = await this.sitesRepository.createQueryBuilder('s')
.leftJoin('usites', 'u', 's.id = u.site_id')
.where('u.user_id =:id', {id: id}).getMany();
return res;
}
код в ejs файле
<ul class="nav nav-treeview">
<% for(let i = 0; i < sites.length; i++) { %>
<li class="nav-item">
<a href="/dashboard/sites/?siteId=<%= sites[i].id %>" class="nav-link">
<p><%= sites[i].siteName %></p>
</a>
</li>
<% } %>
</ul>
Но сам site прилетает пустой - {}
Что я делаю не так?
Репо с докой router-controller
https://github-com.translate.goog/typestack/routin...
return { sites }; - того требует дока при декораторе @render. Только в таком синтаксисе передаются переменные в рендер. И если наполнить sites ручками, то все работает.
Буду благодарен за помощь!