Skip to content
Snippets Groups Projects
Unverified Commit ec7765b0 authored by Samuel Couillard's avatar Samuel Couillard Committed by GitHub
Browse files

Add Errors Logs to Migration (v3) (#4679)

* Add Errors Logs to Migration (v3)

* Remove ActiveRecord errors for find_by methods

* Fix internal server error, remove bangs
parent 6cc8295d
Branches
Tags
No related merge requests found
...@@ -33,7 +33,7 @@ module Api ...@@ -33,7 +33,7 @@ module Api
role = Role.new(name: role_hash[:name], provider: 'greenlight') role = Role.new(name: role_hash[:name], provider: 'greenlight')
return render_error status: :bad_request unless role.save return render_error(status: :bad_request, errors: role&.errors&.to_a) unless role.save
# Returns unless the Role has a RolePermission that differs from V3 default RolePermissions values # Returns unless the Role has a RolePermission that differs from V3 default RolePermissions values
return render_data status: :created unless role_hash[:role_permissions].any? return render_data status: :created unless role_hash[:role_permissions].any?
...@@ -63,12 +63,13 @@ module Api ...@@ -63,12 +63,13 @@ module Api
role = Role.find_by(name: user_hash[:role], provider: 'greenlight') role = Role.find_by(name: user_hash[:role], provider: 'greenlight')
return render_error status: :bad_request unless role return render_error(status: :bad_request, errors: 'The user role does not exist.') unless role
user_hash[:password] = generate_secure_pwd if user_hash[:external_id].blank? user_hash[:password] = generate_secure_pwd if user_hash[:external_id].blank?
user = User.new(user_hash.merge(provider: 'greenlight', role:)) user = User.new(user_hash.merge(provider: 'greenlight', role:))
return render_error status: :bad_request unless user.save
return render_error(status: :bad_request, errors: user&.errors&.to_a) unless user.save
render_data status: :created render_data status: :created
end end
...@@ -86,7 +87,7 @@ module Api ...@@ -86,7 +87,7 @@ module Api
user = User.find_by(email: room_hash[:owner_email], provider: 'greenlight') user = User.find_by(email: room_hash[:owner_email], provider: 'greenlight')
return render_error status: :bad_request unless user return render_error(status: :bad_request, errors: 'The room owner does not exist.') unless user
room = Room.new(room_hash.except(:owner_email, :room_settings, :shared_users_emails).merge({ user: })) room = Room.new(room_hash.except(:owner_email, :room_settings, :shared_users_emails).merge({ user: }))
...@@ -96,7 +97,7 @@ module Api ...@@ -96,7 +97,7 @@ module Api
room.define_singleton_method(:set_meeting_id) {} room.define_singleton_method(:set_meeting_id) {}
# rubocop:enable Lint/EmptyBlock # rubocop:enable Lint/EmptyBlock
return render_error status: :bad_request unless room.save return render_error(status: :bad_request, errors: room&.errors&.to_a) unless room.save
# Finds all the RoomMeetingOptions that need to be updated # Finds all the RoomMeetingOptions that need to be updated
room_meeting_options_temp = RoomMeetingOption.includes(:meeting_option) room_meeting_options_temp = RoomMeetingOption.includes(:meeting_option)
...@@ -135,6 +136,9 @@ module Api ...@@ -135,6 +136,9 @@ module Api
.where('settings.name': settings_hash[:site_settings].keys, provider: 'greenlight') .where('settings.name': settings_hash[:site_settings].keys, provider: 'greenlight')
.pluck(:id, :'settings.name') .pluck(:id, :'settings.name')
.to_h .to_h
return render_error(status: :bad_request, errors: 'A site setting does not exist.') unless site_settings_temp
# Re-structure the data so it is in the format: { <site_setting_id>: { value: <site_setting_new_value> } } # Re-structure the data so it is in the format: { <site_setting_id>: { value: <site_setting_new_value> } }
site_settings = site_settings_temp.transform_values { |v| { value: settings_hash[:site_settings][v.to_sym] } } site_settings = site_settings_temp.transform_values { |v| { value: settings_hash[:site_settings][v.to_sym] } }
SiteSetting.update!(site_settings.keys, site_settings.values) SiteSetting.update!(site_settings.keys, site_settings.values)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment