feat(LTI): Add LTI API show endpoint for external tools
flag = none refs: CAL-23 Test Plan: - Specs pass Change-Id: Ia90f71640693fb6202ba62540d15be00717896bb Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236650 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> QA-Review: Alex Slaughter <aslaughter@instructure.com> Product-Review: Alex Slaughter <aslaughter@instructure.com> Reviewed-by: Aaron Ogata <aogata@instructure.com>
This commit is contained in:
parent
b0e406cdbb
commit
889c336b9b
|
@ -47,12 +47,13 @@ module Lti
|
|||
end
|
||||
|
||||
def show
|
||||
# Will add in seperate PS
|
||||
tool = tools.active.find(params['external_tool_id'])
|
||||
render json: external_tool_json(tool, context, @current_user, session), content_type: MIME_TYPE
|
||||
end
|
||||
|
||||
def index
|
||||
@tools = Api.paginate(ContextExternalTool.all_tools_for(context), self, account_external_tools_index_path(params[:account_id]))
|
||||
render json: external_tools_json(@tools, context, @current_user, session), content_type: MIME_TYPE
|
||||
api = Api.paginate(tools, self, account_external_tools_index_path(params[:account_id]))
|
||||
render json: external_tools_json(api, context, @current_user, session), content_type: MIME_TYPE
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
@ -65,6 +66,10 @@ module Lti
|
|||
ACTION_SCOPE_MATCHERS.fetch(action_name, self.class.none)
|
||||
end
|
||||
|
||||
def tools
|
||||
@tools ||= ContextExternalTool.all_tools_for(context)
|
||||
end
|
||||
|
||||
def context
|
||||
@context ||= Account.active.find_by(lti_context_id: params[:account_id])
|
||||
end
|
||||
|
|
|
@ -59,7 +59,7 @@ class TokenScopes
|
|||
}.freeze
|
||||
LTI_AGS_SCOPES = [ LTI_AGS_LINE_ITEM_SCOPE, LTI_AGS_LINE_ITEM_READ_ONLY_SCOPE, LTI_AGS_RESULT_READ_ONLY_SCOPE, LTI_AGS_SCORE_SCOPE ].freeze
|
||||
LTI_HIDDEN_SCOPES = {
|
||||
LTI_CREATE_ACCOUNT_EXTERNAL_TOOLS_SCOPE => I18n.t("Can create extneral tools."),
|
||||
LTI_CREATE_ACCOUNT_EXTERNAL_TOOLS_SCOPE => I18n.t("Can create external tools."),
|
||||
LTI_DESTROY_ACCOUNT_EXTERNAL_TOOLS_SCOPE => I18n.t("Can destroy external tools."),
|
||||
LTI_LIST_ACCOUNT_EXTERNAL_TOOLS_SCOPE => I18n.t("Can list external tools."),
|
||||
LTI_SHOW_ACCOUNT_EXTERNAL_TOOLS_SCOPE => I18n.t("Can show external tools."),
|
||||
|
|
|
@ -31,6 +31,17 @@ describe Lti::AccountExternalToolsController do
|
|||
root_account.save
|
||||
end
|
||||
|
||||
describe '#show' do
|
||||
it_behaves_like 'lti services' do
|
||||
let(:action) { :show }
|
||||
let(:expected_mime_type) { described_class::MIME_TYPE }
|
||||
let(:scope_to_remove) { "https://canvas.instructure.com/lti/account_external_tools/scope/show"}
|
||||
let(:params_overrides) do
|
||||
{ account_id: root_account.lti_context_id, external_tool_id: tool.id }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#index' do
|
||||
it_behaves_like 'lti services' do
|
||||
let(:action) { :index }
|
||||
|
|
Loading…
Reference in New Issue