You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- class Api::V1::BaseController < ApplicationController
-
- include Api::ProjectHelper
- include Api::UserHelper
-
- # before_action :doorkeeper_authorize!
- # skip_before_action :user_setup
-
- protected
- # def current_user
- # #client方法对接,需要一直带着用户标识uid
- # Rails.logger.info doorkeeper_token
- # if doorkeeper_token && doorkeeper_token.resource_owner_id.blank?
- # # return User.anonymous if params[:uid].nil?
- # # tip_exception("2222")
- # # return render_error('缺少用户标识!') if params[:uid].nil?
- # User.current = User.find(params[:uid])
- # else
- # User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
- # end
- # end
-
- # 具有对仓库的管理权限
- def require_manager_above
- @project = load_project
- return render_forbidden unless current_user.admin? && @project.manager?(current_user)
- end
-
- # 具有对仓库的操作权限
- def require_operate_above
- @project = load_project
- return render_forbidden unless current_user.admin? && @project.operator?(current_user)
- end
-
- # 具有对仓库的访问权限
- def require_public_and_member_above
- @project = load_project
- return render_forbidden unless @project.is_public || (current_user.admin? && @project.member?(current_user))
- end
- end
|