Skip to content

Refactor `Issuable::Clone::BaseService` to use services

Luke Duncalfe requested to merge 13426-refactor-content-rewriter into master

What does this MR do?

This MR refactors Issuable::Clone::BaseService to use services.

Previously Issuable::Clone::BaseService copied an issuable's notes, award emoji, and award emoji on the issuable notes to another issue through Issuable::Clone::ContentRewriter.

As preparatory work for #13426 (closed) we need to be able to copy design notes and their award emoji independently of Issuable::Clone::ContentRewriter which is highly-coupled to issuables.

Issuable::Clone::BaseService now calls three new services:

  • Notes::CopyService
  • AwardEmoji::CopyService
  • MarkdownContentRewriterService

Which contain re-usable logic to perform those actions.

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Edited by Luke Duncalfe

Merge request reports