7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/gitlab/database_importers/work_items/hierarchy_restrictions_importer.rb', line 7
def self.upsert_restrictions
objective = find_or_create_type(::WorkItems::Type::TYPE_NAMES[:objective])
key_result = find_or_create_type(::WorkItems::Type::TYPE_NAMES[:key_result])
issue = find_or_create_type(::WorkItems::Type::TYPE_NAMES[:issue])
task = find_or_create_type(::WorkItems::Type::TYPE_NAMES[:task])
incident = find_or_create_type(::WorkItems::Type::TYPE_NAMES[:incident])
epic = find_or_create_type(::WorkItems::Type::TYPE_NAMES[:epic])
ticket = find_or_create_type(::WorkItems::Type::TYPE_NAMES[:ticket])
restrictions = [
{ parent_type_id: objective.id, child_type_id: objective.id, maximum_depth: 9 },
{ parent_type_id: objective.id, child_type_id: key_result.id, maximum_depth: 1 },
{ parent_type_id: issue.id, child_type_id: task.id, maximum_depth: 1 },
{ parent_type_id: incident.id, child_type_id: task.id, maximum_depth: 1 },
{ parent_type_id: epic.id, child_type_id: epic.id, maximum_depth: 9 },
{ parent_type_id: epic.id, child_type_id: issue.id, maximum_depth: 1 },
{ parent_type_id: ticket.id, child_type_id: task.id, maximum_depth: 1 }
]
::WorkItems::HierarchyRestriction.upsert_all(
restrictions,
unique_by: :index_work_item_hierarchy_restrictions_on_parent_and_child
)
end
|