Skip to content

Commit 5c16900

Browse files
committed
Add extra fields to basic info by usernames
1 parent 59994c2 commit 5c16900

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

app/controllers/api/v8/users/basic_info_by_usernames_controller.rb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,29 @@ class BasicInfoByUsernamesController < Api::V8::BaseController
5656
end
5757
end
5858

59-
6059
skip_authorization_check
6160

6261
def create
6362
respond_access_denied unless current_user.administrator?
64-
users = params[:usernames]
63+
users = User.where(login: params[:usernames])
64+
user_id_to_extra_fields = nil
65+
if params[:extra_fields]
66+
namespace = params[:extra_fields]
67+
user_id_to_extra_fields = UserAppDatum.where(namespace: namespace, user: users).group_by(&:user_id)
68+
end
6569

6670
data = User.where(login: users).map do |u|
67-
{
71+
d = {
6872
id: u.id,
6973
username: u.login,
7074
email: u.email,
7175
administrator: u.administrator
7276
}
77+
if user_id_to_extra_fields
78+
extra_fields = user_id_to_extra_fields[u.id] || []
79+
d[:extra_fields] = extra_fields.map { |o| [o.field_name, o.value] }.to_h
80+
end
81+
d
7382
end
7483
render json: data
7584
end

0 commit comments

Comments
 (0)