gitea-client 1.2.2 → 0.11.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b75477f05c754a32a9fc8e41b1a31930f47d801b1ddda915bc743adf6c11440
4
- data.tar.gz: d3bc6a211bd17fbd06f8fde913d6b2bcc8cd8cd1ce21b102da93f29dda25a7bc
3
+ metadata.gz: 0db742226d0d0f4209a99688ec12c9d5fd6240ab83dbf15b702052d15b479a3d
4
+ data.tar.gz: a539610506dc88e248c2749f7e851345158c05154e56e5ce68fd88608353e0e5
5
5
  SHA512:
6
- metadata.gz: 25f5237e147d81e0d83c316028b61425ad4ce85b2a3ec397ca37ae33a776aa7f867f9be75388e0916cbfcf2e7a007a8263916e437544252e33dbc33a159b7cd7
7
- data.tar.gz: 6924cf7e55139ac00733bede4f9160dc50998583634d0e1d6dd3a08c45b23d67565c7851061cbd11f790972534697644a43f2281bc2084b78c2a1ecfac68aee3
6
+ metadata.gz: 83e651e7955d95d905d731a4d5efb2d1f704701d0fc86e917b63596155ecfc78f6f6ee9c0e1c47d5eae7a4c6fe02ec24df13fbeb54d1202e988d2ef11ebddf40
7
+ data.tar.gz: bfb5ad80e9a71e2aea621af0ceaa700bb14828a526d61c89622ec9d20c02bb97ce93b5dce0bfdc248db9af7abc4d9420e8f0a4118b5108ceff1bbbba2f066b9e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitea-client (1.1.0)
4
+ gitea-client (0.10.6)
5
5
  rest-client (~> 2.1.0)
6
6
 
7
7
  GEM
@@ -0,0 +1,17 @@
1
+ module Gitea
2
+ module Api
3
+ module Activity
4
+ def get_activity(opt={})
5
+ @http.get("/activity", opt)
6
+ end
7
+
8
+ def get_activity_develop(opt={})
9
+ @http.get("/activity/develop", opt)
10
+ end
11
+
12
+ def get_activity_project(opt={})
13
+ @http.get("/activity/project", opt)
14
+ end
15
+ end # Activity
16
+ end # Api
17
+ end # Gitea
@@ -13,7 +13,6 @@ module Gitea
13
13
  # @option opts [string] gitea_token [选填] 用户token
14
14
  def initialize(opts)
15
15
  @config = Config.new(opts)
16
- Gitea::Common::Logging.set_log_file(@config.log_filepath)
17
16
  @http = Http.new(@config)
18
17
  end
19
18
 
@@ -45,6 +44,7 @@ module Gitea
45
44
  include Gitea::Api::Notification
46
45
  include Gitea::Api::Miscellaneous
47
46
  include Gitea::Api::Admin
47
+ include Gitea::Api::Activity
48
48
  end
49
49
  end # User
50
50
  end # Gitea
@@ -2,7 +2,7 @@ module Gitea
2
2
  module Api
3
3
 
4
4
  class Config < Common::Struct::Base
5
- attrs :domain, :base_url, :username, :password, :token, :open_timeout, :read_timeout, :log_filepath
5
+ attrs :domain, :base_url, :username, :password, :token, :open_timeout, :read_timeout
6
6
 
7
7
  def initialize(opts = {})
8
8
  super(opts)
@@ -65,10 +65,7 @@ module Gitea
65
65
 
66
66
  headers[:params] = http_options[:query] || {}
67
67
  headers[:params].merge!({access_token: @config.token}) if @config.token
68
- logger.info("Gitea Client Begin a Request!...")
69
- logger.info("Send HTTP request, verb: #{verb}, http_options: #{http_options}")
70
- logger.info("Relative Url: #{api_url}")
71
- logger.info("Headers: #{headers}")
68
+ logger.debug("Send HTTP request, verb: #{verb}, http_options: #{http_options}")
72
69
 
