gitabu 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +33 -0
  4. data/CHANGELOG.md +3 -0
  5. data/Gemfile +10 -0
  6. data/Gemfile.lock +65 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +42 -0
  9. data/Rakefile +12 -0
  10. data/gitabu.gemspec +41 -0
  11. data/lib/gitabu/api/v3/actions.rb +3724 -0
  12. data/lib/gitabu/api/v3/activity.rb +835 -0
  13. data/lib/gitabu/api/v3/apps.rb +961 -0
  14. data/lib/gitabu/api/v3/billing.rb +217 -0
  15. data/lib/gitabu/api/v3/branches.rb +1098 -0
  16. data/lib/gitabu/api/v3/checks.rb +384 -0
  17. data/lib/gitabu/api/v3/code_scanning.rb +315 -0
  18. data/lib/gitabu/api/v3/codes_of_conduct.rb +92 -0
  19. data/lib/gitabu/api/v3/codespaces.rb +650 -0
  20. data/lib/gitabu/api/v3/collaborators.rb +341 -0
  21. data/lib/gitabu/api/v3/commits.rb +428 -0
  22. data/lib/gitabu/api/v3/dependabot.rb +419 -0
  23. data/lib/gitabu/api/v3/deploy_keys.rb +152 -0
  24. data/lib/gitabu/api/v3/deployments.rb +356 -0
  25. data/lib/gitabu/api/v3/emojis.rb +67 -0
  26. data/lib/gitabu/api/v3/enterprise_admin.rb +495 -0
  27. data/lib/gitabu/api/v3/gists.rb +552 -0
  28. data/lib/gitabu/api/v3/git.rb +409 -0
  29. data/lib/gitabu/api/v3/gitignore.rb +92 -0
  30. data/lib/gitabu/api/v3/interactions.rb +275 -0
  31. data/lib/gitabu/api/v3/issues.rb +1119 -0
  32. data/lib/gitabu/api/v3/licenses.rb +118 -0
  33. data/lib/gitabu/api/v3/markdown.rb +94 -0
  34. data/lib/gitabu/api/v3/meta.rb +142 -0
  35. data/lib/gitabu/api/v3/metrics.rb +302 -0
  36. data/lib/gitabu/api/v3/migrations.rb +631 -0
  37. data/lib/gitabu/api/v3/orgs.rb +1291 -0
  38. data/lib/gitabu/api/v3/packages.rb +686 -0
  39. data/lib/gitabu/api/v3/pages.rb +282 -0
  40. data/lib/gitabu/api/v3/projects.rb +693 -0
  41. data/lib/gitabu/api/v3/pulls.rb +816 -0
  42. data/lib/gitabu/api/v3/rate_limit.rb +67 -0
  43. data/lib/gitabu/api/v3/reactions.rb +734 -0
  44. data/lib/gitabu/api/v3/releases.rb +411 -0
  45. data/lib/gitabu/api/v3/repos.rb +1136 -0
  46. data/lib/gitabu/api/v3/scim.rb +214 -0
  47. data/lib/gitabu/api/v3/search.rb +217 -0
  48. data/lib/gitabu/api/v3/secret_scanning.rb +201 -0
  49. data/lib/gitabu/api/v3/teams.rb +1963 -0
  50. data/lib/gitabu/api/v3/users.rb +851 -0
  51. data/lib/gitabu/api/v3/webhooks.rb +379 -0
  52. data/lib/gitabu/builder.rb +37 -0
  53. data/lib/gitabu/client.rb +8 -0
  54. data/lib/gitabu/generator.rb +75 -0
  55. data/lib/gitabu/http_client.rb +96 -0
  56. data/lib/gitabu/items.rb +110 -0
  57. data/lib/gitabu/public/api/v3/actions.json +5779 -0
  58. data/lib/gitabu/public/api/v3/activity.json +1248 -0
  59. data/lib/gitabu/public/api/v3/apps.json +1174 -0
  60. data/lib/gitabu/public/api/v3/billing.json +183 -0
  61. data/lib/gitabu/public/api/v3/branches.json +1886 -0
  62. data/lib/gitabu/public/api/v3/checks.json +856 -0
  63. data/lib/gitabu/public/api/v3/code_scanning.json +666 -0
  64. data/lib/gitabu/public/api/v3/codes_of_conduct.json +41 -0
  65. data/lib/gitabu/public/api/v3/codespaces.json +884 -0
  66. data/lib/gitabu/public/api/v3/collaborators.json +464 -0
  67. data/lib/gitabu/public/api/v3/commits.json +830 -0
  68. data/lib/gitabu/public/api/v3/dependabot.json +596 -0
  69. data/lib/gitabu/public/api/v3/deploy_keys.json +195 -0
  70. data/lib/gitabu/public/api/v3/deployments.json +698 -0
  71. data/lib/gitabu/public/api/v3/emojis.json +18 -0
  72. data/lib/gitabu/public/api/v3/enterprise_admin.json +881 -0
  73. data/lib/gitabu/public/api/v3/gists.json +689 -0
  74. data/lib/gitabu/public/api/v3/git.json +735 -0
  75. data/lib/gitabu/public/api/v3/gitignore.json +41 -0
  76. data/lib/gitabu/public/api/v3/interactions.json +265 -0
  77. data/lib/gitabu/public/api/v3/issues.json +2359 -0
  78. data/lib/gitabu/public/api/v3/licenses.json +100 -0
  79. data/lib/gitabu/public/api/v3/markdown.json +59 -0
  80. data/lib/gitabu/public/api/v3/meta.json +69 -0
  81. data/lib/gitabu/public/api/v3/metrics.json +342 -0
  82. data/lib/gitabu/public/api/v3/migrations.json +960 -0
  83. data/lib/gitabu/public/api/v3/orgs.json +1989 -0
  84. data/lib/gitabu/public/api/v3/packages.json +1078 -0
  85. data/lib/gitabu/public/api/v3/pages.json +373 -0
  86. data/lib/gitabu/public/api/v3/projects.json +966 -0
  87. data/lib/gitabu/public/api/v3/pulls.json +1768 -0
  88. data/lib/gitabu/public/api/v3/rate_limit.json +18 -0
  89. data/lib/gitabu/public/api/v3/reactions.json +1425 -0
  90. data/lib/gitabu/public/api/v3/releases.json +753 -0
  91. data/lib/gitabu/public/api/v3/repos.json +2314 -0
  92. data/lib/gitabu/public/api/v3/scim.json +412 -0
  93. data/lib/gitabu/public/api/v3/search.json +408 -0
  94. data/lib/gitabu/public/api/v3/secret_scanning.json +385 -0
  95. data/lib/gitabu/public/api/v3/teams.json +3126 -0
  96. data/lib/gitabu/public/api/v3/users.json +956 -0
  97. data/lib/gitabu/public/api/v3/webhooks.json +667 -0
  98. data/lib/gitabu/run.rb +237 -0
  99. data/lib/gitabu/scraper.rb +86 -0
  100. data/lib/gitabu/templates/template.rb.erb +70 -0
  101. data/lib/gitabu/version.rb +6 -0
  102. data/lib/gitabu.rb +57 -0
  103. data/sig/gitabu.rbs +4 -0
  104. metadata +177 -0
