summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/import_entities/import_groups/graphql/typedefs.graphql
blob: 83d17a5baa7ad00b47fd7d7f394cc1b8910b8293 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
type ClientBulkImportAvailableNamespace {
  id: ID!
  fullPath: String!
}

type ClientBulkImportTarget {
  targetNamespace: String!
  newName: String!
}

type ClientBulkImportSourceGroupConnection {
  nodes: [ClientBulkImportSourceGroup!]!
  pageInfo: ClientBulkImportPageInfo!
  versionValidation: ClientBulkImportVersionValidation!
}

type ClientBulkImportProgress {
  id: ID!
  status: String!
  message: String
}

type ClientBulkImportValidationError {
  field: String!
  message: String!
}

type ClientBulkImportSourceGroup {
  id: ID!
  webUrl: String!
  fullPath: String!
  fullName: String!
  lastImportTarget: ClientBulkImportTarget
  progress: ClientBulkImportProgress
}

type ClientBulkImportPageInfo {
  page: Int!
  perPage: Int!
  total: Int!
  totalPages: Int!
}

type ClientBulkImportNamespaceSuggestion {
  id: ID!
  exists: Boolean!
  suggestions: [String!]!
}

type ClientBulkImportVersionValidation {
  features: ClientBulkImportVersionValidationFeatures!
}

type ClientBulkImportVersionValidationFeatures {
  project_migration: ClientBulkImportVersionValidationFeature!
  sourceInstanceVersion: String!
}

type ClientBulkImportVersionValidationFeature {
  available: Boolean!
  min_version: String!
}

extend type Query {
  bulkImportSourceGroups(
    page: Int!
    perPage: Int!
    filter: String!
  ): ClientBulkImportSourceGroupConnection!
  availableNamespaces: [ClientBulkImportAvailableNamespace!]!
}

input ImportRequestInput {
  sourceGroupId: ID!
  targetNamespace: String!
  newName: String!
  migrateProjects: Boolean!
}

extend type Mutation {
  importGroups(importRequests: [ImportRequestInput!]!): [ClientBulkImportSourceGroup!]!
  updateImportStatus(id: ID, status: String!): ClientBulkImportProgress
}