discourse/lib/post_locker.rb

24 lines
534 B
Ruby
Raw Normal View History

class PostLocker
def initialize(post, user)
@post, @user = post, user
end
def lock
Guardian.new(@user).ensure_can_lock_post!(@post)
Post.transaction do
@post.update_column(:locked_by_id, @user.id)
StaffActionLogger.new(@user).log_post_lock(@post, locked: true)
end
end
def unlock
Guardian.new(@user).ensure_can_lock_post!(@post)
Post.transaction do
@post.update_column(:locked_by_id, nil)
StaffActionLogger.new(@user).log_post_lock(@post, locked: false)
end
end
end