Skip to content

Commit

Permalink
Develop examples
Browse files Browse the repository at this point in the history
  • Loading branch information
jemsurfer committed Feb 3, 2024
1 parent 73dfbbb commit 16c0d4e
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 8 deletions.
10 changes: 7 additions & 3 deletions examples/create_lesson.rs
Expand Up @@ -10,11 +10,15 @@ use wanisabi_model::subject::{Meaning, Subject::*};
#[tokio::main]
async fn main() -> Result<(), wanisabi::Error> {
let client = WanikaniClient::default();
let first_lesson_assignment = client
let lesson_assignments = client
.get_assignments_filtered(vec![AssignmentsFilter::ImmediatelyAvailableForLessons])
.await?
.data[0]
.clone();
.data;
if lesson_assignments.len() == 0 {
println!("No lessons available");
return Ok(());
}
let first_lesson_assignment = lesson_assignments[0].clone();
let lesson_subj = client
.get_subject(first_lesson_assignment.data.subject_id)
.await?
Expand Down
10 changes: 7 additions & 3 deletions examples/create_review.rs
Expand Up @@ -9,11 +9,15 @@ use wanisabi_model::subject::{Meaning, Subject::*};
#[tokio::main]
async fn main() -> Result<(), wanisabi::Error> {
let client = WanikaniClient::default();
let first_review_assignment = client
let reviews_assignments = client
.get_assignments_filtered(vec![AssignmentsFilter::ImmediatelyAvailableForReview])
.await?
.data[0]
.clone();
.data;
if reviews_assignments.len() == 0 {
println!("No reviews available");
return Ok(());
}
let first_review_assignment = reviews_assignments[0].clone();
let first_available_review = client
.get_subject(first_review_assignment.data.subject_id)
.await?
Expand Down
30 changes: 30 additions & 0 deletions examples/create_study_material.rs
@@ -0,0 +1,30 @@
use text_io::read;
use wanisabi::{wanikani_client::WanikaniClient, wrapper::study_materials::StudyMaterialCreate};
use wanisabi_model::subject::Subject::*;
#[tokio::main]
async fn main() -> Result<(), wanisabi::Error> {
println!("Enter a subject ID you wish to add a note to.");
let client = WanikaniClient::default();
let id: i64 = read!();
let s = client.get_subject(id).await?.data;
let (meaning_note, meaning_synonyms, reading_note) = match s {
Radical(r) => {
println!("Please enter a meaning note for {r:?}");
let meaning_note: String = read!();
let mut synonyms = vec![];
loop {
println!("Enter a synonym or type /stop to stop");
let inp: String = read!();
if inp == "/stop" {
break;
}
synonyms.push(inp);
}
(meaning_note, synonyms, "".to_owned())
}
KanaVocabulary(k) => {
println!("Please enter a ")
}
};
Ok(())
}
1 change: 0 additions & 1 deletion examples/level_progressions.rs
Expand Up @@ -9,7 +9,6 @@ use wanisabi_model::level_progression::LevelProgression;
async fn main() -> Result<(), wanisabi::Error> {
let client = WanikaniClient::default();
let params = vec![LevelProgressionFilter::Ids(vec![1, 2])];

let lps: CollectionResponse<ResourceResponse<LevelProgression>> =
client.get_level_progressions_filtered(params).await?;
let d = lps.data;
Expand Down
2 changes: 1 addition & 1 deletion src/wrapper/study_materials.rs
Expand Up @@ -21,7 +21,7 @@ pub enum StudyMaterialFilter {

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct StudyMaterialCreate {
pub subjet_id: i64,
pub subject_id: i64,
pub meaning_note: Option<String>,
pub reading_note: Option<String>,
pub meaning_synonyms: Option<Vec<String>>,
Expand Down

0 comments on commit 16c0d4e

Please sign in to comment.