25 lines
842 B
Ruby
25 lines
842 B
Ruby
# frozen_string_literal: true
|
|
|
|
USAGE = <<~USAGE
|
|
Usage:
|
|
bundle exec rails runner script/conversation_message_lock.rb ACCOUNT_ID CONVERSATION_DISPLAY_ID lock "reason"
|
|
bundle exec rails runner script/conversation_message_lock.rb ACCOUNT_ID CONVERSATION_DISPLAY_ID unlock
|
|
USAGE
|
|
|
|
account_id, conversation_display_id, action, reason = ARGV
|
|
|
|
abort USAGE if account_id.blank? || conversation_display_id.blank? || action.blank?
|
|
|
|
conversation = Account.find(account_id).conversations.find_by!(display_id: conversation_display_id)
|
|
|
|
case action
|
|
when 'lock'
|
|
conversation.lock_message_creation!(reason: reason)
|
|
puts "Locked message creation for conversation #{conversation.display_id}"
|
|
when 'unlock'
|
|
conversation.unlock_message_creation!
|
|
puts "Unlocked message creation for conversation #{conversation.display_id}"
|
|
else
|
|
abort USAGE
|
|
end
|