You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
823 B
19 lines
823 B
module Api
|
|
module V1
|
|
class SettingsController < BaseController
|
|
def show
|
|
current_user.update_required_matrices!
|
|
render json: payload
|
|
end
|
|
def update
|
|
attributes = params.require(:settings).permit(:email, :total_required_hours, :weekly_target_hours, :praepedeutikum_done, required_hours_matrix: {}, weekly_target_matrix: {})
|
|
current_user.update(attributes) ? render(json: payload) : render_validation(current_user)
|
|
end
|
|
private
|
|
def payload
|
|
current_user.as_json(only: %i[email total_required_hours weekly_target_hours required_hours_matrix weekly_target_matrix praepedeutikum_done]).merge(
|
|
praktikums_typen: User::PRAKTIKUMSTYPEN, entry_arten: User::ENTRY_ARTEN, entry_arten_by_typ: User::ENTRY_ARTEN_BY_TYP)
|
|
end
|
|
end
|
|
end
|
|
end
|