73
70
  request = RestClient::Request.new(
74
71
  :method => verb,
@@ -105,21 +102,12 @@ module Gitea
105
102
  end
106
103
  response = RestClient::Response.create(nil, response, request)
107
104
  response.return!
108
- end
109
-
110
- begin
111
- if response.headers.has_key?(:x_total)
112
- return {data: JSON.parse(response), total_data: response.headers[:x_total]}
113
- else
114
- return JSON.parse(response)
115
- end
116
- rescue => e
117
- logger.error(e.to_s)
118
- return {}
119
- end
120
-
121
- logger.info("Gitea Hat Client Success End a Request!...")
122
-
105
+ end
106
+ if response.headers.has_key?(:x_total) || response.headers.has_key?(:x_total_count)
107
+ return {data: JSON.parse(response), total_data: response.headers[:x_total_count]}
108
+ else
109
+ return JSON.parse(response)
110
+ end #rescue {}
123
111
  end
124
112
 
125
113
  def get_user_agent
@@ -45,10 +45,6 @@ module Gitea
45
45
  @http.get("/repos/#{owner}/#{repo}/issues/#{index}", opt)
46
46
  end
47
47
 
48
- def delete_repos_issues_by_owner_repo_index(owner, repo, index, opt = {})
49
- @http.delete("/repos/#{owner}/#{repo}/issues/#{index}", opt)
50
- end
51
-
52
48
  def patch_repos_issues_by_owner_repo_index(owner, repo, index, opt = {})
53
49
  @http.patch("/repos/#{owner}/#{repo}/issues/#{index}", opt)
54
50
  end
@@ -125,10 +121,6 @@ module Gitea
125
121
  @http.delete("/repos/#{owner}/#{repo}/issues/#{index}/subscriptions/#{user}", opt)
126
122
  end
127
123
 
128
- def get_repos_issues_timeline_owner_repo_index(owner, repo, index, opt = {})
129
- @http.get("/repos/#{owner}/#{repo}/issues/#{index}/timeline", opt)
130
- end
131
-
132
124
  def get_repos_issues_times_by_owner_repo_index(owner, repo, index, opt = {})
133
125
  @http.get("/repos/#{owner}/#{repo}/issues/#{index}/times", opt)
134
126
  end
@@ -9,10 +9,6 @@ module Gitea
9
9
  @http.post("/markdown/new", opt)
10
10
  end
11
11
 
12
- def get_nodeinfo(opt = {})
13
- @http.get("/nodeinfo", opt)
14
- end
15
-
16
12
  def get_signing_key_gpg(opt={})
17
13
  @http.get("/signing-key.gpg", opt)
18
14
  end
@@ -141,10 +141,6 @@ module Gitea
141
141
  @http.get("/teams/#{id}/repos", opt)
142
142
  end
143
143
 
144
- def get_teams_repos_by_id_org_repo(id, org, repo, opt = {})
145
- @http.get("/teams/#{id}/repos/#{org}/#{repo}", opt)
146
- end
147
-
148
144
  def put_teams_repos_by_id_org_repo(id, org, repo, opt={})
149
145
  @http.put("/teams/#{id}/repos/#{org}/#{repo}", opt)
150
146
  end
@@ -158,11 +154,7 @@ module Gitea
158
154
  end
159
155
 
160
156
  def get_users_orgs_by_username(username, opt={})
161
- @http.get("/users/#{username}/orgs", opt)
162
- end
163
-
164
- def get_users_orgs_permissions_by_username_org(username, org, opt={})
165
- @http.get("/users/#{username}/orgs/#{org}/permissions", opt)
157
+ @http.get("/users/#{usernmae}/orgs", opt)
166
158
  end
167
159
 
168
160
  end # Organization
@@ -29,6 +29,15 @@ module Gitea
29
29
  @http.get("/repos/#{owner}/#{repo}/assignees", opt)
30
30
  end
31
31
 
32
+ # get repository blame
33
+ def get_repos_blame_by_owner_repo(owner, repo, opt = {})
34
+ @http.get("/repos/#{owner}/#{repo}/blame", opt)
35
+ end
36
+
37
+ def get_repos_branch_name_set_by_owner_repo(owner, repo, opt = {})
38
+ @http.get("/repos/#{owner}/#{repo}/branch_name_set", opt)
39
+ end
40
+
32
41
  def get_repos_branch_protections_by_owner_repo(owner, repo, opt = {})
33
42
  @http.get("/repos/#{owner}/#{repo}/branch_protections", opt)
34
43
  end
@@ -49,6 +58,10 @@ module Gitea
49
58
  @http.patch("/repos/#{owner}/#{repo}/branch_protections/#{name}", opt)
50
59
  end
51
60
 
61
+ def get_repos_branch_tag_count_by_owner_repo(owner, repo, opt={})
62
+ @http.get("/repos/#{owner}/#{repo}/branch_tag_count", opt)
63
+ end
64
+
52
65
  def get_repos_branches_by_owner_repo(owner, repo, opt = {})
53
66
  @http.get("/repos/#{owner}/#{repo}/branches", opt)
54
67
  end
@@ -57,6 +70,14 @@ module Gitea
57
70
  @http.post("/repos/#{owner}/#{repo}/branches", opt)
58
71
  end
59
72
 
73
+ def get_repos_branches_branches_slice_by_owner_repo(owner, repo, opt = {})
74
+ @http.get("/repos/#{owner}/#{repo}/branches/branches_slice", opt)
75
+ end
76
+
77
+ def get_repos_branches_branches_slice_by_owner_repo(owner, repo, opt = {})
78
+ @http.get("/repos/#{owner}/#{repo}/branches/branches_slice", opt)
79
+ end
80
+
60
81
  def get_repos_branches_by_owner_repo_branch(owner, repo, branch, opt = {})
61
82
  @http.get("/repos/#{owner}/#{repo}/branches/#{branch}", opt)
62
83
  end
@@ -65,8 +86,12 @@ module Gitea
65
86
  @http.delete("/repos/#{owner}/#{repo}/branches/#{branch}", opt)
66
87
  end
67
88
 
68
- def get_repos_collaborators_by_owner_repo(owner, repo, opt = {})
69
- @http.get("/repos/#{owner}/#{repo}/collaborators", opt)
89
+ def get_repos_code_stats_by_owner_repo(owner, repo, opt = {})
90
+ @http.get("/repos/#{owner}/#{repo}/code_stats", opt)
91
+ end
92
+
93
+ def get_repos_compare_by_owner_repo_from_to(owner, repo, from, to, opt = {})
94
+ @http.get("/repos/#{owner}/#{repo}/compare/#{to}...#{from}", opt)
70
95
  end
71
96
 
72
97
  def get_repos_collaborators_by_owner_repo_collaborator(owner, repo, collaborator, opt = {})
@@ -81,18 +106,14 @@ module Gitea
81
106
  @http.delete("/repos/#{owner}/#{repo}/collaborators/#{collaborator}", opt)
82
107
  end
83
108
 
84
- def get_repos_pulls_files_by_owner_repo_index(owner, repo, index, opt = {})
85
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/files", opt)
86
- end
87
-
88
- def get_repos_collaborators_permission_by_owner_repo_collaborator(owner, repo, collaborator, opt = {})
89
- @http.get("/repos/#{owner}/#{repo}/collaborators/#{collaborator}/permission", opt)
90
- end
91
-
92
109
  def get_repos_commits_by_owner_repo(owner, repo, opt = {})
93
110
  @http.get("/repos/#{owner}/#{repo}/commits", opt)
94
111
  end
95
112
 
113
+ def get_repos_commits_diff_by_owner_repo_sha(owner, repo, sha, opt = {})
114
+ @http.get("/repos/#{owner}/#{repo}/commits/#{sha}/diff", opt)
115
+ end
116
+
96
117
  def get_repos_commits_status_by_owner_repo_ref(owner, repo, ref, opt = {})
97
118
  @http.get("/repos/#{owner}/#{repo}/commits/#{ref}/status", opt)
98
119
  end
@@ -101,28 +122,16 @@ module Gitea
101
122
  @http.get("/repos/#{owner}/#{repo}/commits/#{ref}/statuses", opt)
102
123
  end
103
124
 
104
- def get_repos_push_mirrors_by_owner_repo(owner, repo, opt = {})
105
- @http.get("/repos/#{owner}/#{repo}/push_mirrors", opt)
106
- end
107
-
108
- def post_repos_push_mirrors_by_owner_repo(owner, repo, opt = {})
109
- @http.post("/repos/#{owner}/#{repo}/push_mirrors", opt)
125
+ def get_repos_commits_slice_by_owner_repo(owner, repo, opt = {})
126
+ @http.get("/repos/#{owner}/#{repo}/commits_slice", opt)
110
127
  end
111
128
 
112
129
  def get_repos_contents_by_owner_repo(owner, repo, opt = {})
113
130
  @http.get("/repos/#{owner}/#{repo}/contents", opt)
114
131
  end
115
132
 
116
- def post_repos_push_mirrors_sync_by_owner_repo(owner, repo, opt = {})
117
- @http.post("/repos/#{owner}/#{repo}/push_mirrors-sync", opt)
118
- end
119
-
120
- def get_repos_push_mirrors_by_owner_repo_name(owner, repo, name, opt = {})
121
- @http.get("/repos/#{owner}/#{repo}/push_mirrors/#{name}", opt)
122
- end
123
-
124
- def delete_repos_push_mirrors_by_owner_repo_name(owner, repo, name, opt = {})
125
- @http.delete("/repos/#{owner}/#{repo}/push_mirrors/#{name}", opt)
133
+ def post_repos_contents_batch_by_owner_repo(owner, repo, opt = {})
134
+ @http.post("/repos/#{owner}/#{repo}/contents/batch", opt)
126
135
  end
127
136
 
128
137
  def get_repos_contents_by_owner_repo_filepath(owner, repo, filepath, opt = {})
@@ -141,14 +150,26 @@ module Gitea
141
150
  @http.delete("/repos/#{owner}/#{repo}/contents/#{filepath}", opt)
142
151
  end
143
152
 
144
- def post_repos_diffpatch_by_owner_repo(owner, repo, opt = {})
145
- @http.post("/repos/#{owner}/#{repo}/diffpatch", opt)
153
+ def get_repos_contributors_by_owner_repo(owner, repo, opt={})
154
+ @http.get("/repos/#{owner}/#{repo}/contributors", opt)
155
+ end
156
+
157
+ def get_repos_count_by_owner_repo(owner, repo, opt={})
158
+ @http.get("/repos/#{owner}/#{repo}/count", opt)
146
159
  end
147
160
 
148
161
  def get_repos_editorconfig_by_owner_repo_filepath(owner, repo, filepath, opt = {})
149
162
  @http.get("/repos/#{owner}/#{repo}/editorconfig/#{filepath}", opt)
150
163
  end
151
164
 
165
+ def get_repos_file_commits_by_owner_repo_filepath(owner, repo, filepath, opt={})
166
+ @http.get("/repos/#{owner}/#{repo}/file_commits/#{filepath}", opt)
167
+ end
168
+
169
+ def get_repos_find_by_owner_repo_filepath(owner, repo, filepath, opt={})
170
+ @http.get("/repos/#{owner}/#{repo}/find", opt)
171
+ end
172
+
152
173
  def get_repos_forks_by_owner_repo(owner, repo, opt = {})
153
174
  @http.get("/repos/#{owner}/#{repo}/forks", opt)
154
175
  end
@@ -165,14 +186,6 @@ module Gitea
165
186
  @http.get("/repos/#{owner}/#{repo}/git/commits/#{sha}", opt)
166
187
  end
167
188
 
168
- def get_repos_git_commits_by_owner_repo_sha_difftype(owner, repo, sha, diffType, opt = {})
169
- @http.get("/repos/#{owner}/#{repo}/git/commits/#{sha}.#{diffType}", opt)
170
- end
171
-
172
- def get_repos_git_notes_by_owner_repo_sha(owner, repo, sha, opt = {})
173
- @http.get("/repos/#{owner}/#{repo}/git/notes/#{sha}", opt)
174
- end
175
-
176
189
  def get_repos_git_refs_by_owner_repo(owner, repo, opt = {})
177
190
  @http.get("/repos/#{owner}/#{repo}/git/refs", opt)
178
191
  end
@@ -225,6 +238,10 @@ module Gitea
225
238
  @http.patch("/repos/#{owner}/#{repo}/hooks/#{id}", opt)
226
239
  end
227
240
 
241
+ def get_repos_hooks_hooktasks_by_owner_repo_id(owner, repo, id, opt={})
242
+ @http.get("/repos/#{owner}/#{repo}/hooks/#{id}/hooktasks", opt)
243
+ end
244
+
228
245
  def post_repos_hooks_tests_by_owner_repo_id(owner, repo, id, opt = {})
229
246
  @http.post("/repos/#{owner}/#{repo}/hooks/#{id}/tests", opt)
230
247
  end
@@ -253,10 +270,6 @@ module Gitea
253
270
  @http.get("/repos/#{owner}/#{repo}/languages", opt)
254
271
  end
255
272
 
256
- def get_repos_media_by_owner_repo_filepath(owner, repo, filepath, opt = {})
257
- @http.get("/repos/#{owner}/#{repo}/media/#{filepath}", opt)
258
- end
259
-
260
273
  def post_repos_mirror_sysnc_by_owner_repo(owner, repo, opt = {})
261
274
  @http.post("/repos/#{owner}/#{repo}/mirror-sync", opt)
262
275
  end
@@ -269,12 +282,20 @@ module Gitea
269
282
  @http.post("/repos/#{owner}/#{repo}/pulls", opt)
270
283
  end
271
284
 
285
+ def get_repos_pulls_by_owner_repo_index(owner, repo, index, opt = {})
286
+ @http.get("/repos/#{owner}/#{repo}/pulls/#{index}", opt)
287
+ end
288
+
272
289
  def patch_repos_pulls_by_owner_repo_index(owner, repo, index, opt = {})
273
290
  @http.patch("/repos/#{owner}/#{repo}/pulls/#{index}", opt)
274
291
  end
275
292
 
276
- def get_repos_pulls_by_owner_repo_index_difftype(owner, repo, index, diffType, opt = {})
277
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}.#{diffType}", opt)
293
+ def get_repos_pulls_diff_by_owner_repo_index(owner, repo, index, opt = {})
294
+ @http.get("/repos/#{owner}/#{repo}/pulls/#{index}.diff", opt)
295
+ end
296
+
297
+ def get_repos_pulls_patch_by_owner_repo_index(owner, repo, index, opt = {})
298
+ @http.get("/repos/#{owner}/#{repo}/pulls/#{index}.patch", opt)
278
299
  end
