mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-22 12:45:46 +08:00
init project
This commit is contained in:
28
app/services/gitea/repository/members/add_service.rb
Normal file
28
app/services/gitea/repository/members/add_service.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
# 添加协作者/或者更改协作这的可读写权限
|
||||
class Gitea::Repository::Members::AddService < Gitea::ClientService
|
||||
attr_reader :owner, :repo_name, :collaborator, :permission
|
||||
|
||||
# owner: owner of the repo
|
||||
# repo_name: name of the repo
|
||||
# collaborator: username of the collaborator
|
||||
# permission: permission name, FIX: admin | read | write
|
||||
def initialize(owner, repo_name, collaborator, permission)
|
||||
@owner = owner
|
||||
@repo_name = repo_name
|
||||
@collaborator = collaborator
|
||||
@permission = permission
|
||||
end
|
||||
|
||||
def call
|
||||
put(url, params)
|
||||
end
|
||||
|
||||
private
|
||||
def params
|
||||
Hash.new.merge(token: owner.gitea_token, data: {permission: permission})
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{owner.login}/#{repo_name}/collaborators/#{collaborator}".freeze
|
||||
end
|
||||
end
|
||||
25
app/services/gitea/repository/members/delete_service.rb
Normal file
25
app/services/gitea/repository/members/delete_service.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
class Gitea::Repository::Members::DeleteService < Gitea::ClientService
|
||||
attr_reader :owner, :repo_name, :collaborator
|
||||
|
||||
# owner: owner of the repo
|
||||
# repo_name: name of the repo
|
||||
# collaborator: username of the collaborator
|
||||
def initialize(owner, repo_name, collaborator)
|
||||
@owner = owner
|
||||
@repo_name = repo_name
|
||||
@collaborator = collaborator
|
||||
end
|
||||
|
||||
def call
|
||||
delete(url, params)
|
||||
end
|
||||
|
||||
private
|
||||
def params
|
||||
Hash.new.merge(token: owner.gitea_token)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{owner.login}/#{repo_name}/collaborators/#{collaborator}".freeze
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user