Skip to main content

PocketBaseStorage

Struct PocketBaseStorage 

Source
pub struct PocketBaseStorage { /* private fields */ }
Expand description

PocketBase storage backend. Talks to the PocketBase REST API over curl (matching the rest of PloitMalper’s lightweight HTTP transport) and uses pbctl for declarative schema management when available.

Implementations§

Source§

impl PocketBaseStorage

Source

pub fn new(config: &DatabaseConfig) -> Result<Self>

Source

pub fn token(&self) -> String

Current auth token, if a login has been performed.

Source

pub fn login(&mut self) -> Result<String>

Authenticate with the configured superuser credentials and cache a fresh token. Returns the token.

Source

pub fn list_collection_names(&mut self) -> Result<Vec<String>>

Trait Implementations§

Source§

impl Storage for PocketBaseStorage

Source§

fn kind(&self) -> &str

Source§

fn ping(&mut self) -> Result<bool>

Verify connectivity (PocketBase health / SQLite open + query).
Source§

fn ensure_schema(&mut self) -> Result<()>

Create all required collections/tables if they do not exist.
Source§

fn upsert_scan_run(&mut self, run: &ScanRun) -> Result<()>

Source§

fn get_scan_run(&mut self, run_id: &str) -> Result<Option<ScanRun>>

Source§

fn list_scan_runs(&mut self) -> Result<Vec<ScanRun>>

Source§

fn upsert_asset(&mut self, asset: &Asset) -> Result<()>

Source§

fn get_asset(&mut self, asset_id: &str) -> Result<Option<Asset>>

Source§

fn list_assets(&mut self) -> Result<Vec<Asset>>

Source§

fn upsert_service(&mut self, service: &Service) -> Result<()>

Source§

fn get_service(&mut self, service_id: &str) -> Result<Option<Service>>

Source§

fn list_services_for_asset(&mut self, asset_id: &str) -> Result<Vec<Service>>

Source§

fn list_all_services(&mut self) -> Result<Vec<Service>>

Source§

fn upsert_finding(&mut self, finding: &Finding) -> Result<()>

Source§

fn get_finding(&mut self, finding_id: &str) -> Result<Option<Finding>>

Source§

fn list_findings_for_asset(&mut self, asset_id: &str) -> Result<Vec<Finding>>

Source§

fn list_all_findings(&mut self) -> Result<Vec<Finding>>

Source§

fn add_observation(&mut self, observation: &Observation) -> Result<()>

Source§

fn get_observation(&mut self, obs_id: &str) -> Result<Option<Observation>>

Source§

fn list_observations_for( &mut self, subject_type: &str, subject_id: &str, ) -> Result<Vec<Observation>>

Source§

fn list_all_observations(&mut self) -> Result<Vec<Observation>>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.