279
300
 
280
301
  def get_repos_pulls_commits_by_owner_repo_index(owner, repo, index, opt = {})
@@ -289,10 +310,6 @@ module Gitea
289
310
  @http.post("/repos/#{owner}/#{repo}/pulls/#{index}/merge", opt)
290
311
  end
291
312
 
292
- def delete_repos_pulls_merge_by_owner_repo_index(owner, repo, index, opt = {})
293
- @http.delete("/repos/#{owner}/#{repo}/pulls/#{index}/merge", opt)
294
- end
295
-
296
313
  def post_repos_pulls_requested_reviewers_by_owner_repo_index(owner, repo, index, opt = {})
297
314
  @http.post("/repos/#{owner}/#{repo}/pulls/#{index}/requested_reviewers", opt)
298
315
  end
@@ -309,14 +326,6 @@ module Gitea
309
326
  @http.post("/repos/#{owner}/#{repo}/pulls/#{index}/reviews", opt)
310
327
  end
311
328
 
312
- def get_repos_pulls_reviews_by_owner_repo_index_id(owner, repo, index, id, opt = {})
313
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/reviews/#{id}", opt)
314
- end
315
-
316
- def post_repos_pulls_reviews_by_owner_repo_index_id(owner, repo, index, opt = {})
317
- @http.post("/repos/#{owner}/#{repo}/pulls/#{index}/reviews/#{id}", opt)
318
- end
319
-
320
329
  def delete_repos_pulls_reviews_by_owner_repo_index(owner, repo, index, opt = {})
