@falkenslab/moodle-driver 0.5.0 → 0.6.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/areas/activities/build.d.ts +15 -5
- package/dist/areas/activities/build.js +33 -10
- package/dist/areas/activities/build.js.map +1 -1
- package/dist/areas/activities/content.d.ts +3 -1
- package/dist/areas/activities/content.js +9 -1
- package/dist/areas/activities/content.js.map +1 -1
- package/dist/areas/courses/list.d.ts +5 -3
- package/dist/areas/courses/list.js +9 -3
- package/dist/areas/courses/list.js.map +1 -1
- package/dist/areas/courses/structure.d.ts +5 -1
- package/dist/areas/courses/structure.js +3 -1
- package/dist/areas/courses/structure.js.map +1 -1
- package/dist/areas/forums/discussions.d.ts +16 -0
- package/dist/areas/forums/discussions.js +30 -3
- package/dist/areas/forums/discussions.js.map +1 -1
- package/dist/areas/forums/posts.d.ts +35 -4
- package/dist/areas/forums/posts.js +57 -9
- package/dist/areas/forums/posts.js.map +1 -1
- package/dist/areas/participants/methods.d.ts +9 -6
- package/dist/areas/participants/methods.js +91 -39
- package/dist/areas/participants/methods.js.map +1 -1
- package/dist/areas/quizzes/structure.d.ts +2 -2
- package/dist/areas/quizzes/structure.js.map +1 -1
- package/dist/categories.js +3 -0
- package/dist/categories.js.map +1 -1
- package/dist/cli/commands.generated.js +72 -9
- package/dist/cli/commands.generated.js.map +1 -1
- package/dist/client.d.ts +6 -179
- package/dist/client.js +4 -1
- package/dist/client.js.map +1 -1
- package/dist/core/embed.d.ts +19 -0
- package/dist/core/embed.js +88 -0
- package/dist/core/embed.js.map +1 -0
- package/dist/core/forms.d.ts +3 -1
- package/dist/core/forms.js +10 -3
- package/dist/core/forms.js.map +1 -1
- package/dist/core/text.d.ts +10 -0
- package/dist/core/text.js +19 -0
- package/dist/core/text.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +1 -1
- package/dist/internals.js.map +1 -1
- package/dist/moodle-methods.generated.d.ts +1159 -0
- package/dist/moodle-methods.generated.js +4 -0
- package/dist/moodle-methods.generated.js.map +1 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,188 +1,16 @@
|
|
|
1
1
|
import type { BrowserContext, Page } from "playwright-core";
|
|
2
2
|
import { type BrowserManager } from "./browser/manager.js";
|
|
3
3
|
import { type BrowserOptions, type Trail } from "./options.js";
|
|
4
|
-
import { activitySettings, addSection, createActivity, deleteActivity, deleteSection, duplicateActivity, editActivity, editSection, updateActivity } from "./areas/activities/build.js";
|
|
5
|
-
import { calendarEvent, createEvent, deleteEvent, updateEvent, upcomingEvents } from "./areas/calendar/calendar.js";
|
|
6
|
-
import { answerChoice, getChoice } from "./areas/surveys/choice.js";
|
|
7
|
-
import { activityReport, courseLogs, participationReport } from "./areas/reports/reports.js";
|
|
8
|
-
import { backupCourse, copyCourse, importActivities, restoreCourse } from "./areas/backup/backup.js";
|
|
9
|
-
import { completionReport, overrideCompletion, setCompletion } from "./areas/completion/completion.js";
|
|
10
4
|
import { type ActivityContent, type ContentType } from "./areas/activities/content.js";
|
|
11
|
-
import { listCourses, updateCourse } from "./areas/courses/list.js";
|
|
12
|
-
import { resetCourse } from "./areas/courses/reset.js";
|
|
13
5
|
import { type DownloadedFile } from "./core/files.js";
|
|
14
|
-
import { openForm } from "./core/forms.js";
|
|
15
|
-
import { deletePost, discussion, editPost, forumDiscussions, replyToPost, setDiscussionState, startDiscussion } from "./areas/forums/posts.js";
|
|
16
|
-
import { addGradeCategory, addGradeItem, deleteGradeCategory, deleteGradeItem, gradebookSetup, graderReport, updateGradeCategory, updateGradeItem } from "./areas/grades/gradebook.js";
|
|
17
|
-
import { setGrade } from "./areas/grades/singleview.js";
|
|
18
|
-
import { forumGrades, gradeForumUser } from "./areas/forums/grading.js";
|
|
19
|
-
import { rate } from "./areas/ratings/ratings.js";
|
|
20
|
-
import { assessWorkshopSubmission, setWorkshopPhase, workshopInfo } from "./areas/workshops/workshops.js";
|
|
21
6
|
import { type ExportGradesOptions } from "./areas/grades/export.js";
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { h5pActivity } from "./areas/h5p/h5p.js";
|
|
25
|
-
import { scorm, type OpenedScorm } from "./areas/scorm/scorm.js";
|
|
26
|
-
import { answerLessonPage, lessonPage, type LessonPage } from "./areas/lessons/lessons.js";
|
|
7
|
+
import { type OpenedScorm } from "./areas/scorm/scorm.js";
|
|
8
|
+
import { answerLessonPage, type LessonPage } from "./areas/lessons/lessons.js";
|
|
27
9
|
import { type LoginResult } from "./core/login.js";
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
|
|
32
|
-
import { createGroup, createGrouping, deleteGroup, deleteGrouping, groupings, setGroupMembers, setGroupingGroups, updateGroup } from "./areas/participants/groups.js";
|
|
33
|
-
import { enrolmentMethods, setEnrolmentMethod } from "./areas/participants/methods.js";
|
|
34
|
-
import { enrolUsers, potentialUsers, setUserRoles, unenrolUser } from "./areas/participants/enrolments.js";
|
|
35
|
-
import { answerQuizQuestions, finishQuizAttempt, quizInfo, readAttempt, readReview, setQuizOverride, startQuizAttempt, type Question } from "./areas/quizzes/attempts.js";
|
|
36
|
-
import { quizResults } from "./areas/quizzes/results.js";
|
|
37
|
-
import { gradeQuizQuestion, questionsToGrade } from "./areas/quizzes/grading.js";
|
|
38
|
-
import { addQuestionsToQuiz, addQuizSection, editQuizSlot, quizStructure, removeQuizSlot, setQuizPages } from "./areas/quizzes/structure.js";
|
|
39
|
-
import { logOut, openSitePage } from "./core/session.js";
|
|
40
|
-
import { courseActivityTypes, publicSiteInfo } from "./areas/site/info.js";
|
|
41
|
-
import { courseStructure, listAssignments, pendingActivities } from "./areas/courses/structure.js";
|
|
42
|
-
import { saveSubmission, studentAssignment, submitForGrading } from "./areas/assignments/student.js";
|
|
43
|
-
import { getSurvey, submitSurvey } from "./areas/surveys/surveys.js";
|
|
44
|
-
import { courseAbilities, courseRoles, siteName, userById, whoAmI } from "./areas/site/users.js";
|
|
45
|
-
/**
|
|
46
|
-
* The functions that take the browser context and the site first, of the high-level API: each becomes
|
|
47
|
-
* a method of the same name without those two parameters. The pieces they're built from (an
|
|
48
|
-
* assignment's ids, its grading panel, a quiz attempt's steps…) stay functions only; the ones that
|
|
49
|
-
* use the object's defaults (`trail`, `downloadDir`…) and `callService`, generic, are bound by hand.
|
|
50
|
-
*/
|
|
51
|
-
declare const SITE_FUNCTIONS: {
|
|
52
|
-
activitiesOverview: typeof activitiesOverview;
|
|
53
|
-
activityReport: typeof activityReport;
|
|
54
|
-
activitySettings: typeof activitySettings;
|
|
55
|
-
addGradeCategory: typeof addGradeCategory;
|
|
56
|
-
addGradeItem: typeof addGradeItem;
|
|
57
|
-
allocateMarker: typeof allocateMarker;
|
|
58
|
-
addQuestionsToQuiz: typeof addQuestionsToQuiz;
|
|
59
|
-
addQuizSection: typeof addQuizSection;
|
|
60
|
-
addSection: typeof addSection;
|
|
61
|
-
answerChoice: typeof answerChoice;
|
|
62
|
-
backupCourse: typeof backupCourse;
|
|
63
|
-
assignmentSubmissions: typeof assignmentSubmissions;
|
|
64
|
-
calendarEvent: typeof calendarEvent;
|
|
65
|
-
completionReport: typeof completionReport;
|
|
66
|
-
copyCourse: typeof copyCourse;
|
|
67
|
-
conversation: typeof conversation;
|
|
68
|
-
conversations: typeof conversations;
|
|
69
|
-
courseAbilities: typeof courseAbilities;
|
|
70
|
-
courseActivityTypes: typeof courseActivityTypes;
|
|
71
|
-
courseLogs: typeof courseLogs;
|
|
72
|
-
courseRoles: typeof courseRoles;
|
|
73
|
-
courseStructure: typeof courseStructure;
|
|
74
|
-
courseUpdates: typeof courseUpdates;
|
|
75
|
-
createActivity: typeof createActivity;
|
|
76
|
-
createEvent: typeof createEvent;
|
|
77
|
-
createQuestion: typeof createQuestion;
|
|
78
|
-
deadlines: typeof deadlines;
|
|
79
|
-
deleteActivity: typeof deleteActivity;
|
|
80
|
-
deleteEvent: typeof deleteEvent;
|
|
81
|
-
deleteQuestions: typeof deleteQuestions;
|
|
82
|
-
deleteGradeCategory: typeof deleteGradeCategory;
|
|
83
|
-
deleteGradeItem: typeof deleteGradeItem;
|
|
84
|
-
deletePost: typeof deletePost;
|
|
85
|
-
deleteSection: typeof deleteSection;
|
|
86
|
-
discussion: typeof discussion;
|
|
87
|
-
duplicateActivity: typeof duplicateActivity;
|
|
88
|
-
editActivity: typeof editActivity;
|
|
89
|
-
editQuizSlot: typeof editQuizSlot;
|
|
90
|
-
editPost: typeof editPost;
|
|
91
|
-
editSection: typeof editSection;
|
|
92
|
-
finishQuizAttempt: typeof finishQuizAttempt;
|
|
93
|
-
forumDiscussions: typeof forumDiscussions;
|
|
94
|
-
forumGrades: typeof forumGrades;
|
|
95
|
-
getChoice: typeof getChoice;
|
|
96
|
-
getSurvey: typeof getSurvey;
|
|
97
|
-
gradeQuizQuestion: typeof gradeQuizQuestion;
|
|
98
|
-
gradeForumUser: typeof gradeForumUser;
|
|
99
|
-
gradeSubmission: typeof gradeSubmission;
|
|
100
|
-
gradebookSetup: typeof gradebookSetup;
|
|
101
|
-
graderReport: typeof graderReport;
|
|
102
|
-
grantExtension: typeof grantExtension;
|
|
103
|
-
groups: typeof groups;
|
|
104
|
-
h5pActivity: typeof h5pActivity;
|
|
105
|
-
importActivities: typeof importActivities;
|
|
106
|
-
scorm: typeof scorm;
|
|
107
|
-
importQuestions: typeof importQuestions;
|
|
108
|
-
lessonPage: typeof lessonPage;
|
|
109
|
-
listAssignments: typeof listAssignments;
|
|
110
|
-
listCourses: typeof listCourses;
|
|
111
|
-
logOut: typeof logOut;
|
|
112
|
-
markNotificationsRead: typeof markNotificationsRead;
|
|
113
|
-
myGrades: typeof myGrades;
|
|
114
|
-
notifications: typeof notifications;
|
|
115
|
-
openForm: typeof openForm;
|
|
116
|
-
openSitePage: typeof openSitePage;
|
|
117
|
-
overrideCompletion: typeof overrideCompletion;
|
|
118
|
-
participantFilters: typeof participantFilters;
|
|
119
|
-
participants: typeof participants;
|
|
120
|
-
potentialUsers: typeof potentialUsers;
|
|
121
|
-
enrolUsers: typeof enrolUsers;
|
|
122
|
-
unenrolUser: typeof unenrolUser;
|
|
123
|
-
setUserRoles: typeof setUserRoles;
|
|
124
|
-
createGroup: typeof createGroup;
|
|
125
|
-
updateGroup: typeof updateGroup;
|
|
126
|
-
deleteGroup: typeof deleteGroup;
|
|
127
|
-
setGroupMembers: typeof setGroupMembers;
|
|
128
|
-
groupings: typeof groupings;
|
|
129
|
-
createGrouping: typeof createGrouping;
|
|
130
|
-
deleteGrouping: typeof deleteGrouping;
|
|
131
|
-
setGroupingGroups: typeof setGroupingGroups;
|
|
132
|
-
enrolmentMethods: typeof enrolmentMethods;
|
|
133
|
-
setEnrolmentMethod: typeof setEnrolmentMethod;
|
|
134
|
-
participationReport: typeof participationReport;
|
|
135
|
-
pendingActivities: typeof pendingActivities;
|
|
136
|
-
questionBanks: typeof questionBanks;
|
|
137
|
-
questions: typeof questions;
|
|
138
|
-
questionsToGrade: typeof questionsToGrade;
|
|
139
|
-
quizInfo: typeof quizInfo;
|
|
140
|
-
quizResults: typeof quizResults;
|
|
141
|
-
quizStructure: typeof quizStructure;
|
|
142
|
-
rate: typeof rate;
|
|
143
|
-
workshopInfo: typeof workshopInfo;
|
|
144
|
-
setWorkshopPhase: typeof setWorkshopPhase;
|
|
145
|
-
assessWorkshopSubmission: typeof assessWorkshopSubmission;
|
|
146
|
-
readAttempt: typeof readAttempt;
|
|
147
|
-
readReview: typeof readReview;
|
|
148
|
-
removeQuizSlot: typeof removeQuizSlot;
|
|
149
|
-
replyToPost: typeof replyToPost;
|
|
150
|
-
resetCourse: typeof resetCourse;
|
|
151
|
-
restoreCourse: typeof restoreCourse;
|
|
152
|
-
rubric: typeof rubric;
|
|
153
|
-
saveSubmission: typeof saveSubmission;
|
|
154
|
-
sendMessage: typeof sendMessage;
|
|
155
|
-
messageParticipants: typeof messageParticipants;
|
|
156
|
-
setCompletion: typeof setCompletion;
|
|
157
|
-
setDiscussionState: typeof setDiscussionState;
|
|
158
|
-
setGrade: typeof setGrade;
|
|
159
|
-
setQuizOverride: typeof setQuizOverride;
|
|
160
|
-
setQuizPages: typeof setQuizPages;
|
|
161
|
-
setQuestionStatus: typeof setQuestionStatus;
|
|
162
|
-
setWorkflowState: typeof setWorkflowState;
|
|
163
|
-
siteName: typeof siteName;
|
|
164
|
-
startDiscussion: typeof startDiscussion;
|
|
165
|
-
startQuizAttempt: typeof startQuizAttempt;
|
|
166
|
-
studentAssignment: typeof studentAssignment;
|
|
167
|
-
submitForGrading: typeof submitForGrading;
|
|
168
|
-
submitSurvey: typeof submitSurvey;
|
|
169
|
-
upcomingEvents: typeof upcomingEvents;
|
|
170
|
-
updateActivity: typeof updateActivity;
|
|
171
|
-
updateCourse: typeof updateCourse;
|
|
172
|
-
updateGradeCategory: typeof updateGradeCategory;
|
|
173
|
-
updateEvent: typeof updateEvent;
|
|
174
|
-
updateGradeItem: typeof updateGradeItem;
|
|
175
|
-
updateQuestion: typeof updateQuestion;
|
|
176
|
-
userById: typeof userById;
|
|
177
|
-
whoAmI: typeof whoAmI;
|
|
178
|
-
};
|
|
179
|
-
type SiteFunctions = typeof SITE_FUNCTIONS;
|
|
180
|
-
/** A function of `(context, siteUrl, ...rest)` as a method of `(...rest)`. */
|
|
181
|
-
type Bound<F> = F extends (context: BrowserContext, siteUrl: string, ...rest: infer A) => infer R ? (...rest: A) => R : never;
|
|
182
|
-
/** The methods bound from the site functions, each named and documented as its function. */
|
|
183
|
-
export type MoodleMethods = {
|
|
184
|
-
[K in keyof SiteFunctions]: Bound<SiteFunctions[K]>;
|
|
185
|
-
};
|
|
10
|
+
import { answerQuizQuestions, type Question } from "./areas/quizzes/attempts.js";
|
|
11
|
+
import { publicSiteInfo } from "./areas/site/info.js";
|
|
12
|
+
import type { MoodleMethods } from "./moodle-methods.generated.js";
|
|
13
|
+
export type { MoodleMethods };
|
|
186
14
|
/** The names of the methods a `Moodle` has from the driver's functions, one per function of that name. */
|
|
187
15
|
export declare const MOODLE_METHODS: readonly string[];
|
|
188
16
|
/** What the object does when a call doesn't say: every one can still be given per call. */
|
|
@@ -284,4 +112,3 @@ export type MoodleOptions = MoodleDefaults & (({
|
|
|
284
112
|
* ```
|
|
285
113
|
*/
|
|
286
114
|
export declare function createMoodle(options: MoodleOptions): Moodle;
|
|
287
|
-
export {};
|
package/dist/client.js
CHANGED
|
@@ -12,7 +12,7 @@ import { listCourses, updateCourse } from "./areas/courses/list.js";
|
|
|
12
12
|
import { resetCourse } from "./areas/courses/reset.js";
|
|
13
13
|
import { downloadFile } from "./core/files.js";
|
|
14
14
|
import { openForm } from "./core/forms.js";
|
|
15
|
-
import { deletePost, discussion, editPost, forumDiscussions, replyToPost, setDiscussionState, startDiscussion } from "./areas/forums/posts.js";
|
|
15
|
+
import { deletePost, discussion, editPost, forumDiscussions, replyToPost, setDiscussionState, setDiscussionSubscription, startDiscussion } from "./areas/forums/posts.js";
|
|
16
16
|
import { addGradeCategory, addGradeItem, deleteGradeCategory, deleteGradeItem, gradebookSetup, graderReport, updateGradeCategory, updateGradeItem } from "./areas/grades/gradebook.js";
|
|
17
17
|
import { setGrade } from "./areas/grades/singleview.js";
|
|
18
18
|
import { forumGrades, gradeForumUser } from "./areas/forums/grading.js";
|
|
@@ -156,6 +156,7 @@ const SITE_FUNCTIONS = {
|
|
|
156
156
|
messageParticipants,
|
|
157
157
|
setCompletion,
|
|
158
158
|
setDiscussionState,
|
|
159
|
+
setDiscussionSubscription,
|
|
159
160
|
setGrade,
|
|
160
161
|
setQuizOverride,
|
|
161
162
|
setQuizPages,
|
|
@@ -177,6 +178,8 @@ const SITE_FUNCTIONS = {
|
|
|
177
178
|
userById,
|
|
178
179
|
whoAmI,
|
|
179
180
|
};
|
|
181
|
+
const methodsMatch = true;
|
|
182
|
+
void methodsMatch;
|
|
180
183
|
// Functions bound by hand, with the object's defaults: methods of the same name all the same.
|
|
181
184
|
const DEFAULTED = ["activityContent", "answerQuizQuestions", "answerLessonPage", "downloadFile", "exportGrades"];
|
|
182
185
|
/** The names of the methods a `Moodle` has from the driver's functions, one per function of that name. */
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAmC,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxL,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,eAAe,EAA0C,MAAM,+BAA+B,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAuB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Page } from "playwright-core";
|
|
2
|
+
import { type FieldValue } from "./forms.js";
|
|
3
|
+
/** The local names (`shot.png`) the `src` and `href` attributes of `html` use. */
|
|
4
|
+
export declare function localNames(html: string): string[];
|
|
5
|
+
/** The HTML of the editors (`<editor>[text]`) among a form's values, for `checkEmbeds`. */
|
|
6
|
+
export declare function editorTexts(values: Record<string, FieldValue>): string[];
|
|
7
|
+
/**
|
|
8
|
+
* Checks files to embed against the HTML that uses them, before anything is sent: absolute local
|
|
9
|
+
* paths that exist, one per name, each used by a `src` or `href` of the texts (`<img src="shot.png">`),
|
|
10
|
+
* and every local name the texts use given as a file.
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkEmbeds(texts: (string | undefined)[], files: string[]): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Embeds `files` (checked with `checkEmbeds` first) in the rich texts among `values`, in the open
|
|
15
|
+
* form `page`: each file is uploaded to the draft area of every editor whose HTML names it, and the
|
|
16
|
+
* `src` and `href` naming it are rewritten to its draft URL, in `values` itself. Throws when an editor
|
|
17
|
+
* that uses a file has no draft area in the form (it takes no files).
|
|
18
|
+
*/
|
|
19
|
+
export declare function embedFiles(page: Page, values: Record<string, FieldValue>, files: string[]): Promise<void>;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Files embedded in rich text: what a person does inserting an image in Moodle's editor. Each
|
|
2
|
+
// editor (`<field>[text]`) has its own draft area (`<field>[itemid]`); the editor uploads the file
|
|
3
|
+
// there and writes its draft URL into the HTML, which Moodle turns into @@PLUGINFILE@@ on saving.
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { checkLocalFiles } from "./files.js";
|
|
6
|
+
import { formValue, uploadToDraft } from "./forms.js";
|
|
7
|
+
import { MoodleError } from "./errors.js";
|
|
8
|
+
import { decodeEntities } from "./text.js";
|
|
9
|
+
// A src or href attribute, quoted: its start, the quote and the value.
|
|
10
|
+
const ATTRIBUTE = /(\s(?:src|href)\s*=\s*)(["'])(.*?)\2/gis;
|
|
11
|
+
/** An attribute's value as a name: entities decoded, then the URL's escapes (`my%20shot.png`). */
|
|
12
|
+
function nameOf(value) {
|
|
13
|
+
const decoded = decodeEntities(value).trim();
|
|
14
|
+
try {
|
|
15
|
+
return decodeURIComponent(decoded);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return decoded;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** A reference to a file next to the text, not a URL: no scheme, not from the site's root, not an anchor, not a file Moodle already keeps. */
|
|
22
|
+
function isLocalName(name) {
|
|
23
|
+
return name !== "" && !/^[a-z][a-z0-9+.-]*:/i.test(name) && !/^[/#?]/.test(name) && !name.startsWith("@@PLUGINFILE@@");
|
|
24
|
+
}
|
|
25
|
+
/** The local names (`shot.png`) the `src` and `href` attributes of `html` use. */
|
|
26
|
+
export function localNames(html) {
|
|
27
|
+
return [...html.matchAll(ATTRIBUTE)].map((match) => nameOf(match[3])).filter(isLocalName);
|
|
28
|
+
}
|
|
29
|
+
/** The rich texts among a form's values: the `<editor>[text]` fields, by editor. */
|
|
30
|
+
function richTexts(values) {
|
|
31
|
+
const texts = new Map();
|
|
32
|
+
for (const [name, value] of Object.entries(values)) {
|
|
33
|
+
const editor = /^(.+)\[text\]$/.exec(name)?.[1];
|
|
34
|
+
if (editor && typeof value === "string")
|
|
35
|
+
texts.set(editor, value);
|
|
36
|
+
}
|
|
37
|
+
return texts;
|
|
38
|
+
}
|
|
39
|
+
/** The HTML of the editors (`<editor>[text]`) among a form's values, for `checkEmbeds`. */
|
|
40
|
+
export function editorTexts(values) {
|
|
41
|
+
return [...richTexts(values).values()];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Checks files to embed against the HTML that uses them, before anything is sent: absolute local
|
|
45
|
+
* paths that exist, one per name, each used by a `src` or `href` of the texts (`<img src="shot.png">`),
|
|
46
|
+
* and every local name the texts use given as a file.
|
|
47
|
+
*/
|
|
48
|
+
export async function checkEmbeds(texts, files) {
|
|
49
|
+
await checkLocalFiles(files);
|
|
50
|
+
const names = files.map((file) => path.basename(file));
|
|
51
|
+
const twice = names.filter((name, i) => names.indexOf(name) !== i);
|
|
52
|
+
if (twice.length > 0)
|
|
53
|
+
throw new MoodleError(`Two files to embed have the same name: ${[...new Set(twice)].join(", ")}. The HTML names each by its file name.`, "invalid-input");
|
|
54
|
+
const used = new Set(texts.flatMap((html) => (html === undefined ? [] : localNames(html))));
|
|
55
|
+
const unused = names.filter((name) => !used.has(name));
|
|
56
|
+
if (unused.length > 0)
|
|
57
|
+
throw new MoodleError(`No text uses ${unused.map((name) => `"${name}"`).join(", ")}: name each file to embed in a src or href (<img src="${unused[0]}">).`, "invalid-input");
|
|
58
|
+
const missing = [...used].filter((name) => !names.includes(name));
|
|
59
|
+
if (missing.length > 0)
|
|
60
|
+
throw new MoodleError(`The text uses ${missing.map((name) => `"${name}"`).join(", ")}, but no file of that name is given to embed. Give its local path in embed, or a full URL.`, "invalid-input");
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Embeds `files` (checked with `checkEmbeds` first) in the rich texts among `values`, in the open
|
|
64
|
+
* form `page`: each file is uploaded to the draft area of every editor whose HTML names it, and the
|
|
65
|
+
* `src` and `href` naming it are rewritten to its draft URL, in `values` itself. Throws when an editor
|
|
66
|
+
* that uses a file has no draft area in the form (it takes no files).
|
|
67
|
+
*/
|
|
68
|
+
export async function embedFiles(page, values, files) {
|
|
69
|
+
if (files.length === 0)
|
|
70
|
+
return;
|
|
71
|
+
const byName = new Map(files.map((file) => [path.basename(file), file]));
|
|
72
|
+
for (const [editor, html] of richTexts(values)) {
|
|
73
|
+
const names = [...new Set(localNames(html))].filter((name) => byName.has(name));
|
|
74
|
+
if (names.length === 0)
|
|
75
|
+
continue;
|
|
76
|
+
const draft = await formValue(page, `${editor}[itemid]`);
|
|
77
|
+
if (!draft)
|
|
78
|
+
throw new MoodleError(`The form's ${editor} editor takes no files, so nothing can be embedded in it.`, "not-available");
|
|
79
|
+
// Overwritten: a file of the same name the text had before is replaced, and its URL stays.
|
|
80
|
+
const urls = await uploadToDraft(page, draft, names.map((name) => byName.get(name)), { overwrite: true });
|
|
81
|
+
const urlOf = new Map(names.map((name, i) => [name, urls[i]]));
|
|
82
|
+
values[`${editor}[text]`] = html.replace(ATTRIBUTE, (whole, start, quote, value) => {
|
|
83
|
+
const url = urlOf.get(nameOf(value));
|
|
84
|
+
return url ? `${start}${quote}${url}${quote}` : whole;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=embed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/core/embed.ts"],"names":[],"mappings":"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"}
|
package/dist/core/forms.d.ts
CHANGED
|
@@ -47,10 +47,12 @@ export declare function deleteDraftFile(page: Page, draftItemId: string, name: s
|
|
|
47
47
|
* upload repository's id comes from the page's file picker settings, the context from `M.cfg`.
|
|
48
48
|
* A `DraftUpload` names the file in the area, in a subfolder when its `to` has one (created first).
|
|
49
49
|
* With `overwrite`, a file of the same name is replaced; without it, Moodle keeps both, renaming the new one.
|
|
50
|
+
* Returns each file's draft URL (`draftfile.php/<user context>/user/draft/<item>/<name>`), in order:
|
|
51
|
+
* what an editor writes into its HTML for a file in its draft area.
|
|
50
52
|
*/
|
|
51
53
|
export declare function uploadToDraft(page: Page, draftItemId: string, filePaths: (string | DraftUpload)[], { overwrite }?: {
|
|
52
54
|
overwrite?: boolean;
|
|
53
|
-
}): Promise<
|
|
55
|
+
}): Promise<string[]>;
|
|
54
56
|
/**
|
|
55
57
|
* Removes files by their path in a form's draft area (`"notes.pdf"`, `"week1/notes.pdf"`), as the
|
|
56
58
|
* file manager's delete does; the files the area had stay until the form is saved. Throws `FormError`
|
package/dist/core/forms.js
CHANGED
|
@@ -181,6 +181,8 @@ export async function deleteDraftFile(page, draftItemId, name) {
|
|
|
181
181
|
* upload repository's id comes from the page's file picker settings, the context from `M.cfg`.
|
|
182
182
|
* A `DraftUpload` names the file in the area, in a subfolder when its `to` has one (created first).
|
|
183
183
|
* With `overwrite`, a file of the same name is replaced; without it, Moodle keeps both, renaming the new one.
|
|
184
|
+
* Returns each file's draft URL (`draftfile.php/<user context>/user/draft/<item>/<name>`), in order:
|
|
185
|
+
* what an editor writes into its HTML for a file in its draft area.
|
|
184
186
|
*/
|
|
185
187
|
export async function uploadToDraft(page, draftItemId, filePaths, { overwrite = false } = {}) {
|
|
186
188
|
const files = await Promise.all(filePaths.map(async (file) => {
|
|
@@ -195,12 +197,13 @@ export async function uploadToDraft(page, draftItemId, filePaths, { overwrite =
|
|
|
195
197
|
await draftAction(page, "mkdir", { itemid: draftItemId, filepath: draftPath(parts.slice(0, i).join("/")), newdirname: parts[i] });
|
|
196
198
|
}
|
|
197
199
|
}
|
|
198
|
-
const errors = await page.evaluate(async ({ draftItemId, files, overwrite }) => {
|
|
200
|
+
const { errors, urls } = await page.evaluate(async ({ draftItemId, files, overwrite }) => {
|
|
199
201
|
const g = globalThis;
|
|
200
202
|
const repo = /"id":"(\d+)","name":"(?:[^"\\]|\\.)*","type":"upload"/.exec(g.document.documentElement.innerHTML)?.[1];
|
|
201
203
|
if (!repo)
|
|
202
|
-
return ["the site has no upload repository enabled"];
|
|
204
|
+
return { errors: ["the site has no upload repository enabled"], urls: [] };
|
|
203
205
|
const failed = [];
|
|
206
|
+
const urls = [];
|
|
204
207
|
for (const file of files) {
|
|
205
208
|
const body = new g.FormData();
|
|
206
209
|
body.append("repo_upload_file", new g.Blob([Uint8Array.from(g.atob(file.base64), (c) => c.charCodeAt(0))]), file.name);
|
|
@@ -212,11 +215,15 @@ export async function uploadToDraft(page, draftItemId, filePaths, { overwrite =
|
|
|
212
215
|
const answer = await response.json().catch(() => ({ error: "the answer isn't JSON" }));
|
|
213
216
|
if (answer.error)
|
|
214
217
|
failed.push(`${file.name}: ${answer.error}`);
|
|
218
|
+
// A name already there, not overwritten, comes back as a "fileexists" event with the new file's name.
|
|
219
|
+
else
|
|
220
|
+
urls.push(answer.url ?? answer.newfile?.url ?? "");
|
|
215
221
|
}
|
|
216
|
-
return failed;
|
|
222
|
+
return { errors: failed, urls };
|
|
217
223
|
}, { draftItemId, files, overwrite });
|
|
218
224
|
if (errors.length > 0)
|
|
219
225
|
throw new FormError("Uploading failed:", errors.map((message) => ({ field: "files", message })));
|
|
226
|
+
return urls;
|
|
220
227
|
}
|
|
221
228
|
/**
|
|
222
229
|
* Removes files by their path in a form's draft area (`"notes.pdf"`, `"week1/notes.pdf"`), as the
|
package/dist/core/forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/core/forms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/core/forms.ts"],"names":[],"mappings":"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"}
|
package/dist/core/text.d.ts
CHANGED
|
@@ -7,6 +7,16 @@ export declare function decodeEntities(text: string): string;
|
|
|
7
7
|
* (see the conventions on page.evaluate).
|
|
8
8
|
*/
|
|
9
9
|
export declare function readTexts(page: Page, selector: string): Promise<string[]>;
|
|
10
|
+
/** An image in a text (`<img>`): its URL, absolute, and its alternative text when it has one. */
|
|
11
|
+
export interface ImageItem {
|
|
12
|
+
url: string;
|
|
13
|
+
alt?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The images (`<img>`) in each element matching `selector`, one list per element, each URL once;
|
|
17
|
+
* `data:` URLs are left out. An image of the site downloads with the session (`downloadFile`).
|
|
18
|
+
*/
|
|
19
|
+
export declare function readImages(page: Page, selector: string): Promise<ImageItem[][]>;
|
|
10
20
|
/** A video, audio or player found in a page's content. */
|
|
11
21
|
export interface MediaItem {
|
|
12
22
|
kind: "video" | "audio" | "youtube" | "vimeo" | "embed";
|
package/dist/core/text.js
CHANGED
|
@@ -50,6 +50,25 @@ export function readTexts(page, selector) {
|
|
|
50
50
|
});
|
|
51
51
|
}, selector);
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* The images (`<img>`) in each element matching `selector`, one list per element, each URL once;
|
|
55
|
+
* `data:` URLs are left out. An image of the site downloads with the session (`downloadFile`).
|
|
56
|
+
*/
|
|
57
|
+
export function readImages(page, selector) {
|
|
58
|
+
return page.evaluate((selector) => {
|
|
59
|
+
const roots = Array.from(globalThis.document.querySelectorAll(selector));
|
|
60
|
+
return roots.map((root) => {
|
|
61
|
+
const found = new Map();
|
|
62
|
+
for (const img of Array.from(root.querySelectorAll("img[src]"))) {
|
|
63
|
+
const url = img.src;
|
|
64
|
+
const alt = img.getAttribute("alt")?.trim();
|
|
65
|
+
if (url && !url.startsWith("data:") && !found.has(url))
|
|
66
|
+
found.set(url, alt ? { url, alt } : { url });
|
|
67
|
+
}
|
|
68
|
+
return Array.from(found.values());
|
|
69
|
+
});
|
|
70
|
+
}, selector);
|
|
71
|
+
}
|
|
53
72
|
/**
|
|
54
73
|
* The media in the elements matching `selector`: `<video>`/`<audio>` and their sources, players in
|
|
55
74
|
* iframes, video.js's `data-setup` sources (Moodle's media filter turns a YouTube link into one), and
|
package/dist/core/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/core/text.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/core/text.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export { MoodleServiceError } from "./core/ajax.js";
|
|
|
22
22
|
export { FormError, type FieldValue, type DraftUpload, type DraftFile } from "./core/forms.js";
|
|
23
23
|
export { findMoodleSite } from "./core/site.js";
|
|
24
24
|
export { checkLocalFiles, downloadFile, type DownloadedFile } from "./core/files.js";
|
|
25
|
-
export type { MediaItem } from "./core/text.js";
|
|
25
|
+
export type { MediaItem, ImageItem } from "./core/text.js";
|
|
26
26
|
export { publicSiteInfo, courseActivityTypes } from "./areas/site/info.js";
|
|
27
27
|
export { userById, siteName, courseRoles, courseAbilities, whoAmI, type User, type Me } from "./areas/site/users.js";
|
|
28
28
|
export { listCourses, updateCourse, COURSE_CLASSIFICATIONS, CourseError, type CourseClassification, type Course } from "./areas/courses/list.js";
|
|
@@ -39,13 +39,13 @@ export { studentAssignment, saveSubmission, submitForGrading, SubmissionError, t
|
|
|
39
39
|
export { quizInfo, startQuizAttempt, readAttempt, answerQuizQuestions, finishQuizAttempt, readReview, setQuizOverride, QuizError, type Detail, type QuizInfo, type QuestionField, type Question, } from "./areas/quizzes/attempts.js";
|
|
40
40
|
export { quizResults, type QuizAttemptResult } from "./areas/quizzes/results.js";
|
|
41
41
|
export { questionsToGrade, gradeQuizQuestion, type QuestionToGrade } from "./areas/quizzes/grading.js";
|
|
42
|
-
export { quizStructure, addQuestionsToQuiz, editQuizSlot, removeQuizSlot, setQuizPages, addQuizSection, type QuizSlot, type QuizSection } from "./areas/quizzes/structure.js";
|
|
42
|
+
export { quizStructure, addQuestionsToQuiz, editQuizSlot, removeQuizSlot, setQuizPages, addQuizSection, type QuizSlot, type QuizSection, type QuizChange } from "./areas/quizzes/structure.js";
|
|
43
43
|
export { questionBanks, questions, importQuestions, createQuestion, updateQuestion, deleteQuestions, setQuestionStatus, QUESTION_TYPES, QuestionBankError, type QuestionBank, type BankQuestion, type BankCategory, type QuestionType, type QuestionInput, } from "./areas/questions/banks.js";
|
|
44
44
|
export { forumGrades, gradeForumUser, type ForumGrade, type ForumGrades } from "./areas/forums/grading.js";
|
|
45
45
|
export { rate, type RateableItem } from "./areas/ratings/ratings.js";
|
|
46
46
|
export { workshopInfo, setWorkshopPhase, assessWorkshopSubmission, WorkshopError, WORKSHOP_PHASES, type WorkshopPhase, type WorkshopInfo, type WorkshopSubmission, type WorkshopAssessment, type WorkshopCriterion } from "./areas/workshops/workshops.js";
|
|
47
47
|
export { NotAForumError, ForumError } from "./areas/forums/discussions.js";
|
|
48
|
-
export { forumDiscussions, discussion, replyToPost, startDiscussion, setDiscussionState, editPost, deletePost, type ForumDiscussion, type ForumPost, type PostInput, type PostChanges } from "./areas/forums/posts.js";
|
|
48
|
+
export { forumDiscussions, discussion, replyToPost, startDiscussion, setDiscussionState, setDiscussionSubscription, editPost, deletePost, type ForumDiscussion, type ForumPost, type PostInput, type PostChanges } from "./areas/forums/posts.js";
|
|
49
49
|
export { getSurvey, submitSurvey, SurveyError, type SurveyType, type SurveyField, type SurveyQuestion } from "./areas/surveys/surveys.js";
|
|
50
50
|
export { getChoice, answerChoice, ChoiceError, type Choice } from "./areas/surveys/choice.js";
|
|
51
51
|
export { lessonPage, answerLessonPage, LessonError, type LessonField, type LessonPage } from "./areas/lessons/lessons.js";
|