scinote-web/db/migrate/20241218085759_add_form_response_permissions.rb

40 lines
1.7 KiB
Ruby

# frozen_string_literal: true
class AddFormResponsePermissions < ActiveRecord::Migration[7.0]
FORM_RESPONSE_MANAGE_PERMISSION = [
FormResponsePermissions::RESET,
FormResponsePermissions::CREATE
].freeze
FORM_RESPONSE_SUBMIT_PERMISSION = [
FormResponsePermissions::SUBMIT
].freeze
def up
@owner_role = UserRole.find_predefined_owner_role
@normal_user_role = UserRole.find_predefined_normal_user_role
@technician_user_role = UserRole.find_predefined_technician_role
@owner_role.permissions = @owner_role.permissions | (FORM_RESPONSE_SUBMIT_PERMISSION + FORM_RESPONSE_MANAGE_PERMISSION)
@normal_user_role.permissions = @normal_user_role.permissions | (FORM_RESPONSE_SUBMIT_PERMISSION + FORM_RESPONSE_MANAGE_PERMISSION)
@technician_user_role.permissions = @technician_user_role.permissions | FORM_RESPONSE_SUBMIT_PERMISSION
@owner_role.save(validate: false)
@normal_user_role.save(validate: false)
@technician_user_role.save(validate: false)
end
def down
@owner_role = UserRole.find_predefined_owner_role
@normal_user_role = UserRole.find_predefined_normal_user_role
@technician_user_role = UserRole.find_predefined_technician_role
@owner_role.permissions = @owner_role.permissions - (FORM_RESPONSE_SUBMIT_PERMISSION + FORM_RESPONSE_MANAGE_PERMISSION)
@normal_user_role.permissions = @normal_user_role.permissions - (FORM_RESPONSE_SUBMIT_PERMISSION + FORM_RESPONSE_MANAGE_PERMISSION)
@technician_user_role.permissions = @technician_user_role.permissions - FORM_RESPONSE_SUBMIT_PERMISSION
@owner_role.save(validate: false)
@normal_user_role.save(validate: false)
@technician_user_role.save(validate: false)
end
end