321
330
  @http.delete("/repos/#{owner}/#{repo}/pulls/#{index}/reviews", opt)
322
331
  end
@@ -337,10 +346,26 @@ module Gitea
337
346
  @http.post("/repos/#{owner}/#{repo}/pulls/#{index}/update", opt)
338
347
  end
339
348
 
349
+ def get_repos_pulls_versions_by_owner_repo_index(owner, repo, index, opt = {})
350
+ @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/versions", opt)
351
+ end
352
+
353
+ def get_repos_pulls_versions_diff_by_owner_repo_index_version_id(owner, repo, index, version_id, opt={})
354
+ @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/versions/#{version_id}/diff", opt)
355
+ end
356
+
340
357
  def get_repos_raw_by_owner_repo_filepath(owner, repo, filepath, opt = {})
341
358
  @http.get("/repos/#{owner}/#{repo}/raw/#{filepath}", opt)
342
359
  end
343
360
 
361
+ def get_repos_readme_by_owner_repo(owner, repo, opt={})
362
+ @http.get("/repos/#{owner}/#{repo}/readme", opt)
363
+ end
364
+
365
+ def get_repos_readme_by_owner_repo_dir(owner, repo, dir, opt={})
366
+ @http.get("/repos/#{owner}/#{repo}/readme/#{dir}", opt)
367
+ end
368
+
344
369
  def get_repos_releases_by_owner_repo(owner, repo, opt = {})
345
370
  @http.get("/repos/#{owner}/#{repo}/releases", opt)
346
371
  end
@@ -349,6 +374,10 @@ module Gitea
349
374
  @http.post("/repos/#{owner}/#{repo}/releases", opt)
350
375
  end
351
376
 
377
+ def get_repos_releases_latest_by_owner_repo(owner, repo, opt = {})
378
+ @http.get("/repos/#{owner}/#{repo}/releases/latest", opt)
379
+ end
380
+
352
381
  def get_repos_releases_tags_by_owner_repo_tag(owner, repo, tag, opt = {})
353
382
  @http.get("/repos/#{owner}/#{repo}/releases/tags/#{tag}", opt)
354
383
  end
@@ -425,6 +454,10 @@ module Gitea
425
454
  @http.delete("/repos/#{owner}/#{repo}/subscription", opt)
426
455
  end
427
456
 
457
+ def get_repos_tag_name_set_by_owner_repo(owner, repo, opt = {})
458
+ @http.get("/repos/#{owner}/#{repo}/tag_name_set", opt)
459
+ end
460
+
428
461
  def get_repos_tags_by_owner_repo(owner, repo, opt = {})
429
462
  @http.get("/repos/#{owner}/#{repo}/tags", opt)
430
463
  end
@@ -481,40 +514,28 @@ module Gitea
481
514
  @http.post("/repos/#{owner}/#{repo}/transfer", opt)
482
515
  end
483
516
 
484
- def post_repos_transfer_accept_by_owner_repo(owner, repo, opt = {})
485
- @http.post("/repos/#{owner}/#{repo}/transfer/accept", opt)
486
- end
487
-
488
- def post_repos_transfer_reject_by_owner_repo(owner, repo, opt = {})
489
- @http.post("/repos/#{owner}/#{repo}/transfer/reject", opt)
490
- end
491
-
492
- def post_repos_wiki_new_by_owner_repo(owner, repo, opt = {})
493
- @http.post("/repos/#{owner}/#{repo}/wiki/new", opt)
494
- end
495
-
496
- def get_repos_wiki_page_by_owner_repo_pagename(owner, repo, pageName, opt = {})
497
- @http.get("/repos/#{owner}/#{repo}/wiki/page/#{pageName}", opt)
517
+ def get_repos_wikies_by_owner_repo(owner, repo, opt = {})
518
+ @http.get("/repos/#{owner}/#{repo}/wikies", opt)
498
519
  end
