Read user profile display from profile table
This commit is contained in:
@@ -3084,12 +3084,13 @@ func (a *adapter) TopicsForUser(uid t.Uid, keepDeleted bool, opts *t.QueryOpt) (
|
||||
|
||||
// Fetch p2p users and join to p2p subscriptions.
|
||||
if len(usrq) > 0 {
|
||||
q = "SELECT id,updatedat,state,access,lastseen,useragent,public,trusted " +
|
||||
"FROM im_users WHERE id IN (?)"
|
||||
q = `SELECT u.id,u.updatedat,u.state,u.access,u.lastseen,u.useragent,u.public,u.trusted,
|
||||
p.nickname AS profile_nickname,p.avatar_file_id AS profile_avatar_file_id,p.updated_at AS profile_updated_at
|
||||
FROM im_users AS u LEFT JOIN im_user_profiles AS p ON p.user_id=u.id WHERE u.id IN (?)`
|
||||
q, args, _ = sqlx.In(q, usrq)
|
||||
if !keepDeleted {
|
||||
// Optionally skip deleted users.
|
||||
q += " AND state!=?"
|
||||
q += " AND u.state!=?"
|
||||
args = append(args, t.StateDeleted)
|
||||
}
|
||||
|
||||
@@ -3105,19 +3106,19 @@ func (a *adapter) TopicsForUser(uid t.Uid, keepDeleted bool, opts *t.QueryOpt) (
|
||||
}
|
||||
|
||||
for rows.Next() {
|
||||
var usr2 t.User
|
||||
var usr2 profileUserRow
|
||||
if err = rows.StructScan(&usr2); err != nil {
|
||||
break
|
||||
}
|
||||
|
||||
joinOn := uid.P2PName(common.EncodeUidString(usr2.Id))
|
||||
joinOn := uid.P2PName(common.EncodeUidString(usr2.ID))
|
||||
if sub, ok := join[joinOn]; ok {
|
||||
sub.UpdatedAt = common.SelectLatestTime(sub.UpdatedAt, usr2.UpdatedAt)
|
||||
sub.UpdatedAt = common.SelectLatestTime(sub.UpdatedAt, usr2.effectiveUpdatedAt())
|
||||
sub.SetState(usr2.State)
|
||||
sub.SetPublic(common.FromJSON(usr2.Public))
|
||||
sub.SetPublic(usr2.profilePublic())
|
||||
sub.SetTrusted(common.FromJSON(usr2.Trusted))
|
||||
sub.SetDefaultAccess(usr2.Access.Auth, usr2.Access.Anon)
|
||||
sub.SetLastSeenAndUA(usr2.LastSeen, usr2.UserAgent)
|
||||
sub.SetLastSeenAndUA(usr2.lastSeen(), usr2.UserAgent)
|
||||
join[joinOn] = sub
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user