nullnet-wallguard-server 0.2.3

A centralized management system for network firewalls
Documentation
use crate::{datastore::DatastoreWrapper, parser::parsed_message::ParsedMessage};
use nullnet_libdatastore::{
    BatchCreateBody, BatchCreateRequest, CreateParams, Query, ResponseData,
};
use nullnet_liberror::{location, Error, ErrorHandler, Location};

impl DatastoreWrapper {
    pub async fn packets_insert(
        &self,
        token: &str,
        parsed_message: ParsedMessage,
    ) -> Result<ResponseData, Error> {
        let records = serde_json::to_string(&parsed_message).handle_err(location!())?;

        let request = BatchCreateRequest {
            params: Some(CreateParams {
                table: String::from("packets"),
            }),
            query: Some(Query {
                pluck: String::new(),
                durability: String::from("soft"),
            }),
            body: Some(BatchCreateBody {
                records,
                entity_prefix: String::from("PK"),
            }),
        };

        let response = self.inner.clone().batch_create(request, token).await?;

        Ok(response)
    }
}