499
520
 
500
- def delete_repos_wiki_page_by_owner_repo_pagename(owner, repo, pageName, opt = {})
501
- @http.delete("/repos/#{owner}/#{repo}/wiki/page/#{pageName}", opt)
521
+ def post_repos_wikies_by_owner_repo(owner, repo, opt = {})
522
+ @http.post("/repos/#{owner}/#{repo}/wikies", opt)
502
523
  end
503
524
 
504
- def patch_repos_wiki_page_by_owner_repo_pagename(owner, repo, pageName, opt = {})
505
- @http.patch("/repos/#{owner}/#{repo}/wiki/page/#{pageName}", opt)
525
+ def get_repos_wikies_by_owner_repo_pagename(owner, repo, pagename, opt = {})
526
+ @http.get("/repos/#{owner}/#{repo}/wikies/#{pagename}", opt)
506
527
  end
507
528
 
508
- def get_repos_wiki_pages_by_owner_repo(owner, repo, opt = {})
509
- @http.get("/repos/#{owner}/#{repo}/wiki/pages", opt)
529
+ def delete_repos_wikies_by_owner_repo_pagename(owner, repo, pagename, opt = {})
530
+ @http.delete("/repos/#{owner}/#{repo}/wikies/#{pagename}", opt)
510
531
  end
511
532
 
512
- def get_repos_wiki_revisions_owner_repo_pagename(owner, repo, pageName, opt = {})
513
- @http.get("/repos/#{owner}/#{repo}/wiki/revisions/#{pageName}", opt)
533
+ def patch_repos_wikies_by_owner_repo_pagename(owner, repo, pagename, opt = {})
534
+ @http.patch("/repos/#{owner}/#{repo}/wikies/#{pagename}", opt)
514
535
  end
515
536
 
516
- def post_repos_generate_by_template_owner_repo(temp_owner, temp_repo, opt = {})
517
- @http.post("/repos/#{temp_owner}/#{temp_repo}/generate", opt)
537
+ def post_repos_generate_by_template_owner_repo(owner, repo, opt = {})
538
+ @http.post("/repos/#{owner}/#{repo}/generate", opt)
518
539
  end
519
540
 
520
541
  def get_repositories_by_id(id, opt = {})
@@ -102,6 +102,10 @@ module Gitea
102
102
  @http.get("/user/repos", opt)
103
103
  end
104
104
 
105
+ def post_user_repos(opt={})
106
+ @http.post("/user/repos", opt)
107
+ end
108
+
105
109
  def get_user_settings(opt={})
106
110
  @http.get("/user/settings", opt)
107
111
  end
@@ -146,10 +150,6 @@ module Gitea
146
150
  @http.get("/users/search", opt)
147
151
  end
148
152
 
149
- def get_users_by_username(username, opt = {})
150
- @http.get("/users/#{username}", opt)
151
- end
152
-
153
153
  def get_users_following_by_follower_followee(follower, followee, opt={})
154
154
  @http.get("/users/#{follower}/following/#{followee}", opt)
155
155
  end
@@ -166,7 +166,7 @@ module Gitea
166
166
  @http.get("/user/#{username}/gpg_keys", opt)
167
167
  end
168
168
 
169
- def get_users_heatmap_by_username(username, opt = {})
169
+ def get_users_heatmap_by_username(username, opt={})
170
170
  @http.get("/users/#{username}/heatmap", opt)
171
171
  end
172
172
 
data/lib/gitea/api.rb CHANGED
@@ -7,14 +7,8 @@ require_relative 'api/organization'
7
7
  require_relative 'api/notification'
8
8
  require_relative 'api/miscellaneous'
9
9
  require_relative 'api/admin'
10
+ require_relative 'api/activity'
10
11
  require_relative 'api/client'
11
12
  require_relative 'api/config'
12
13
  require_relative 'api/exception'
13
14
  require_relative 'api/http'
14
- require_relative 'api/hat/repository'
15
- require_relative 'api/hat/organization'
16
- require_relative 'api/hat/users'
17
- require_relative 'api/hat/admin'
18
- require_relative 'api/hat/client'
19
- require_relative 'api/hat/config'
20
- require_relative 'api/hat/http'
data/lib/gitea/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gitea
4
- VERSION = "1.2.2"
4
+ VERSION = "0.11.5"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitea-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 0.11.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - viletyy
@@ -44,24 +44,16 @@ files:
44
44
  - gitea-client.gemspec
45
45
  - lib/gitea-client.rb
46
46
  - lib/gitea/api.rb
47
- - lib/gitea/api/activitypub.rb
47
+ - lib/gitea/api/activity.rb
48
48
  - lib/gitea/api/admin.rb
49
49
  - lib/gitea/api/client.rb
50
50
  - lib/gitea/api/config.rb
51
51
  - lib/gitea/api/exception.rb
52
- - lib/gitea/api/hat/admin.rb
53
- - lib/gitea/api/hat/client.rb
54
- - lib/gitea/api/hat/config.rb
55
- - lib/gitea/api/hat/http.rb
56
- - lib/gitea/api/hat/organization.rb
57
- - lib/gitea/api/hat/repository.rb
58
- - lib/gitea/api/hat/users.rb
59
52
  - lib/gitea/api/http.rb
60
53
  - lib/gitea/api/issue.rb
61
54
  - lib/gitea/api/miscellaneous.rb
62
55
  - lib/gitea/api/notification.rb
63
56
  - lib/gitea/api/organization.rb
64
- - lib/gitea/api/package.rb
65
57
  - lib/gitea/api/repository.rb
