2021-03-11 19:13:27 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module BulkImports
|
|
|
|
module Groups
|
|
|
|
module Graphql
|
|
|
|
module GetLabelsQuery
|
|
|
|
extend self
|
|
|
|
|
|
|
|
def to_s
|
|
|
|
<<-'GRAPHQL'
|
2021-04-29 21:17:54 +05:30
|
|
|
query ($full_path: ID!, $cursor: String, $per_page: Int) {
|
2021-03-11 19:13:27 +05:30
|
|
|
group(fullPath: $full_path) {
|
2021-04-29 21:17:54 +05:30
|
|
|
labels(first: $per_page, after: $cursor, onlyGroupLabels: true) {
|
2021-03-11 19:13:27 +05:30
|
|
|
page_info: pageInfo {
|
2021-04-29 21:17:54 +05:30
|
|
|
next_page: endCursor
|
2021-03-11 19:13:27 +05:30
|
|
|
has_next_page: hasNextPage
|
|
|
|
}
|
|
|
|
nodes {
|
|
|
|
title
|
|
|
|
description
|
|
|
|
color
|
2021-04-17 20:07:23 +05:30
|
|
|
created_at: createdAt
|
|
|
|
updated_at: updatedAt
|
2021-03-11 19:13:27 +05:30
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
GRAPHQL
|
|
|
|
end
|
|
|
|
|
|
|
|
def variables(context)
|
|
|
|
{
|
|
|
|
full_path: context.entity.source_full_path,
|
2021-04-29 21:17:54 +05:30
|
|
|
cursor: context.tracker.next_page,
|
|
|
|
per_page: ::BulkImports::Tracker::DEFAULT_PAGE_SIZE
|
2021-03-11 19:13:27 +05:30
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
def base_path
|
|
|
|
%w[data group labels]
|
|
|
|
end
|
|
|
|
|
|
|
|
def data_path
|
|
|
|
base_path << 'nodes'
|
|
|
|
end
|
|
|
|
|
|
|
|
def page_info_path
|
|
|
|
base_path << 'page_info'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|