SamuelS1
6 years agoContributor
LiQL Post Count, Kudo count, an solution count for user
Hi,
I try to show post count, kudo count and solution count for specific user on View Profile Page. I create custom component and I'm using query
SELECT messages.count(*), solutions_authored.count(*) FROM users WHERE id = '31'
I checked in API Browser in Studio, and data I recive are correct, but when I try to use it in component it breaks component (it doesn't show at all).
Here is my component code:
<#attempt> <#assign userViewProfileUserId = page.context.user.id /> <#assign userQuery = "SELECT messages.count(*), kudos_received.sum(weight), solutions_authored.count(*) FROM users WHERE id='" + userViewProfileUserId +"'" /> <#assign userData = restadmin('2.0','/search?q=' + userQuery?url('UTF-8')) /> <div class="view-profile-user-details"> <div class="user-statistics"> <div class="user-statistics__item"> <span class="user-statistics__value">${userData.kudos_received.weight}</span> likes</div> <div class="user-statistics__item"> <span class="user-statistics__value">${userData.solutions_authored.count}</span> solutions</div> <div class="user-statistics__item"> <span class="user-statistics__value">${userData.messages.count}</span> posts</div> </div> </div> <#recover> </#attempt>
What am I doing wrong?
I would be grateful for your help.
SamuelS1
** Updated
Use this one and make sure you are checking it on the profile page, not in preview. It will not work in the preview as you are using page.context.user.id in your component. If you want to check it in preview then replace page.context.user.id with a hard-coded user id.<#attempt> <#assign userViewProfileUserId = page.context.user.id /> <#assign userQuery = "SELECT messages.count(*), kudos_received.sum(weight), solutions_authored.count(*) FROM users WHERE id='${userViewProfileUserId}'" /> <#assign userData = restadmin("2.0","/search?q=" + userQuery?url).data.items[0] /> <div class="view-profile-user-details"> <div class="user-statistics"> <div class="user-statistics__item"> <span class="user-statistics__value">${userData.kudos_received.sum.weight}</span> likes</div> <div class="user-statistics__item"> <span class="user-statistics__value">${userData.solutions_authored.count}</span> solutions</div> <div class="user-statistics__item"> <span class="user-statistics__value">${userData.messages.count}</span> posts</div> </div> </div> <#recover> </#attempt>