@instructure/athena-api-client 3.39.3 → 3.41.0

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 (142) hide show
  1. package/README.md +28 -0
  2. package/dist/apis/AdminApi.d.ts +17 -1
  3. package/dist/apis/AdminApi.js +47 -0
  4. package/dist/apis/QuizzesApi.d.ts +30 -1
  5. package/dist/apis/QuizzesApi.js +87 -0
  6. package/dist/apis/ResourcesApi.d.ts +11 -2
  7. package/dist/apis/ResourcesApi.js +13 -3
  8. package/dist/apis/SharedQuizzesApi.d.ts +46 -0
  9. package/dist/apis/SharedQuizzesApi.js +115 -0
  10. package/dist/apis/StudyObjectivesApi.d.ts +2 -2
  11. package/dist/apis/StudyObjectivesApi.js +2 -2
  12. package/dist/apis/StudySpaceTemplatesApi.d.ts +61 -0
  13. package/dist/apis/StudySpaceTemplatesApi.js +162 -0
  14. package/dist/apis/index.d.ts +2 -0
  15. package/dist/apis/index.js +2 -0
  16. package/dist/esm/apis/AdminApi.d.ts +17 -1
  17. package/dist/esm/apis/AdminApi.js +48 -1
  18. package/dist/esm/apis/QuizzesApi.d.ts +30 -1
  19. package/dist/esm/apis/QuizzesApi.js +88 -1
  20. package/dist/esm/apis/ResourcesApi.d.ts +11 -2
  21. package/dist/esm/apis/ResourcesApi.js +12 -2
  22. package/dist/esm/apis/SharedQuizzesApi.d.ts +46 -0
  23. package/dist/esm/apis/SharedQuizzesApi.js +111 -0
  24. package/dist/esm/apis/StudyObjectivesApi.d.ts +2 -2
  25. package/dist/esm/apis/StudyObjectivesApi.js +2 -2
  26. package/dist/esm/apis/StudySpaceTemplatesApi.d.ts +61 -0
  27. package/dist/esm/apis/StudySpaceTemplatesApi.js +158 -0
  28. package/dist/esm/apis/index.d.ts +2 -0
  29. package/dist/esm/apis/index.js +2 -0
  30. package/dist/esm/models/AdminPaginatedQuizParticipantSessions.d.ts +39 -0
  31. package/dist/esm/models/AdminPaginatedQuizParticipantSessions.js +48 -0
  32. package/dist/esm/models/AdminQuizParticipantSessionListItem.d.ts +84 -0
  33. package/dist/esm/models/AdminQuizParticipantSessionListItem.js +80 -0
  34. package/dist/esm/models/AdminQuizParticipantSessionScore.d.ts +44 -0
  35. package/dist/esm/models/AdminQuizParticipantSessionScore.js +51 -0
  36. package/dist/esm/models/AdminStudyObjectiveListItem.d.ts +2 -1
  37. package/dist/esm/models/AdminStudyObjectiveListItem.js +2 -1
  38. package/dist/esm/models/CreateStudySpaceFromTemplateDto.d.ts +38 -0
  39. package/dist/esm/models/CreateStudySpaceFromTemplateDto.js +45 -0
  40. package/dist/esm/models/QuizSharing.d.ts +50 -0
  41. package/dist/esm/models/QuizSharing.js +55 -0
  42. package/dist/esm/models/ResourceListItem.d.ts +16 -3
  43. package/dist/esm/models/ResourceListItem.js +9 -0
  44. package/dist/esm/models/ResourceSharing.d.ts +44 -0
  45. package/dist/esm/models/ResourceSharing.js +51 -0
  46. package/dist/esm/models/ScheduleStudySpaceTemplateDto.d.ts +32 -0
  47. package/dist/esm/models/ScheduleStudySpaceTemplateDto.js +43 -0
  48. package/dist/esm/models/SharedQuiz.d.ts +97 -0
  49. package/dist/esm/models/SharedQuiz.js +90 -0
  50. package/dist/esm/models/StudyObjective.d.ts +8 -1
  51. package/dist/esm/models/StudyObjective.js +6 -1
  52. package/dist/esm/models/StudySpace.d.ts +12 -0
  53. package/dist/esm/models/StudySpace.js +8 -0
  54. package/dist/esm/models/StudySpaceFromTemplate.d.ts +40 -0
  55. package/dist/esm/models/StudySpaceFromTemplate.js +49 -0
  56. package/dist/esm/models/StudySpaceTemplate.d.ts +117 -0
  57. package/dist/esm/models/StudySpaceTemplate.js +102 -0
  58. package/dist/esm/models/StudySpaceTemplateAnchor.d.ts +44 -0
  59. package/dist/esm/models/StudySpaceTemplateAnchor.js +51 -0
  60. package/dist/esm/models/StudySpaceTemplateConfirm.d.ts +33 -0
  61. package/dist/esm/models/StudySpaceTemplateConfirm.js +44 -0
  62. package/dist/esm/models/StudySpaceTemplateLegal.d.ts +32 -0
  63. package/dist/esm/models/StudySpaceTemplateLegal.js +43 -0
  64. package/dist/esm/models/StudySpaceTemplateLink.d.ts +38 -0
  65. package/dist/esm/models/StudySpaceTemplateLink.js +47 -0
  66. package/dist/esm/models/StudySpaceTemplateNotice.d.ts +38 -0
  67. package/dist/esm/models/StudySpaceTemplateNotice.js +47 -0
  68. package/dist/esm/models/StudySpaceTemplateObjective.d.ts +52 -0
  69. package/dist/esm/models/StudySpaceTemplateObjective.js +58 -0
  70. package/dist/esm/models/StudySpaceTemplateProvenance.d.ts +32 -0
  71. package/dist/esm/models/StudySpaceTemplateProvenance.js +43 -0
  72. package/dist/esm/models/StudySpaceTemplateSchedule.d.ts +51 -0
  73. package/dist/esm/models/StudySpaceTemplateSchedule.js +57 -0
  74. package/dist/esm/models/StudySpaceTemplateScheduleItem.d.ts +50 -0
  75. package/dist/esm/models/StudySpaceTemplateScheduleItem.js +55 -0
  76. package/dist/esm/models/SyllabusAnalysisObjective.d.ts +1 -0
  77. package/dist/esm/models/SyllabusAnalysisObjective.js +2 -1
  78. package/dist/esm/models/TriggerStudyObjectiveConceptExtractionItemStatus.d.ts +2 -1
  79. package/dist/esm/models/TriggerStudyObjectiveConceptExtractionItemStatus.js +1 -0
  80. package/dist/esm/models/UpcomingStudyObjective.d.ts +8 -1
  81. package/dist/esm/models/UpcomingStudyObjective.js +6 -1
  82. package/dist/esm/models/UpdateQuizSharingRequest.d.ts +32 -0
  83. package/dist/esm/models/UpdateQuizSharingRequest.js +43 -0
  84. package/dist/esm/models/index.d.ts +20 -0
  85. package/dist/esm/models/index.js +20 -0
  86. package/dist/models/AdminPaginatedQuizParticipantSessions.d.ts +39 -0
  87. package/dist/models/AdminPaginatedQuizParticipantSessions.js +55 -0
  88. package/dist/models/AdminQuizParticipantSessionListItem.d.ts +84 -0
  89. package/dist/models/AdminQuizParticipantSessionListItem.js +88 -0
  90. package/dist/models/AdminQuizParticipantSessionScore.d.ts +44 -0
  91. package/dist/models/AdminQuizParticipantSessionScore.js +58 -0
  92. package/dist/models/AdminStudyObjectiveListItem.d.ts +2 -1
  93. package/dist/models/AdminStudyObjectiveListItem.js +2 -1
  94. package/dist/models/CreateStudySpaceFromTemplateDto.d.ts +38 -0
  95. package/dist/models/CreateStudySpaceFromTemplateDto.js +52 -0
  96. package/dist/models/QuizSharing.d.ts +50 -0
  97. package/dist/models/QuizSharing.js +62 -0
  98. package/dist/models/ResourceListItem.d.ts +16 -3
  99. package/dist/models/ResourceListItem.js +9 -0
  100. package/dist/models/ResourceSharing.d.ts +44 -0
  101. package/dist/models/ResourceSharing.js +58 -0
  102. package/dist/models/ScheduleStudySpaceTemplateDto.d.ts +32 -0
  103. package/dist/models/ScheduleStudySpaceTemplateDto.js +50 -0
  104. package/dist/models/SharedQuiz.d.ts +97 -0
  105. package/dist/models/SharedQuiz.js +98 -0
  106. package/dist/models/StudyObjective.d.ts +8 -1
  107. package/dist/models/StudyObjective.js +6 -1
  108. package/dist/models/StudySpace.d.ts +12 -0
  109. package/dist/models/StudySpace.js +8 -0
  110. package/dist/models/StudySpaceFromTemplate.d.ts +40 -0
  111. package/dist/models/StudySpaceFromTemplate.js +56 -0
  112. package/dist/models/StudySpaceTemplate.d.ts +117 -0
  113. package/dist/models/StudySpaceTemplate.js +109 -0
  114. package/dist/models/StudySpaceTemplateAnchor.d.ts +44 -0
  115. package/dist/models/StudySpaceTemplateAnchor.js +58 -0
  116. package/dist/models/StudySpaceTemplateConfirm.d.ts +33 -0
  117. package/dist/models/StudySpaceTemplateConfirm.js +51 -0
  118. package/dist/models/StudySpaceTemplateLegal.d.ts +32 -0
  119. package/dist/models/StudySpaceTemplateLegal.js +50 -0
  120. package/dist/models/StudySpaceTemplateLink.d.ts +38 -0
  121. package/dist/models/StudySpaceTemplateLink.js +54 -0
  122. package/dist/models/StudySpaceTemplateNotice.d.ts +38 -0
  123. package/dist/models/StudySpaceTemplateNotice.js +54 -0
  124. package/dist/models/StudySpaceTemplateObjective.d.ts +52 -0
  125. package/dist/models/StudySpaceTemplateObjective.js +66 -0
  126. package/dist/models/StudySpaceTemplateProvenance.d.ts +32 -0
  127. package/dist/models/StudySpaceTemplateProvenance.js +50 -0
  128. package/dist/models/StudySpaceTemplateSchedule.d.ts +51 -0
  129. package/dist/models/StudySpaceTemplateSchedule.js +65 -0
  130. package/dist/models/StudySpaceTemplateScheduleItem.d.ts +50 -0
  131. package/dist/models/StudySpaceTemplateScheduleItem.js +62 -0
  132. package/dist/models/SyllabusAnalysisObjective.d.ts +1 -0
  133. package/dist/models/SyllabusAnalysisObjective.js +2 -1
  134. package/dist/models/TriggerStudyObjectiveConceptExtractionItemStatus.d.ts +2 -1
  135. package/dist/models/TriggerStudyObjectiveConceptExtractionItemStatus.js +1 -0
  136. package/dist/models/UpcomingStudyObjective.d.ts +8 -1
  137. package/dist/models/UpcomingStudyObjective.js +6 -1
  138. package/dist/models/UpdateQuizSharingRequest.d.ts +32 -0
  139. package/dist/models/UpdateQuizSharingRequest.js +50 -0
  140. package/dist/models/index.d.ts +20 -0
  141. package/dist/models/index.js +20 -0
  142. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the ResourceSharing interface.
