From 2ddf1dbd0188206152cd532fa73e790f17c2ccaa Mon Sep 17 00:00:00 2001 From: viletyy Date: Wed, 14 Jul 2021 11:48:52 +0800 Subject: [PATCH] add: gitea user keys api --- .../gitea/user/keys/create_service.rb | 21 +++++++++++++++ .../gitea/user/keys/delete_service.rb | 22 ++++++++++++++++ app/services/gitea/user/keys/get_service.rb | 22 ++++++++++++++++ app/services/gitea/user/keys/list_service.rb | 26 +++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 app/services/gitea/user/keys/create_service.rb create mode 100644 app/services/gitea/user/keys/delete_service.rb create mode 100644 app/services/gitea/user/keys/get_service.rb create mode 100644 app/services/gitea/user/keys/list_service.rb diff --git a/app/services/gitea/user/keys/create_service.rb b/app/services/gitea/user/keys/create_service.rb new file mode 100644 index 000000000..2b720c483 --- /dev/null +++ b/app/services/gitea/user/keys/create_service.rb @@ -0,0 +1,21 @@ +class Gitea::User::Keys::CreateService < Gitea::ClientService + attr_reader :token, :params + def initialize(token, params) + @token = token + @params = params + end + + def call + response = post(url, request_params) + render_response(response) + end + + private + def request_params + Hash.new.merge({token: token, data: params}) + end + + def url + '/user/keys'.freeze + end +end \ No newline at end of file diff --git a/app/services/gitea/user/keys/delete_service.rb b/app/services/gitea/user/keys/delete_service.rb new file mode 100644 index 000000000..2e6a125fd --- /dev/null +++ b/app/services/gitea/user/keys/delete_service.rb @@ -0,0 +1,22 @@ +class Gitea::User::Keys::DeleteService < Gitea::ClientService + attr_reader :token, :key_id + + def initialize(token, key_id) + @token = token + @key_id = key_id + end + + def call + delete(url, params) + end + + private + + def params + Hash.new.merge(token: token) + end + + def url + "/user/keys/#{key_id}".freeze + end +end diff --git a/app/services/gitea/user/keys/get_service.rb b/app/services/gitea/user/keys/get_service.rb new file mode 100644 index 000000000..fbcf1c86e --- /dev/null +++ b/app/services/gitea/user/keys/get_service.rb @@ -0,0 +1,22 @@ +class Gitea::User::Keys::GetService < Gitea::ClientService + attr_reader :token, :key_id + + def initialize(token, key_id) + @token = token + @key_id = key_id + end + + def call + response = get(url, params) + render_response(response) + end + + private + def params + Hash.new.merge({token: token}) + end + + def url + "/user/keys/#{key_id}".freeze + end +end \ No newline at end of file diff --git a/app/services/gitea/user/keys/list_service.rb b/app/services/gitea/user/keys/list_service.rb new file mode 100644 index 000000000..1ddfde413 --- /dev/null +++ b/app/services/gitea/user/keys/list_service.rb @@ -0,0 +1,26 @@ +class Gitea::User::Keys::ListService < Gitea::ClientService + attr_reader :token, :page, :limit, :fingerprint + + def initialize(token, page, limit, fingerprint="") + @token = token + @page = page + @limit = limit + @fingerprint = fingerprint + end + + def call + response = get(url, params) + render_response(response) + end + + private + + def params + Hash.new.merge({token: token, fingerprint: fingerprint, page: page, limit: limit}) + end + + def url + '/user/keys'.freeze + end + +end \ No newline at end of file