66
58
  - lib/gitea/api/settings.rb
67
59
  - lib/gitea/api/user.rb
@@ -1,15 +0,0 @@
1
- module Gitea
2
- module Api
3
- module Activitypub
4
-
5
- def get_activitypub_user_by_username(username, opt = {})
6
- @http.get("/activitypub/user/#{username}", opt)
7
- end
8
-
9
- def post_activitypub_user_inbox_by_username(username, opt = {})
10
- @http.post("/activitypub/user/#{username}/inbox", opt)
11
- end
12
-
13
- end # Admin
14
- end # Api
15
- end # Gitea
@@ -1,13 +0,0 @@
1
- module Gitea
2
- module Api
3
- module Hat
4
- module Admin
5
-
6
- def patch_admin_users_by_username(username, opt = {})
7
- @http.patch("/admin/users/#{username}", opt)
8
- end
9
-
10
- end # Admin
11
- end # Hat
12
- end # Api
13
- end # Gitea
@@ -1,48 +0,0 @@
1
- module Gitea
2
- module Api
3
- module Hat
4
- class Client
5
-
6
- # 构造Api client,用于操作Api数据
7
- # @param opts [Hash] 构造client时的参数选项
8
- # @option opts [string] domain [必填] gitea服务地址
9
- # @option opts [string] hat_base_url [必填] api相对路径
10
- # @option opts [string] admin_username [必填] 管理员账号
11
- # @option opts [string] admin_password [必填] 管理员密码
12
- # @option opts [string] username [选填] 用户账号
13
- # @option opts [string] password [选填] 用户密码
14
- # @option opts [string] gitea_token [选填] 用户token
15
- def initialize(opts)
16
- @config = Config.new(opts)
17
- Gitea::Common::Logging.set_log_file(@config.log_filepath)
18
- @http = Http.new(@config)
19
- end
20
-
21
- def config
22
- @config
23
- end
24
-
25
- def config=(config)
26
- unless config.is_a?(Gitea::Api::Hat::Config)
27
- fail Exception, "load config failure!"
28
- end
29
- @config = config
30
- @http = Http.new(config)
31
- end
32
-
33
- def token
34
- @config.token
35
- end
36
-
37
- def token=(token)
38
- @config.token = token
39
- end
40
-
41
- include Gitea::Api::Hat::Repository
42
- include Gitea::Api::Hat::Users
43
- include Gitea::Api::Hat::Organization
44
- include Gitea::Api::Hat::Admin
45
- end
46
- end # Hat
47
- end # Api
48
- end # Gitea
@@ -1,36 +0,0 @@
1
- module Gitea
2
- module Api
3
-
4
- module Hat
5
- class Config < Common::Struct::Base
6
- attrs :domain, :hat_base_url, :username, :password, :token, :open_timeout, :read_timeout, :log_filepath
7
-
8
- def initialize(opts = {})
9
- super(opts)
10
-
11
- valid!
12
- normalize_domain
13
- end
14
-
15
- private
16
- def valid!
17
- if @domain.nil? || @hat_base_url.nil?
18
- fail Exception, "@domain, @hat_base_url not permit blank."
19
- end
20
- end
21
-
22
- def normalize_domain
23
- uri = URI.parse(domain)
24
- uri = URI.parse(domain)
25
- uri = URI.parse("http://#{domain}") unless uri.scheme
26
-
27
- if uri.scheme != 'http' and uri.scheme != 'https'
28
- fail ClientError, "Only HTTP and HTTPS domain are accepted."
29
- end
30
-
31
- @domain = uri
32
- end
33
- end
34
- end # Hat
35
- end # Api
36
- end # Gitea
@@ -1,132 +0,0 @@
1
- require 'base64'
2
- require 'json'
3
-
4
- module Gitea
5
- module Api
6
- module Hat
7
- class Http
8
- DEFAULT_CONTENT_TYPE = 'application/json'
9
- TOKEN_HEADER = 'Authorization'
10
- OPEN_TIMEOUT = 10
11
- READ_TIMEOUT = 120
12
-
13
-
14
- def initialize(config)
15
- @config = config
16
- end
17
-
18
- include Gitea::Common::Logging
19
-
20
- def get_request_url(api_url)
21
- url = @config.domain.dup
22
- url.query = nil
23
- url.fragment = nil
24
- [url.to_s, @config.hat_base_url, api_url].join('')
25
- end
26
-
27
- def get(api_url = '', http_options = {}, &block)
28
- do_request('GET', api_url, http_options, &block)
29
- end
30
-
31
- def put(api_url = '', http_options = {}, &block)
32
- do_request('PUT', api_url, http_options, &block)
33
- end
34
-
35
- def patch(api_url = '', http_options = {}, &block)
36
- do_request('PATCH', api_url, http_options, &block)
37
- end
38
-
39
- def post(api_url = '', http_options = {}, &block)
40
- do_request('POST', api_url, http_options, &block)
41
- end
42
-
43
- def delete(api_url = '', http_options = {}, &block)
44
- do_request('DELETE', api_url, http_options, &block)
45
- end
46
-
47
- def head(api_url = '', http_options = {}, &block)
48
- do_request('HEAD', api_url, http_options, &block)
49
- end
50
-
51
- def options(api_url = '', http_options = {}, &block)
52
- do_request('OPTIONS', api_url, http_options, &block)
53
- end
54
-
55
- private
56
- # Do Http request
57
- def do_request(verb, api_url, http_options = {}, &block)
58
-
59
- headers = http_options[:headers] || {}
60
- headers['user-agent'] = get_user_agent
61
- headers['date'] = Time.now.httpdate
62
- headers['content-type'] ||= DEFAULT_CONTENT_TYPE
63
-
64
- if @config.username and @config.password
65
- headers[TOKEN_HEADER] = 'Basic ' + Base64::encode64(@config.username + ":" + @config.password)
66
- end
67
-
68
- headers[:params] = http_options[:query] || {}
69
- headers[:params].merge!({access_token: @config.token}) if @config.token
70
- logger.info("Gitea Hat Client Begin a Request!...")
71
- logger.info("Send HTTP request, verb: #{verb}, http_options: #{http_options}")
72
- logger.info("Relative Url: #{api_url}")
73
- logger.info("Headers: #{headers}")
74
- request = RestClient::Request.new(
75
- :method => verb,
76
- :url => get_request_url(api_url),
77
- :headers => headers,
78
- :payload => http_options[:body],
79
- :open_timeout => @config.open_timeout || OPEN_TIMEOUT,
80
- :read_timeout => @config.read_timeout || READ_TIMEOUT
81
- )
82
-
83
-
84
- response = request.execute do |resp, &blk|
85
- if resp.code >= 300
86
- e = Gitea::Api::ServerError.new(resp)
87
- logger.error(e.to_s)
88
- raise e
89
- else
90
- resp.return!(&blk)
91
- end
92
- end
93
-
94
- # If streaming read_body is used, we need to create the
95
- # RestClient::Response ourselves
96
- unless response.is_a?(RestClient::Response)
97
- if response.code.to_i >= 300
98
- body = response.body
99
- if RestClient::version < '2.1.0'
100
- body = RestClient::Request.decode(response['content-encoding'], response.body)
101
- end
102
- response = RestClient::Response.create(body, response, request)
103
- e = Gitea::Api::ServerError.new(response)
104
- logger.error(e.to_s)
105
- raise e
106
- end
107
- response = RestClient::Response.create(nil, response, request)
108
- response.return!
109
- end
110
-
111
- begin
112
- if response.headers.has_key?(:x_total)
113
- return {data: JSON.parse(response), total_data: response.headers[:x_total]}
114
- else
115
- return JSON.parse(response)
116
- end
117
- rescue => e
118
- logger.error(e.to_s)
119
- return {}
120
- end
121
-
122
- logger.info("Gitea Hat Client Success End a Request!...")
123
- end
124
-
125
- def get_user_agent
126
- "gitea-client/#{VERSION}"
127
- end
128
-
129
- end
130
- end # Hat
131
- end # Common
132
- end # Gitea
@@ -1,25 +0,0 @@
1
- module Gitea
2
- module Api
3
- module Hat
4
- module Organization
5
-
6
- def patch_orgs_by_org(org, opt = {})
7
- @http.patch("/orgs/#{org}", opt)
8
- end
9
-
10
- def post_orgs(opt = {})
11
- @http.post("/orgs", opt)
12
- end
13
-
14
- def put_teams_repos_by_id_org(id, org, opt = {})
15
- @http.put("/teams/#{id}/repos/#{org}", opt)
16
- end
17
-
18
- def delete_teams_repos_by_id_org(id, org, opt = {})
19
- @http.delete("/teams/#{id}/repos/#{org}", opt)
20
- end
21
-
22
- end # Organization
23
- end # Hat
24
- end # Api
25
- end # Gitea
@@ -1,160 +0,0 @@
1
- module Gitea
2
- module Api
3
- module Hat
4
- module Repository
5
- def get_repos_contents_by_owner_repo(owner, repo, opt = {})
6
- @http.get("/repos/#{owner}/#{repo}/contents", opt)
7
- end
8
-
9
- def get_repos_contents_by_owner_repo_filepath(owner, repo, filepath, opt = {})
10
- @http.get("/repos/#{owner}/#{repo}/contents/#{filepath}", opt)
11
- end
12
-
13
- def get_repos_find_by_owner_repo(owner, repo, opt = {})
14
- @http.get("/repos/#{owner}/#{repo}/find", opt)
15
- end
16
-
17
- def get_repos_git_commits_by_owner_repo_sha(owner, repo, sha, opt = {})
18
- @http.get("/repos/#{owner}/#{repo}/git/commits/#{sha}", opt)
19
- end
20
-
21
- def get_repos_commits_diff_by_owner_repo_sha(owner, repo, sha, opt = {})
22
- @http.get("/repos/#{owner}/#{repo}/commits/#{sha}/diff", opt)
23
- end
24
-
25
- def post_repos_hooks_by_owner_repo(owner, repo, opt = {})
26
- @http.post("/repos/#{owner}/#{repo}/hooks", opt)
27
- end
28
-
29
- def get_repos_hooks_hooktasks_by_owner_repo_id(owner, repo, id, opt = {})
30
- @http.get("/repos/#{owner}/#{repo}/hooks/#{id}/hooktasks", opt)
31
- end
32
-
33
- def get_repos_releases_latest_by_owner_repo(owner, repo, opt = {})
34
- @http.get("/repos/#{owner}/#{repo}/releases/latest", opt)
35
- end
36
-
37
- def get_repos_releases_by_owner_repo(owner, repo, opt = {})
38
- @http.get("/repos/#{owner}/#{repo}/releases", opt)
39
- end
40
-
41
- def get_repos_releases_by_owner_repo_id(owner, repo, opt = {})
42
- @http.get("/repos/#{owner}/#{repo}/releases/#{id}", opt)
43
- end
44
-
45
- def post_repos_releases_by_owner_repo(owner, repo, opt = {})
46
- @http.post("/repos/#{owner}/#{repo}/releases", opt)
47
- end
48
-
49
- def patch_repos_releases_by_owner_repo_id(owner, repo, id, opt = {})
50
- @http.patch("/repos/#{owner}/#{repo}/releases/#{id}", opt)
51
- end
52
-
53
- def get_repos_branch_name_set_by_owner_repo(owner, repo, opt = {})
54
- @http.get("/repos/#{owner}/#{repo}/branch_name_set", opt)
55
- end
56
-
57
- def get_repos_branches_branches_slice_by_owner_repo(owner, repo, opt = {})
58
- @http.get("/repos/#{owner}/#{repo}/branches/branches_slice", opt)
59
- end
60
-
61
- def get_repos_tag_name_set_by_owner_repo(owner, repo, opt = {})
62
- @http.get("/repos/#{owner}/#{repo}/tag_name_set", opt)
63
- end
64
-
65
- def get_repos_tags_by_owner_repo(owner, repo, opt = {})
66
- @http.get("/repos/#{owner}/#{repo}/tags", opt)
67
- end
68
-
69
- def get_repos_branch_tag_count_by_owner_repo(owner, repo, opt = {})
70
- @http.get("/repos/#{owner}/#{repo}/branch_tag_count", opt)
71
- end
72
-
73
- def get_repos_readme_by_owner_repo(owner, repo, opt = {})
74
- @http.get("/repos/#{owner}/#{repo}/readme", opt)
75
- end
76
-
77
- def get_repos_readme_by_owner_repo_filepath(owner, repo, filepath, opt = {})
78
- @http.get("/repos/#{owner}/#{repo}/readme/#{filepath}", opt)
79
- end
80
-
81
- def get_repos_commits_slice_by_owner_repo(owner, repo, filepath, opt = {})
82
- @http.get("/repos/#{owner}/#{repo}/commits_slice", opt)
83
- end
84
-
85
- def get_repos_contributors_by_owner_repo(owner, repo, opt = {})
86
- @http.get("/repos/#{owner}/#{repo}/contributors", opt)
87
- end
88
-
89
- def get_repos_code_stats_by_owner_repo(owner, repo, opt = {})
90
- @http.get("/repos/#{owner}/#{repo}/code_stats", opt)
91
- end
92
-
93
- def get_repos_count_by_owner_repo(owner, repo, opt = {})
94
- @http.get("/repos/#{owner}/#{repo}/count", opt)
95
- end
96
-
97
- def get_repos_file_commits_by_owner_repo_filepath(owner, repo, filepath, opt = {})
98
- @http.get("/repos/#{owner}/#{repo}/file_commits/#{filepath}", opt)
99
- end
100
-
101
- def get_repos_blame_by_owner_repo(owner, repo, opt = {})
102
- @http.get("/repos/#{owner}/#{repo}/blame", opt)
103
- end
104
-
105
- def get_repos_compare_by_owner_repo_baseref_headref(owner, repo, baseRef, headRef, opt = {})
106
- @http.get("/repos/#{owner}/#{repo}/compare/#{baseRef}...#{headRef}", opt)
107
- end
108
-
109
- def post_repos_transfer_by_owner_repo(owner, repo, opt = {})
110
- @http.post("/repos/#{owner}/#{repo}/transfer", opt)
111
- end
112
-
113
- def get_repos_pulls_by_owner_repo_index(owner, repo, index, opt = {})
114
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}", opt)
115
- end
116
-
117
- def get_repos_pulls_commits_by_owner_repo_index(owner, repo, index, opt = {})
118
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/commits", opt)
119
- end
120
-
121
- def get_repos_pulls_files_by_owner_repo_index(owner, repo, index, opt = {})
122
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/files", opt)
123
- end
124
-
125
- def get_repos_wikies_by_owner_repo(owner, repo, opt = {})
126
- @http.get("/repos/#{owner}/#{repo}/wikies", opt)
127
- end
128
-
129
- def post_repos_wikies_by_owner_repo(owner, repo, opt = {})
130
- @http.post("/repos/#{owner}/#{repo}/wikies", opt)
131
- end
132
-
133
- def patch_repos_wikies_by_owner_repo_pagename(owner, repo, pageName, opt = {})
134
- @http.patch("/repos/#{owner}/#{repo}/wikies/#{pageName}", opt)
135
- end
136
-
137
- def get_repos_wikies_by_owner_repo_pagename(owner, repo, pageName, opt = {})
138
- @http.get("/repos/#{owner}/#{repo}/wikies/#{pageName}", opt)
139
- end
140
-
141
- def delete_repos_wikies_by_owner_repo_pagename(owner, repo, pageName, opt = {})
142
- @http.delete("/repos/#{owner}/#{repo}/wikies/#{pageName}", opt)
143
- end
144
-
145
- def post_repos_contents_batch_by_owner_repo(owner, repo, opt = {})
146
- @http.post("/repos/#{owner}/#{repo}/contents/batch", opt)
147
- end
148
-
149
- def get_repos_pulls_versions_by_owner_repo_index(owner, repo, index, opt = {})
150
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/versions", opt)
151
- end
152
-
153
- def get_repos_pulls_versions_diff_by_owner_repo_index_id(owner, repo, index, versionID, opt = {})
154
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/versions/#{versionID}/diff", opt)
155
- end
156
-
157
- end # Repository
158
- end # Hat
159
- end # Api
160
- end # Gitea
@@ -1,13 +0,0 @@
1
- module Gitea
2
- module Api
3
- module Hat
4
- module Users
5
-
6
- def get_users_heatmap_by_username(username, opt = {})
7
- @http.get("/users/#{username}/heatmap", opt)
8
- end
9
-
10
- end # Users
11
- end # Hat
12
- end # Api
13
- end # Gitea
@@ -1,22 +0,0 @@
1
- module Gitea
2
- module Api
3
- module Package
4
-
5
- def get_packages_by_owner(owner, opt = {})
6
- @http.get("/packages/#{owner}", opt)
7
- end
8
-
9
- def get_packages_by_owner_type_name_version(owner, type, name, version, opt = {})
10
- @http.get("/packages/#{owner}/#{type}/#{name}/#{version}", opt)
11
- end
12
-
13
- def delete_packages_by_owner_type_name_version(owner, type, name, version, opt = {})
14
- @http.delete("/packages/#{owner}/#{type}/#{name}/#{version}", opt)
15
- end
16
-
17
- def get_packages_files_by_owner_type_name_version(owner, type, name, version, opt = {})
18
- @http.get("/packages/#{owner}/#{type}/#{name}/#{version}", opt)
19
- end
20
- end # Package
21
- end # Api
22
- end # Gitea