新增:发布人和状态接口

This commit is contained in:
yystopf 2023-02-07 17:12:43 +08:00
parent 4bc945028b
commit 587facfb3d
7 changed files with 43 additions and 1 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,4 @@
json.total_count @statues.total_count
json.statues @statues.each do |status|
json.(status, :id, :name)
end

View File

@ -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