@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,44 @@
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 ResourceSharing
16
+ */
17
+ export interface ResourceSharing {
18
+ /**
19
+ * Whether other learners can currently open this by link.
20
+ * @type {boolean}
21
+ * @memberof ResourceSharing
22
+ */
23
+ isShared: boolean;
24
+ /**
25
+ * The live share link token. Null while sharing is off, including for a shared resource whose owner has since revoked the link.
26
+ * @type {string}
27
+ * @memberof ResourceSharing
28
+ */
29
+ shareToken: string | null;
30
+ /**
31
+ * When the current link was issued. Null while sharing is off.
32
+ * @type {Date}
33
+ * @memberof ResourceSharing
34
+ */
35
+ sharedAt: Date | null;
36
+ }
37
+ /**
38
+ * Check if a given object implements the ResourceSharing interface.
39
+ */
40
+ export declare function instanceOfResourceSharing(value: object): value is ResourceSharing;
41
+ export declare function ResourceSharingFromJSON(json: any): ResourceSharing;
42
+ export declare function ResourceSharingFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceSharing;
43
+ export declare function ResourceSharingToJSON(json: any): ResourceSharing;
44
+ export declare function ResourceSharingToJSONTyped(value?: ResourceSharing | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Athena API
6
+ * REST API for the Athena system
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfResourceSharing = instanceOfResourceSharing;
17
+ exports.ResourceSharingFromJSON = ResourceSharingFromJSON;
18
+ exports.ResourceSharingFromJSONTyped = ResourceSharingFromJSONTyped;
19
+ exports.ResourceSharingToJSON = ResourceSharingToJSON;
20
+ exports.ResourceSharingToJSONTyped = ResourceSharingToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the ResourceSharing interface.
23
+ */
24
+ function instanceOfResourceSharing(value) {
25
+ if (!('isShared' in value) || value['isShared'] === undefined)
26
+ return false;
27
+ if (!('shareToken' in value) || value['shareToken'] === undefined)
28
+ return false;
29
+ if (!('sharedAt' in value) || value['sharedAt'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ function ResourceSharingFromJSON(json) {
34
+ return ResourceSharingFromJSONTyped(json, false);
35
+ }
36
+ function ResourceSharingFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'isShared': json['isShared'],
42
+ 'shareToken': json['shareToken'],
43
+ 'sharedAt': (json['sharedAt'] == null ? null : new Date(json['sharedAt'])),
44
+ };
45
+ }
46
+ function ResourceSharingToJSON(json) {
47
+ return ResourceSharingToJSONTyped(json, false);
48
+ }
49
+ function ResourceSharingToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'isShared': value['isShared'],
55
+ 'shareToken': value['shareToken'],
56
+ 'sharedAt': value['sharedAt'] == null ? value['sharedAt'] : value['sharedAt'].toISOString(),
57
+ };
58
+ }
@@ -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,50 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Athena API
6
+ * REST API for the Athena system
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfScheduleStudySpaceTemplateDto = instanceOfScheduleStudySpaceTemplateDto;
17
+ exports.ScheduleStudySpaceTemplateDtoFromJSON = ScheduleStudySpaceTemplateDtoFromJSON;
18
+ exports.ScheduleStudySpaceTemplateDtoFromJSONTyped = ScheduleStudySpaceTemplateDtoFromJSONTyped;
19
+ exports.ScheduleStudySpaceTemplateDtoToJSON = ScheduleStudySpaceTemplateDtoToJSON;
20
+ exports.ScheduleStudySpaceTemplateDtoToJSONTyped = ScheduleStudySpaceTemplateDtoToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the ScheduleStudySpaceTemplateDto interface.
23
+ */
24
+ function instanceOfScheduleStudySpaceTemplateDto(value) {
25
+ if (!('startIndex' in value) || value['startIndex'] === undefined)
26
+ return false;
27
+ return true;
28
+ }
29
+ function ScheduleStudySpaceTemplateDtoFromJSON(json) {
30
+ return ScheduleStudySpaceTemplateDtoFromJSONTyped(json, false);
31
+ }
32
+ function ScheduleStudySpaceTemplateDtoFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'startIndex': json['startIndex'],
38
+ };
39
+ }
40
+ function ScheduleStudySpaceTemplateDtoToJSON(json) {
41
+ return ScheduleStudySpaceTemplateDtoToJSONTyped(json, false);
42
+ }
43
+ function ScheduleStudySpaceTemplateDtoToJSONTyped(value, ignoreDiscriminator = false) {
44
+ if (value == null) {
45
+ return value;
46
+ }
47
+ return {
48
+ 'startIndex': value['startIndex'],
49
+ };
50
+ }
@@ -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,98 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Athena API
6
+ * REST API for the Athena system
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SharedQuizGenerationStatusEnum = exports.SharedQuizModeEnum = void 0;
17
+ exports.instanceOfSharedQuiz = instanceOfSharedQuiz;
18
+ exports.SharedQuizFromJSON = SharedQuizFromJSON;
19
+ exports.SharedQuizFromJSONTyped = SharedQuizFromJSONTyped;
20
+ exports.SharedQuizToJSON = SharedQuizToJSON;
21
+ exports.SharedQuizToJSONTyped = SharedQuizToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.SharedQuizModeEnum = {
26
+ Quiz: 'quiz',
27
+ Flashcards: 'flashcards'
28
+ };
29
+ /**
30
+ * @export
31
+ */
32
+ exports.SharedQuizGenerationStatusEnum = {
33
+ Generating: 'generating',
34
+ Ready: 'ready',
35
+ Failed: 'failed'
36
+ };
37
+ /**
38
+ * Check if a given object implements the SharedQuiz interface.
39
+ */
40
+ function instanceOfSharedQuiz(value) {
41
+ if (!('id' in value) || value['id'] === undefined)
42
+ return false;
43
+ if (!('title' in value) || value['title'] === undefined)
44
+ return false;
45
+ if (!('topic' in value) || value['topic'] === undefined)
46
+ return false;
47
+ if (!('mode' in value) || value['mode'] === undefined)
48
+ return false;
49
+ if (!('generationStatus' in value) || value['generationStatus'] === undefined)
50
+ return false;
51
+ if (!('expectedQuestionCount' in value) || value['expectedQuestionCount'] === undefined)
52
+ return false;
53
+ if (!('questionCount' in value) || value['questionCount'] === undefined)
54
+ return false;
55
+ if (!('isOwner' in value) || value['isOwner'] === undefined)
56
+ return false;
57
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
58
+ return false;
59
+ return true;
60
+ }
61
+ function SharedQuizFromJSON(json) {
62
+ return SharedQuizFromJSONTyped(json, false);
63
+ }
64
+ function SharedQuizFromJSONTyped(json, ignoreDiscriminator) {
65
+ if (json == null) {
66
+ return json;
67
+ }
68
+ return {
69
+ 'id': json['id'],
70
+ 'title': json['title'],
71
+ 'topic': json['topic'],
72
+ 'mode': json['mode'],
73
+ 'generationStatus': json['generationStatus'],
74
+ 'expectedQuestionCount': json['expectedQuestionCount'],
75
+ 'questionCount': json['questionCount'],
76
+ 'isOwner': json['isOwner'],
77
+ 'createdAt': (new Date(json['createdAt'])),
78
+ };
79
+ }
80
+ function SharedQuizToJSON(json) {
81
+ return SharedQuizToJSONTyped(json, false);
82
+ }
83
+ function SharedQuizToJSONTyped(value, ignoreDiscriminator = false) {
84
+ if (value == null) {
85
+ return value;
86
+ }
87
+ return {
88
+ 'id': value['id'],
89
+ 'title': value['title'],
90
+ 'topic': value['topic'],
91
+ 'mode': value['mode'],
92
+ 'generationStatus': value['generationStatus'],
93
+ 'expectedQuestionCount': value['expectedQuestionCount'],
94
+ 'questionCount': value['questionCount'],
95
+ 'isOwner': value['isOwner'],
96
+ 'createdAt': value['createdAt'].toISOString(),
97
+ };
98
+ }
@@ -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
  /**
@@ -26,7 +26,8 @@ const StudyObjectiveCanvasDocument_1 = require("./StudyObjectiveCanvasDocument")
26
26
  */
