aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bg/js/ankiweb.js21
1 files changed, 20 insertions, 1 deletions
diff --git a/ext/bg/js/ankiweb.js b/ext/bg/js/ankiweb.js
index 17b5525e..35f4858e 100644
--- a/ext/bg/js/ankiweb.js
+++ b/ext/bg/js/ankiweb.js
@@ -24,7 +24,26 @@ class AnkiWeb {
}
addNote(note) {
- return Promise.resolve(true);
+ return this.retrieve().then(info => {
+ const model = info.models.find(m => m.name === note.modelName);
+ if (!model) {
+ return Promise.reject('invalid model');
+ }
+
+ const fields = [];
+ for (const field of model.fields) {
+ fields.push(note.fields[field]);
+ }
+
+ const form = new FormData();
+ form.append('data', [fields, note.tags.join(' ')]);
+ form.append('mid', model.id);
+ form.append('deck', note.deckname);
+
+ return AnkiWeb.loadAccountPage('https://ankiweb.net/edit/save', 'POST', form, this.username, this.password);
+ }).then(response => {
+ return true;
+ });
}
canAddNotes(notes) {