Skip to content

Forlos/vndb_rs

Repository files navigation

Vndb_rs

Bare-bones VNDB api

It is recommended to write higher level wrapper around this library rather than using it directly.

Usage

Requires Rust 1.42

[dependencies]
vndb_rs = "0.1"

Features

  • [X] All api actions
  • [ ] TLS support
  • [ ] Async

Examples

For now creating TCP stream is on user side. This is subject to change.

Login and get db stats

use std::net::TcpStream;
use vndb_rs::{
    API_URL,
    sync::client::Client,
};

let mut client = Client::new(TcpStream::connect(API_URL).unwrap());
let response = client.login();
println!("{:#?}", response);
let response = client.get_dbstats();
println!("{:#?}", response);

Login and get all info about vn with id 1

use std::net::TcpStream;
use vndb_rs::{
    API_URL,
    sync::client::Client,
    get::vn::VN_FLAGS,
};

let mut client = Client::new(TcpStream::connect(API_URL).unwrap());
let response = client.login();
println!("{:#?}", response);
let response = client.get_vn(&VN_FLAGS, "(id=1)".to_owned(), None);
println!("{:#?}", response);

Login using credentials and set vote to 8.5 for VN with id 17

use std::net::TcpStream;
use vndb_rs::{
    API_URL,
    sync::client::Client,
    common::set::ulist::UListFields,
};

let mut client = Client::new(TcpStream::connect(API_URL).unwrap());
let response = client.login_with_credentials("username", "password");
println!("{:#?}", response);
let response = client.set_ulist(
    "17".to_owned(),
    UListFields::new(None, None, None, Some(85), None),
);
println!("{:#?}", response);

References