UNPKG

caccl-api

Version:

A class that defines a set of smart Canvas endpoints that actually behave how you'd expect them to.

81 lines (80 loc) 3.75 kB
/** * Functions for interacting with rubrics within courses * @namespace api.course.rubric */ import EndpointCategory from '../../shared/EndpointCategory'; import APIConfig from '../../shared/types/APIConfig'; import CanvasRubric from '../../types/CanvasRubric'; declare class ECatRubric extends EndpointCategory { /** * Lists the set of rubrics in a course * @author Gabe Abrams * @method list * @memberof api.course.rubric * @instance * @param {object} [opts] object containing all arguments * @param {number} [opts.courseId=default course id] Canvas course Id to add * the rubric to * @param {APIConfig} [config] custom configuration for this specific endpoint * call (overwrites defaults that were included when api was initialized) * @returns {Promise<CanvasRubric[]>} list of Canvas Rubrics {@link https://canvas.instructure.com/doc/api/rubrics.html#Rubric} */ list(opts?: { courseId?: number; }, config?: APIConfig): Promise<CanvasRubric[]>; /** * Gets info on a specific rubric in a course * @author Gabe Abrams * @method get * @memberof api.course.rubric * @instance * @param {object} opts object containing all arguments * @param {number} opts.rubricId Canvas course Id to add the rubric to * @param {number} [opts.courseId=default course id] Canvas course Id to add * the rubric to * @param {string} [opts.include] Allowed values: ['assessments', * 'graded_assessments', 'peer_assessments']. If excluded, no assessments * will be included (default: none) * @param {string} [opts.assessmentStyle=both omitted] Allowed values: * ['full','comments_only'] * (full = entire assessment, comments_only = only comment part of * assessment). Only valid if including assessments * @param {APIConfig} [config] custom configuration for this specific endpoint * call (overwrites defaults that were included when api was initialized) * @returns {Promise<CanvasRubric>} Canvas Rubric {@link https://canvas.instructure.com/doc/api/rubrics.html#Rubric} */ get(opts: { rubricId: number; courseId?: number; include?: ('assessments' | 'graded_assessments' | 'peer_assessments'); assessmentStyle?: ('full' | 'comments_only'); }, config?: APIConfig): Promise<CanvasRubric>; /** * Creates a new rubric for grading with free form comments enabled and add it * to an assignment in a course. * @author Gabe Abrams * @method createFreeFormGradingRubricInAssignment * @memberof api.course.rubric * @instance * @param {object} opts object containing all arguments * @param {number} opts.assignmentId Canvas course Id to add the rubric to * @param {Array} opts.rubricItems List of rubric item objects: * [{description, points, [longDescription]}, ...] * @param {number} [opts.courseId=default course id] Canvas course Id to add the rubric to * @param {string} [opts.title=generated title] Title of the new rubric * @param {APIConfig} [config] custom configuration for this specific endpoint * call (overwrites defaults that were included when api was initialized) * @returns {Promise<CanvasRubric>} Canvas Rubric {@link https://canvas.instructure.com/doc/api/rubrics.html#Rubric} */ createFreeFormGradingRubricInAssignment(opts: { assignmentId: number; rubricItems: ({ description: string; points: number; longDescription?: string; })[]; courseId?: number; title?: string; }, config?: APIConfig): Promise<CanvasRubric>; } export default ECatRubric;