caccl-api
Version:
A class that defines a set of smart Canvas endpoints that actually behave how you'd expect them to.
121 lines (120 loc) • 5.67 kB
TypeScript
/**
* Functions for interacting with assignment groups within courses
* @namespace api.course.assignmentGroup
*/
import EndpointCategory from '../../shared/EndpointCategory';
import APIConfig from '../../shared/types/APIConfig';
import CanvasAssignmentGroup from '../../types/CanvasAssignmentGroup';
declare class ECatAssignmentGroup extends EndpointCategory {
/**
* Lists assignment groups in a course
* @author Gabe Abrams
* @memberof api.course.assignmentGroup
* @instance
* @async
* @method list
* @param {object} [opts] object containing all arguments
* @param {number} [opts.courseId=default course id] Canvas course Id to query
* @param {APIConfig} [config] custom configuration for this specific endpoint
* call (overwrites defaults that were included when api was initialized)
* @returns {Promise<CanvasAssignmentGroup[]>} list of Canvas AssignmentGroups {@link https://canvas.instructure.com/doc/api/assignment_groups.html#AssignmentGroup}
*/
list(opts?: {
courseId?: number;
}, config?: APIConfig): Promise<CanvasAssignmentGroup[]>;
/**
* Gets info on a specific assignment group in a course
* @author Gabe Abrams
* @memberof api.course.assignmentGroup
* @instance
* @async
* @method get
* @param {object} opts object containing all arguments
* @param {number} opts.assignmentGroupId Assignment group to get
* @param {number} [opts.courseId=default course id] Canvas course Id to query
* @param {boolean} [opts.includeAssignments] if true, the list of
* assignments inside the group is included
* @param {APIConfig} [config] custom configuration for this specific endpoint
* call (overwrites defaults that were included when api was initialized)
* @returns {Promise<CanvasAssignmentGroup>} Canvas AssignmentGroup {@link https://canvas.instructure.com/doc/api/assignment_groups.html#AssignmentGroup}
*/
get(opts: {
assignmentGroupId: number;
courseId?: number;
includeAssignments?: boolean;
}, config?: APIConfig): Promise<CanvasAssignmentGroup>;
/**
* Updates an assignment group in a course
* @author Gabe Abrams
* @memberof api.course.assignmentGroup
* @instance
* @async
* @method update
* @param {object} opts object containing all arguments
* @param {number} opts.assignmentGroupId Assignment group to update
* @param {number} [opts.courseId=default course id] Canvas course Id to query
* @param {string} [opts.name=current value] New assignment group name
* @param {number} [opts.weight=current value] New weight
* @param {number} [opts.dropLowest=0] number of lowest assignment scores to
* drop
* @param {number} [opts.dropHighest=0] number of highest assignment scores to
* drop
* @param {number[]} [opts.neverDrop] list of assignment ids to not drop in
* the drop lowest/highest rule
* @param {APIConfig} [config] custom configuration for this specific endpoint
* call (overwrites defaults that were included when api was initialized)
* @returns {Promise<CanvasAssignmentGroup>} Canvas AssignmentGroup {@link https://canvas.instructure.com/doc/api/assignment_groups.html#AssignmentGroup}
*/
update(opts: {
assignmentGroupId: number;
courseId?: number;
name?: string;
weight?: number;
dropLowest?: number;
dropHighest?: number;
neverDrop?: number[];
}, config?: APIConfig): Promise<CanvasAssignmentGroup>;
/**
* Create a new assignment group in a course
* @author Gabe Abrams
* @memberof api.course.assignmentGroup
* @instance
* @async
* @method create
* @param {object} opts object containing all arguments
* @param {string} opts.name New assignment group name
* @param {number} [opts.courseId=default course id] Canvas course Id to query
* @param {number} [opts.weight=0] Assignment group weight
* @param {APIConfig} [config] custom configuration for this specific endpoint
* call (overwrites defaults that were included when api was initialized)
* @returns {Promise<CanvasAssignmentGroup>} Canvas AssignmentGroup {@link https://canvas.instructure.com/doc/api/assignment_groups.html#AssignmentGroup}
*/
create(opts: {
name: string;
courseId?: number;
weight?: number;
}, config?: APIConfig): Promise<CanvasAssignmentGroup>;
/**
* Deletes an assignment group from a course
* @author Gabe Abrams
* @memberof api.course.assignmentGroup
* @instance
* @async
* @method delete
* @param {object} opts object containing all arguments
* @param {number} opts.assignmentGroupId Assignment group to delete
* @param {number} [opts.courseId=default course id] Canvas course Id to query
* @param {number} [opts.moveAssignmentsTo] Assignment group to move
* assignments to. If this parameter isn't included, assignments in the
* assignment group will be deleted.
* @param {APIConfig} [config] custom configuration for this specific endpoint
* call (overwrites defaults that were included when api was initialized)
* @returns {Promise<CanvasAssignmentGroup>} Canvas AssignmentGroup {@link https://canvas.instructure.com/doc/api/assignment_groups.html#AssignmentGroup}
*/
delete(opts: {
assignmentGroupId: number;
courseId?: number;
moveAssignmentsTo?: number;
}, config?: APIConfig): Promise<CanvasAssignmentGroup>;
}
export default ECatAssignmentGroup;