@oaknational/google-classroom-addon 1.31.0 → 1.33.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.
- package/dist/cjs/services/index.js +4 -4
- package/dist/cjs/services/index.js.map +1 -1
- package/dist/cjs/types/index.js +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/esm/services/index.js +4 -4
- package/dist/esm/services/index.js.map +1 -1
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/services.d.ts +254 -6
- package/dist/types.d.ts +198 -10
- package/package.json +1 -1
package/dist/esm/types/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"zod";var n,i=t.object({courseId:t.string(),itemId:t.string(),addOnToken:t.string(),title:t.string(),lessonSlug:t.string(),programmeSlug:t.string(),unitSlug:t.string(),maxPoints:t.number().optional(),teacherLoginHint:t.string().optional()}),
|
|
1
|
+
import t from"zod";var n,i=t.object({courseId:t.string(),itemId:t.string(),addOnToken:t.string(),title:t.string(),lessonSlug:t.string(),programmeSlug:t.string(),unitSlug:t.string(),maxPoints:t.number().optional(),teacherLoginHint:t.string().optional()}),e=t.object({courseId:t.string(),postId:t.string(),id:t.string(),title:t.string(),teacherViewUri:t.object({uri:t.string()}),studentViewUri:t.object({uri:t.string()}),studentWorkReviewUri:t.object({uri:t.string()}).optional(),itemId:t.string(),maxPoints:t.number().nullish()}),o=t.object({title:t.string(),description:t.string().optional(),lessonUrl:t.string(),maxPoints:t.number().int().positive()}),r=t.object({courseWorkId:t.string(),courseId:t.string(),alternateLink:t.string().optional(),title:t.string()}),s=t.object({id:t.string(),name:t.string(),section:t.string().optional()}),g=t.string(),a=t.object({accessToken:t.string(),loginHint:t.string(),refreshToken:t.string().optional(),profilePictureUrl:t.string().optional(),email:t.string().optional()}),l=t.object({token:t.string()}),u=t.tuple([i,t.string().min(1),t.string().min(1)]),d=e.extend({attachmentId:t.string(),createdAt:t.string(),teacherLoginHint:t.string().optional()}),p=t.object({loginHint:t.string(),refreshToken:t.string().optional(),profilePictureUrl:t.string().optional()}),c=t.object({assignmentToken:t.string(),courseWorkId:t.string(),courseId:t.string(),teacherLoginHint:t.string(),lessonSlug:t.string(),programmeSlug:t.string(),unitSlug:t.string(),maxPoints:t.number().int().positive(),createdAt:t.string()}),m=t.enum(["correct","incorrect"]),b=t.union([t.string(),t.number(),t.array(t.union([t.string(),t.number()]).nullable()),t.null()]),I=t.object({mode:t.enum(["init","incomplete","input","grading","feedback"]),grade:t.number(),pupilAnswer:b.optional().nullable(),feedback:t.union([m,t.array(m)]).optional(),isPartiallyCorrect:t.boolean().optional(),correctAnswer:t.union([t.string(),t.array(t.union([t.string(),t.undefined()]))]).optional(),usedHint:t.boolean().optional()}),E=t.object({grade:t.number().int().min(0),numQuestions:t.number().int().positive(),isComplete:t.boolean(),questionResults:t.array(I).optional()}),S=t.object({played:t.boolean(),duration:t.number(),timeElapsed:t.number(),isComplete:t.boolean()}),T=t.object({worksheetAvailable:t.boolean().optional(),worksheetDownloaded:t.boolean().optional(),isComplete:t.boolean()});!function(t){t.SUBMISSION_STATE_UNSPECIFIED="SUBMISSION_STATE_UNSPECIFIED",t.NEW="NEW",t.CREATED="CREATED",t.RECLAIMED_BY_STUDENT="RECLAIMED_BY_STUDENT",t.TURNED_IN="TURNED_IN",t.RETURNED="RETURNED"}(n||(n={}));var k=t.enum(n),j=[n.NEW,n.CREATED,n.RECLAIMED_BY_STUDENT],U=t.object({starterQuiz:E.optional(),exitQuiz:E.optional(),video:S.optional(),intro:T.optional()}),A=U.extend({updatedAt:t.string(),createdAt:t.string()}),D=A.extend({postSubmissionState:k,submissionId:t.string(),attachmentId:t.string(),courseId:t.string(),itemId:t.string(),pupilLoginHint:t.string()}),N=U.extend({submissionId:t.string(),attachmentId:t.string(),courseId:t.string(),itemId:t.string(),pupilLoginHint:t.string()}),R=A.extend({submissionId:t.string(),assignmentToken:t.string(),courseWorkId:t.string(),courseId:t.string(),pupilLoginHint:t.string(),gradeSubmitted:t.boolean().optional(),resultsLinkAttached:t.boolean().optional(),postSubmissionState:k.optional()}),h=U.extend({submissionId:t.string(),assignmentToken:t.string(),courseWorkId:t.string(),courseId:t.string(),pupilLoginHint:t.string()});export{u as CreateAttachmentCallSchema,n as PostSubmissionState,j as UPDATABLE_SUBMISSION_STATES,d as classroomAttachmentEntitySchema,e as classroomAttachmentSchema,c as classroomCourseWorkEntitySchema,g as codeSchema,s as courseListItemSchema,r as courseWorkCreatedResultSchema,R as courseWorkPupilProgressSchema,i as createAnnouncementAttachmentArgsSchema,o as createCourseWorkArgsSchema,a as googleOAuthUserSchema,T as introProgressSchema,k as postSubmissionStateSchema,D as pupilLessonProgressSchema,I as questionResultSchema,E as quizProgressSchema,l as tokenPayloadSchema,h as upsertCourseWorkPupilProgressArgsSchema,N as upsertPupilLessonProgressArgsSchema,p as userCredentialsEntitySchema,S as videoProgressSchema};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/types/services/GoogleClassroomClientTypes.ts","../../../src/types/services/PupilLessonProgressTypes.ts","../../../src/types/services/GoogleOAuthClientTypes.ts","../../../src/types/services/FirestoreClientTypes.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const createAnnouncementAttachmentArgsSchema = z.object({\n courseId: z.string(),\n itemId: z.string(),\n addOnToken: z.string(),\n title: z.string(),\n lessonSlug: z.string(),\n programmeSlug: z.string(),\n unitSlug: z.string(),\n maxPoints: z.number().optional(),\n teacherLoginHint: z.string().optional(),\n});\n\nexport type CreateAnnouncementAttachmentArgs = z.infer<\n typeof createAnnouncementAttachmentArgsSchema\n>;\n\nexport const classroomAttachmentSchema = z.object({\n courseId: z.string(),\n postId: z.string(),\n id: z.string(),\n title: z.string(),\n teacherViewUri: z.object({\n uri: z.string(),\n }),\n studentViewUri: z.object({\n uri: z.string(),\n }),\n studentWorkReviewUri: z\n .object({\n uri: z.string(),\n })\n .optional(),\n itemId: z.string(),\n maxPoints: z.number().nullish(),\n});\n\nexport type ClassroomAttachment = z.infer<typeof classroomAttachmentSchema>;\n","import z from \"zod\";\n\nexport const UPDATABLE_SUBMISSION_STATES = [\n \"NEW\",\n \"CREATED\",\n \"RECLAIMED_BY_STUDENT\",\n] as const;\n\nexport type UpdatableSubmissionState =\n (typeof UPDATABLE_SUBMISSION_STATES)[number];\n\nconst questionFeedbackSchema = z.enum([\"correct\", \"incorrect\"]);\n\nconst pupilAnswerSchema = z.union([\n z.string(),\n z.number(),\n z.array(z.union([z.string(), z.number()]).nullable()),\n z.null(),\n]);\n\nexport const questionResultSchema = z.object({\n mode: z.enum([\"init\", \"incomplete\", \"input\", \"grading\", \"feedback\"]),\n grade: z.number(),\n pupilAnswer: pupilAnswerSchema.optional().nullable(),\n feedback: z\n .union([questionFeedbackSchema, z.array(questionFeedbackSchema)])\n .optional(),\n isPartiallyCorrect: z.boolean().optional(),\n correctAnswer: z\n .union([z.string(), z.array(z.union([z.string(), z.undefined()]))])\n .optional(),\n usedHint: z.boolean().optional(),\n});\n\nexport const quizProgressSchema = z.object({\n grade: z.number(),\n numQuestions: z.number(),\n isComplete: z.boolean(),\n questionResults: z.array(questionResultSchema).optional(),\n});\n\nexport const videoProgressSchema = z.object({\n played: z.boolean(),\n duration: z.number(),\n timeElapsed: z.number(),\n isComplete: z.boolean(),\n});\n\nexport const introProgressSchema = z.object({\n worksheetAvailable: z.boolean().optional(),\n worksheetDownloaded: z.boolean().optional(),\n isComplete: z.boolean(),\n});\n\nexport enum PostSubmissionState {\n SUBMISSION_STATE_UNSPECIFIED = \"SUBMISSION_STATE_UNSPECIFIED\",\n NEW = \"NEW\",\n CREATED = \"CREATED\",\n RECLAIMED_BY_STUDENT = \"RECLAIMED_BY_STUDENT\",\n TURNED_IN = \"TURNED_IN\",\n RETURNED = \"RETURNED\",\n}\n\nexport const postSubmissionStateSchema = z.enum(PostSubmissionState);\n\nexport const pupilLessonProgressSchema = z.object({\n postSubmissionState: postSubmissionStateSchema,\n submissionId: z.string(),\n attachmentId: z.string(),\n courseId: z.string(),\n itemId: z.string(),\n pupilLoginHint: z.string(),\n\n starterQuiz: quizProgressSchema.optional(),\n exitQuiz: quizProgressSchema.optional(),\n video: videoProgressSchema.optional(),\n intro: introProgressSchema.optional(),\n\n updatedAt: z.string(),\n createdAt: z.string(),\n});\n\nexport type PupilLessonProgress = z.infer<typeof pupilLessonProgressSchema>;\n\nexport const upsertPupilLessonProgressArgsSchema = z.object({\n submissionId: z.string(),\n attachmentId: z.string(),\n courseId: z.string(),\n itemId: z.string(),\n pupilLoginHint: z.string(),\n starterQuiz: quizProgressSchema.optional(),\n exitQuiz: quizProgressSchema.optional(),\n video: videoProgressSchema.optional(),\n intro: introProgressSchema.optional(),\n});\n\nexport type UpsertPupilLessonProgressArgs = z.infer<\n typeof upsertPupilLessonProgressArgsSchema\n>;\n","import z from \"zod\";\n\nimport { createAnnouncementAttachmentArgsSchema } from \"./GoogleClassroomClientTypes\";\n\nexport const codeSchema = z.string();\nexport type Code = z.infer<typeof codeSchema>;\n\nexport const googleOAuthUserSchema = z.object({\n accessToken: z.string(),\n loginHint: z.string(),\n refreshToken: z.string().optional(),\n profilePictureUrl: z.string().optional(),\n email: z.string().optional(),\n});\n\nexport type GoogleOAuthUser = z.infer<typeof googleOAuthUserSchema>;\n\nexport const tokenPayloadSchema = z.object({\n token: z.string(),\n});\n\nexport type TokenPayload = z.infer<typeof tokenPayloadSchema>;\n\nexport const CreateAttachmentCallSchema = z.tuple([\n createAnnouncementAttachmentArgsSchema,\n z.string().min(1), // accessToken\n z.string().min(1), // session\n]);\n\nexport type CreateAttachmentCall = z.infer<typeof CreateAttachmentCallSchema>;\n","import z from \"zod\";\n\nimport { classroomAttachmentSchema } from \"./GoogleClassroomClientTypes\";\n\nexport const classroomAttachmentEntitySchema = classroomAttachmentSchema.extend(\n {\n attachmentId: z.string(),\n createdAt: z.string(),\n teacherLoginHint: z.string().optional(),\n },\n);\n\nexport type ClassroomAttachmentEntity = z.infer<\n typeof classroomAttachmentEntitySchema\n>;\n\nexport const userCredentialsEntitySchema = z.object({\n loginHint: z.string(),\n refreshToken: z.string().optional(),\n profilePictureUrl: z.string().optional(),\n});\n\nexport type UserCredentialsEntity = z.infer<typeof userCredentialsEntitySchema>;\n"],"names":["PostSubmissionState","createAnnouncementAttachmentArgsSchema","z","object","courseId","string","itemId","addOnToken","title","lessonSlug","programmeSlug","unitSlug","maxPoints","number","optional","teacherLoginHint","classroomAttachmentSchema","postId","id","teacherViewUri","uri","studentViewUri","studentWorkReviewUri","nullish","codeSchema","googleOAuthUserSchema","accessToken","loginHint","refreshToken","profilePictureUrl","email","tokenPayloadSchema","token","CreateAttachmentCallSchema","tuple","min","classroomAttachmentEntitySchema","extend","attachmentId","createdAt","userCredentialsEntitySchema","UPDATABLE_SUBMISSION_STATES","questionFeedbackSchema","enum","pupilAnswerSchema","union","array","nullable","null","questionResultSchema","mode","grade","pupilAnswer","feedback","isPartiallyCorrect","boolean","correctAnswer","undefined","usedHint","quizProgressSchema","numQuestions","isComplete","questionResults","videoProgressSchema","played","duration","timeElapsed","introProgressSchema","worksheetAvailable","worksheetDownloaded","postSubmissionStateSchema","pupilLessonProgressSchema","postSubmissionState","submissionId","pupilLoginHint","starterQuiz","exitQuiz","video","intro","updatedAt","upsertPupilLessonProgressArgsSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/types/services/GoogleClassroomClientTypes.ts","../../../src/types/services/PupilLessonProgressTypes.ts","../../../src/types/services/GoogleOAuthClientTypes.ts","../../../src/types/services/FirestoreClientTypes.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const createAnnouncementAttachmentArgsSchema = z.object({\n courseId: z.string(),\n itemId: z.string(),\n addOnToken: z.string(),\n title: z.string(),\n lessonSlug: z.string(),\n programmeSlug: z.string(),\n unitSlug: z.string(),\n maxPoints: z.number().optional(),\n teacherLoginHint: z.string().optional(),\n});\n\nexport type CreateAnnouncementAttachmentArgs = z.infer<\n typeof createAnnouncementAttachmentArgsSchema\n>;\n\nexport const classroomAttachmentSchema = z.object({\n courseId: z.string(),\n postId: z.string(),\n id: z.string(),\n title: z.string(),\n teacherViewUri: z.object({\n uri: z.string(),\n }),\n studentViewUri: z.object({\n uri: z.string(),\n }),\n studentWorkReviewUri: z\n .object({\n uri: z.string(),\n })\n .optional(),\n itemId: z.string(),\n maxPoints: z.number().nullish(),\n});\n\nexport type ClassroomAttachment = z.infer<typeof classroomAttachmentSchema>;\n\nexport const createCourseWorkArgsSchema = z.object({\n title: z.string(),\n description: z.string().optional(),\n lessonUrl: z.string(),\n maxPoints: z.number().int().positive(),\n});\n\nexport type CreateCourseWorkArgs = z.infer<typeof createCourseWorkArgsSchema>;\n\nexport const courseWorkCreatedResultSchema = z.object({\n courseWorkId: z.string(),\n courseId: z.string(),\n alternateLink: z.string().optional(),\n title: z.string(),\n});\n\nexport type CourseWorkCreatedResult = z.infer<\n typeof courseWorkCreatedResultSchema\n>;\n\nexport const courseListItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n section: z.string().optional(),\n});\n\nexport type CourseListItem = z.infer<typeof courseListItemSchema>;\n","import z from \"zod\";\n\nconst questionFeedbackSchema = z.enum([\"correct\", \"incorrect\"]);\n\nconst pupilAnswerSchema = z.union([\n z.string(),\n z.number(),\n z.array(z.union([z.string(), z.number()]).nullable()),\n z.null(),\n]);\n\nexport const questionResultSchema = z.object({\n mode: z.enum([\"init\", \"incomplete\", \"input\", \"grading\", \"feedback\"]),\n grade: z.number(),\n pupilAnswer: pupilAnswerSchema.optional().nullable(),\n feedback: z\n .union([questionFeedbackSchema, z.array(questionFeedbackSchema)])\n .optional(),\n isPartiallyCorrect: z.boolean().optional(),\n correctAnswer: z\n .union([z.string(), z.array(z.union([z.string(), z.undefined()]))])\n .optional(),\n usedHint: z.boolean().optional(),\n});\n\nexport const quizProgressSchema = z.object({\n grade: z.number().int().min(0),\n numQuestions: z.number().int().positive(),\n isComplete: z.boolean(),\n questionResults: z.array(questionResultSchema).optional(),\n});\n\nexport const videoProgressSchema = z.object({\n played: z.boolean(),\n duration: z.number(),\n timeElapsed: z.number(),\n isComplete: z.boolean(),\n});\n\nexport const introProgressSchema = z.object({\n worksheetAvailable: z.boolean().optional(),\n worksheetDownloaded: z.boolean().optional(),\n isComplete: z.boolean(),\n});\n\nexport enum PostSubmissionState {\n SUBMISSION_STATE_UNSPECIFIED = \"SUBMISSION_STATE_UNSPECIFIED\",\n NEW = \"NEW\",\n CREATED = \"CREATED\",\n RECLAIMED_BY_STUDENT = \"RECLAIMED_BY_STUDENT\",\n TURNED_IN = \"TURNED_IN\",\n RETURNED = \"RETURNED\",\n}\n\nexport const postSubmissionStateSchema = z.enum(PostSubmissionState);\n\n// TurnedIn and Returned states are not updatable by our system, as they indicate that the student has turned in the assignment or the teacher has returned it, so we exclude those from the upsert options. Submission_State_Unspecified is also excluded as it's not a valid state for a submission.\nexport const UPDATABLE_SUBMISSION_STATES: PostSubmissionState[] = [\n PostSubmissionState.NEW,\n PostSubmissionState.CREATED,\n PostSubmissionState.RECLAIMED_BY_STUDENT,\n];\n\nconst lessonProgressInputSchema = z.object({\n starterQuiz: quizProgressSchema.optional(),\n exitQuiz: quizProgressSchema.optional(),\n video: videoProgressSchema.optional(),\n intro: introProgressSchema.optional(),\n});\n\nconst lessonProgressSchema = lessonProgressInputSchema.extend({\n updatedAt: z.string(),\n createdAt: z.string(),\n});\n\nexport const pupilLessonProgressSchema = lessonProgressSchema.extend({\n postSubmissionState: postSubmissionStateSchema,\n submissionId: z.string(),\n attachmentId: z.string(),\n courseId: z.string(),\n itemId: z.string(),\n pupilLoginHint: z.string(),\n});\n\nexport type PupilLessonProgress = z.infer<typeof pupilLessonProgressSchema>;\n\nexport const upsertPupilLessonProgressArgsSchema =\n lessonProgressInputSchema.extend({\n submissionId: z.string(),\n attachmentId: z.string(),\n courseId: z.string(),\n itemId: z.string(),\n pupilLoginHint: z.string(),\n });\n\nexport type UpsertPupilLessonProgressArgs = z.infer<\n typeof upsertPupilLessonProgressArgsSchema\n>;\n\nexport const courseWorkPupilProgressSchema = lessonProgressSchema.extend({\n submissionId: z.string(),\n assignmentToken: z.string(),\n courseWorkId: z.string(),\n courseId: z.string(),\n pupilLoginHint: z.string(),\n gradeSubmitted: z.boolean().optional(),\n resultsLinkAttached: z.boolean().optional(),\n postSubmissionState: postSubmissionStateSchema.optional(),\n});\n\nexport type CourseWorkPupilProgress = z.infer<\n typeof courseWorkPupilProgressSchema\n>;\n\nexport const upsertCourseWorkPupilProgressArgsSchema =\n lessonProgressInputSchema.extend({\n submissionId: z.string(),\n assignmentToken: z.string(),\n courseWorkId: z.string(),\n courseId: z.string(),\n pupilLoginHint: z.string(),\n });\n\nexport type UpsertCourseWorkPupilProgressArgs = z.infer<\n typeof upsertCourseWorkPupilProgressArgsSchema\n>;\n\nexport type CreateCourseWorkServiceArgs = {\n courseId: string;\n title: string;\n description?: string;\n lessonSlug: string;\n programmeSlug: string;\n unitSlug: string;\n maxPoints: number;\n teacherLoginHint: string;\n};\n","import z from \"zod\";\n\nimport { createAnnouncementAttachmentArgsSchema } from \"./GoogleClassroomClientTypes\";\n\nexport const codeSchema = z.string();\nexport type Code = z.infer<typeof codeSchema>;\n\nexport const googleOAuthUserSchema = z.object({\n accessToken: z.string(),\n loginHint: z.string(),\n refreshToken: z.string().optional(),\n profilePictureUrl: z.string().optional(),\n email: z.string().optional(),\n});\n\nexport type GoogleOAuthUser = z.infer<typeof googleOAuthUserSchema>;\n\nexport const tokenPayloadSchema = z.object({\n token: z.string(),\n});\n\nexport type TokenPayload = z.infer<typeof tokenPayloadSchema>;\n\nexport const CreateAttachmentCallSchema = z.tuple([\n createAnnouncementAttachmentArgsSchema,\n z.string().min(1), // accessToken\n z.string().min(1), // session\n]);\n\nexport type CreateAttachmentCall = z.infer<typeof CreateAttachmentCallSchema>;\n","import z from \"zod\";\n\nimport { classroomAttachmentSchema } from \"./GoogleClassroomClientTypes\";\n\nexport const classroomAttachmentEntitySchema = classroomAttachmentSchema.extend(\n {\n attachmentId: z.string(),\n createdAt: z.string(),\n teacherLoginHint: z.string().optional(),\n },\n);\n\nexport type ClassroomAttachmentEntity = z.infer<\n typeof classroomAttachmentEntitySchema\n>;\n\nexport const userCredentialsEntitySchema = z.object({\n loginHint: z.string(),\n refreshToken: z.string().optional(),\n profilePictureUrl: z.string().optional(),\n});\n\nexport type UserCredentialsEntity = z.infer<typeof userCredentialsEntitySchema>;\n\nexport const classroomCourseWorkEntitySchema = z.object({\n assignmentToken: z.string(),\n courseWorkId: z.string(),\n courseId: z.string(),\n teacherLoginHint: z.string(),\n lessonSlug: z.string(),\n programmeSlug: z.string(),\n unitSlug: z.string(),\n maxPoints: z.number().int().positive(),\n createdAt: z.string(),\n});\n\nexport type ClassroomCourseWorkEntity = z.infer<\n typeof classroomCourseWorkEntitySchema\n>;\n"],"names":["PostSubmissionState","createAnnouncementAttachmentArgsSchema","z","object","courseId","string","itemId","addOnToken","title","lessonSlug","programmeSlug","unitSlug","maxPoints","number","optional","teacherLoginHint","classroomAttachmentSchema","postId","id","teacherViewUri","uri","studentViewUri","studentWorkReviewUri","nullish","createCourseWorkArgsSchema","description","lessonUrl","int","positive","courseWorkCreatedResultSchema","courseWorkId","alternateLink","courseListItemSchema","name","section","codeSchema","googleOAuthUserSchema","accessToken","loginHint","refreshToken","profilePictureUrl","email","tokenPayloadSchema","token","CreateAttachmentCallSchema","tuple","min","classroomAttachmentEntitySchema","extend","attachmentId","createdAt","userCredentialsEntitySchema","classroomCourseWorkEntitySchema","assignmentToken","questionFeedbackSchema","enum","pupilAnswerSchema","union","array","nullable","null","questionResultSchema","mode","grade","pupilAnswer","feedback","isPartiallyCorrect","boolean","correctAnswer","undefined","usedHint","quizProgressSchema","numQuestions","isComplete","questionResults","videoProgressSchema","played","duration","timeElapsed","introProgressSchema","worksheetAvailable","worksheetDownloaded","postSubmissionStateSchema","UPDATABLE_SUBMISSION_STATES","NEW","CREATED","RECLAIMED_BY_STUDENT","lessonProgressInputSchema","starterQuiz","exitQuiz","video","intro","lessonProgressSchema","updatedAt","pupilLessonProgressSchema","postSubmissionState","submissionId","pupilLoginHint","upsertPupilLessonProgressArgsSchema","courseWorkPupilProgressSchema","gradeSubmitted","resultsLinkAttached","upsertCourseWorkPupilProgressArgsSchema"],"mappings":"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"}
|
package/dist/services.d.ts
CHANGED
|
@@ -26,6 +26,18 @@ declare const classroomAttachmentEntitySchema: z.ZodObject<{
|
|
|
26
26
|
teacherLoginHint: z.ZodOptional<z.ZodString>;
|
|
27
27
|
}, z.core.$strip>;
|
|
28
28
|
type ClassroomAttachmentEntity = z.infer<typeof classroomAttachmentEntitySchema>;
|
|
29
|
+
declare const classroomCourseWorkEntitySchema: z.ZodObject<{
|
|
30
|
+
assignmentToken: z.ZodString;
|
|
31
|
+
courseWorkId: z.ZodString;
|
|
32
|
+
courseId: z.ZodString;
|
|
33
|
+
teacherLoginHint: z.ZodString;
|
|
34
|
+
lessonSlug: z.ZodString;
|
|
35
|
+
programmeSlug: z.ZodString;
|
|
36
|
+
unitSlug: z.ZodString;
|
|
37
|
+
maxPoints: z.ZodNumber;
|
|
38
|
+
createdAt: z.ZodString;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
type ClassroomCourseWorkEntity = z.infer<typeof classroomCourseWorkEntitySchema>;
|
|
29
41
|
|
|
30
42
|
declare const createAnnouncementAttachmentArgsSchema: z.ZodObject<{
|
|
31
43
|
courseId: z.ZodString;
|
|
@@ -39,6 +51,19 @@ declare const createAnnouncementAttachmentArgsSchema: z.ZodObject<{
|
|
|
39
51
|
teacherLoginHint: z.ZodOptional<z.ZodString>;
|
|
40
52
|
}, z.core.$strip>;
|
|
41
53
|
type CreateAnnouncementAttachmentArgs = z.infer<typeof createAnnouncementAttachmentArgsSchema>;
|
|
54
|
+
declare const courseWorkCreatedResultSchema: z.ZodObject<{
|
|
55
|
+
courseWorkId: z.ZodString;
|
|
56
|
+
courseId: z.ZodString;
|
|
57
|
+
alternateLink: z.ZodOptional<z.ZodString>;
|
|
58
|
+
title: z.ZodString;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
type CourseWorkCreatedResult = z.infer<typeof courseWorkCreatedResultSchema>;
|
|
61
|
+
declare const courseListItemSchema: z.ZodObject<{
|
|
62
|
+
id: z.ZodString;
|
|
63
|
+
name: z.ZodString;
|
|
64
|
+
section: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
type CourseListItem = z.infer<typeof courseListItemSchema>;
|
|
42
67
|
|
|
43
68
|
declare enum PostSubmissionState {
|
|
44
69
|
SUBMISSION_STATE_UNSPECIFIED = "SUBMISSION_STATE_UNSPECIFIED",
|
|
@@ -49,12 +74,80 @@ declare enum PostSubmissionState {
|
|
|
49
74
|
RETURNED = "RETURNED"
|
|
50
75
|
}
|
|
51
76
|
declare const pupilLessonProgressSchema: z.ZodObject<{
|
|
77
|
+
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
78
|
+
grade: z.ZodNumber;
|
|
79
|
+
numQuestions: z.ZodNumber;
|
|
80
|
+
isComplete: z.ZodBoolean;
|
|
81
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
82
|
+
mode: z.ZodEnum<{
|
|
83
|
+
init: "init";
|
|
84
|
+
incomplete: "incomplete";
|
|
85
|
+
input: "input";
|
|
86
|
+
grading: "grading";
|
|
87
|
+
feedback: "feedback";
|
|
88
|
+
}>;
|
|
89
|
+
grade: z.ZodNumber;
|
|
90
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
91
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
92
|
+
correct: "correct";
|
|
93
|
+
incorrect: "incorrect";
|
|
94
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
95
|
+
correct: "correct";
|
|
96
|
+
incorrect: "incorrect";
|
|
97
|
+
}>>]>>;
|
|
98
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
99
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
100
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
101
|
+
}, z.core.$strip>>>;
|
|
102
|
+
}, z.core.$strip>>;
|
|
103
|
+
exitQuiz: z.ZodOptional<z.ZodObject<{
|
|
104
|
+
grade: z.ZodNumber;
|
|
105
|
+
numQuestions: z.ZodNumber;
|
|
106
|
+
isComplete: z.ZodBoolean;
|
|
107
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
108
|
+
mode: z.ZodEnum<{
|
|
109
|
+
init: "init";
|
|
110
|
+
incomplete: "incomplete";
|
|
111
|
+
input: "input";
|
|
112
|
+
grading: "grading";
|
|
113
|
+
feedback: "feedback";
|
|
114
|
+
}>;
|
|
115
|
+
grade: z.ZodNumber;
|
|
116
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
117
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
118
|
+
correct: "correct";
|
|
119
|
+
incorrect: "incorrect";
|
|
120
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
121
|
+
correct: "correct";
|
|
122
|
+
incorrect: "incorrect";
|
|
123
|
+
}>>]>>;
|
|
124
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
125
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
126
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
127
|
+
}, z.core.$strip>>>;
|
|
128
|
+
}, z.core.$strip>>;
|
|
129
|
+
video: z.ZodOptional<z.ZodObject<{
|
|
130
|
+
played: z.ZodBoolean;
|
|
131
|
+
duration: z.ZodNumber;
|
|
132
|
+
timeElapsed: z.ZodNumber;
|
|
133
|
+
isComplete: z.ZodBoolean;
|
|
134
|
+
}, z.core.$strip>>;
|
|
135
|
+
intro: z.ZodOptional<z.ZodObject<{
|
|
136
|
+
worksheetAvailable: z.ZodOptional<z.ZodBoolean>;
|
|
137
|
+
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
138
|
+
isComplete: z.ZodBoolean;
|
|
139
|
+
}, z.core.$strip>>;
|
|
140
|
+
updatedAt: z.ZodString;
|
|
141
|
+
createdAt: z.ZodString;
|
|
52
142
|
postSubmissionState: z.ZodEnum<typeof PostSubmissionState>;
|
|
53
143
|
submissionId: z.ZodString;
|
|
54
144
|
attachmentId: z.ZodString;
|
|
55
145
|
courseId: z.ZodString;
|
|
56
146
|
itemId: z.ZodString;
|
|
57
147
|
pupilLoginHint: z.ZodString;
|
|
148
|
+
}, z.core.$strip>;
|
|
149
|
+
type PupilLessonProgress = z.infer<typeof pupilLessonProgressSchema>;
|
|
150
|
+
declare const upsertPupilLessonProgressArgsSchema: z.ZodObject<{
|
|
58
151
|
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
59
152
|
grade: z.ZodNumber;
|
|
60
153
|
numQuestions: z.ZodNumber;
|
|
@@ -118,16 +211,14 @@ declare const pupilLessonProgressSchema: z.ZodObject<{
|
|
|
118
211
|
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
119
212
|
isComplete: z.ZodBoolean;
|
|
120
213
|
}, z.core.$strip>>;
|
|
121
|
-
updatedAt: z.ZodString;
|
|
122
|
-
createdAt: z.ZodString;
|
|
123
|
-
}, z.core.$strip>;
|
|
124
|
-
type PupilLessonProgress = z.infer<typeof pupilLessonProgressSchema>;
|
|
125
|
-
declare const upsertPupilLessonProgressArgsSchema: z.ZodObject<{
|
|
126
214
|
submissionId: z.ZodString;
|
|
127
215
|
attachmentId: z.ZodString;
|
|
128
216
|
courseId: z.ZodString;
|
|
129
217
|
itemId: z.ZodString;
|
|
130
218
|
pupilLoginHint: z.ZodString;
|
|
219
|
+
}, z.core.$strip>;
|
|
220
|
+
type UpsertPupilLessonProgressArgs = z.infer<typeof upsertPupilLessonProgressArgsSchema>;
|
|
221
|
+
declare const courseWorkPupilProgressSchema: z.ZodObject<{
|
|
131
222
|
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
132
223
|
grade: z.ZodNumber;
|
|
133
224
|
numQuestions: z.ZodNumber;
|
|
@@ -191,8 +282,99 @@ declare const upsertPupilLessonProgressArgsSchema: z.ZodObject<{
|
|
|
191
282
|
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
192
283
|
isComplete: z.ZodBoolean;
|
|
193
284
|
}, z.core.$strip>>;
|
|
285
|
+
updatedAt: z.ZodString;
|
|
286
|
+
createdAt: z.ZodString;
|
|
287
|
+
submissionId: z.ZodString;
|
|
288
|
+
assignmentToken: z.ZodString;
|
|
289
|
+
courseWorkId: z.ZodString;
|
|
290
|
+
courseId: z.ZodString;
|
|
291
|
+
pupilLoginHint: z.ZodString;
|
|
292
|
+
gradeSubmitted: z.ZodOptional<z.ZodBoolean>;
|
|
293
|
+
resultsLinkAttached: z.ZodOptional<z.ZodBoolean>;
|
|
294
|
+
postSubmissionState: z.ZodOptional<z.ZodEnum<typeof PostSubmissionState>>;
|
|
194
295
|
}, z.core.$strip>;
|
|
195
|
-
type
|
|
296
|
+
type CourseWorkPupilProgress = z.infer<typeof courseWorkPupilProgressSchema>;
|
|
297
|
+
declare const upsertCourseWorkPupilProgressArgsSchema: z.ZodObject<{
|
|
298
|
+
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
299
|
+
grade: z.ZodNumber;
|
|
300
|
+
numQuestions: z.ZodNumber;
|
|
301
|
+
isComplete: z.ZodBoolean;
|
|
302
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
303
|
+
mode: z.ZodEnum<{
|
|
304
|
+
init: "init";
|
|
305
|
+
incomplete: "incomplete";
|
|
306
|
+
input: "input";
|
|
307
|
+
grading: "grading";
|
|
308
|
+
feedback: "feedback";
|
|
309
|
+
}>;
|
|
310
|
+
grade: z.ZodNumber;
|
|
311
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
312
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
313
|
+
correct: "correct";
|
|
314
|
+
incorrect: "incorrect";
|
|
315
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
316
|
+
correct: "correct";
|
|
317
|
+
incorrect: "incorrect";
|
|
318
|
+
}>>]>>;
|
|
319
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
320
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
321
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
322
|
+
}, z.core.$strip>>>;
|
|
323
|
+
}, z.core.$strip>>;
|
|
324
|
+
exitQuiz: z.ZodOptional<z.ZodObject<{
|
|
325
|
+
grade: z.ZodNumber;
|
|
326
|
+
numQuestions: z.ZodNumber;
|
|
327
|
+
isComplete: z.ZodBoolean;
|
|
328
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
329
|
+
mode: z.ZodEnum<{
|
|
330
|
+
init: "init";
|
|
331
|
+
incomplete: "incomplete";
|
|
332
|
+
input: "input";
|
|
333
|
+
grading: "grading";
|
|
334
|
+
feedback: "feedback";
|
|
335
|
+
}>;
|
|
336
|
+
grade: z.ZodNumber;
|
|
337
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
338
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
339
|
+
correct: "correct";
|
|
340
|
+
incorrect: "incorrect";
|
|
341
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
342
|
+
correct: "correct";
|
|
343
|
+
incorrect: "incorrect";
|
|
344
|
+
}>>]>>;
|
|
345
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
346
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
347
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
348
|
+
}, z.core.$strip>>>;
|
|
349
|
+
}, z.core.$strip>>;
|
|
350
|
+
video: z.ZodOptional<z.ZodObject<{
|
|
351
|
+
played: z.ZodBoolean;
|
|
352
|
+
duration: z.ZodNumber;
|
|
353
|
+
timeElapsed: z.ZodNumber;
|
|
354
|
+
isComplete: z.ZodBoolean;
|
|
355
|
+
}, z.core.$strip>>;
|
|
356
|
+
intro: z.ZodOptional<z.ZodObject<{
|
|
357
|
+
worksheetAvailable: z.ZodOptional<z.ZodBoolean>;
|
|
358
|
+
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
359
|
+
isComplete: z.ZodBoolean;
|
|
360
|
+
}, z.core.$strip>>;
|
|
361
|
+
submissionId: z.ZodString;
|
|
362
|
+
assignmentToken: z.ZodString;
|
|
363
|
+
courseWorkId: z.ZodString;
|
|
364
|
+
courseId: z.ZodString;
|
|
365
|
+
pupilLoginHint: z.ZodString;
|
|
366
|
+
}, z.core.$strip>;
|
|
367
|
+
type UpsertCourseWorkPupilProgressArgs = z.infer<typeof upsertCourseWorkPupilProgressArgsSchema>;
|
|
368
|
+
type CreateCourseWorkServiceArgs = {
|
|
369
|
+
courseId: string;
|
|
370
|
+
title: string;
|
|
371
|
+
description?: string;
|
|
372
|
+
lessonSlug: string;
|
|
373
|
+
programmeSlug: string;
|
|
374
|
+
unitSlug: string;
|
|
375
|
+
maxPoints: number;
|
|
376
|
+
teacherLoginHint: string;
|
|
377
|
+
};
|
|
196
378
|
|
|
197
379
|
type FetchPupilResponseArgs = {
|
|
198
380
|
courseId: string;
|
|
@@ -217,8 +399,11 @@ declare class OakGoogleClassroomAddOn {
|
|
|
217
399
|
private sessionService;
|
|
218
400
|
private classroomAttachmentService;
|
|
219
401
|
private pupilProgressService;
|
|
402
|
+
private courseWorkService;
|
|
403
|
+
private courseWorkProgressService;
|
|
220
404
|
private encryptionService;
|
|
221
405
|
private firestoreClient;
|
|
406
|
+
private baseUrl;
|
|
222
407
|
constructor(encryptionSecret: string, firestore: Firestore, googleOAuthClientId: string, googleOAuthClientSecret: string, googleOAuthCallbackApiRoute: string, sessionSecret: string, baseUrl: string);
|
|
223
408
|
/**
|
|
224
409
|
* Generates the Google OAuth sign-in URL for user authentication.
|
|
@@ -300,6 +485,69 @@ declare class OakGoogleClassroomAddOn {
|
|
|
300
485
|
* @param submissionId - The Google Classroom submission ID
|
|
301
486
|
*/
|
|
302
487
|
getPupilLessonProgress(submissionId: string, attachmentId: string, itemId: string): Promise<PupilLessonProgress | null>;
|
|
488
|
+
/**
|
|
489
|
+
* Resolves a teacher OAuth client by looking up the coursework's teacherLoginHint
|
|
490
|
+
* from Firestore (keyed by assignmentToken) and fetching stored credentials.
|
|
491
|
+
*/
|
|
492
|
+
private resolveTeacherOAuthClientForCourseWork;
|
|
493
|
+
private getTeacherRefreshToken;
|
|
494
|
+
/**
|
|
495
|
+
* Lists the active Google Classroom courses for the authenticated teacher.
|
|
496
|
+
* @param accessToken - The teacher's current OAuth access token
|
|
497
|
+
* @param session - The teacher's encrypted session string
|
|
498
|
+
*/
|
|
499
|
+
listCourses(accessToken: string, session: string): Promise<CourseListItem[]>;
|
|
500
|
+
/**
|
|
501
|
+
* Creates a CourseWork assignment with Link material and stores the
|
|
502
|
+
* assignmentToken → courseWork mapping in Firestore.
|
|
503
|
+
* @param args - Lesson and course details
|
|
504
|
+
* @param accessToken - The teacher's current OAuth access token
|
|
505
|
+
* @param session - The teacher's encrypted session string
|
|
506
|
+
*/
|
|
507
|
+
createCourseWork(args: Omit<CreateCourseWorkServiceArgs, "teacherLoginHint">, accessToken: string, session: string): Promise<CourseWorkCreatedResult & {
|
|
508
|
+
assignmentToken: string;
|
|
509
|
+
}>;
|
|
510
|
+
/**
|
|
511
|
+
* Retrieves the pupil's submissionId for a given coursework item.
|
|
512
|
+
* Must be called with the pupil's session (userId=me lookup).
|
|
513
|
+
* @param courseId - The Google Classroom course ID
|
|
514
|
+
* @param courseWorkId - The courseWork item ID
|
|
515
|
+
* @param accessToken - The pupil's current OAuth access token
|
|
516
|
+
* @param session - The pupil's encrypted session string
|
|
517
|
+
*/
|
|
518
|
+
getStudentSubmissionId(courseId: string, courseWorkId: string, accessToken: string, session: string): Promise<string>;
|
|
519
|
+
/**
|
|
520
|
+
* Upserts pupil progress for a link-based CourseWork assignment and syncs
|
|
521
|
+
* the grade to Google Classroom when the exit quiz is newly completed.
|
|
522
|
+
* @param args - The pupil progress data
|
|
523
|
+
* @param accessToken - The pupil's current OAuth access token
|
|
524
|
+
* @param session - The pupil's encrypted session string
|
|
525
|
+
*/
|
|
526
|
+
upsertCourseWorkPupilProgress(args: UpsertCourseWorkPupilProgressArgs, accessToken: string, session: string): Promise<CourseWorkPupilProgress>;
|
|
527
|
+
/**
|
|
528
|
+
* Retrieves the stored CourseWork entity for a given assignmentToken.
|
|
529
|
+
* Does not require Google Classroom authentication — Firestore-only lookup.
|
|
530
|
+
* Returns null if the token is not found (caller should treat as 404).
|
|
531
|
+
* @param assignmentToken - The opaque token embedded in the lesson URL
|
|
532
|
+
*/
|
|
533
|
+
getClassroomCourseWork(assignmentToken: string): Promise<ClassroomCourseWorkEntity | null>;
|
|
534
|
+
/**
|
|
535
|
+
* Retrieves pupil progress for a link-based CourseWork assignment.
|
|
536
|
+
* Does not require Google Classroom authentication.
|
|
537
|
+
* @param submissionId - The Google Classroom submission ID
|
|
538
|
+
*/
|
|
539
|
+
getCourseWorkPupilProgress(submissionId: string, assignmentToken: string): Promise<CourseWorkPupilProgress | null>;
|
|
540
|
+
/**
|
|
541
|
+
* Turns in a student's submission using the student's own OAuth credentials.
|
|
542
|
+
* Must be called after grade sync (upsertCourseWorkPupilProgress) to ensure
|
|
543
|
+
* the grade is patched before the submission state changes to TURNED_IN.
|
|
544
|
+
* @param courseId - The Google Classroom course ID
|
|
545
|
+
* @param courseWorkId - The courseWork item ID
|
|
546
|
+
* @param submissionId - The student's submission ID
|
|
547
|
+
* @param accessToken - The student's current OAuth access token
|
|
548
|
+
* @param session - The student's encrypted session string
|
|
549
|
+
*/
|
|
550
|
+
turnInCourseWorkSubmission(courseId: string, courseWorkId: string, submissionId: string, assignmentToken: string, accessToken: string, session: string): Promise<void>;
|
|
303
551
|
getPostSubmissionState(args: FetchPupilResponseArgs, accessToken: string, session: string): Promise<string>;
|
|
304
552
|
}
|
|
305
553
|
|
package/dist/types.d.ts
CHANGED
|
@@ -54,6 +54,18 @@ declare const userCredentialsEntitySchema: z.ZodObject<{
|
|
|
54
54
|
profilePictureUrl: z.ZodOptional<z.ZodString>;
|
|
55
55
|
}, z.core.$strip>;
|
|
56
56
|
type UserCredentialsEntity = z.infer<typeof userCredentialsEntitySchema>;
|
|
57
|
+
declare const classroomCourseWorkEntitySchema: z.ZodObject<{
|
|
58
|
+
assignmentToken: z.ZodString;
|
|
59
|
+
courseWorkId: z.ZodString;
|
|
60
|
+
courseId: z.ZodString;
|
|
61
|
+
teacherLoginHint: z.ZodString;
|
|
62
|
+
lessonSlug: z.ZodString;
|
|
63
|
+
programmeSlug: z.ZodString;
|
|
64
|
+
unitSlug: z.ZodString;
|
|
65
|
+
maxPoints: z.ZodNumber;
|
|
66
|
+
createdAt: z.ZodString;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
type ClassroomCourseWorkEntity = z.infer<typeof classroomCourseWorkEntitySchema>;
|
|
57
69
|
|
|
58
70
|
declare const createAnnouncementAttachmentArgsSchema: z.ZodObject<{
|
|
59
71
|
courseId: z.ZodString;
|
|
@@ -85,9 +97,27 @@ declare const classroomAttachmentSchema: z.ZodObject<{
|
|
|
85
97
|
maxPoints: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
86
98
|
}, z.core.$strip>;
|
|
87
99
|
type ClassroomAttachment = z.infer<typeof classroomAttachmentSchema>;
|
|
100
|
+
declare const createCourseWorkArgsSchema: z.ZodObject<{
|
|
101
|
+
title: z.ZodString;
|
|
102
|
+
description: z.ZodOptional<z.ZodString>;
|
|
103
|
+
lessonUrl: z.ZodString;
|
|
104
|
+
maxPoints: z.ZodNumber;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
type CreateCourseWorkArgs = z.infer<typeof createCourseWorkArgsSchema>;
|
|
107
|
+
declare const courseWorkCreatedResultSchema: z.ZodObject<{
|
|
108
|
+
courseWorkId: z.ZodString;
|
|
109
|
+
courseId: z.ZodString;
|
|
110
|
+
alternateLink: z.ZodOptional<z.ZodString>;
|
|
111
|
+
title: z.ZodString;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
type CourseWorkCreatedResult = z.infer<typeof courseWorkCreatedResultSchema>;
|
|
114
|
+
declare const courseListItemSchema: z.ZodObject<{
|
|
115
|
+
id: z.ZodString;
|
|
116
|
+
name: z.ZodString;
|
|
117
|
+
section: z.ZodOptional<z.ZodString>;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
type CourseListItem = z.infer<typeof courseListItemSchema>;
|
|
88
120
|
|
|
89
|
-
declare const UPDATABLE_SUBMISSION_STATES: readonly ["NEW", "CREATED", "RECLAIMED_BY_STUDENT"];
|
|
90
|
-
type UpdatableSubmissionState = (typeof UPDATABLE_SUBMISSION_STATES)[number];
|
|
91
121
|
declare const questionResultSchema: z.ZodObject<{
|
|
92
122
|
mode: z.ZodEnum<{
|
|
93
123
|
init: "init";
|
|
@@ -155,13 +185,82 @@ declare enum PostSubmissionState {
|
|
|
155
185
|
RETURNED = "RETURNED"
|
|
156
186
|
}
|
|
157
187
|
declare const postSubmissionStateSchema: z.ZodEnum<typeof PostSubmissionState>;
|
|
188
|
+
declare const UPDATABLE_SUBMISSION_STATES: PostSubmissionState[];
|
|
158
189
|
declare const pupilLessonProgressSchema: z.ZodObject<{
|
|
190
|
+
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
191
|
+
grade: z.ZodNumber;
|
|
192
|
+
numQuestions: z.ZodNumber;
|
|
193
|
+
isComplete: z.ZodBoolean;
|
|
194
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
195
|
+
mode: z.ZodEnum<{
|
|
196
|
+
init: "init";
|
|
197
|
+
incomplete: "incomplete";
|
|
198
|
+
input: "input";
|
|
199
|
+
grading: "grading";
|
|
200
|
+
feedback: "feedback";
|
|
201
|
+
}>;
|
|
202
|
+
grade: z.ZodNumber;
|
|
203
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
204
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
205
|
+
correct: "correct";
|
|
206
|
+
incorrect: "incorrect";
|
|
207
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
208
|
+
correct: "correct";
|
|
209
|
+
incorrect: "incorrect";
|
|
210
|
+
}>>]>>;
|
|
211
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
212
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
213
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
214
|
+
}, z.core.$strip>>>;
|
|
215
|
+
}, z.core.$strip>>;
|
|
216
|
+
exitQuiz: z.ZodOptional<z.ZodObject<{
|
|
217
|
+
grade: z.ZodNumber;
|
|
218
|
+
numQuestions: z.ZodNumber;
|
|
219
|
+
isComplete: z.ZodBoolean;
|
|
220
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
221
|
+
mode: z.ZodEnum<{
|
|
222
|
+
init: "init";
|
|
223
|
+
incomplete: "incomplete";
|
|
224
|
+
input: "input";
|
|
225
|
+
grading: "grading";
|
|
226
|
+
feedback: "feedback";
|
|
227
|
+
}>;
|
|
228
|
+
grade: z.ZodNumber;
|
|
229
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
230
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
231
|
+
correct: "correct";
|
|
232
|
+
incorrect: "incorrect";
|
|
233
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
234
|
+
correct: "correct";
|
|
235
|
+
incorrect: "incorrect";
|
|
236
|
+
}>>]>>;
|
|
237
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
238
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
239
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
240
|
+
}, z.core.$strip>>>;
|
|
241
|
+
}, z.core.$strip>>;
|
|
242
|
+
video: z.ZodOptional<z.ZodObject<{
|
|
243
|
+
played: z.ZodBoolean;
|
|
244
|
+
duration: z.ZodNumber;
|
|
245
|
+
timeElapsed: z.ZodNumber;
|
|
246
|
+
isComplete: z.ZodBoolean;
|
|
247
|
+
}, z.core.$strip>>;
|
|
248
|
+
intro: z.ZodOptional<z.ZodObject<{
|
|
249
|
+
worksheetAvailable: z.ZodOptional<z.ZodBoolean>;
|
|
250
|
+
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
251
|
+
isComplete: z.ZodBoolean;
|
|
252
|
+
}, z.core.$strip>>;
|
|
253
|
+
updatedAt: z.ZodString;
|
|
254
|
+
createdAt: z.ZodString;
|
|
159
255
|
postSubmissionState: z.ZodEnum<typeof PostSubmissionState>;
|
|
160
256
|
submissionId: z.ZodString;
|
|
161
257
|
attachmentId: z.ZodString;
|
|
162
258
|
courseId: z.ZodString;
|
|
163
259
|
itemId: z.ZodString;
|
|
164
260
|
pupilLoginHint: z.ZodString;
|
|
261
|
+
}, z.core.$strip>;
|
|
262
|
+
type PupilLessonProgress = z.infer<typeof pupilLessonProgressSchema>;
|
|
263
|
+
declare const upsertPupilLessonProgressArgsSchema: z.ZodObject<{
|
|
165
264
|
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
166
265
|
grade: z.ZodNumber;
|
|
167
266
|
numQuestions: z.ZodNumber;
|
|
@@ -225,16 +324,14 @@ declare const pupilLessonProgressSchema: z.ZodObject<{
|
|
|
225
324
|
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
226
325
|
isComplete: z.ZodBoolean;
|
|
227
326
|
}, z.core.$strip>>;
|
|
228
|
-
updatedAt: z.ZodString;
|
|
229
|
-
createdAt: z.ZodString;
|
|
230
|
-
}, z.core.$strip>;
|
|
231
|
-
type PupilLessonProgress = z.infer<typeof pupilLessonProgressSchema>;
|
|
232
|
-
declare const upsertPupilLessonProgressArgsSchema: z.ZodObject<{
|
|
233
327
|
submissionId: z.ZodString;
|
|
234
328
|
attachmentId: z.ZodString;
|
|
235
329
|
courseId: z.ZodString;
|
|
236
330
|
itemId: z.ZodString;
|
|
237
331
|
pupilLoginHint: z.ZodString;
|
|
332
|
+
}, z.core.$strip>;
|
|
333
|
+
type UpsertPupilLessonProgressArgs = z.infer<typeof upsertPupilLessonProgressArgsSchema>;
|
|
334
|
+
declare const courseWorkPupilProgressSchema: z.ZodObject<{
|
|
238
335
|
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
239
336
|
grade: z.ZodNumber;
|
|
240
337
|
numQuestions: z.ZodNumber;
|
|
@@ -298,8 +395,99 @@ declare const upsertPupilLessonProgressArgsSchema: z.ZodObject<{
|
|
|
298
395
|
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
299
396
|
isComplete: z.ZodBoolean;
|
|
300
397
|
}, z.core.$strip>>;
|
|
398
|
+
updatedAt: z.ZodString;
|
|
399
|
+
createdAt: z.ZodString;
|
|
400
|
+
submissionId: z.ZodString;
|
|
401
|
+
assignmentToken: z.ZodString;
|
|
402
|
+
courseWorkId: z.ZodString;
|
|
403
|
+
courseId: z.ZodString;
|
|
404
|
+
pupilLoginHint: z.ZodString;
|
|
405
|
+
gradeSubmitted: z.ZodOptional<z.ZodBoolean>;
|
|
406
|
+
resultsLinkAttached: z.ZodOptional<z.ZodBoolean>;
|
|
407
|
+
postSubmissionState: z.ZodOptional<z.ZodEnum<typeof PostSubmissionState>>;
|
|
301
408
|
}, z.core.$strip>;
|
|
302
|
-
type
|
|
409
|
+
type CourseWorkPupilProgress = z.infer<typeof courseWorkPupilProgressSchema>;
|
|
410
|
+
declare const upsertCourseWorkPupilProgressArgsSchema: z.ZodObject<{
|
|
411
|
+
starterQuiz: z.ZodOptional<z.ZodObject<{
|
|
412
|
+
grade: z.ZodNumber;
|
|
413
|
+
numQuestions: z.ZodNumber;
|
|
414
|
+
isComplete: z.ZodBoolean;
|
|
415
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
416
|
+
mode: z.ZodEnum<{
|
|
417
|
+
init: "init";
|
|
418
|
+
incomplete: "incomplete";
|
|
419
|
+
input: "input";
|
|
420
|
+
grading: "grading";
|
|
421
|
+
feedback: "feedback";
|
|
422
|
+
}>;
|
|
423
|
+
grade: z.ZodNumber;
|
|
424
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
425
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
426
|
+
correct: "correct";
|
|
427
|
+
incorrect: "incorrect";
|
|
428
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
429
|
+
correct: "correct";
|
|
430
|
+
incorrect: "incorrect";
|
|
431
|
+
}>>]>>;
|
|
432
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
433
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
434
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
435
|
+
}, z.core.$strip>>>;
|
|
436
|
+
}, z.core.$strip>>;
|
|
437
|
+
exitQuiz: z.ZodOptional<z.ZodObject<{
|
|
438
|
+
grade: z.ZodNumber;
|
|
439
|
+
numQuestions: z.ZodNumber;
|
|
440
|
+
isComplete: z.ZodBoolean;
|
|
441
|
+
questionResults: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
442
|
+
mode: z.ZodEnum<{
|
|
443
|
+
init: "init";
|
|
444
|
+
incomplete: "incomplete";
|
|
445
|
+
input: "input";
|
|
446
|
+
grading: "grading";
|
|
447
|
+
feedback: "feedback";
|
|
448
|
+
}>;
|
|
449
|
+
grade: z.ZodNumber;
|
|
450
|
+
pupilAnswer: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>, z.ZodNull]>>>;
|
|
451
|
+
feedback: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
452
|
+
correct: "correct";
|
|
453
|
+
incorrect: "incorrect";
|
|
454
|
+
}>, z.ZodArray<z.ZodEnum<{
|
|
455
|
+
correct: "correct";
|
|
456
|
+
incorrect: "incorrect";
|
|
457
|
+
}>>]>>;
|
|
458
|
+
isPartiallyCorrect: z.ZodOptional<z.ZodBoolean>;
|
|
459
|
+
correctAnswer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodUndefined]>>]>>;
|
|
460
|
+
usedHint: z.ZodOptional<z.ZodBoolean>;
|
|
461
|
+
}, z.core.$strip>>>;
|
|
462
|
+
}, z.core.$strip>>;
|
|
463
|
+
video: z.ZodOptional<z.ZodObject<{
|
|
464
|
+
played: z.ZodBoolean;
|
|
465
|
+
duration: z.ZodNumber;
|
|
466
|
+
timeElapsed: z.ZodNumber;
|
|
467
|
+
isComplete: z.ZodBoolean;
|
|
468
|
+
}, z.core.$strip>>;
|
|
469
|
+
intro: z.ZodOptional<z.ZodObject<{
|
|
470
|
+
worksheetAvailable: z.ZodOptional<z.ZodBoolean>;
|
|
471
|
+
worksheetDownloaded: z.ZodOptional<z.ZodBoolean>;
|
|
472
|
+
isComplete: z.ZodBoolean;
|
|
473
|
+
}, z.core.$strip>>;
|
|
474
|
+
submissionId: z.ZodString;
|
|
475
|
+
assignmentToken: z.ZodString;
|
|
476
|
+
courseWorkId: z.ZodString;
|
|
477
|
+
courseId: z.ZodString;
|
|
478
|
+
pupilLoginHint: z.ZodString;
|
|
479
|
+
}, z.core.$strip>;
|
|
480
|
+
type UpsertCourseWorkPupilProgressArgs = z.infer<typeof upsertCourseWorkPupilProgressArgsSchema>;
|
|
481
|
+
type CreateCourseWorkServiceArgs = {
|
|
482
|
+
courseId: string;
|
|
483
|
+
title: string;
|
|
484
|
+
description?: string;
|
|
485
|
+
lessonSlug: string;
|
|
486
|
+
programmeSlug: string;
|
|
487
|
+
unitSlug: string;
|
|
488
|
+
maxPoints: number;
|
|
489
|
+
teacherLoginHint: string;
|
|
490
|
+
};
|
|
303
491
|
|
|
304
|
-
export { CreateAttachmentCallSchema, PostSubmissionState, UPDATABLE_SUBMISSION_STATES, classroomAttachmentEntitySchema, classroomAttachmentSchema, codeSchema, createAnnouncementAttachmentArgsSchema, googleOAuthUserSchema, introProgressSchema, postSubmissionStateSchema, pupilLessonProgressSchema, questionResultSchema, quizProgressSchema, tokenPayloadSchema, upsertPupilLessonProgressArgsSchema, userCredentialsEntitySchema, videoProgressSchema };
|
|
305
|
-
export type { ClassroomAttachment, ClassroomAttachmentEntity, Code, CreateAnnouncementAttachmentArgs, CreateAttachmentCall, GoogleOAuthUser, PupilLessonProgress, TokenPayload,
|
|
492
|
+
export { CreateAttachmentCallSchema, PostSubmissionState, UPDATABLE_SUBMISSION_STATES, classroomAttachmentEntitySchema, classroomAttachmentSchema, classroomCourseWorkEntitySchema, codeSchema, courseListItemSchema, courseWorkCreatedResultSchema, courseWorkPupilProgressSchema, createAnnouncementAttachmentArgsSchema, createCourseWorkArgsSchema, googleOAuthUserSchema, introProgressSchema, postSubmissionStateSchema, pupilLessonProgressSchema, questionResultSchema, quizProgressSchema, tokenPayloadSchema, upsertCourseWorkPupilProgressArgsSchema, upsertPupilLessonProgressArgsSchema, userCredentialsEntitySchema, videoProgressSchema };
|
|
493
|
+
export type { ClassroomAttachment, ClassroomAttachmentEntity, ClassroomCourseWorkEntity, Code, CourseListItem, CourseWorkCreatedResult, CourseWorkPupilProgress, CreateAnnouncementAttachmentArgs, CreateAttachmentCall, CreateCourseWorkArgs, CreateCourseWorkServiceArgs, GoogleOAuthUser, PupilLessonProgress, TokenPayload, UpsertCourseWorkPupilProgressArgs, UpsertPupilLessonProgressArgs, UserCredentialsEntity };
|