offcourse 1.0.1 → 1.1.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 (41) hide show
  1. package/README.md +107 -8
  2. package/dist/cli/commands/sync.js +4 -1
  3. package/dist/cli/commands/sync.js.map +1 -1
  4. package/dist/cli/commands/syncHighLevel.d.ts.map +1 -1
  5. package/dist/cli/commands/syncHighLevel.js +4 -1
  6. package/dist/cli/commands/syncHighLevel.js.map +1 -1
  7. package/dist/cli/commands/syncLearningSuite.d.ts +35 -0
  8. package/dist/cli/commands/syncLearningSuite.d.ts.map +1 -0
  9. package/dist/cli/commands/syncLearningSuite.js +765 -0
  10. package/dist/cli/commands/syncLearningSuite.js.map +1 -0
  11. package/dist/cli/index.js +38 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/downloader/hlsDownloader.d.ts +10 -4
  14. package/dist/downloader/hlsDownloader.d.ts.map +1 -1
  15. package/dist/downloader/hlsDownloader.js +38 -16
  16. package/dist/downloader/hlsDownloader.js.map +1 -1
  17. package/dist/downloader/index.d.ts +4 -0
  18. package/dist/downloader/index.d.ts.map +1 -1
  19. package/dist/downloader/index.js +6 -6
  20. package/dist/downloader/index.js.map +1 -1
  21. package/dist/downloader/loomDownloader.d.ts +1 -1
  22. package/dist/downloader/loomDownloader.d.ts.map +1 -1
  23. package/dist/downloader/loomDownloader.js +9 -7
  24. package/dist/downloader/loomDownloader.js.map +1 -1
  25. package/dist/scraper/learningsuite/extractor.d.ts +50 -0
  26. package/dist/scraper/learningsuite/extractor.d.ts.map +1 -0
  27. package/dist/scraper/learningsuite/extractor.js +429 -0
  28. package/dist/scraper/learningsuite/extractor.js.map +1 -0
  29. package/dist/scraper/learningsuite/index.d.ts +4 -0
  30. package/dist/scraper/learningsuite/index.d.ts.map +1 -0
  31. package/dist/scraper/learningsuite/index.js +4 -0
  32. package/dist/scraper/learningsuite/index.js.map +1 -0
  33. package/dist/scraper/learningsuite/navigator.d.ts +122 -0
  34. package/dist/scraper/learningsuite/navigator.d.ts.map +1 -0
  35. package/dist/scraper/learningsuite/navigator.js +736 -0
  36. package/dist/scraper/learningsuite/navigator.js.map +1 -0
  37. package/dist/scraper/learningsuite/schemas.d.ts +270 -0
  38. package/dist/scraper/learningsuite/schemas.d.ts.map +1 -0
  39. package/dist/scraper/learningsuite/schemas.js +147 -0
  40. package/dist/scraper/learningsuite/schemas.js.map +1 -0
  41. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator.js","sourceRoot":"","sources":["../../../src/scraper/learningsuite/navigator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Zod schemas for LearningSuite API responses.