16
+ */
17
+ export function instanceOfResourceSharing(value) {
18
+ if (!('isShared' in value) || value['isShared'] === undefined)
19
+ return false;
20
+ if (!('shareToken' in value) || value['shareToken'] === undefined)
21
+ return false;
22
+ if (!('sharedAt' in value) || value['sharedAt'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function ResourceSharingFromJSON(json) {
27
+ return ResourceSharingFromJSONTyped(json, false);
28
+ }
29
+ export function ResourceSharingFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'isShared': json['isShared'],
35
+ 'shareToken': json['shareToken'],
36
+ 'sharedAt': (json['sharedAt'] == null ? null : new Date(json['sharedAt'])),
37
+ };
38
+ }
39
+ export function ResourceSharingToJSON(json) {
40
+ return ResourceSharingToJSONTyped(json, false);
41
+ }
42
+ export function ResourceSharingToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'isShared': value['isShared'],
48
+ 'shareToken': value['shareToken'],
49
+ 'sharedAt': value['sharedAt'] == null ? value['sharedAt'] : value['sharedAt'].toISOString(),
50
+ };
51
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ScheduleStudySpaceTemplateDto
16
+ */
17
+ export interface ScheduleStudySpaceTemplateDto {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof ScheduleStudySpaceTemplateDto
22
+ */
23
+ startIndex: number | null;
24
+ }
25
+ /**
26
+ * Check if a given object implements the ScheduleStudySpaceTemplateDto interface.
27
+ */
28
+ export declare function instanceOfScheduleStudySpaceTemplateDto(value: object): value is ScheduleStudySpaceTemplateDto;
29
+ export declare function ScheduleStudySpaceTemplateDtoFromJSON(json: any): ScheduleStudySpaceTemplateDto;
30
+ export declare function ScheduleStudySpaceTemplateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ScheduleStudySpaceTemplateDto;
31
+ export declare function ScheduleStudySpaceTemplateDtoToJSON(json: any): ScheduleStudySpaceTemplateDto;
32
+ export declare function ScheduleStudySpaceTemplateDtoToJSONTyped(value?: ScheduleStudySpaceTemplateDto | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the ScheduleStudySpaceTemplateDto interface.
16
+ */
17
+ export function instanceOfScheduleStudySpaceTemplateDto(value) {
18
+ if (!('startIndex' in value) || value['startIndex'] === undefined)
19
+ return false;
20
+ return true;
21
+ }
22
+ export function ScheduleStudySpaceTemplateDtoFromJSON(json) {
23
+ return ScheduleStudySpaceTemplateDtoFromJSONTyped(json, false);
24
+ }
25
+ export function ScheduleStudySpaceTemplateDtoFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'startIndex': json['startIndex'],
31
+ };
32
+ }
33
+ export function ScheduleStudySpaceTemplateDtoToJSON(json) {
34
+ return ScheduleStudySpaceTemplateDtoToJSONTyped(json, false);
35
+ }
36
+ export function ScheduleStudySpaceTemplateDtoToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'startIndex': value['startIndex'],
42
+ };
43
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface SharedQuiz
16
+ */
17
+ export interface SharedQuiz {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof SharedQuiz
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof SharedQuiz
28
+ */
29
+ title: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof SharedQuiz
34
+ */
35
+ topic: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof SharedQuiz
40
+ */
41
+ mode: SharedQuizModeEnum;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof SharedQuiz
46
+ */
47
+ generationStatus: SharedQuizGenerationStatusEnum;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof SharedQuiz
52
+ */
53
+ expectedQuestionCount: number | null;
54
+ /**
55
+ * Questions (or cards) persisted so far.
56
+ * @type {number}
57
+ * @memberof SharedQuiz
58
+ */
59
+ questionCount: number;
60
+ /**
61
+ * True when the caller is the quiz's owner following their own link.
62
+ * @type {boolean}
63
+ * @memberof SharedQuiz
64
+ */
65
+ isOwner: boolean;
66
+ /**
67
+ *
68
+ * @type {Date}
69
+ * @memberof SharedQuiz
70
+ */
71
+ createdAt: Date;
72
+ }
73
+ /**
74
+ * @export
75
+ */
76
+ export declare const SharedQuizModeEnum: {
77
+ readonly Quiz: "quiz";
78
+ readonly Flashcards: "flashcards";
79
+ };
80
+ export type SharedQuizModeEnum = typeof SharedQuizModeEnum[keyof typeof SharedQuizModeEnum];
81
+ /**
82
+ * @export
83
+ */
84
+ export declare const SharedQuizGenerationStatusEnum: {
85
+ readonly Generating: "generating";
86
+ readonly Ready: "ready";
87
+ readonly Failed: "failed";
88
+ };
89
+ export type SharedQuizGenerationStatusEnum = typeof SharedQuizGenerationStatusEnum[keyof typeof SharedQuizGenerationStatusEnum];
90
+ /**
91
+ * Check if a given object implements the SharedQuiz interface.
92
+ */
93
+ export declare function instanceOfSharedQuiz(value: object): value is SharedQuiz;
94
+ export declare function SharedQuizFromJSON(json: any): SharedQuiz;
95
+ export declare function SharedQuizFromJSONTyped(json: any, ignoreDiscriminator: boolean): SharedQuiz;
96
+ export declare function SharedQuizToJSON(json: any): SharedQuiz;
97
+ export declare function SharedQuizToJSONTyped(value?: SharedQuiz | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,90 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const SharedQuizModeEnum = {
18
+ Quiz: 'quiz',
19
+ Flashcards: 'flashcards'
20
+ };
21
+ /**
22
+ * @export
23
+ */
24
+ export const SharedQuizGenerationStatusEnum = {
25
+ Generating: 'generating',
26
+ Ready: 'ready',
27
+ Failed: 'failed'
28
+ };
29
+ /**
30
+ * Check if a given object implements the SharedQuiz interface.
31
+ */
32
+ export function instanceOfSharedQuiz(value) {
33
+ if (!('id' in value) || value['id'] === undefined)
34
+ return false;
35
+ if (!('title' in value) || value['title'] === undefined)
36
+ return false;
37
+ if (!('topic' in value) || value['topic'] === undefined)
38
+ return false;
39
+ if (!('mode' in value) || value['mode'] === undefined)
40
+ return false;
41
+ if (!('generationStatus' in value) || value['generationStatus'] === undefined)
42
+ return false;
43
+ if (!('expectedQuestionCount' in value) || value['expectedQuestionCount'] === undefined)
44
+ return false;
45
+ if (!('questionCount' in value) || value['questionCount'] === undefined)
46
+ return false;
47
+ if (!('isOwner' in value) || value['isOwner'] === undefined)
48
+ return false;
49
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
50
+ return false;
51
+ return true;
52
+ }
53
+ export function SharedQuizFromJSON(json) {
54
+ return SharedQuizFromJSONTyped(json, false);
55
+ }
56
+ export function SharedQuizFromJSONTyped(json, ignoreDiscriminator) {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+ 'id': json['id'],
62
+ 'title': json['title'],
63
+ 'topic': json['topic'],
64
+ 'mode': json['mode'],
65
+ 'generationStatus': json['generationStatus'],
66
+ 'expectedQuestionCount': json['expectedQuestionCount'],
67
+ 'questionCount': json['questionCount'],
68
+ 'isOwner': json['isOwner'],
69
+ 'createdAt': (new Date(json['createdAt'])),
70
+ };
71
+ }
72
+ export function SharedQuizToJSON(json) {
73
+ return SharedQuizToJSONTyped(json, false);
74
+ }
75
+ export function SharedQuizToJSONTyped(value, ignoreDiscriminator = false) {
76
+ if (value == null) {
77
+ return value;
78
+ }
79
+ return {
80
+ 'id': value['id'],
81
+ 'title': value['title'],
82
+ 'topic': value['topic'],
83
+ 'mode': value['mode'],
84
+ 'generationStatus': value['generationStatus'],
85
+ 'expectedQuestionCount': value['expectedQuestionCount'],
86
+ 'questionCount': value['questionCount'],
87
+ 'isOwner': value['isOwner'],
88
+ 'createdAt': value['createdAt'].toISOString(),
89
+ };
90
+ }
@@ -54,11 +54,17 @@ export interface StudyObjective {
54
54
  */
55
55
  canvasObjectRef: string | null;
56
56
  /**
57
- * Origin of the objective: 'user' (client-created) or 'syllabus' (derived internally). Read-only.
57
+ * Origin of the objective: 'user' (client-created), 'syllabus' (derived internally) or 'template' (copied from a study-space template when the space was created; edits like 'user'). Read-only.
58
58
  * @type {string}
59
59
  * @memberof StudyObjective
60
60
  */
61
61
  source: StudyObjectiveSourceEnum;
62
+ /**
63
+ * For a 'template' objective, `<template slug>/<objective key>` of the package entry it was copied from; null for every other source. Read-only.
64
+ * @type {string}
65
+ * @memberof StudyObjective
66
+ */
67
+ templateKey: string | null;
62
68
  /**
63
69
  *
64
70
  * @type {string}
@@ -114,6 +120,7 @@ export interface StudyObjective {
114
120
  export declare const StudyObjectiveSourceEnum: {
115
121
  readonly User: "user";
116
122
  readonly Syllabus: "syllabus";
123
+ readonly Template: "template";
117
124
  };
118
125
  export type StudyObjectiveSourceEnum = typeof StudyObjectiveSourceEnum[keyof typeof StudyObjectiveSourceEnum];
119
126
  /**
@@ -18,7 +18,8 @@ import { StudyObjectiveCanvasDocumentFromJSON, StudyObjectiveCanvasDocumentToJSO
18
18
  */
19
19
  export const StudyObjectiveSourceEnum = {
20
20
  User: 'user',
21
- Syllabus: 'syllabus'
21
+ Syllabus: 'syllabus',
22
+ Template: 'template'
22
23
  };
23
24
  /**
24
25
  * Check if a given object implements the StudyObjective interface.
@@ -38,6 +39,8 @@ export function instanceOfStudyObjective(value) {
38
39
  return false;
39
40
  if (!('source' in value) || value['source'] === undefined)
40
41
  return false;
42
+ if (!('templateKey' in value) || value['templateKey'] === undefined)
43
+ return false;
41
44
  if (!('title' in value) || value['title'] === undefined)
42
45
  return false;
43
46
  if (!('notes' in value) || value['notes'] === undefined)
@@ -71,6 +74,7 @@ export function StudyObjectiveFromJSONTyped(json, ignoreDiscriminator) {
71
74
  'canvasObjectId': json['canvasObjectId'],
72
75
  'canvasObjectRef': json['canvasObjectRef'],
73
76
  'source': json['source'],
77
+ 'templateKey': json['templateKey'],
74
78
  'title': json['title'],
75
79
  'notes': json['notes'],
76
80
  'fileAttachments': (json['fileAttachments'].map(StudyObjectiveFileAttachmentFromJSON)),
@@ -96,6 +100,7 @@ export function StudyObjectiveToJSONTyped(value, ignoreDiscriminator = false) {
96
100
  'canvasObjectId': value['canvasObjectId'],
97
101
  'canvasObjectRef': value['canvasObjectRef'],
98
102
  'source': value['source'],
103
+ 'templateKey': value['templateKey'],
99
104
  'title': value['title'],
100
105
  'notes': value['notes'],
101
106
  'fileAttachments': (value['fileAttachments'].map(StudyObjectiveFileAttachmentToJSON)),
@@ -33,6 +33,18 @@ export interface StudySpace {
33
33
  * @memberof StudySpace
34
34
  */
35
35
  title: string;
36
+ /**
37
+ * Slug of the study-space template this space was created from, or null for a space that wasn't created from a template.
38
+ * @type {string}
39
+ * @memberof StudySpace
40
+ */
41
+ templateSlug: string | null;
42
+ /**
43
+ * Version of the template package the space was copied from (a later version never changes an existing space), or null when templateSlug is null.
44
+ * @type {string}
45
+ * @memberof StudySpace
46
+ */
47
+ templateVersion: string | null;
36
48
  /**
37
49
  * Number of non-archived study objectives in this space.
38
50
  * @type {number}
@@ -21,6 +21,10 @@ export function instanceOfStudySpace(value) {
21
21
  return false;
22
22
  if (!('title' in value) || value['title'] === undefined)
23
23
  return false;
24
+ if (!('templateSlug' in value) || value['templateSlug'] === undefined)
25
+ return false;
26
+ if (!('templateVersion' in value) || value['templateVersion'] === undefined)
27
+ return false;
24
28
  if (!('activeObjectiveCount' in value) || value['activeObjectiveCount'] === undefined)
25
29
  return false;
26
30
  if (!('createdAt' in value) || value['createdAt'] === undefined)
@@ -40,6 +44,8 @@ export function StudySpaceFromJSONTyped(json, ignoreDiscriminator) {
40
44
  'id': json['id'],
41
45
  'courseId': json['courseId'],
42
46
  'title': json['title'],
47
+ 'templateSlug': json['templateSlug'],
48
+ 'templateVersion': json['templateVersion'],
43
49
  'activeObjectiveCount': json['activeObjectiveCount'],
44
50
  'createdAt': (new Date(json['createdAt'])),
45
51
  'updatedAt': (new Date(json['updatedAt'])),
@@ -56,6 +62,8 @@ export function StudySpaceToJSONTyped(value, ignoreDiscriminator = false) {
56
62
  'id': value['id'],
57
63
  'courseId': value['courseId'],
58
64
  'title': value['title'],
65
+ 'templateSlug': value['templateSlug'],
66
+ 'templateVersion': value['templateVersion'],
59
67
  'activeObjectiveCount': value['activeObjectiveCount'],
60
68
  'createdAt': value['createdAt'].toISOString(),
61
69
  'updatedAt': value['updatedAt'].toISOString(),
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { StudySpace } from './StudySpace';
13
+ import type { StudyObjective } from './StudyObjective';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface StudySpaceFromTemplate
18
+ */
19
+ export interface StudySpaceFromTemplate {
20
+ /**
21
+ *
22
+ * @type {StudySpace}
23
+ * @memberof StudySpaceFromTemplate
24
+ */
25
+ space: StudySpace;
26
+ /**
27
+ * The space's objectives in schedule order
28
+ * @type {Array<StudyObjective>}
29
+ * @memberof StudySpaceFromTemplate
30
+ */
31
+ objectives: Array<StudyObjective>;
32
+ }
33
+ /**
34
+ * Check if a given object implements the StudySpaceFromTemplate interface.
35
+ */
36
+ export declare function instanceOfStudySpaceFromTemplate(value: object): value is StudySpaceFromTemplate;
37
+ export declare function StudySpaceFromTemplateFromJSON(json: any): StudySpaceFromTemplate;
38
+ export declare function StudySpaceFromTemplateFromJSONTyped(json: any, ignoreDiscriminator: boolean): StudySpaceFromTemplate;
39
+ export declare function StudySpaceFromTemplateToJSON(json: any): StudySpaceFromTemplate;
40
+ export declare function StudySpaceFromTemplateToJSONTyped(value?: StudySpaceFromTemplate | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,49 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { StudySpaceFromJSON, StudySpaceToJSON, } from './StudySpace';
15
+ import { StudyObjectiveFromJSON, StudyObjectiveToJSON, } from './StudyObjective';
16
+ /**
17
+ * Check if a given object implements the StudySpaceFromTemplate interface.
18
+ */
19
+ export function instanceOfStudySpaceFromTemplate(value) {
20
+ if (!('space' in value) || value['space'] === undefined)
21
+ return false;
22
+ if (!('objectives' in value) || value['objectives'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function StudySpaceFromTemplateFromJSON(json) {
27
+ return StudySpaceFromTemplateFromJSONTyped(json, false);
28
+ }
29
+ export function StudySpaceFromTemplateFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'space': StudySpaceFromJSON(json['space']),
35
+ 'objectives': (json['objectives'].map(StudyObjectiveFromJSON)),
36
+ };
37
+ }
38
+ export function StudySpaceFromTemplateToJSON(json) {
39
+ return StudySpaceFromTemplateToJSONTyped(json, false);
40
+ }
41
+ export function StudySpaceFromTemplateToJSONTyped(value, ignoreDiscriminator = false) {
42
+ if (value == null) {
43
+ return value;
44
+ }
45
+ return {
46
+ 'space': StudySpaceToJSON(value['space']),
47
+ 'objectives': (value['objectives'].map(StudyObjectiveToJSON)),
48
+ };
49
+ }
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { StudySpaceTemplateProvenance } from './StudySpaceTemplateProvenance';
13
+ import type { StudySpaceTemplateConfirm } from './StudySpaceTemplateConfirm';
14
+ import type { StudySpaceTemplateLegal } from './StudySpaceTemplateLegal';
15
+ import type { StudySpaceTemplateSchedule } from './StudySpaceTemplateSchedule';
16
+ import type { StudySpaceTemplateObjective } from './StudySpaceTemplateObjective';
17
+ import type { StudySpaceTemplateAnchor } from './StudySpaceTemplateAnchor';
18
+ import type { StudySpaceTemplateLink } from './StudySpaceTemplateLink';
19
+ /**
20
+ *
21
+ * @export
22
+ * @interface StudySpaceTemplate
23
+ */
24
+ export interface StudySpaceTemplate {
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof StudySpaceTemplate
29
+ */
30
+ slug: string;
31
+ /**
32
+ * Content version of the package
33
+ * @type {string}
34
+ * @memberof StudySpaceTemplate
35
+ */
36
+ version: string;
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof StudySpaceTemplate
41
+ */
42
+ title: string;
43
+ /**
44
+ *
45
+ * @type {string}
46
+ * @memberof StudySpaceTemplate
47
+ */
48
+ tagline: string;
49
+ /**
50
+ *
51
+ * @type {string}
52
+ * @memberof StudySpaceTemplate
53
+ */
54
+ scopeNote: string | null;
55
+ /**
56
+ *
57
+ * @type {Array<StudySpaceTemplateLink>}
58
+ * @memberof StudySpaceTemplate
59
+ */
60
+ links: Array<StudySpaceTemplateLink>;
61
+ /**
62
+ *
63
+ * @type {StudySpaceTemplateLegal}
64
+ * @memberof StudySpaceTemplate
65
+ */
66
+ legal: StudySpaceTemplateLegal | null;
67
+ /**
68
+ *
69
+ * @type {StudySpaceTemplateProvenance}
70
+ * @memberof StudySpaceTemplate
71
+ */
72
+ provenance: StudySpaceTemplateProvenance;
73
+ /**
74
+ *
75
+ * @type {StudySpaceTemplateAnchor}
76
+ * @memberof StudySpaceTemplate
77
+ */
78
+ anchor: StudySpaceTemplateAnchor;
79
+ /**
80
+ *
81
+ * @type {StudySpaceTemplateSchedule}
82
+ * @memberof StudySpaceTemplate
83
+ */
84
+ schedule: StudySpaceTemplateSchedule;
85
+ /**
86
+ * The objectives the template creates, in course order
87
+ * @type {Array<StudySpaceTemplateObjective>}
88
+ * @memberof StudySpaceTemplate
89
+ */
90
+ objectives: Array<StudySpaceTemplateObjective>;
91
+ /**
92
+ * Distinct concepts across the units, counted by name as the template lists them
93
+ * @type {number}
94
+ * @memberof StudySpaceTemplate
95
+ */
96
+ conceptCount: number;
97
+ /**
98
+ *
99
+ * @type {StudySpaceTemplateConfirm}
100
+ * @memberof StudySpaceTemplate
101
+ */
102
+ confirm: StudySpaceTemplateConfirm;
103
+ /**
104
+ * The caller's newest space created from this template, if any — creating another is still allowed
105
+ * @type {string}
106
+ * @memberof StudySpaceTemplate
107
+ */
108
+ existingSpaceId: string | null;
109
+ }
110
+ /**
111
+ * Check if a given object implements the StudySpaceTemplate interface.
112
+ */
113
+ export declare function instanceOfStudySpaceTemplate(value: object): value is StudySpaceTemplate;
114
+ export declare function StudySpaceTemplateFromJSON(json: any): StudySpaceTemplate;
115
+ export declare function StudySpaceTemplateFromJSONTyped(json: any, ignoreDiscriminator: boolean): StudySpaceTemplate;
116
+ export declare function StudySpaceTemplateToJSON(json: any): StudySpaceTemplate;
117
+ export declare function StudySpaceTemplateToJSONTyped(value?: StudySpaceTemplate | null, ignoreDiscriminator?: boolean): any;