mintdb 0.1.0-beta.3

MintDB is an open source document based database built in Rust.
Documentation
use std::io::BufRead;
use crate::prelude::*;

const PATH: &str = "mint.db/log/log.bin";
pub async fn fetch_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        res.push(line);
    }
    Ok(res)
}

pub async fn fetch_merge_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        if line.contains("MERGE") {
            res.push(line);
        }
    }
    Ok(res)
}

pub async fn fetch_create_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        if line.contains("CREATE") {
            res.push(line);
        }
    }
    Ok(res)
}

pub async fn fetch_read_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        if line.contains("SELECT") {
            res.push(line);
        }
    }
    Ok(res)
}
pub async fn fetch_delete_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        if line.contains("DELETE") {
            res.push(line);
        }
    }
    Ok(res)
}
pub async fn fetch_event_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        if line.contains("EVENT") {
            res.push(line);
        }
    }
    Ok(res)
}

pub async fn fetch_warning_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        if line.contains("WARNING") {
            res.push(line);
        }
    }
    Ok(res)
}

pub async fn fetch_error_logs() -> Result<Vec<String>> {
    let file = std::fs::File::open(PATH)?;
    let reader = std::io::BufReader::new(file);
    let mut res = vec![];

    for line in reader.lines() {
        let line = line.expect("failed to read");
        if line.contains("ERROR") {
            res.push(line);
        }
    }
    Ok(res)
}