canvaslms-cli 1.6.0 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +210 -186
  2. package/README.md +131 -129
  3. package/dist/commands/announcements.d.ts +2 -2
  4. package/dist/commands/announcements.d.ts.map +1 -1
  5. package/dist/commands/announcements.js +43 -124
  6. package/dist/commands/announcements.js.map +1 -1
  7. package/dist/commands/api.d.ts +1 -1
  8. package/dist/commands/api.d.ts.map +1 -1
  9. package/dist/commands/api.js +1 -1
  10. package/dist/commands/api.js.map +1 -1
  11. package/dist/commands/assignments.d.ts +2 -2
  12. package/dist/commands/assignments.d.ts.map +1 -1
  13. package/dist/commands/assignments.js +40 -128
  14. package/dist/commands/assignments.js.map +1 -1
  15. package/dist/commands/config.d.ts.map +1 -1
  16. package/dist/commands/config.js +102 -85
  17. package/dist/commands/config.js.map +1 -1
  18. package/dist/commands/grades.d.ts +2 -2
  19. package/dist/commands/grades.d.ts.map +1 -1
  20. package/dist/commands/grades.js +296 -178
  21. package/dist/commands/grades.js.map +1 -1
  22. package/dist/commands/list.d.ts +1 -1
  23. package/dist/commands/list.d.ts.map +1 -1
  24. package/dist/commands/list.js +26 -46
  25. package/dist/commands/list.js.map +1 -1
  26. package/dist/commands/profile.d.ts.map +1 -1
  27. package/dist/commands/profile.js +57 -32
  28. package/dist/commands/profile.js.map +1 -1
  29. package/dist/commands/submit.d.ts +2 -2
  30. package/dist/commands/submit.d.ts.map +1 -1
  31. package/dist/commands/submit.js +110 -165
  32. package/dist/commands/submit.js.map +1 -1
  33. package/dist/index.d.ts +14 -14
  34. package/dist/index.js +14 -14
  35. package/dist/lib/api-client.d.ts +3 -0
  36. package/dist/lib/api-client.d.ts.map +1 -1
  37. package/dist/lib/api-client.js +31 -16
  38. package/dist/lib/api-client.js.map +1 -1
  39. package/dist/lib/config-validator.d.ts.map +1 -1
  40. package/dist/lib/config-validator.js +12 -12
  41. package/dist/lib/config-validator.js.map +1 -1
  42. package/dist/lib/config.d.ts +1 -1
  43. package/dist/lib/config.d.ts.map +1 -1
  44. package/dist/lib/config.js +16 -14
  45. package/dist/lib/config.js.map +1 -1
  46. package/dist/lib/display.d.ts +84 -0
  47. package/dist/lib/display.d.ts.map +1 -0
  48. package/dist/lib/display.js +603 -0
  49. package/dist/lib/display.js.map +1 -0
  50. package/dist/lib/file-upload.d.ts.map +1 -1
  51. package/dist/lib/file-upload.js +17 -17
  52. package/dist/lib/file-upload.js.map +1 -1
  53. package/dist/lib/interactive.d.ts +1 -1
  54. package/dist/lib/interactive.d.ts.map +1 -1
  55. package/dist/lib/interactive.js +200 -143
  56. package/dist/lib/interactive.js.map +1 -1
  57. package/dist/src/index.d.ts +0 -1
  58. package/dist/src/index.js +62 -62
  59. package/dist/src/index.js.map +1 -1
  60. package/dist/types/index.d.ts +1 -1
  61. package/package.json +9 -4
  62. package/dist/commands/coursenames.d.ts +0 -15
  63. package/dist/commands/coursenames.d.ts.map +0 -1
  64. package/dist/commands/coursenames.js +0 -150
  65. package/dist/commands/coursenames.js.map +0 -1
  66. package/dist/lib/course-utils.d.ts +0 -6
  67. package/dist/lib/course-utils.d.ts.map +0 -1
  68. package/dist/lib/course-utils.js +0 -17
  69. package/dist/lib/course-utils.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import axios from 'axios';
