scinote-web/lib/tasks/sign_up_constraint.rake

31 lines
838 B
Ruby
Raw Normal View History

namespace :sign_up_constraint do
desc 'Adds email domain constraint to the users table. '\
'E.g: scinote.net'
task :email_domain, [:domain] => :environment do |_, args|
include DatabaseHelper
2021-07-23 17:56:28 +08:00
if args.blank? || args[:domain].blank?
puts 'Please add the email domain'
return
end
domain = args[:domain]
domain = domain.strip.gsub(/\./, '\\.')
2016-11-29 23:53:40 +08:00
add_check_constraint(
'users',
'email_must_be_company_email',
"email ~* '^[A-Za-z0-9._%-+]+@#{domain}'"
)
puts "Created the following domain constraint: #{args[:domain]}"
end
desc 'Remove email domain constraint from the users table.'
task remove_domain: :environment do
2016-11-29 23:53:40 +08:00
include DatabaseHelper
drop_constraint('users', 'email_must_be_company_email')
puts 'Email constraint has been removed'
end
end