@@ -346,7 +346,7 @@ func GetUserFollowing(ctx context.Context, u, viewer *User, listOptions db.ListO
346346Select ("`user`.*" ).
347347Join ("LEFT" , "follow" , "`user`.id=follow.follow_id" ).
348348Where ("follow.user_id=?" , u .ID ).
349- And ("`user`.type=? " , UserTypeIndividual ).
349+ And ("`user`.type IN (?, ?) " , UserTypeIndividual , UserTypeOrganization ).
350350And (isUserVisibleToViewerCond (viewer ))
351351
352352if listOptions .Page != 0 {
@@ -1210,23 +1210,25 @@ func isUserVisibleToViewerCond(viewer *User) builder.Cond {
12101210return builder.Neq {
12111211"`user`.visibility" : structs .VisibleTypePrivate ,
12121212}.Or (
1213+ // viewer's following
12131214builder .In ("`user`.id" ,
12141215builder .
12151216Select ("`follow`.user_id" ).
12161217From ("follow" ).
12171218Where (builder.Eq {"`follow`.follow_id" : viewer .ID })),
1219+ // viewer's org user
12181220builder .In ("`user`.id" ,
12191221builder .
12201222Select ("`team_user`.uid" ).
12211223From ("team_user" ).
1222- Join ("INNER" , "`team_user` AS t2" , "`team_user`.id = `t2`.id " ).
1224+ Join ("INNER" , "`team_user` AS t2" , "`team_user`.org_id = `t2`.org_id " ).
12231225Where (builder.Eq {"`t2`.uid" : viewer .ID })),
1226+ // viewer's org
12241227builder .In ("`user`.id" ,
12251228builder .
1226- Select ("`team_user`.uid " ).
1229+ Select ("`team_user`.org_id " ).
12271230From ("team_user" ).
1228- Join ("INNER" , "`team_user` AS t2" , "`team_user`.org_id = `t2`.org_id" ).
1229- Where (builder.Eq {"`t2`.uid" : viewer .ID })))
1231+ Where (builder.Eq {"`team_user`.uid" : viewer .ID })))
12301232}
12311233
12321234// IsUserVisibleToViewer check if viewer is able to see user profile
0 commit comments