All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.ksu.canvas.interfaces.ExternalToolReader Maven / Gradle / Ivy

The newest version!
package edu.ksu.canvas.interfaces;

import java.io.IOException;
import java.util.List;
import java.util.Optional;

import edu.ksu.canvas.model.ExternalTool;
import edu.ksu.canvas.requestOptions.ListExternalToolsOptions;

public interface ExternalToolReader extends CanvasReader{


    /**
     * Retrieve a specific external tool configuration in a given account
     * @param accountId The Canvas ID or sis_account_id:[SIS ID] for the account to query
     * @param toolId The Canvas ID of the tool to query
     * @return The requested tool's configuration
     * @throws IOException if there is an error communicating with Canvas
     */
    public Optional getExternalToolInAccount(String accountId, Long toolId) throws IOException;

    /**
     * Retrieve a specific external tool configuration in a given course
     * @param courseId The Canvas ID or sis_course_id:[SIS ID] for the course to query
     * @param toolId The Canvas ID of the tool to query
     * @return The requested tool's configuration
     * @throws IOException if there is an error communicating with Canvas
     */
    public Optional getExternalToolInCourse(String courseId, Long toolId) throws IOException;

    /**
     * Return a list of external tools registered to an account
     * @param options Parameters that alter which tools are returned by this call
     * @return List of external tools in the account
     * @throws IOException if there is an error communicating with Canvas
     */
    public List listExternalToolsInAccount(ListExternalToolsOptions options) throws IOException;

    /**
     * Return a list of external tools registered to a course
     * @param options Parameters that alter which tools are returned by this call
     * @return List of external tools in the course
     * @throws IOException if there is an error communicating with Canvas
     */
    public List listExternalToolsInCourse(ListExternalToolsOptions options) throws IOException;

    /**
     * Return a list of external tools registered to a group
     * @param options Parameters that alter which tools are returned by this call
     * @return List of external tools in the group
     * @throws IOException if there is an error communicating with Canvas
     */
    public List listExternalToolsInGroup(ListExternalToolsOptions options) throws IOException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy