detalib 0.1.0

A Rust client for Deta Base
Documentation
# deta.rs
Rust bindings for the Deta **Base** and **Drive** [HTTP API](https://deta.space/docs/en/build/reference/http-api#content)

## Usage

`Cargo.toml`

```toml
[dependencies]
detalib = "0.1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
```

## Quickstart

```rust
use serde;
use detalib::Deta;

#[derive(serde::Serialize, serde::Deserialize)]
struct User {
    key: String,
    name: String,
    age: u8,
}

fn main() {
    let deta = Deta::new("project_key");
    let base = deta.base("base_name");
    let drive = deta.drive("drive_name");
    
    let user = User {
        key: "user_1".to_string(),
        name: "John".to_string(),
        age: 20,
    };
    
    // BASE OPERATIONS
    
    // Insert a single item
    _ = base.insert(&user).unwrap();
    
    // Get a single item
    let user = base.get("user_1").unwrap();
    
    // Get in deserialize format
    let user_d = base.get_as::<User>("user_1").unwrap();
    println!("{:?}", user_d);
    
    // ... 
    
    // DRIVE OPERATIONS
    
    // Put a single file
    _ = drive.put("hello.txt", "Hello World".as_bytes(), Some("text/plain")).unwrap();
    _ = drive.delete(vec!["hello.txt"]).unwrap();
    
    // ... 
    
}


```

## Base
Methods
- [x] `put` (batch max 25)
- [X] `get` (single)
- [X] `insert` (single)
- [X] `delete` (single)
- [X] `update` (with upsert)
- [X] `fetch` (with pagination)
  
  
## Drive
Methods
- [X] `put` (single)
- [X] `get` (single)
- [X] `delete` (single)
- [X] `list` (with pagination