forked from Trustie/forgeplus
新增:发布人和状态接口
This commit is contained in:
parent
4bc945028b
commit
587facfb3d
|
@ -20,10 +20,19 @@ class Api::V1::BaseController < ApplicationController
|
|||
# User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
|
||||
# end
|
||||
# end
|
||||
|
||||
def kaminary_select_paginate(relation)
|
||||
limit = params[:limit] || params[:per_page]
|
||||
limit = (limit.to_i.zero? || limit.to_i > 100) ? 100 : limit.to_i
|
||||
page = params[:page].to_i.zero? ? 1 : params[:page].to_i
|
||||
|
||||
relation.page(page).per(limit)
|
||||
end
|
||||
|
||||
def limit
|
||||
params.fetch(:limit, 15)
|
||||
end
|
||||
|
||||
def page
|
||||
params.fetch(:page, 1)
|
||||
end
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
class Api::V1::Issues::AuthorsController < Api::V1::BaseController
|
||||
before_action :require_public_and_member_above, only: [:index]
|
||||
|
||||
# 发布人列表
|
||||
def index
|
||||
@authors = User.joins(issues: :project).where(projects: {id: @project&.id})
|
||||
@authors = kaminary_select_paginate(@authors)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,10 @@
|
|||
class Api::V1::Issues::StatuesController < Api::V1::BaseController
|
||||
|
||||
before_action :require_public_and_member_above, only: [:index]
|
||||
|
||||
# 状态列表
|
||||
def index
|
||||
@statues = IssueStatus.order("position asc")
|
||||
@statues = kaminary_select_paginate(@statues)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,4 @@
|
|||
json.total_count @authors.total_count
|
||||
json.authors @authors.each do |author|
|
||||
json.partial! 'api/v1/users/simple_user', locals: { user: author}
|
||||
end
|
|
@ -0,0 +1,4 @@
|
|||
json.total_count @statues.total_count
|
||||
json.statues @statues.each do |status|
|
||||
json.(status, :id, :name)
|
||||
end
|
|
@ -28,6 +28,13 @@ defaults format: :json do
|
|||
# projects文件夹下的
|
||||
scope module: :projects do
|
||||
resources :issues
|
||||
scope module: :issues do
|
||||
resources :milestones, except: [:new, :edit]
|
||||
resources :issue_statues, only: [:index], controller: '/api/v1/issues/statues'
|
||||
resources :issue_authors, only: [:index], controller: '/api/v1/issues/authors'
|
||||
resources :issue_assigners, only: [:index], controller: '/api/v1/issues/assigners'
|
||||
end
|
||||
|
||||
resources :pulls, module: 'pulls' do
|
||||
resources :versions, only: [:index] do
|
||||
member do
|
||||
|
@ -38,7 +45,6 @@ defaults format: :json do
|
|||
resources :reviews, only: [:index, :create]
|
||||
end
|
||||
|
||||
resources :versions
|
||||
resources :release_versions
|
||||
resources :webhooks do
|
||||
member do
|
||||
|
|
Loading…
Reference in New Issue