From 8f846ae29b22ba8eccdfcf8e2bccd70b104e45d1 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Wed, 6 Jan 2021 14:00:15 +0800 Subject: [PATCH] FIX gitea user register service --- app/controllers/accounts_controller.rb | 2 +- app/controllers/concerns/register_helper.rb | 2 +- app/services/gitea/user/register_service.rb | 13 ++++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index afa35a6ac..8e82a814a 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -152,7 +152,7 @@ class AccountsController < ApplicationController gitea_user = interactor.result result = Gitea::User::GenerateTokenService.new(login, params[:password]).call @user.gitea_token = result['sha1'] - @user.gitea_uid = gitea_user['id'] + @user.gitea_uid = gitea_user[:body]['id'] if @user.save! UserExtension.create!(user_id: @user.id) successful_authentication(@user) diff --git a/app/controllers/concerns/register_helper.rb b/app/controllers/concerns/register_helper.rb index e8ef12099..f18f40df9 100644 --- a/app/controllers/concerns/register_helper.rb +++ b/app/controllers/concerns/register_helper.rb @@ -14,7 +14,7 @@ module RegisterHelper gitea_user = interactor.result result = Gitea::User::GenerateTokenService.call(username, password) user.gitea_token = result['sha1'] - user.gitea_uid = gitea_user['id'] + user.gitea_uid = gitea_user[:body]['id'] if user.save! UserExtension.create!(user_id: user.id) result[:user] = {id: user.id, token: user.gitea_token} diff --git a/app/services/gitea/user/register_service.rb b/app/services/gitea/user/register_service.rb index ec5729306..f9e42e9e5 100644 --- a/app/services/gitea/user/register_service.rb +++ b/app/services/gitea/user/register_service.rb @@ -8,7 +8,10 @@ class Gitea::User::RegisterService < Gitea::ClientService def call params = Hash.new.merge(data: user_params, token: @token) - post(API_REST, params) + + response = post(API_REST, params) + status, message, body = render_response(response) + json_format(status, message, body) end private @@ -24,4 +27,12 @@ class Gitea::User::RegisterService < Gitea::ClientService } end + def json_format(status, message, body) + case status + when 201 then success(body) + else + error(message, status) + end + end + end