27
27
  exports.StudyObjectiveSourceEnum = {
28
28
  User: 'user',
29
- Syllabus: 'syllabus'
29
+ Syllabus: 'syllabus',
30
+ Template: 'template'
30
31
  };
31
32
  /**
32
33
  * Check if a given object implements the StudyObjective interface.
@@ -46,6 +47,8 @@ function instanceOfStudyObjective(value) {
46
47
  return false;
47
48
  if (!('source' in value) || value['source'] === undefined)
48
49
  return false;
50
+ if (!('templateKey' in value) || value['templateKey'] === undefined)
51
+ return false;
49
52
  if (!('title' in value) || value['title'] === undefined)
50
53
  return false;
51
54
  if (!('notes' in value) || value['notes'] === undefined)
@@ -79,6 +82,7 @@ function StudyObjectiveFromJSONTyped(json, ignoreDiscriminator) {
79
82
  'canvasObjectId': json['canvasObjectId'],
80
83
  'canvasObjectRef': json['canvasObjectRef'],
81
84
  'source': json['source'],
85
+ 'templateKey': json['templateKey'],
82
86
  'title': json['title'],
83
87
  'notes': json['notes'],
84
88
  'fileAttachments': (json['fileAttachments'].map(StudyObjectiveFileAttachment_1.StudyObjectiveFileAttachmentFromJSON)),
@@ -104,6 +108,7 @@ function StudyObjectiveToJSONTyped(value, ignoreDiscriminator = false) {
104
108
  'canvasObjectId': value['canvasObjectId'],
105
109
  'canvasObjectRef': value['canvasObjectRef'],
106
110
  'source': value['source'],
111
+ 'templateKey': value['templateKey'],
107
112
  'title': value['title'],
108
113
  'notes': value['notes'],
109
114
  'fileAttachments': (value['fileAttachments'].map(StudyObjectiveFileAttachment_1.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}
@@ -28,6 +28,10 @@ function instanceOfStudySpace(value) {
28
28
  return false;
29
29
  if (!('title' in value) || value['title'] === undefined)
30
30
  return false;
31
+ if (!('templateSlug' in value) || value['templateSlug'] === undefined)
32
+ return false;
33
+ if (!('templateVersion' in value) || value['templateVersion'] === undefined)
34
+ return false;
31
35
  if (!('activeObjectiveCount' in value) || value['activeObjectiveCount'] === undefined)
32
36
  return false;
33
37
  if (!('createdAt' in value) || value['createdAt'] === undefined)
@@ -47,6 +51,8 @@ function StudySpaceFromJSONTyped(json, ignoreDiscriminator) {
47
51
  'id': json['id'],
48
52
  'courseId': json['courseId'],
49
53
  'title': json['title'],
54
+ 'templateSlug': json['templateSlug'],
55
+ 'templateVersion': json['templateVersion'],
50
56
  'activeObjectiveCount': json['activeObjectiveCount'],
51
57
  'createdAt': (new Date(json['createdAt'])),
52
58
  'updatedAt': (new Date(json['updatedAt'])),
@@ -63,6 +69,8 @@ function StudySpaceToJSONTyped(value, ignoreDiscriminator = false) {
63
69
  'id': value['id'],
64
70
  'courseId': value['courseId'],
65
71
  'title': value['title'],
72
+ 'templateSlug': value['templateSlug'],
73
+ 'templateVersion': value['templateVersion'],
66
74
  'activeObjectiveCount': value['activeObjectiveCount'],
67
75
  'createdAt': value['createdAt'].toISOString(),
68
76
  '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,56 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Athena API
6
+ * REST API for the Athena system
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfStudySpaceFromTemplate = instanceOfStudySpaceFromTemplate;
17
+ exports.StudySpaceFromTemplateFromJSON = StudySpaceFromTemplateFromJSON;
18
+ exports.StudySpaceFromTemplateFromJSONTyped = StudySpaceFromTemplateFromJSONTyped;
19
+ exports.StudySpaceFromTemplateToJSON = StudySpaceFromTemplateToJSON;
20
+ exports.StudySpaceFromTemplateToJSONTyped = StudySpaceFromTemplateToJSONTyped;
21
+ const StudySpace_1 = require("./StudySpace");
22
+ const StudyObjective_1 = require("./StudyObjective");
23
+ /**
24
+ * Check if a given object implements the StudySpaceFromTemplate interface.
25
+ */
26
+ function instanceOfStudySpaceFromTemplate(value) {
27
+ if (!('space' in value) || value['space'] === undefined)
28
+ return false;
29
+ if (!('objectives' in value) || value['objectives'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ function StudySpaceFromTemplateFromJSON(json) {
34
+ return StudySpaceFromTemplateFromJSONTyped(json, false);
35
+ }
36
+ function StudySpaceFromTemplateFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'space': (0, StudySpace_1.StudySpaceFromJSON)(json['space']),
42
+ 'objectives': (json['objectives'].map(StudyObjective_1.StudyObjectiveFromJSON)),
43
+ };
44
+ }
45
+ function StudySpaceFromTemplateToJSON(json) {
46
+ return StudySpaceFromTemplateToJSONTyped(json, false);
47
+ }
48
+ function StudySpaceFromTemplateToJSONTyped(value, ignoreDiscriminator = false) {
49
+ if (value == null) {
50
+ return value;
51
+ }
52
+ return {
53
+ 'space': (0, StudySpace_1.StudySpaceToJSON)(value['space']),
54
+ 'objectives': (value['objectives'].map(StudyObjective_1.StudyObjectiveToJSON)),
55
+ };
56
+ }