3
+ * LearningSuite uses a GraphQL API.
4
+ */
5
+ import { z } from "zod";
6
+ export declare const TenantConfigSchema: z.ZodObject<{
7
+ id: z.ZodString;
8
+ name: z.ZodString;
9
+ subdomain: z.ZodString;
10
+ }, z.core.$strip>;
11
+ export type TenantConfig = z.infer<typeof TenantConfigSchema>;
12
+ export declare const AuthResponseSchema: z.ZodObject<{
13
+ accessToken: z.ZodString;
14
+ refreshToken: z.ZodOptional<z.ZodString>;
15
+ expiresIn: z.ZodOptional<z.ZodNumber>;
16
+ }, z.core.$strip>;
17
+ export type AuthResponse = z.infer<typeof AuthResponseSchema>;
18
+ export declare const GraphQLResponseSchema: <T extends z.ZodType>(dataSchema: T) => z.ZodObject<{
19
+ data: z.ZodNullable<T>;
20
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
21
+ message: z.ZodString;
22
+ path: z.ZodOptional<z.ZodArray<z.ZodString>>;
23
+ }, z.core.$strip>>>;
24
+ }, z.core.$strip>;
25
+ export declare const CourseSchema: z.ZodObject<{
26
+ id: z.ZodString;
27
+ title: z.ZodString;
28
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ thumbnailUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ progress: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
32
+ moduleCount: z.ZodOptional<z.ZodNumber>;
33
+ lessonCount: z.ZodOptional<z.ZodNumber>;
34
+ isPublished: z.ZodOptional<z.ZodBoolean>;
35
+ }, z.core.$strip>;
36
+ export type Course = z.infer<typeof CourseSchema>;
37
+ export declare const CoursesResponseSchema: z.ZodObject<{
38
+ courses: z.ZodOptional<z.ZodArray<z.ZodObject<{
39
+ id: z.ZodString;
40
+ title: z.ZodString;
41
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ thumbnailUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
+ progress: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
45
+ moduleCount: z.ZodOptional<z.ZodNumber>;
46
+ lessonCount: z.ZodOptional<z.ZodNumber>;
47
+ isPublished: z.ZodOptional<z.ZodBoolean>;
48
+ }, z.core.$strip>>>;
49
+ products: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
+ id: z.ZodString;
51
+ title: z.ZodString;
52
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ thumbnailUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ progress: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
56
+ moduleCount: z.ZodOptional<z.ZodNumber>;
57
+ lessonCount: z.ZodOptional<z.ZodNumber>;
58
+ isPublished: z.ZodOptional<z.ZodBoolean>;
59
+ }, z.core.$strip>>>;
60
+ }, z.core.$strip>;
61
+ export type CoursesResponse = z.infer<typeof CoursesResponseSchema>;
62
+ export declare const ModuleSchema: z.ZodObject<{
63
+ id: z.ZodString;
64
+ title: z.ZodString;
65
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ position: z.ZodOptional<z.ZodNumber>;
67
+ order: z.ZodOptional<z.ZodNumber>;
68
+ isLocked: z.ZodOptional<z.ZodBoolean>;
69
+ isPublished: z.ZodOptional<z.ZodBoolean>;
70
+ lessonCount: z.ZodOptional<z.ZodNumber>;
71
+ }, z.core.$strip>;
72
+ export type Module = z.infer<typeof ModuleSchema>;
73
+ export declare const ModulesResponseSchema: z.ZodObject<{
74
+ modules: z.ZodOptional<z.ZodArray<z.ZodObject<{
75
+ id: z.ZodString;
76
+ title: z.ZodString;
77
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
78
+ position: z.ZodOptional<z.ZodNumber>;
79
+ order: z.ZodOptional<z.ZodNumber>;
80
+ isLocked: z.ZodOptional<z.ZodBoolean>;
81
+ isPublished: z.ZodOptional<z.ZodBoolean>;
82
+ lessonCount: z.ZodOptional<z.ZodNumber>;
83
+ }, z.core.$strip>>>;
84
+ chapters: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
+ id: z.ZodString;
86
+ title: z.ZodString;
87
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
88
+ position: z.ZodOptional<z.ZodNumber>;
89
+ order: z.ZodOptional<z.ZodNumber>;
90
+ isLocked: z.ZodOptional<z.ZodBoolean>;
91
+ isPublished: z.ZodOptional<z.ZodBoolean>;
92
+ lessonCount: z.ZodOptional<z.ZodNumber>;
93
+ }, z.core.$strip>>>;
94
+ sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
95
+ id: z.ZodString;
96
+ title: z.ZodString;
97
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
98
+ position: z.ZodOptional<z.ZodNumber>;
99
+ order: z.ZodOptional<z.ZodNumber>;
100
+ isLocked: z.ZodOptional<z.ZodBoolean>;
101
+ isPublished: z.ZodOptional<z.ZodBoolean>;
102
+ lessonCount: z.ZodOptional<z.ZodNumber>;
103
+ }, z.core.$strip>>>;
104
+ }, z.core.$strip>;
105
+ export type ModulesResponse = z.infer<typeof ModulesResponseSchema>;
106
+ export declare const LessonSchema: z.ZodObject<{
107
+ id: z.ZodString;
108
+ title: z.ZodString;
109
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
110
+ position: z.ZodOptional<z.ZodNumber>;
111
+ order: z.ZodOptional<z.ZodNumber>;
112
+ isLocked: z.ZodOptional<z.ZodBoolean>;
113
+ isPublished: z.ZodOptional<z.ZodBoolean>;
114
+ isCompleted: z.ZodOptional<z.ZodBoolean>;
115
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
116
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
117
+ contentType: z.ZodOptional<z.ZodString>;
118
+ }, z.core.$strip>;
119
+ export type Lesson = z.infer<typeof LessonSchema>;
120
+ export declare const LessonsResponseSchema: z.ZodObject<{
121
+ lessons: z.ZodOptional<z.ZodArray<z.ZodObject<{
122
+ id: z.ZodString;
123
+ title: z.ZodString;
124
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
+ position: z.ZodOptional<z.ZodNumber>;
126
+ order: z.ZodOptional<z.ZodNumber>;
127
+ isLocked: z.ZodOptional<z.ZodBoolean>;
128
+ isPublished: z.ZodOptional<z.ZodBoolean>;
129
+ isCompleted: z.ZodOptional<z.ZodBoolean>;
130
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
131
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
132
+ contentType: z.ZodOptional<z.ZodString>;
133
+ }, z.core.$strip>>>;
134
+ posts: z.ZodOptional<z.ZodArray<z.ZodObject<{
135
+ id: z.ZodString;
136
+ title: z.ZodString;
137
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
138
+ position: z.ZodOptional<z.ZodNumber>;
139
+ order: z.ZodOptional<z.ZodNumber>;
140
+ isLocked: z.ZodOptional<z.ZodBoolean>;
141
+ isPublished: z.ZodOptional<z.ZodBoolean>;
142
+ isCompleted: z.ZodOptional<z.ZodBoolean>;
143
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
144
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
145
+ contentType: z.ZodOptional<z.ZodString>;
146
+ }, z.core.$strip>>>;
147
+ }, z.core.$strip>;
148
+ export type LessonsResponse = z.infer<typeof LessonsResponseSchema>;
149
+ export declare const VideoAssetSchema: z.ZodObject<{
150
+ id: z.ZodOptional<z.ZodString>;
151
+ url: z.ZodOptional<z.ZodString>;
152
+ hlsUrl: z.ZodOptional<z.ZodString>;
153
+ thumbnailUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
155
+ provider: z.ZodOptional<z.ZodString>;
156
+ type: z.ZodOptional<z.ZodString>;
157
+ }, z.core.$strip>;
158
+ export type VideoAsset = z.infer<typeof VideoAssetSchema>;
159
+ export declare const AttachmentSchema: z.ZodObject<{
160
+ id: z.ZodString;
161
+ name: z.ZodString;
162
+ url: z.ZodString;
163
+ type: z.ZodOptional<z.ZodString>;
164
+ size: z.ZodOptional<z.ZodNumber>;
165
+ }, z.core.$strip>;
166
+ export type Attachment = z.infer<typeof AttachmentSchema>;
167
+ export declare const LessonContentSchema: z.ZodObject<{
168
+ id: z.ZodString;
169
+ title: z.ZodString;
170
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
+ htmlContent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
172
+ content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
173
+ video: z.ZodOptional<z.ZodNullable<z.ZodObject<{
174
+ id: z.ZodOptional<z.ZodString>;
175
+ url: z.ZodOptional<z.ZodString>;
176
+ hlsUrl: z.ZodOptional<z.ZodString>;
177
+ thumbnailUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
179
+ provider: z.ZodOptional<z.ZodString>;
180
+ type: z.ZodOptional<z.ZodString>;
181
+ }, z.core.$strip>>>;
182
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
183
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
184
+ id: z.ZodString;
185
+ name: z.ZodString;
186
+ url: z.ZodString;
187
+ type: z.ZodOptional<z.ZodString>;
188
+ size: z.ZodOptional<z.ZodNumber>;
189
+ }, z.core.$strip>>>;
190
+ materials: z.ZodOptional<z.ZodArray<z.ZodObject<{
191
+ id: z.ZodString;
192
+ name: z.ZodString;
193
+ url: z.ZodString;
194
+ type: z.ZodOptional<z.ZodString>;
195
+ size: z.ZodOptional<z.ZodNumber>;
196
+ }, z.core.$strip>>>;
197
+ }, z.core.$strip>;
198
+ export type LessonContent = z.infer<typeof LessonContentSchema>;
199
+ export declare const CourseStructureModuleSchema: z.ZodObject<{
200
+ id: z.ZodString;
201
+ title: z.ZodString;
202
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
203
+ position: z.ZodOptional<z.ZodNumber>;
204
+ order: z.ZodOptional<z.ZodNumber>;
205
+ isLocked: z.ZodOptional<z.ZodBoolean>;
206
+ isPublished: z.ZodOptional<z.ZodBoolean>;
207
+ lessonCount: z.ZodOptional<z.ZodNumber>;
208
+ lessons: z.ZodOptional<z.ZodArray<z.ZodObject<{
209
+ id: z.ZodString;
210
+ title: z.ZodString;
211
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
212
+ position: z.ZodOptional<z.ZodNumber>;
213
+ order: z.ZodOptional<z.ZodNumber>;
214
+ isLocked: z.ZodOptional<z.ZodBoolean>;
215
+ isPublished: z.ZodOptional<z.ZodBoolean>;
216
+ isCompleted: z.ZodOptional<z.ZodBoolean>;
217
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
218
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
219
+ contentType: z.ZodOptional<z.ZodString>;
220
+ }, z.core.$strip>>>;
221
+ }, z.core.$strip>;
222
+ export type CourseStructureModule = z.infer<typeof CourseStructureModuleSchema>;
223
+ export declare const CourseStructureSchema: z.ZodObject<{
224
+ course: z.ZodObject<{
225
+ id: z.ZodString;
226
+ title: z.ZodString;
227
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
228
+ thumbnailUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
229
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
230
+ progress: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
231
+ moduleCount: z.ZodOptional<z.ZodNumber>;
232
+ lessonCount: z.ZodOptional<z.ZodNumber>;
233
+ isPublished: z.ZodOptional<z.ZodBoolean>;
234
+ }, z.core.$strip>;
235
+ modules: z.ZodArray<z.ZodObject<{
236
+ id: z.ZodString;
237
+ title: z.ZodString;
238
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
239
+ position: z.ZodOptional<z.ZodNumber>;
240
+ order: z.ZodOptional<z.ZodNumber>;
241
+ isLocked: z.ZodOptional<z.ZodBoolean>;
242
+ isPublished: z.ZodOptional<z.ZodBoolean>;
243
+ lessonCount: z.ZodOptional<z.ZodNumber>;
244
+ lessons: z.ZodOptional<z.ZodArray<z.ZodObject<{
245
+ id: z.ZodString;
246
+ title: z.ZodString;
247
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
248
+ position: z.ZodOptional<z.ZodNumber>;
249
+ order: z.ZodOptional<z.ZodNumber>;
250
+ isLocked: z.ZodOptional<z.ZodBoolean>;
251
+ isPublished: z.ZodOptional<z.ZodBoolean>;
252
+ isCompleted: z.ZodOptional<z.ZodBoolean>;
253
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
254
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
255
+ contentType: z.ZodOptional<z.ZodString>;
256
+ }, z.core.$strip>>>;
257
+ }, z.core.$strip>>;
258
+ }, z.core.$strip>;
259
+ export type CourseStructure = z.infer<typeof CourseStructureSchema>;
260
+ /**
261
+ * Safely parses data with a Zod schema.
262
+ * Returns the parsed data or null if validation fails.
263
+ */
264
+ export declare function safeParse<T>(schema: z.ZodType<T>, data: unknown, context?: string): T | null;
265
+ export interface GraphQLQuery {
266
+ operationName?: string;
267
+ query: string;
268
+ variables?: Record<string, unknown>;
269
+ }
270
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/scraper/learningsuite/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;;;;;;iBAWpE,CAAC;AAML,eAAO,MAAM,YAAY;;;;;;;;;;iBAUvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,YAAY;;;;;;;;;iBASvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,YAAY;;;;;;;;;;;;iBAYvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,gBAAgB;;;;;;;;iBAQ3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB;;;;;;iBAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;iBAEtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAW5F;AAMD,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Zod schemas for LearningSuite API responses.
3
+ * LearningSuite uses a GraphQL API.
4
+ */
5
+ import { z } from "zod";
6
+ // ============================================================================
7
+ // Tenant Configuration
8
+ // ============================================================================
9
+ export const TenantConfigSchema = z.object({
10
+ id: z.string(),
11
+ name: z.string(),
12
+ subdomain: z.string(),
13
+ });
14
+ // ============================================================================
15
+ // Authentication Response
16
+ // ============================================================================
17
+ export const AuthResponseSchema = z.object({
18
+ accessToken: z.string(),
19
+ refreshToken: z.string().optional(),
20
+ expiresIn: z.number().optional(),
21
+ });
22
+ // ============================================================================
23
+ // GraphQL Response Wrapper
24
+ // ============================================================================
25
+ export const GraphQLResponseSchema = (dataSchema) => z.object({
26
+ data: dataSchema.nullable(),
27
+ errors: z
28
+ .array(z.object({
29
+ message: z.string(),
30
+ path: z.array(z.string()).optional(),
31
+ }))
32
+ .optional(),
33
+ });
34
+ // ============================================================================
35
+ // Course (Product) Schema
36
+ // ============================================================================
37
+ export const CourseSchema = z.object({
38
+ id: z.string(),
39
+ title: z.string(),
40
+ description: z.string().nullable().optional(),
41
+ thumbnailUrl: z.string().nullable().optional(),
42
+ imageUrl: z.string().nullable().optional(),
43
+ progress: z.number().nullable().optional(),
44
+ moduleCount: z.number().optional(),
45
+ lessonCount: z.number().optional(),
46
+ isPublished: z.boolean().optional(),
47
+ });
48
+ export const CoursesResponseSchema = z.object({
49
+ courses: z.array(CourseSchema).optional(),
50
+ products: z.array(CourseSchema).optional(),
51
+ });
52
+ // ============================================================================
53
+ // Module (Chapter/Section) Schema
54
+ // ============================================================================
55
+ export const ModuleSchema = z.object({
56
+ id: z.string(),
57
+ title: z.string(),
58
+ description: z.string().nullable().optional(),
59
+ position: z.number().optional(),
60
+ order: z.number().optional(),
61
+ isLocked: z.boolean().optional(),
62
+ isPublished: z.boolean().optional(),
63
+ lessonCount: z.number().optional(),
64
+ });
65
+ export const ModulesResponseSchema = z.object({
66
+ modules: z.array(ModuleSchema).optional(),
67
+ chapters: z.array(ModuleSchema).optional(),
68
+ sections: z.array(ModuleSchema).optional(),
69
+ });
70
+ // ============================================================================
71
+ // Lesson (Post) Schema
72
+ // ============================================================================
73
+ export const LessonSchema = z.object({
74
+ id: z.string(),
75
+ title: z.string(),
76
+ description: z.string().nullable().optional(),
77
+ position: z.number().optional(),
78
+ order: z.number().optional(),
79
+ isLocked: z.boolean().optional(),
80
+ isPublished: z.boolean().optional(),
81
+ isCompleted: z.boolean().optional(),
82
+ duration: z.number().nullable().optional(),
83
+ videoUrl: z.string().nullable().optional(),
84
+ contentType: z.string().optional(),
85
+ });
86
+ export const LessonsResponseSchema = z.object({
87
+ lessons: z.array(LessonSchema).optional(),
88
+ posts: z.array(LessonSchema).optional(),
89
+ });
90
+ // ============================================================================
91
+ // Lesson Content Schema
92
+ // ============================================================================
93
+ export const VideoAssetSchema = z.object({
94
+ id: z.string().optional(),
95
+ url: z.string().optional(),
96
+ hlsUrl: z.string().optional(),
97
+ thumbnailUrl: z.string().nullable().optional(),
98
+ duration: z.number().nullable().optional(),
99
+ provider: z.string().optional(),
100
+ type: z.string().optional(),
101
+ });
102
+ export const AttachmentSchema = z.object({
103
+ id: z.string(),
104
+ name: z.string(),
105
+ url: z.string(),
106
+ type: z.string().optional(),
107
+ size: z.number().optional(),
108
+ });
109
+ export const LessonContentSchema = z.object({
110
+ id: z.string(),
111
+ title: z.string(),
112
+ description: z.string().nullable().optional(),
113
+ htmlContent: z.string().nullable().optional(),
114
+ content: z.string().nullable().optional(),
115
+ video: VideoAssetSchema.nullable().optional(),
116
+ videoUrl: z.string().nullable().optional(),
117
+ attachments: z.array(AttachmentSchema).optional(),
118
+ materials: z.array(AttachmentSchema).optional(),
119
+ });
120
+ // ============================================================================
121
+ // Full Course Structure (for navigation)
122
+ // ============================================================================
123
+ export const CourseStructureModuleSchema = ModuleSchema.extend({
124
+ lessons: z.array(LessonSchema).optional(),
125
+ });
126
+ export const CourseStructureSchema = z.object({
127
+ course: CourseSchema,
128
+ modules: z.array(CourseStructureModuleSchema),
129
+ });
130
+ // ============================================================================
131
+ // Helper: Safe parse with logging
132
+ // ============================================================================
133
+ /**
134
+ * Safely parses data with a Zod schema.
135
+ * Returns the parsed data or null if validation fails.
136
+ */
137
+ export function safeParse(schema, data, context) {
138
+ const result = schema.safeParse(data);
139
+ if (result.success) {
140
+ return result.data;
141
+ }
142
+ if (context) {
143
+ console.warn(`[${context}] Validation failed:`, z.treeifyError(result.error));
144
+ }
145
+ return null;
146
+ }
147
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/scraper/learningsuite/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "offcourse",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Download online courses for offline access – of course!",
5
5
  "type": "module",
6
6
  "bin": {