From 7bf1651a45c7e7dea8800c9a590a3727a8e3b7be Mon Sep 17 00:00:00 2001 From: Matthew Lemon Date: Tue, 30 Mar 2021 15:30:09 -0600 Subject: [PATCH] fix delete_conversations for the audit log fixes VICE-1277 flag=none Test Plan: - Tests pass Change-Id: If601bf89a9cf3efdcf68972dede4cfe8a3ac98c1 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/261910 Tested-by: Service Cloud Jenkins Reviewed-by: Rob Orton QA-Review: Rob Orton Product-Review: Rob Orton --- app/graphql/audit_log_field_extension.rb | 1 - app/graphql/mutations/delete_conversations.rb | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/graphql/audit_log_field_extension.rb b/app/graphql/audit_log_field_extension.rb index 806abfa9484..acadaef45b6 100644 --- a/app/graphql/audit_log_field_extension.rb +++ b/app/graphql/audit_log_field_extension.rb @@ -136,7 +136,6 @@ class AuditLogFieldExtension < GraphQL::Schema::FieldExtension next unless AuditLogFieldExtension.enabled? mutation = field.mutation - next if mutation == Mutations::DeleteConversations next if mutation == Mutations::AddConversationMessage logger = Logger.new(mutation, context, arguments) diff --git a/app/graphql/mutations/delete_conversations.rb b/app/graphql/mutations/delete_conversations.rb index a33baafbb05..32afb7c4f85 100644 --- a/app/graphql/mutations/delete_conversations.rb +++ b/app/graphql/mutations/delete_conversations.rb @@ -28,6 +28,7 @@ class Mutations::DeleteConversations < Mutations::BaseMutation def resolve(input:) errors = {} + context[:deleted_models] = {conversations: {}} # rubocop:disable Style/BlockDelimiters resolved_ids = input[:ids].map { |id| conversation = Conversation.find_by(id: id) @@ -43,6 +44,7 @@ class Mutations::DeleteConversations < Mutations::BaseMutation end participant_record.remove_messages(:all) + context[:deleted_models][:conversations][conversation.id] = conversation conversation.id }.compact # rubocop:enable Style/BlockDelimiters @@ -54,4 +56,8 @@ class Mutations::DeleteConversations < Mutations::BaseMutation rescue ActiveRecord::RecordInvalid => e errors_for(e.record) end + + def self.conversation_ids_log_entry(entry, context) + context[:deleted_models][:conversations][entry] + end end