新增:发布人和状态接口
This commit is contained in:
parent
4bc945028b
commit
587facfb3d
|
@ -21,9 +21,18 @@ class Api::V1::BaseController < ApplicationController
|
||||||
# end
|
# end
|
||||||
# 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
|
def limit
|
||||||
params.fetch(:limit, 15)
|
params.fetch(:limit, 15)
|
||||||
end
|
end
|
||||||
|
|
||||||
def page
|
def page
|
||||||
params.fetch(:page, 1)
|
params.fetch(:page, 1)
|
||||||
end
|
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文件夹下的
|
# projects文件夹下的
|
||||||
scope module: :projects do
|
scope module: :projects do
|
||||||
resources :issues
|
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 :pulls, module: 'pulls' do
|
||||||
resources :versions, only: [:index] do
|
resources :versions, only: [:index] do
|
||||||
member do
|
member do
|
||||||
|
@ -38,7 +45,6 @@ defaults format: :json do
|
||||||
resources :reviews, only: [:index, :create]
|
resources :reviews, only: [:index, :create]
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :versions
|
|
||||||
resources :release_versions
|
resources :release_versions
|
||||||
resources :webhooks do
|
resources :webhooks do
|
||||||
member do
|
member do
|
||||||
|
|
Loading…
Reference in New Issue