FIX improvew

dev_forge
Jasder 5 years ago
parent 8d1fbfbfe8
commit 4c92e78f9b

@ -8,24 +8,24 @@ class AccountsController < ApplicationController
# 其他平台同步注册的用户
def remote_register
phone = params[:phone]&.gsub(/\s+/, "")
username = params[:username]&.gsub(/\s+/, "")
email = params[:email]&.gsub(/\s+/, "")
password = params[:password]
platform = (params[:platform] || 'forge')&.gsub(/\s+/, "")
@user = User.new(admin: false, login: phone, mail: email, phone: phone, type: "User")
@user.admin = false
@user.type = 'User'
@user = User.new(admin: false, login: username, mail: email, type: "User")
@user.password = password
@user.platform = platform
@user.activate
ActiveRecord::Base.transaction do
interactor = Gitea::RegisterInteractor.call({username: phone, email: email, password: password})
interactor = Gitea::RegisterInteractor.call({username: username, email: email, password: password})
if interactor.success?
result = Gitea::User::GenerateTokenService.new(phone, password).call
gitea_user = interactor.result
result = Gitea::User::GenerateTokenService.new(username, password).call
@user.gitea_token = result['sha1']
@user.gitea_uid = gitea_user['id']
if @user.save!
UserExtension.create!(user_id: @user.id)
render_ok({user: {id: @user.id, token: @user.gitea_token}})
end
else

@ -1,4 +1,5 @@
class Gitea::UserForm
include ActiveModel::Model
EMAIL_REGEX = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
include ActiveModel::Model
@ -8,6 +9,8 @@ class Gitea::UserForm
validates :email, presence: true, format: { with: EMAIL_REGEX, multiline: true }
validates :password, presence: true
validate :check_username, :check_email
attr_reader :record
def persist
@ -21,4 +24,14 @@ class Gitea::UserForm
false
end
end
private
def check_username
# errors.add(:login, :exist)
raise "#{username} 已使用." if User.exists?(login: username.strip)
end
def check_email
raise "#{email} 已使用." if User.exists?(mail: email.strip)
end
end

@ -6,7 +6,7 @@ module Gitea
interactor
end
attr_reader :error
attr_reader :error, :result
def initialize(params)
@params = params
@ -16,10 +16,14 @@ module Gitea
@error.nil?
end
def result
@result
end
def run
Gitea::UserForm.new(params).validate!
Gitea::User::RegisterService.new(params).call
# Gitea::Client.new.register("nifewf", "123@qq.com", "djs_D_00001")
response = Gitea::User::RegisterService.new(params).call
render_result(response)
rescue Exception => exception
Rails.logger.info "Exception ===========> #{exception.message}"
fail!(exception.message)
@ -33,5 +37,9 @@ module Gitea
def fail!(error)
@error = error
end
def render_result(response)
@result = response
end
end
end

Loading…
Cancel
Save