gitea-client 1.2.1 → 0.11.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7221d24fa5a724c415fc2490ca1a1567ac907c98e96d45042561b78eda3a9110
4
- data.tar.gz: 3340b98ed8fc5b5910f647154c983bc04b2220beccbc4cd22e7b38c8643fd3f6
3
+ metadata.gz: 0db742226d0d0f4209a99688ec12c9d5fd6240ab83dbf15b702052d15b479a3d
4
+ data.tar.gz: a539610506dc88e248c2749f7e851345158c05154e56e5ce68fd88608353e0e5
5
5
  SHA512:
6
- metadata.gz: 391c01bcea34e8fa6903684ed02bf5dd462dd3f79dfe8501db6c2d2df519016d0a9dc7d06acb1a4526f60c15c94b965093eb60de1c29160910f5b2fd069295b6
7
- data.tar.gz: 8048f7a3cea833fb27c351b7db8c8ef518f5c4f61bdeb449cb8e27bbf59ef345641b97fe266d985e15df50aa346166a8735cda654705b5cf4a2565ea75f574ec
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.1"
4
+ VERSION = "0.11.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitea-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 0.11.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - viletyy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-31 00:00:00.000000000 Z
11
+ date: 2023-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -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,156 +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_count_by_owner_repo(owner, repo, opt = {})
90
- @http.get("/repos/#{owner}/#{repo}/count", opt)
91
- end
92
-
93
- def get_repos_file_commits_by_owner_repo_filepath(owner, repo, filepath, opt = {})
94
- @http.get("/repos/#{owner}/#{repo}/file_commits/#{filepath}", opt)
95
- end
96
-
97
- def get_repos_blame_by_owner_repo(owner, repo, opt = {})
98
- @http.get("/repos/#{owner}/#{repo}/blame", opt)
99
- end
100
-
101
- def get_repos_compare_by_owner_repo_baseref_headref(owner, repo, baseRef, headRef, opt = {})
102
- @http.get("/repos/#{owner}/#{repo}/compare/#{baseRef}...#{headRef}", opt)
103
- end
104
-
105
- def post_repos_transfer_by_owner_repo(owner, repo, opt = {})
106
- @http.post("/repos/#{owner}/#{repo}/transfer", opt)
107
- end
108
-
109
- def get_repos_pulls_by_owner_repo_index(owner, repo, index, opt = {})
110
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}", opt)
111
- end
112
-
113
- def get_repos_pulls_commits_by_owner_repo_index(owner, repo, index, opt = {})
114
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/commits", opt)
115
- end
116
-
117
- def get_repos_pulls_files_by_owner_repo_index(owner, repo, index, opt = {})
118
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/files", opt)
119
- end
120
-
121
- def get_repos_wikies_by_owner_repo(owner, repo, opt = {})
122
- @http.get("/repos/#{owner}/#{repo}/wikies", opt)
123
- end
124
-
125
- def post_repos_wikies_by_owner_repo(owner, repo, opt = {})
126
- @http.post("/repos/#{owner}/#{repo}/wikies", opt)
127
- end
128
-
129
- def patch_repos_wikies_by_owner_repo_pagename(owner, repo, pageName, opt = {})
130
- @http.patch("/repos/#{owner}/#{repo}/wikies/#{pageName}", opt)
131
- end
132
-
133
- def get_repos_wikies_by_owner_repo_pagename(owner, repo, pageName, opt = {})
134
- @http.get("/repos/#{owner}/#{repo}/wikies/#{pageName}", opt)
135
- end
136
-
137
- def delete_repos_wikies_by_owner_repo_pagename(owner, repo, pageName, opt = {})
138
- @http.delete("/repos/#{owner}/#{repo}/wikies/#{pageName}", opt)
139
- end
140
-
141
- def post_repos_contents_batch_by_owner_repo(owner, repo, opt = {})
142
- @http.post("/repos/#{owner}/#{repo}/contents/batch", opt)
143
- end
144
-
145
- def get_repos_pulls_versions_by_owner_repo_index(owner, repo, index, opt = {})
146
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/versions", opt)
147
- end
148
-
149
- def get_repos_pulls_versions_diff_by_owner_repo_index_id(owner, repo, index, versionID, opt = {})
150
- @http.get("/repos/#{owner}/#{repo}/pulls/#{index}/versions/#{versionID}/diff", opt)
151
- end
152
-
153
- end # Repository
154
- end # Hat
155
- end # Api
156
- 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