@@ -0,0 +1,650 @@
1
+ # frozen_string_literal: true
2
+
3
+ # INFO ON GENERATED CODE
4
+ #
5
+ # This file is generated.
6
+ # See the contribution guide on how to improve the code.
7
+ #
8
+ # INFO ON GENERATED CODE
9
+
10
+ # Ruby gem that helps you work with Github API.
11
+ module Gitabu
12
+ # API module
13
+ module Api
14
+ # Github Version 3
15
+ module V3
16
+ # Class to display Codespaces result
17
+ class CodespacesResult
18
+ attr_accessor :result, :message
19
+
20
+ def initialize(result:, message:)
21
+ @result = result
22
+ @message = message
23
+ end
24
+ end
25
+
26
+ # Class to display error result
27
+ class CodespacesErrorResult
28
+ attr_accessor :result, :message
29
+
30
+ def initialize(result:, message:)
31
+ @result = result
32
+ @message = message
33
+ end
34
+ end
35
+
36
+ # Codespaces endpoints.
37
+ class Codespaces
38
+ def self.list_codespaces_in_a_repository_for_the_authenticated_user(owner: nil, repo: nil, options: nil)
39
+ new.list_codespaces_in_a_repository_for_the_authenticated_user(owner, repo, options)
40
+ end
41
+
42
+ def self.create_a_codespace_in_a_repository(owner: nil, repo: nil, ref: nil, location: nil, machine: nil, working_directory: nil, idle_timeout_minutes: nil, display_name: nil, options: nil)
43
+ new.create_a_codespace_in_a_repository(owner, repo, ref, location, machine, working_directory, idle_timeout_minutes, display_name, options)
44
+ end
45
+
46
+ def self.create_a_codespace_from_a_pull_request(owner: nil, repo: nil, pull_number: nil, location: nil, machine: nil, working_directory: nil, idle_timeout_minutes: nil, display_name: nil, options: nil)
47
+ new.create_a_codespace_from_a_pull_request(owner, repo, pull_number, location, machine, working_directory, idle_timeout_minutes, display_name, options)
48
+ end
49
+
50
+ def self.list_codespaces_for_the_authenticated_user(options: nil)
51
+ new.list_codespaces_for_the_authenticated_user(options)
52
+ end
53
+
54
+ def self.create_a_codespace_for_the_authenticated_user(repository_id: nil, ref: nil, location: nil, machine: nil, working_directory: nil, idle_timeout_minutes: nil, display_name: nil, pull_request: nil, options: nil)
55
+ new.create_a_codespace_for_the_authenticated_user(repository_id, ref, location, machine, working_directory, idle_timeout_minutes, display_name, pull_request, options)
56
+ end
57
+
58
+ def self.get_a_codespace_for_the_authenticated_user(codespace_name: nil, options: nil)
59
+ new.get_a_codespace_for_the_authenticated_user(codespace_name, options)
60
+ end
61
+
62
+ def self.update_a_codespace_for_the_authenticated_user(codespace_name: nil, machine: nil, display_name: nil, recent_folders: nil, options: nil)
63
+ new.update_a_codespace_for_the_authenticated_user(codespace_name, machine, display_name, recent_folders, options)
64
+ end
65
+
66
+ def self.delete_a_codespace_for_the_authenticated_user(codespace_name: nil, options: nil)
67
+ new.delete_a_codespace_for_the_authenticated_user(codespace_name, options)
68
+ end
69
+
70
+ def self.export_a_codespace_for_the_authenticated_user(codespace_name: nil, options: nil)
71
+ new.export_a_codespace_for_the_authenticated_user(codespace_name, options)
72
+ end
73
+
74
+ def self.get_details_about_a_codespace_export(codespace_name: nil, export_id: nil, options: nil)
75
+ new.get_details_about_a_codespace_export(codespace_name, export_id, options)
76
+ end
77
+
78
+ def self.start_a_codespace_for_the_authenticated_user(codespace_name: nil, options: nil)
79
+ new.start_a_codespace_for_the_authenticated_user(codespace_name, options)
80
+ end
81
+
82
+ def self.stop_a_codespace_for_the_authenticated_user(codespace_name: nil, options: nil)
83
+ new.stop_a_codespace_for_the_authenticated_user(codespace_name, options)
84
+ end
85
+
86
+ def self.list_available_machine_types_for_a_repository(owner: nil, repo: nil, options: nil)
87
+ new.list_available_machine_types_for_a_repository(owner, repo, options)
88
+ end
89
+
90
+ def self.list_machine_types_for_a_codespace(codespace_name: nil, options: nil)
91
+ new.list_machine_types_for_a_codespace(codespace_name, options)
92
+ end
93
+
94
+ def self.list_secrets_for_the_authenticated_user(options: nil)
95
+ new.list_secrets_for_the_authenticated_user(options)
96
+ end
97
+
98
+ def self.get_public_key_for_the_authenticated_user(options: nil)
99
+ new.get_public_key_for_the_authenticated_user(options)
100
+ end
101
+
102
+ def self.get_a_secret_for_the_authenticated_user(secret_name: nil, options: nil)
103
+ new.get_a_secret_for_the_authenticated_user(secret_name, options)
104
+ end
105
+
106
+ def self.create_or_update_a_secret_for_the_authenticated_user(secret_name: nil, encrypted_value: nil, key_id: nil, selected_repository_ids: nil, options: nil)
107
+ new.create_or_update_a_secret_for_the_authenticated_user(secret_name, encrypted_value, key_id, selected_repository_ids, options)
108
+ end
109
+
110
+ def self.delete_a_secret_for_the_authenticated_user(secret_name: nil, options: nil)
111
+ new.delete_a_secret_for_the_authenticated_user(secret_name, options)
112
+ end
113
+
114
+ def self.list_selected_repositories_for_a_user_secret(secret_name: nil, options: nil)
115
+ new.list_selected_repositories_for_a_user_secret(secret_name, options)
116
+ end
117
+
118
+ def self.set_selected_repositories_for_a_user_secret(secret_name: nil, selected_repository_ids: nil, options: nil)
119
+ new.set_selected_repositories_for_a_user_secret(secret_name, selected_repository_ids, options)
120
+ end
121
+
122
+ def self.add_a_selected_repository_to_a_user_secret(secret_name: nil, repository_id: nil, options: nil)
123
+ new.add_a_selected_repository_to_a_user_secret(secret_name, repository_id, options)
124
+ end
125
+
126
+ def self.remove_a_selected_repository_from_a_user_secret(secret_name: nil, repository_id: nil, options: nil)
127
+ new.remove_a_selected_repository_from_a_user_secret(secret_name, repository_id, options)
128
+ end
129
+
130
+ private
131
+
132
+ # list codespaces in a repository for the authenticated user
133
+ #
134
+ # @param owner [String]
135
+ # @param repo [String]
136
+ #
137
+ # @return CodespacesResult, CodespacesErrorResult
138
+ def list_codespaces_in_a_repository_for_the_authenticated_user(owner, repo, options)
139
+ auth = nil
140
+ body = nil
141
+ headers = { accept: 'application/vnd.github.v3+json' }
142
+ params = { per_page: options[:per_page], page: options[:page] }
143
+ uri = "#{Gitabu::BASE_URL}/repos/#{owner}/#{repo}/codespaces"
144
+
145
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
146
+
147
+ if http_call.successful?
148
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
149
+ else
150
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
151
+ end
152
+ end
153
+
154
+ # create a codespace in a repository
155
+ #
156
+ # @param owner [String]
157
+ # @param repo [String]
158
+ # @param ref [String] Git ref (typically a branch name) for this codespace
159
+ # @param location [String] Location for this codespace. Assigned by IP if not provided
160
+ # @param machine [String] Machine type to use for this codespace
161
+ # @param working_directory [String] Working directory for this codespace
162
+ # @param idle_timeout_minutes [Integer] Time in minutes before codespace stops from inactivity
163
+ # @param display_name [String] Display name for this codespace
164
+ #
165
+ # @return CodespacesResult, CodespacesErrorResult
166
+ def create_a_codespace_in_a_repository(owner, repo, ref, location, machine, working_directory, idle_timeout_minutes, display_name, _options)
167
+ auth = nil
168
+ body = { ref: ref, location: location, machine: machine, working_directory: working_directory, idle_timeout_minutes: idle_timeout_minutes, display_name: display_name }
169
+ headers = { accept: 'application/vnd.github.v3+json' }
170
+ params = nil
171
+ uri = "#{Gitabu::BASE_URL}/repos/#{owner}/#{repo}/codespaces"
172
+
173
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
174
+
175
+ if http_call.successful?
176
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
177
+ else
178
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
179
+ end
180
+ end
181
+
182
+ # create a codespace from a pull request
183
+ #
184
+ # @param owner [String]
185
+ # @param repo [String]
186
+ # @param pull_number [Integer]
187
+ # @param location [String] Location for this codespace. Assigned by IP if not provided
188
+ # @param machine [String] Machine type to use for this codespace
189
+ # @param working_directory [String] Working directory for this codespace
190
+ # @param idle_timeout_minutes [Integer] Time in minutes before codespace stops from inactivity
191
+ # @param display_name [String] Display name for this codespace
192
+ #
193
+ # @return CodespacesResult, CodespacesErrorResult
194
+ def create_a_codespace_from_a_pull_request(owner, repo, pull_number, location, machine, working_directory, idle_timeout_minutes, display_name, _options)
195
+ auth = nil
196
+ body = { location: location, machine: machine, working_directory: working_directory, idle_timeout_minutes: idle_timeout_minutes, display_name: display_name }
197
+ headers = { accept: 'application/vnd.github.v3+json' }
198
+ params = nil
199
+ uri = "#{Gitabu::BASE_URL}/repos/#{owner}/#{repo}/pulls/#{pull_number}/codespaces"
200
+
201
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
202
+
203
+ if http_call.successful?
204
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
205
+ else
206
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
207
+ end
208
+ end
209
+
210
+ # list codespaces for the authenticated user
211
+ #
212
+ # @params options [Hash]
213
+ #
214
+ # @return CodespacesResult, CodespacesErrorResult
215
+ def list_codespaces_for_the_authenticated_user(options)
216
+ auth = nil
217
+ body = nil
218
+ headers = { accept: 'application/vnd.github.v3+json' }
219
+ params = { per_page: options[:per_page], page: options[:page], repository_id: options[:repository_id] }
220
+ uri = "#{Gitabu::BASE_URL}/user/codespaces"
221
+
222
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
223
+
224
+ if http_call.successful?
225
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
226
+ else
227
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
228
+ end
229
+ end
230
+
231
+ # create a codespace for the authenticated user
232
+ #
233
+ # @param repository_id [Integer] Required. Repository id for this codespace
234
+ # @param ref [String] Git ref (typically a branch name) for this codespace
235
+ # @param location [String] Location for this codespace. Assigned by IP if not provided
236
+ # @param machine [String] Machine type to use for this codespace
237
+ # @param working_directory [String] Working directory for this codespace
238
+ # @param idle_timeout_minutes [Integer] Time in minutes before codespace stops from inactivity
239
+ # @param display_name [String] Display name for this codespace
240
+ # @param pull_request [Object] Required. Pull request number for this codespace
241
+ #
242
+ # @return CodespacesResult, CodespacesErrorResult
243
+ def create_a_codespace_for_the_authenticated_user(repository_id, ref, location, machine, working_directory, idle_timeout_minutes, display_name, pull_request, _options)
244
+ auth = nil
245
+ body = { repository_id: repository_id, ref: ref, location: location, machine: machine, working_directory: working_directory, idle_timeout_minutes: idle_timeout_minutes, display_name: display_name, pull_request: pull_request }
246
+ headers = { accept: 'application/vnd.github.v3+json' }
247
+ params = nil
248
+ uri = "#{Gitabu::BASE_URL}/user/codespaces"
249
+
250
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
251
+
252
+ if http_call.successful?
253
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
254
+ else
255
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
256
+ end
257
+ end
258
+
259
+ # get a codespace for the authenticated user
260
+ #
261
+ # @param codespace_name [String] The name of the codespace.
262
+ #
263
+ # @return CodespacesResult, CodespacesErrorResult
264
+ def get_a_codespace_for_the_authenticated_user(codespace_name, _options)
265
+ auth = nil
266
+ body = nil
267
+ headers = { accept: 'application/vnd.github.v3+json' }
268
+ params = nil
269
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}"
270
+
271
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
272
+
273
+ if http_call.successful?
274
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
275
+ else
276
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
277
+ end
278
+ end
279
+
280
+ # update a codespace for the authenticated user
281
+ #
282
+ # @param codespace_name [String] The name of the codespace.
283
+ # @param machine [String] A valid machine to transition this codespace to.
284
+ # @param display_name [String] Display name for this codespace
285
+ # @param recent_folders [Array of strings] Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in.
286
+ #
287
+ # @return CodespacesResult, CodespacesErrorResult
288
+ def update_a_codespace_for_the_authenticated_user(codespace_name, machine, display_name, recent_folders, _options)
289
+ auth = nil
290
+ body = { machine: machine, display_name: display_name, recent_folders: recent_folders }
291
+ headers = { accept: 'application/vnd.github.v3+json' }
292
+ params = nil
293
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}"
294
+
295
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :patch, params: params, uri: uri)
296
+
297
+ if http_call.successful?
298
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
299
+ else
300
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
301
+ end
302
+ end
303
+
304
+ # delete a codespace for the authenticated user
305
+ #
306
+ # @param codespace_name [String] The name of the codespace.
307
+ #
308
+ # @return CodespacesResult, CodespacesErrorResult
309
+ def delete_a_codespace_for_the_authenticated_user(codespace_name, _options)
310
+ auth = nil
311
+ body = nil
312
+ headers = { accept: 'application/vnd.github.v3+json' }
313
+ params = nil
314
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}"
315
+
316
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
317
+
318
+ if http_call.successful?
319
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
320
+ else
321
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
322
+ end
323
+ end
324
+
325
+ # export a codespace for the authenticated user
326
+ #
327
+ # @param codespace_name [String] The name of the codespace.
328
+ #
329
+ # @return CodespacesResult, CodespacesErrorResult
330
+ def export_a_codespace_for_the_authenticated_user(codespace_name, _options)
331
+ auth = nil
332
+ body = nil
333
+ headers = { accept: 'application/vnd.github.v3+json' }
334
+ params = nil
335
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}/exports"
336
+
337
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
338
+
339
+ if http_call.successful?
340
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
341
+ else
342
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
343
+ end
344
+ end
345
+
346
+ # get details about a codespace export
347
+ #
348
+ # @param codespace_name [String] The name of the codespace.
349
+ # @param export_id [String] The ID of the export operation, or latest. Currently only latest is currently supported.
350
+ #
351
+ # @return CodespacesResult, CodespacesErrorResult
352
+ def get_details_about_a_codespace_export(codespace_name, export_id, _options)
353
+ auth = nil
354
+ body = nil
355
+ headers = { accept: 'application/vnd.github.v3+json' }
356
+ params = nil
357
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}/exports/#{export_id}"
358
+
359
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
360
+
361
+ if http_call.successful?
362
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
363
+ else
364
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
365
+ end
366
+ end
367
+
368
+ # start a codespace for the authenticated user
369
+ #
370
+ # @param codespace_name [String] The name of the codespace.
371
+ #
372
+ # @return CodespacesResult, CodespacesErrorResult
373
+ def start_a_codespace_for_the_authenticated_user(codespace_name, _options)
374
+ auth = nil
375
+ body = nil
376
+ headers = { accept: 'application/vnd.github.v3+json' }
377
+ params = nil
378
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}/start"
379
+
380
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
381
+
382
+ if http_call.successful?
383
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
384
+ else
385
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
386
+ end
387
+ end
388
+
389
+ # stop a codespace for the authenticated user
390
+ #
391
+ # @param codespace_name [String] The name of the codespace.
392
+ #
393
+ # @return CodespacesResult, CodespacesErrorResult
394
+ def stop_a_codespace_for_the_authenticated_user(codespace_name, _options)
395
+ auth = nil
396
+ body = nil
397
+ headers = { accept: 'application/vnd.github.v3+json' }
398
+ params = nil
399
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}/stop"
400
+
401
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :post, params: params, uri: uri)
402
+
403
+ if http_call.successful?
404
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
405
+ else
406
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
407
+ end
408
+ end
409
+
410
+ # list available machine types for a repository
411
+ #
412
+ # @param owner [String]
413
+ # @param repo [String]
414
+ #
415
+ # @return CodespacesResult, CodespacesErrorResult
416
+ def list_available_machine_types_for_a_repository(owner, repo, options)
417
+ auth = nil
418
+ body = nil
419
+ headers = { accept: 'application/vnd.github.v3+json' }
420
+ params = { location: options[:location] }
421
+ uri = "#{Gitabu::BASE_URL}/repos/#{owner}/#{repo}/codespaces/machines"
422
+
423
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
424
+
425
+ if http_call.successful?
426
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
427
+ else
428
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
429
+ end
430
+ end
431
+
432
+ # list machine types for a codespace
433
+ #
434
+ # @param codespace_name [String] The name of the codespace.
435
+ #
436
+ # @return CodespacesResult, CodespacesErrorResult
437
+ def list_machine_types_for_a_codespace(codespace_name, _options)
438
+ auth = nil
439
+ body = nil
440
+ headers = { accept: 'application/vnd.github.v3+json' }
441
+ params = nil
442
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/#{codespace_name}/machines"
443
+
444
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
445
+
446
+ if http_call.successful?
447
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
448
+ else
449
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
450
+ end
451
+ end
452
+
453
+ # list secrets for the authenticated user
454
+ #
455
+ # @params options [Hash]
456
+ #
457
+ # @return CodespacesResult, CodespacesErrorResult
458
+ def list_secrets_for_the_authenticated_user(options)
459
+ auth = nil
460
+ body = nil
461
+ headers = { accept: 'application/vnd.github.v3+json' }
462
+ params = { per_page: options[:per_page], page: options[:page] }
463
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets"
464
+
465
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
466
+
467
+ if http_call.successful?
468
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
469
+ else
470
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
471
+ end
472
+ end
473
+
474
+ # get public key for the authenticated user
475
+ #
476
+ # @params options [Hash]
477
+ #
478
+ # @return CodespacesResult, CodespacesErrorResult
479
+ def get_public_key_for_the_authenticated_user(_options)
480
+ auth = nil
481
+ body = nil
482
+ headers = { accept: 'application/vnd.github.v3+json' }
483
+ params = nil
484
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/public-key"
485
+
486
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
487
+
488
+ if http_call.successful?
489
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
490
+ else
491
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
492
+ end
493
+ end
494
+
495
+ # get a secret for the authenticated user
496
+ #
497
+ # @param secret_name [String] secret_name parameter
498
+ #
499
+ # @return CodespacesResult, CodespacesErrorResult
500
+ def get_a_secret_for_the_authenticated_user(secret_name, _options)
501
+ auth = nil
502
+ body = nil
503
+ headers = { accept: 'application/vnd.github.v3+json' }
504
+ params = nil
505
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/#{secret_name}"
506
+
507
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
508
+
509
+ if http_call.successful?
510
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
511
+ else
512
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
513
+ end
514
+ end
515
+
516
+ # create or update a secret for the authenticated user
517
+ #
518
+ # @param secret_name [String] secret_name parameter
519
+ # @param encrypted_value [String] Value for your secret, encrypted with LibSodium using the public key retrieved from the Get the public key for the authenticated user endpoint.
520
+ # @param key_id [String] Required. ID of the key you used to encrypt the secret.
521
+ # @param selected_repository_ids [Array of strings] An array of repository ids that can access the user secret. You can manage the list of selected repositories using the List selected repositories for a user secret, Set selected repositories for a user secret, and Remove a selected repository from a user secret endpoints.
522
+ #
523
+ # @return CodespacesResult, CodespacesErrorResult
524
+ def create_or_update_a_secret_for_the_authenticated_user(secret_name, encrypted_value, key_id, selected_repository_ids, _options)
525
+ auth = nil
526
+ body = { encrypted_value: encrypted_value, key_id: key_id, selected_repository_ids: selected_repository_ids }
527
+ headers = { accept: 'application/vnd.github.v3+json' }
528
+ params = nil
529
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/#{secret_name}"
530
+
531
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
532
+
533
+ if http_call.successful?
534
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
535
+ else
536
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
537
+ end
538
+ end
539
+
540
+ # delete a secret for the authenticated user
541
+ #
542
+ # @param secret_name [String] secret_name parameter
543
+ #
544
+ # @return CodespacesResult, CodespacesErrorResult
545
+ def delete_a_secret_for_the_authenticated_user(secret_name, _options)
546
+ auth = nil
547
+ body = nil
548
+ headers = { accept: 'application/vnd.github.v3+json' }
549
+ params = nil
550
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/#{secret_name}"
551
+
552
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
553
+
554
+ if http_call.successful?
555
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
556
+ else
557
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
558
+ end
559
+ end
560
+
561
+ # list selected repositories for a user secret
562
+ #
563
+ # @param secret_name [String] secret_name parameter
564
+ #
565
+ # @return CodespacesResult, CodespacesErrorResult
566
+ def list_selected_repositories_for_a_user_secret(secret_name, _options)
567
+ auth = nil
568
+ body = nil
569
+ headers = { accept: 'application/vnd.github.v3+json' }
570
+ params = nil
571
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/#{secret_name}/repositories"
572
+
573
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :get, params: params, uri: uri)
574
+
575
+ if http_call.successful?
576
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
577
+ else
578
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
579
+ end
580
+ end
581
+
582
+ # set selected repositories for a user secret
583
+ #
584
+ # @param secret_name [String] secret_name parameter
585
+ # @param selected_repository_ids [Array of integers] Required. An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the List selected repositories for a user secret, Add a selected repository to a user secret, and Remove a selected repository from a user secret endpoints.
586
+ #
587
+ # @return CodespacesResult, CodespacesErrorResult
588
+ def set_selected_repositories_for_a_user_secret(secret_name, selected_repository_ids, _options)
589
+ auth = nil
590
+ body = { selected_repository_ids: selected_repository_ids }
591
+ headers = { accept: 'application/vnd.github.v3+json' }
592
+ params = nil
593
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/#{secret_name}/repositories"
594
+
595
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
596
+
597
+ if http_call.successful?
598
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
599
+ else
600
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
601
+ end
602
+ end
603
+
604
+ # add a selected repository to a user secret
605
+ #
606
+ # @param secret_name [String] secret_name parameter
607
+ # @param repository_id [Integer]
608
+ #
609
+ # @return CodespacesResult, CodespacesErrorResult
610
+ def add_a_selected_repository_to_a_user_secret(secret_name, repository_id, _options)
611
+ auth = nil
612
+ body = nil
613
+ headers = { accept: 'application/vnd.github.v3+json' }
614
+ params = nil
615
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/#{secret_name}/repositories/#{repository_id}"
616
+
617
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :put, params: params, uri: uri)
618
+
619
+ if http_call.successful?
620
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
621
+ else
622
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
623
+ end
624
+ end
625
+
626
+ # remove a selected repository from a user secret
627
+ #
628
+ # @param secret_name [String] secret_name parameter
629
+ # @param repository_id [Integer]
630
+ #
631
+ # @return CodespacesResult, CodespacesErrorResult
632
+ def remove_a_selected_repository_from_a_user_secret(secret_name, repository_id, _options)
633
+ auth = nil
634
+ body = nil
635
+ headers = { accept: 'application/vnd.github.v3+json' }
636
+ params = nil
637
+ uri = "#{Gitabu::BASE_URL}/user/codespaces/secrets/#{secret_name}/repositories/#{repository_id}"
638
+
639
+ http_call = Gitabu::HttpClient.call(auth: auth, body: body, headers: headers, method: :delete, params: params, uri: uri)
640
+
641
+ if http_call.successful?
642
+ CodespacesResult.new(result: http_call, message: "Successful call to endpoint. #{http_call.result.message}")
643
+ else
644
+ CodespacesErrorResult.new(result: http_call, message: "Failure while calling endpoint. #{http_call.result.message}")
645
+ end
646
+ end
647
+ end
648
+ end
649
+ end
650
+ end