BE: Promote Key Result to Objective

Summary

As folks begin to use OKR Management within GitLab, I expect they will create Objective and Key Result records which they will later want to promote to Key Result or Objective.

Proposal 1

We should allow users to promote Key Results to Objective type. Similarly, users should be able to promote Issues to Epics (like today's "promote" feature) and Tasks to Issues. This backend issue should create rules for the different types of work items and available options for promotion.

Proposal 2

We should allow users to update work_item_type from Key Results to Objective and vice versa. In the future, supported conversions will be controlled by work_item_type_overrides and work_item_hierarchy_restrictions records. As for current iteration, we may implement conversion and SupportedConversions graphQL widget with hardcoded Key Results <-> Objective functionality only. Current issuable promotion framework, where source record remains untouched should not be used.

Edited by Amanda Rueda