4
- import FormData from 'form-data';
5
- import { makeCanvasRequest } from './api-client.js';
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import axios from "axios";
4
+ import FormData from "form-data";
5
+ import { makeCanvasRequest } from "./api-client.js";
6
6
  export async function uploadSingleFileToCanvas(courseId, assignmentId, filePath) {
7
7
  try {
8
8
  if (!fs.existsSync(filePath)) {
@@ -13,25 +13,25 @@ export async function uploadSingleFileToCanvas(courseId, assignmentId, filePath)
13
13
  const uploadParams = [
14
14
  `name=${fileName}`,
15
15
  `size=${fileContent.length}`,
16
- 'parent_folder_path=/assignments'
16
+ "parent_folder_path=/assignments",
17
17
  ];
18
- const uploadData = await makeCanvasRequest('post', `courses/${courseId}/assignments/${assignmentId}/submissions/self/files`, uploadParams);
18
+ const uploadData = await makeCanvasRequest("post", `courses/${courseId}/assignments/${assignmentId}/submissions/self/files`, uploadParams);
19
19
  if (!uploadData.upload_url) {
20
- throw new Error('Failed to get upload URL from Canvas');
20
+ throw new Error("Failed to get upload URL from Canvas");
21
21
  }
22
22
  const form = new FormData();
23
- Object.keys(uploadData.upload_params).forEach(key => {
23
+ Object.keys(uploadData.upload_params).forEach((key) => {
24
24
  form.append(key, uploadData.upload_params[key]);
25
25
  });
26
- form.append('file', fileContent, fileName);
26
+ form.append("file", fileContent, fileName);
27
27
  const uploadResponse = await axios.post(uploadData.upload_url, form, {
28
28
  headers: form.getHeaders(),
29
29
  maxRedirects: 0,
30
- validateStatus: (status) => status < 400
30
+ validateStatus: (status) => status < 400,
31
31
  });
32
32
  const fileId = uploadData.id || uploadResponse.data.id;
33
- if (typeof fileId !== 'number') {
34
- throw new Error('Failed to get file ID from upload response');
33
+ if (typeof fileId !== "number") {
34
+ throw new Error("Failed to get file ID from upload response");
35
35
  }
36
36
  return fileId;
37
37
  }
@@ -43,10 +43,10 @@ export async function uploadSingleFileToCanvas(courseId, assignmentId, filePath)
43
43
  export async function submitAssignmentWithFiles(courseId, assignmentId, fileIds) {
44
44
  const submissionData = {
45
45
  submission: {
46
- submission_type: 'online_upload',
47
- file_ids: fileIds
48
- }
46
+ submission_type: "online_upload",
47
+ file_ids: fileIds,
48
+ },
49
49
  };
50
- return await makeCanvasRequest('post', `courses/${courseId}/assignments/${assignmentId}/submissions`, [], JSON.stringify(submissionData));
50
+ return await makeCanvasRequest("post", `courses/${courseId}/assignments/${assignmentId}/submissions`, [], JSON.stringify(submissionData));
51
51
  }
52
52
  //# sourceMappingURL=file-upload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../lib/file-upload.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,YAAoB,EACpB,QAAgB;IAEhB,IAAI,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAG9C,MAAM,YAAY,GAAG;YACnB,QAAQ,QAAQ,EAAE;YAClB,QAAQ,WAAW,CAAC,MAAM,EAAE;YAC5B,iCAAiC;SAClC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,MAAM,EACN,WAAW,QAAQ,gBAAgB,YAAY,yBAAyB,EACxE,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAGD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAG5B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE;YACnE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,GAAG;SACzC,CAAC,CAAC;QAGH,MAAM,MAAM,GAAI,UAAkB,CAAC,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC;IAEhB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,KAAK,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAKD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,YAAoB,EACpB,OAAiB;IAEjB,MAAM,cAAc,GAAG;QACrB,UAAU,EAAE;YACV,eAAe,EAAE,eAAe;YAChC,QAAQ,EAAE,OAAO;SAClB;KACF,CAAC;IAEF,OAAO,MAAM,iBAAiB,CAC5B,MAAM,EACN,WAAW,QAAQ,gBAAgB,YAAY,cAAc,EAC7D,EAAE,EACF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../lib/file-upload.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,YAAoB,EACpB,QAAgB;IAEhB,IAAI,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAG9C,MAAM,YAAY,GAAG;YACnB,QAAQ,QAAQ,EAAE;YAClB,QAAQ,WAAW,CAAC,MAAM,EAAE;YAC5B,iCAAiC;SAClC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,MAAM,EACN,WAAW,QAAQ,gBAAgB,YAAY,yBAAyB,EACxE,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAGD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAG5B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE;YACnE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,GAAG;SACzC,CAAC,CAAC;QAGH,MAAM,MAAM,GAAI,UAAkB,CAAC,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,KAAK,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAKD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,YAAoB,EACpB,OAAiB;IAEjB,MAAM,cAAc,GAAG;QACrB,UAAU,EAAE;YACV,eAAe,EAAE,eAAe;YAChC,QAAQ,EAAE,OAAO;SAClB;KACF,CAAC;IAEF,OAAO,MAAM,iBAAiB,CAC5B,MAAM,EACN,WAAW,QAAQ,gBAAgB,YAAY,cAAc,EAC7D,EAAE,EACF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAC/B,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import readline from 'readline';
1
+ import readline from "readline";
2
2
  interface AskConfirmationOptions {
3
3
  requireExplicit?: boolean;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../lib/interactive.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA2BhC,UAAU,sBAAsB;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,uBAAuB,IAAI,QAAQ,CAAC,SAAS,CAK5D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrF;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACrC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAajB;AAKD,wBAAsB,eAAe,CACnC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,OAAc,EAC1B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,CAgClB;AAKD,wBAAsB,cAAc,CAAC,CAAC,EACpC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,eAAe,GAAE,MAAM,CAAC,GAAG,IAAW,EACtC,WAAW,GAAE,OAAc,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAoCnB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,EAAE,CAqBjF;AAKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAsB,GAAG,MAAM,EAAE,CA2CtG;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAKD,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsLvH;AAKD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,UAAU,GAAE,MAAsB,EAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA8cnB"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../lib/interactive.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA2BhC,UAAU,sBAAsB;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,uBAAuB,IAAI,QAAQ,CAAC,SAAS,CAe5D;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACrC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAejB;AAKD,wBAAsB,eAAe,CACnC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,OAAc,EAC1B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,CAgClB;AAKD,wBAAsB,cAAc,CAAC,CAAC,EACpC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,eAAe,GAAE,MAAM,CAAC,GAAG,IAAW,EACtC,WAAW,GAAE,OAAc,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAuCnB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,MAAsB,GAC/B,MAAM,EAAE,CAsBV;AAKD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAAsB,GACjC,MAAM,EAAE,CAsDV;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAKD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CA2OnB;AAKD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,UAAU,GAAE,MAAsB,EAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyiBnB"}