新增: 用户项目列表以及helper方法
This commit is contained in:
parent
d14bf35ca1
commit
5d0849a148
|
@ -1,6 +1,13 @@
|
||||||
class Api::V1::BaseController < ApplicationController
|
class Api::V1::BaseController < ApplicationController
|
||||||
|
|
||||||
include Api::ProjectHelper
|
include Api::ProjectHelper
|
||||||
|
include Api::UserHelper
|
||||||
|
|
||||||
|
before_action :doorkeeper_authorize!
|
||||||
skip_before_action :user_setup
|
skip_before_action :user_setup
|
||||||
|
|
||||||
|
protected
|
||||||
|
def current_user
|
||||||
|
User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
|
||||||
|
end
|
||||||
end
|
end
|
|
@ -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
|
|
@ -0,0 +1,6 @@
|
||||||
|
class Api::V1::UsersController < Api::V1::BaseController
|
||||||
|
|
||||||
|
def index
|
||||||
|
render_ok
|
||||||
|
end
|
||||||
|
end
|
|
@ -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?
|
if project.present?
|
||||||
json.type @project.project_type
|
json.type project.project_type
|
||||||
json.(project,
|
json.(project,
|
||||||
:description, :forked_count, :forked_from_project_id, :identifier,
|
:description, :forked_count, :forked_from_project_id, :identifier,
|
||||||
:issues_count, :pull_requests_count, :invite_code, :website, :platform,
|
:issues_count, :pull_requests_count, :invite_code, :website, :platform,
|
||||||
|
|
|
@ -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
|
|
@ -1,21 +1,30 @@
|
||||||
defaults format: :json do
|
defaults format: :json do
|
||||||
namespace :api do
|
namespace :api do
|
||||||
namespace :v1 do
|
namespace :v1 do
|
||||||
resources :projects, only: [:index]
|
scope ':owner' do
|
||||||
# 项目相关的api
|
resource :users, path: '/', only: [:show, :update, :edit, :destroy]
|
||||||
scope ':owner/:repo' do
|
scope module: :users do
|
||||||
# projects
|
resources :projects, only: [:index]
|
||||||
resource :projects, path: '/', only: [:show, :update, :edit, :destroy]
|
|
||||||
|
|
||||||
# projects文件夹下的
|
|
||||||
scope module: :projects do
|
|
||||||
resources :issues
|
|
||||||
resources :pull_requests
|
|
||||||
resources :versions
|
|
||||||
resources :release_versions
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scope ':repo' do
|
||||||
|
# projects
|
||||||
|
resource :projects, path: '/', only: [:show, :update, :edit, :destroy]
|
||||||
|
|
||||||
|
# projects文件夹下的
|
||||||
|
scope module: :projects do
|
||||||
|
resources :issues
|
||||||
|
resources :pull_requests
|
||||||
|
resources :versions
|
||||||
|
resources :release_versions
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
resources :projects, only: [:index]
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
Loading…
Reference in New Issue