caccl-api
Version:
A class that defines a set of smart Canvas endpoints that actually behave how you'd expect them to.
741 lines (722 loc) • 36.5 kB
text/typescript
import initAPI from './src';
const api = initAPI({
canvasHost: 'canvas.harvard.edu',
defaultCourseId: 157597,
// defaultCourseId: 53450,
// accessToken: '1875~WxjfygW6HE7hfmZZeZfnKMz2LsdcnjyotMdIhQZP4AZ79vZLGIwHWEKTfwCDZk7R',
// accessToken: '1875~YcklUjUNdSxBI7E2LnBIdShvUl2oZ0HkhJMCcu09ab2Jg0HJUaU8KZ7Up1TkSMKF',
// accessToken: '1875~Tcdp76BIAjRse0HazvwY491cKy8RF7ggSXKIUck2Ff50bKa4Fi7CweEnmMbkA8nN',
// accessToken: '1875~QEt4ID0jSf5GOurzNXOCrraBdwA6b3TBXGPi29e6R6FZDrjvjQbyCbGyoOp3gjcy',
accessToken: '1875~YcklUjUNdSxBI7E2LnBIdShvUl2oZ0HkhJMCcu09ab2Jg0HJUaU8KZ7Up1TkSMKF',
});
const main = async () => {
console.log('Working...');
const apps = await api.course.app.list(
{
courseId: 157597,
},
{
canvasHost: 'canvas.harvard.edu',
},
);
console.log(apps);
// const data = [
// {
// courseId: 141083,
// id: 'context_external_tool_110573',
// html_url: '/courses/141083/external_tools/110573?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/141083/external_tools/110573?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/141083/external_tools/sessionless_launch?id=110573&launch_type=course_navigation'
// },
// {
// courseId: 150064,
// id: 'context_external_tool_109908',
// html_url: '/courses/150064/external_tools/109908?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150064/external_tools/109908?display=borderless',
// position: 16,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150064/external_tools/sessionless_launch?id=109908&launch_type=course_navigation'
// },
// {
// courseId: 150068,
// id: 'context_external_tool_107535',
// html_url: '/courses/150068/external_tools/107535?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150068/external_tools/107535?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150068/external_tools/sessionless_launch?id=107535&launch_type=course_navigation'
// },
// {
// courseId: 150070,
// id: 'context_external_tool_110775',
// html_url: '/courses/150070/external_tools/110775?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150070/external_tools/110775?display=borderless',
// position: 32,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150070/external_tools/sessionless_launch?id=110775&launch_type=course_navigation'
// },
// {
// courseId: 150072,
// id: 'context_external_tool_108643',
// html_url: '/courses/150072/external_tools/108643?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150072/external_tools/108643?display=borderless',
// position: 11,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150072/external_tools/sessionless_launch?id=108643&launch_type=course_navigation'
// },
// {
// courseId: 150102,
// id: 'context_external_tool_108599',
// html_url: '/courses/150102/external_tools/108599?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150102/external_tools/108599?display=borderless',
// position: 11,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150102/external_tools/sessionless_launch?id=108599&launch_type=course_navigation'
// },
// {
// courseId: 150110,
// id: 'context_external_tool_108601',
// html_url: '/courses/150110/external_tools/108601?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150110/external_tools/108601?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150110/external_tools/sessionless_launch?id=108601&launch_type=course_navigation'
// },
// {
// courseId: 150112,
// id: 'context_external_tool_108314',
// html_url: '/courses/150112/external_tools/108314?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150112/external_tools/108314?display=borderless',
// position: 18,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150112/external_tools/sessionless_launch?id=108314&launch_type=course_navigation'
// },
// {
// courseId: 150133,
// id: 'context_external_tool_110212',
// html_url: '/courses/150133/external_tools/110212?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150133/external_tools/110212?display=borderless',
// position: 17,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150133/external_tools/sessionless_launch?id=110212&launch_type=course_navigation'
// },
// {
// courseId: 150155,
// id: 'context_external_tool_109639',
// html_url: '/courses/150155/external_tools/109639?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150155/external_tools/109639?display=borderless',
// position: 21,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150155/external_tools/sessionless_launch?id=109639&launch_type=course_navigation'
// },
// {
// courseId: 150158,
// id: 'context_external_tool_109534',
// html_url: '/courses/150158/external_tools/109534?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150158/external_tools/109534?display=borderless',
// position: 19,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150158/external_tools/sessionless_launch?id=109534&launch_type=course_navigation'
// },
// {
// courseId: 150160,
// id: 'context_external_tool_110790',
// html_url: '/courses/150160/external_tools/110790?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150160/external_tools/110790?display=borderless',
// position: 15,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150160/external_tools/sessionless_launch?id=110790&launch_type=course_navigation'
// },
// {
// courseId: 150167,
// id: 'context_external_tool_109875',
// html_url: '/courses/150167/external_tools/109875?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150167/external_tools/109875?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150167/external_tools/sessionless_launch?id=109875&launch_type=course_navigation'
// },
// {
// courseId: 150189,
// id: 'context_external_tool_107650',
// html_url: '/courses/150189/external_tools/107650?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150189/external_tools/107650?display=borderless',
// position: 22,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150189/external_tools/sessionless_launch?id=107650&launch_type=course_navigation'
// },
// {
// courseId: 150200,
// id: 'context_external_tool_110073',
// html_url: '/courses/150200/external_tools/110073?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150200/external_tools/110073?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150200/external_tools/sessionless_launch?id=110073&launch_type=course_navigation'
// },
// {
// courseId: 150203,
// id: 'context_external_tool_110129',
// html_url: '/courses/150203/external_tools/110129?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150203/external_tools/110129?display=borderless',
// position: 32,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150203/external_tools/sessionless_launch?id=110129&launch_type=course_navigation'
// },
// {
// courseId: 150211,
// id: 'context_external_tool_108189',
// html_url: '/courses/150211/external_tools/108189?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150211/external_tools/108189?display=borderless',
// position: 14,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150211/external_tools/sessionless_launch?id=108189&launch_type=course_navigation'
// },
// {
// courseId: 150213,
// id: 'context_external_tool_109123',
// html_url: '/courses/150213/external_tools/109123?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150213/external_tools/109123?display=borderless',
// position: 16,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150213/external_tools/sessionless_launch?id=109123&launch_type=course_navigation'
// },
// {
// courseId: 150224,
// id: 'context_external_tool_109122',
// html_url: '/courses/150224/external_tools/109122?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150224/external_tools/109122?display=borderless',
// position: 17,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150224/external_tools/sessionless_launch?id=109122&launch_type=course_navigation'
// },
// {
// courseId: 150229,
// id: 'context_external_tool_109434',
// html_url: '/courses/150229/external_tools/109434?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150229/external_tools/109434?display=borderless',
// position: 20,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150229/external_tools/sessionless_launch?id=109434&launch_type=course_navigation'
// },
// {
// courseId: 150284,
// id: 'context_external_tool_110963',
// html_url: '/courses/150284/external_tools/110963?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150284/external_tools/110963?display=borderless',
// position: 17,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150284/external_tools/sessionless_launch?id=110963&launch_type=course_navigation'
// },
// {
// courseId: 150285,
// id: 'context_external_tool_110543',
// html_url: '/courses/150285/external_tools/110543?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150285/external_tools/110543?display=borderless',
// position: 32,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150285/external_tools/sessionless_launch?id=110543&launch_type=course_navigation'
// },
// {
// courseId: 150291,
// id: 'context_external_tool_107544',
// html_url: '/courses/150291/external_tools/107544?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150291/external_tools/107544?display=borderless',
// position: 15,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150291/external_tools/sessionless_launch?id=107544&launch_type=course_navigation'
// },
// {
// courseId: 150300,
// id: 'context_external_tool_110218',
// html_url: '/courses/150300/external_tools/110218?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150300/external_tools/110218?display=borderless',
// position: 11,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150300/external_tools/sessionless_launch?id=110218&launch_type=course_navigation'
// },
// {
// courseId: 150302,
// id: 'context_external_tool_110964',
// html_url: '/courses/150302/external_tools/110964?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150302/external_tools/110964?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150302/external_tools/sessionless_launch?id=110964&launch_type=course_navigation'
// },
// {
// courseId: 150306,
// id: 'context_external_tool_108600',
// html_url: '/courses/150306/external_tools/108600?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150306/external_tools/108600?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150306/external_tools/sessionless_launch?id=108600&launch_type=course_navigation'
// },
// {
// courseId: 150320,
// id: 'context_external_tool_110513',
// html_url: '/courses/150320/external_tools/110513?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150320/external_tools/110513?display=borderless',
// position: 29,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150320/external_tools/sessionless_launch?id=110513&launch_type=course_navigation'
// },
// {
// courseId: 150323,
// id: 'context_external_tool_109586',
// html_url: '/courses/150323/external_tools/109586?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150323/external_tools/109586?display=borderless',
// position: 20,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150323/external_tools/sessionless_launch?id=109586&launch_type=course_navigation'
// },
// {
// courseId: 150349,
// id: 'context_external_tool_110498',
// html_url: '/courses/150349/external_tools/110498?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150349/external_tools/110498?display=borderless',
// position: 22,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150349/external_tools/sessionless_launch?id=110498&launch_type=course_navigation'
// },
// {
// courseId: 150365,
// id: 'context_external_tool_110251',
// html_url: '/courses/150365/external_tools/110251?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150365/external_tools/110251?display=borderless',
// position: 18,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150365/external_tools/sessionless_launch?id=110251&launch_type=course_navigation'
// },
// {
// courseId: 150366,
// id: 'context_external_tool_110265',
// html_url: '/courses/150366/external_tools/110265?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150366/external_tools/110265?display=borderless',
// position: 11,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150366/external_tools/sessionless_launch?id=110265&launch_type=course_navigation'
// },
// {
// courseId: 150384,
// id: 'context_external_tool_111404',
// html_url: '/courses/150384/external_tools/111404?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150384/external_tools/111404?display=borderless',
// position: 33,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150384/external_tools/sessionless_launch?id=111404&launch_type=course_navigation'
// },
// {
// courseId: 150390,
// id: 'context_external_tool_110506',
// html_url: '/courses/150390/external_tools/110506?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150390/external_tools/110506?display=borderless',
// position: 10,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150390/external_tools/sessionless_launch?id=110506&launch_type=course_navigation'
// },
// {
// courseId: 150401,
// id: 'context_external_tool_107884',
// html_url: '/courses/150401/external_tools/107884?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150401/external_tools/107884?display=borderless',
// position: 12,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150401/external_tools/sessionless_launch?id=107884&launch_type=course_navigation'
// },
// {
// courseId: 150404,
// id: 'context_external_tool_108515',
// html_url: '/courses/150404/external_tools/108515?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150404/external_tools/108515?display=borderless',
// position: 20,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150404/external_tools/sessionless_launch?id=108515&launch_type=course_navigation'
// },
// {
// courseId: 150419,
// id: 'context_external_tool_109894',
// html_url: '/courses/150419/external_tools/109894?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150419/external_tools/109894?display=borderless',
// position: 19,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150419/external_tools/sessionless_launch?id=109894&launch_type=course_navigation'
// },
// {
// courseId: 150429,
// id: 'context_external_tool_109194',
// html_url: '/courses/150429/external_tools/109194?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150429/external_tools/109194?display=borderless',
// position: 13,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150429/external_tools/sessionless_launch?id=109194&launch_type=course_navigation'
// },
// {
// courseId: 150441,
// id: 'context_external_tool_109874',
// html_url: '/courses/150441/external_tools/109874?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150441/external_tools/109874?display=borderless',
// position: 13,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150441/external_tools/sessionless_launch?id=109874&launch_type=course_navigation'
// },
// {
// courseId: 150446,
// id: 'context_external_tool_108350',
// html_url: '/courses/150446/external_tools/108350?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150446/external_tools/108350?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150446/external_tools/sessionless_launch?id=108350&launch_type=course_navigation'
// },
// {
// courseId: 150458,
// id: 'context_external_tool_110046',
// html_url: '/courses/150458/external_tools/110046?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150458/external_tools/110046?display=borderless',
// position: 30,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150458/external_tools/sessionless_launch?id=110046&launch_type=course_navigation'
// },
// {
// courseId: 150467,
// id: 'context_external_tool_107646',
// html_url: '/courses/150467/external_tools/107646?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150467/external_tools/107646?display=borderless',
// position: 12,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150467/external_tools/sessionless_launch?id=107646&launch_type=course_navigation'
// },
// {
// courseId: 150476,
// id: 'context_external_tool_109082',
// html_url: '/courses/150476/external_tools/109082?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150476/external_tools/109082?display=borderless',
// position: 21,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150476/external_tools/sessionless_launch?id=109082&launch_type=course_navigation'
// },
// {
// courseId: 150478,
// id: 'context_external_tool_109635',
// html_url: '/courses/150478/external_tools/109635?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150478/external_tools/109635?display=borderless',
// position: 12,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150478/external_tools/sessionless_launch?id=109635&launch_type=course_navigation'
// },
// {
// courseId: 150486,
// id: 'context_external_tool_110159',
// html_url: '/courses/150486/external_tools/110159?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150486/external_tools/110159?display=borderless',
// position: 13,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150486/external_tools/sessionless_launch?id=110159&launch_type=course_navigation'
// },
// {
// courseId: 150491,
// id: 'context_external_tool_108194',
// html_url: '/courses/150491/external_tools/108194?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150491/external_tools/108194?display=borderless',
// position: 12,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150491/external_tools/sessionless_launch?id=108194&launch_type=course_navigation'
// },
// {
// courseId: 150502,
// id: 'context_external_tool_109660',
// html_url: '/courses/150502/external_tools/109660?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150502/external_tools/109660?display=borderless',
// position: 14,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150502/external_tools/sessionless_launch?id=109660&launch_type=course_navigation'
// },
// {
// courseId: 150516,
// id: 'context_external_tool_108281',
// html_url: '/courses/150516/external_tools/108281?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150516/external_tools/108281?display=borderless',
// position: 19,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150516/external_tools/sessionless_launch?id=108281&launch_type=course_navigation'
// },
// {
// courseId: 150518,
// id: 'context_external_tool_110293',
// html_url: '/courses/150518/external_tools/110293?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150518/external_tools/110293?display=borderless',
// position: 14,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150518/external_tools/sessionless_launch?id=110293&launch_type=course_navigation'
// },
// {
// courseId: 150525,
// id: 'context_external_tool_110788',
// html_url: '/courses/150525/external_tools/110788?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150525/external_tools/110788?display=borderless',
// position: 19,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150525/external_tools/sessionless_launch?id=110788&launch_type=course_navigation'
// },
// {
// courseId: 150533,
// id: 'context_external_tool_110158',
// html_url: '/courses/150533/external_tools/110158?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150533/external_tools/110158?display=borderless',
// position: 13,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150533/external_tools/sessionless_launch?id=110158&launch_type=course_navigation'
// },
// {
// courseId: 150548,
// id: 'context_external_tool_109958',
// html_url: '/courses/150548/external_tools/109958?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150548/external_tools/109958?display=borderless',
// position: 13,
// hidden: true,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150548/external_tools/sessionless_launch?id=109958&launch_type=course_navigation'
// },
// {
// courseId: 150551,
// id: 'context_external_tool_110514',
// html_url: '/courses/150551/external_tools/110514?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/150551/external_tools/110514?display=borderless',
// position: 12,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/150551/external_tools/sessionless_launch?id=110514&launch_type=course_navigation'
// },
// {
// courseId: 152653,
// id: 'context_external_tool_109633',
// html_url: '/courses/152653/external_tools/109633?display=borderless',
// full_url: 'https://canvas.harvard.edu/courses/152653/external_tools/109633?display=borderless',
// position: 12,
// visibility: 'admins',
// label: 'Course Admin Tools',
// type: 'external',
// url: 'https://canvas.harvard.edu/api/v1/courses/152653/external_tools/sessionless_launch?id=109633&launch_type=course_navigation'
// },
// ];
// for (let i = 0; i < data.length; i++) {
// const { courseId } = data[i];
// const course = await api.course.get({ courseId });
// console.log(`${course.course_code} (https://canvas.harvard.edu/courses/${courseId})`);
// }
// // const courses = await api.account.listCourses({
// // accountId: 38,
// // enrollmentTermId: 471,
// // });
// // const courseIds = courses.map((course) => course.id);
// // // const courseIds = [11709, 11766, 157336, 157345, 157346, 157347, 157348, 157349, 157350, 157351, 157352, 157353, 157354, 157355, 157356, 157357, 157358, 157359, 157360, 157361, 157362, 157363, 157364, 157365, 157366, 157367, 157368, 157369, 157370, 157371, 157372, 157373, 157374, 157375, 157376, 157377, 157378, 157379, 157380, 157381, 157382, 157383, 157384, 157385, 157386, 157387, 157388, 157389, 157390, 157391, 157392, 157393, 157394, 157395, 157396, 157397, 157398, 157399, 157400, 157401, 157402, 157403, 157404, 157405, 157406, 157407, 157408, 157409, 157410, 157411, 157412, 157413, 157414, 157415, 157416, 157417, 157418, 157419, 157420, 157421, 157422, 157423, 157424, 157425, 157426, 157427, 157428, 157429, 157430, 157431, 157432, 157433, 157434, 157435, 157436, 157437, 157438, 157439, 157440, 157441, 157442, 157443, 157444, 157445, 157446, 157447, 157448, 157449, 157450, 157451, 157452, 157453, 157454, 157455, 157456, 157457, 157458, 157459, 157460, 157461, 157462, 157463, 157464, 157465, 157466, 157467, 157468, 157469, 157470, 157471, 157472, 157473, 157474, 157475, 157476, 157477, 157478, 157479, 157480, 157481, 157482, 157483, 157484, 157485, 157486, 157487, 157488, 157489, 157490, 157491, 157492, 157493, 157494, 157495, 157496, 157497, 157498, 157499, 157500, 157501, 157502, 157503, 157504, 157505, 157506, 157507, 157508, 157509, 157510, 157511, 157512, 157513, 157514, 157515, 157516, 157517, 157518, 157519, 157520, 157521, 157522, 157523, 157524, 157525, 157526, 157527, 157528, 157529, 157530, 157531, 157532, 157533, 157534, 157535, 157536, 157537, 157538, 157539, 157540, 157541, 157542, 157543, 157544, 157545, 157546, 157547, 157548, 157549, 157550, 157551, 157552, 157553, 157554, 157555, 157556, 157557, 157558, 157559, 157560, 157561, 157562, 157563, 157564, 157565, 157566, 157567, 157568, 157569, 157570, 157571, 157572, 157573, 157574, 157575, 157576, 157577, 157578, 157579, 157580, 157581, 157582, 157583, 157584, 157585, 157586, 157587, 157588, 157589, 157590, 157591, 157592, 157593, 157594, 157595, 157596, 157597, 157598, 157599, 157600, 157601, 157602, 157603, 157604, 157605, 157606, 157607, 157608, 157609, 157610, 157611, 157612, 157613, 157614, 157615, 157616, 157617, 157618, 157619, 157620, 157621, 157622, 157623, 157624, 157625, 157626, 157627, 157628, 157629, 157630, 157631, 157632, 157633, 157634, 157635, 157636, 157637, 157638, 157639, 157640, 157641, 157642, 157643, 157644, 157645, 157646, 157647, 157648, 157649, 157650, 157651, 157652, 157653, 157654, 157655, 157656, 157657, 157658, 157659, 157660, 157661, 157662, 157663, 157664, 157665, 157666, 157667, 157668, 157669, 157670, 157671, 157672, 157673, 157674, 157675, 157676, 157677, 157678, 157679, 157680, 157681, 157682, 157683, 157684, 157685, 157686, 157687, 157688, 157689, 157690, 157691, 157692, 157693, 157694, 157695, 157696, 157697, 157698, 157699, 157700, 157701, 157702, 157914, 158860, 158861, 158862, 158863, 158864, 158865];
// // for (let i = 0; i < courseIds.length; i++) {
// // const courseId = courseIds[i];
// // const tabs = await api.course.navMenuItem.list({
// // courseId,
// // });
// // const courseAdminToolsTab = tabs.find((tab) => {
// // return tab.label === 'Course Admin Tools' && tab.type === 'external';
// // });
// // if (courseAdminToolsTab) {
// // console.log(courseId, courseAdminToolsTab);
// // } else {
// // console.log(`Checked ${i + 1}/${courseIds.length}`);
// // }
// // }
// // const r = await api.other.endpoint({
// // path: '/api/v1/courses/127502/quizzes/356688/reports/304100',
// // method: 'DELETE',
// // });
// // console.log(r);
// // const res = await api.course.quiz.getQuizStudentAnalysisReport({
// // courseId: 127502,
// // quizId: 356688,
// // });
// // console.log('Quiz Student Analysis Report:', res);
// // const a = await api.course.getUser({
// // // courseId: 53450,
// // userId: 584132,
// // });
// // console.log(a);
// // await api.other.endpoint({
// // path: '/api/v1/courses/150550/users/584132',
// // method: 'PUT',
// // params: {
// // },
// // })
// // const ag = await api.course.assignmentGroup.update({
// // assignmentGroupId: 199535,
// // courseId: 53450,
// // dropLowest: 1,
// // neverDrop: [569172],
// // });
// // const x = await api.course.app.list({ courseId: 131221 });
// // x.forEach((app) => {
// // console.log(app.name, app.url);
// // if (!app.url) {
// // console.log(app);
// // }
// // });
// // const assignmentIds = [587684];
// // for (let i = 0; i < assignmentIds.length; i++) {
// // const assignmentId = assignmentIds[i];
// // console.log('Deleting: ', assignmentId);
// // await api.course.assignment.delete({
// // assignmentId,
// // courseId: 108617,
// // });
// // }
// // const migration = await api.course.migrateContent(
// // {
// // sourceCourseId: 108616,
// // destinationCourseId: 108617,
// // include: {
// // // fileIds: [15162179, 15162088], // icon.png home dir, profile inside "hello", NO frogs, no "empty" and no "test" folder
// // // quizIds: [275273], // quiz mig via quizzes
// // // NOTE: Assignments did not fully migrate
// // assignmentIds: [587682,588062,588064,590082,590084,590086,590088,590090,590768,602226, 590756 /* <- empty quiz */, 602241 /* quizzes next */], // all but "some assignment"
// // // assignmentIds: [587682],
// // // announcementIds: [789881, 789872], // "hi kids" and "bob", not "heyy"
// // // discussionTopicsIds: [797707],
// // // moduleIds: [224749, 227578],
// // // pageIds: [632675, 687858],
// // },
// // dateShiftOptions: {
// // dateHandling: DateHandlingType.RemoveDates,
// // // oldStart: new Date('2022-01-01'), // Check that all dates are 2023
// // // oldEnd: new Date('2022-08-31'),
// // // newStart: new Date('2023-01-01'),
// // // newEnd: new Date('2023-08-31'),
// // // daySubstitutionMap: {
// // // [DayOfWeek.Sunday]: DayOfWeek.Wednesday, // All dates must be on Wednesdays
// // // [DayOfWeek.Monday]: DayOfWeek.Wednesday,
// // // [DayOfWeek.Tuesday]: DayOfWeek.Wednesday,
// // // [DayOfWeek.Wednesday]: DayOfWeek.Wednesday,
// // // [DayOfWeek.Thursday]: DayOfWeek.Wednesday,
// // // [DayOfWeek.Friday]: DayOfWeek.Wednesday,
// // // [DayOfWeek.Saturday]: DayOfWeek.Wednesday,
// // // },
// // }
// // },
// // );
console.log('Done!');
};
main();