mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-20 11:45:57 +08:00
新增: 用户项目列表以及helper方法
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
class Api::V1::BaseController < ApplicationController
|
||||
|
||||
include Api::ProjectHelper
|
||||
include Api::UserHelper
|
||||
|
||||
before_action :doorkeeper_authorize!
|
||||
skip_before_action :user_setup
|
||||
|
||||
protected
|
||||
def current_user
|
||||
User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
|
||||
end
|
||||
end
|
||||
7
app/controllers/api/v1/users/projects_controller.rb
Normal file
7
app/controllers/api/v1/users/projects_controller.rb
Normal file
@@ -0,0 +1,7 @@
|
||||
class Api::V1::Users::ProjectsController < Api::V1::BaseController
|
||||
before_action :load_observe_user
|
||||
|
||||
def index
|
||||
@projects = kaminari_paginate(@observe_user.projects)
|
||||
end
|
||||
end
|
||||
6
app/controllers/api/v1/users_controller.rb
Normal file
6
app/controllers/api/v1/users_controller.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
class Api::V1::UsersController < Api::V1::BaseController
|
||||
|
||||
def index
|
||||
render_ok
|
||||
end
|
||||
end
|
||||
19
app/controllers/concerns/api/user_helper.rb
Normal file
19
app/controllers/concerns/api/user_helper.rb
Normal file
@@ -0,0 +1,19 @@
|
||||
module Api::UserHelper
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def load_observe_user
|
||||
username = params[:owner]
|
||||
|
||||
@observe_user = User.find_by(login: username)
|
||||
|
||||
if @observe_user
|
||||
logger.info "###########observe_user not founded"
|
||||
@observe_user
|
||||
else
|
||||
logger.info "###########observe_user not found"
|
||||
@observe_user = nil
|
||||
render_not_found and return
|
||||
end
|
||||
@observe_user
|
||||
end
|
||||
end
|
||||
@@ -1,5 +1,5 @@
|
||||
if project.present?
|
||||
json.type @project.project_type
|
||||
json.type project.project_type
|
||||
json.(project,
|
||||
:description, :forked_count, :forked_from_project_id, :identifier,
|
||||
:issues_count, :pull_requests_count, :invite_code, :website, :platform,
|
||||
|
||||
5
app/views/api/v1/users/projects/index.json.jbuilder
Normal file
5
app/views/api/v1/users/projects/index.json.jbuilder
Normal file
@@ -0,0 +1,5 @@
|
||||
json.total_count @projects.total_count
|
||||
|
||||
json.projects @projects do |project|
|
||||
json.partial! "api/v1/projects/simple_detail", project: project
|
||||
end
|
||||
Reference in New Issue
Block a user