pub struct VersioningPlugin { /* private fields */ }Expand description
Versioning plugin. Keeps a history of all row changes for undo/audit.
Implementations§
Source§impl VersioningPlugin
impl VersioningPlugin
pub fn new(max_versions: usize) -> Self
Sourcepub fn get_history(&self, entity: &str, row_id: &str) -> Vec<RowVersion>
pub fn get_history(&self, entity: &str, row_id: &str) -> Vec<RowVersion>
Get version history for a row.
Sourcepub fn get_version(
&self,
entity: &str,
row_id: &str,
version: u64,
) -> Option<RowVersion>
pub fn get_version( &self, entity: &str, row_id: &str, version: u64, ) -> Option<RowVersion>
Get a specific version of a row.
Sourcepub fn latest_version(&self, entity: &str, row_id: &str) -> u64
pub fn latest_version(&self, entity: &str, row_id: &str) -> u64
Get the latest version number for a row.
Trait Implementations§
Source§impl Plugin for VersioningPlugin
impl Plugin for VersioningPlugin
Source§fn after_insert(&self, entity: &str, id: &str, data: &Value, auth: &AuthContext)
fn after_insert(&self, entity: &str, id: &str, data: &Value, auth: &AuthContext)
Called after a successful insert.
Source§fn after_update(&self, entity: &str, id: &str, data: &Value, auth: &AuthContext)
fn after_update(&self, entity: &str, id: &str, data: &Value, auth: &AuthContext)
Called after a successful update.
Source§fn on_init(&self, _ctx: &PluginContext)
fn on_init(&self, _ctx: &PluginContext)
Called once when the plugin is registered.
Source§fn routes(&self) -> Vec<PluginRoute>
fn routes(&self) -> Vec<PluginRoute>
Custom API routes this plugin handles.
Source§fn before_insert(
&self,
_entity: &str,
_data: &mut Value,
_auth: &AuthContext,
) -> Result<(), PluginError>
fn before_insert( &self, _entity: &str, _data: &mut Value, _auth: &AuthContext, ) -> Result<(), PluginError>
Called before an entity insert. Return Err to reject.
Source§fn before_update(
&self,
_entity: &str,
_id: &str,
_data: &mut Value,
_auth: &AuthContext,
) -> Result<(), PluginError>
fn before_update( &self, _entity: &str, _id: &str, _data: &mut Value, _auth: &AuthContext, ) -> Result<(), PluginError>
Called before an entity update. Return Err to reject.
Source§fn before_delete(
&self,
_entity: &str,
_id: &str,
_auth: &AuthContext,
) -> Result<(), PluginError>
fn before_delete( &self, _entity: &str, _id: &str, _auth: &AuthContext, ) -> Result<(), PluginError>
Called before an entity delete. Return Err to reject.
Source§fn after_delete(&self, _entity: &str, _id: &str, _auth: &AuthContext)
fn after_delete(&self, _entity: &str, _id: &str, _auth: &AuthContext)
Called after a successful delete.
Source§fn on_request(
&self,
_method: &str,
_path: &str,
_auth: &AuthContext,
) -> Result<(), PluginError>
fn on_request( &self, _method: &str, _path: &str, _auth: &AuthContext, ) -> Result<(), PluginError>
Called on every incoming request (middleware).
Source§fn on_request_with_meta(
&self,
method: &str,
path: &str,
auth: &AuthContext,
_meta: &RequestMeta<'_>,
) -> Result<(), PluginError>
fn on_request_with_meta( &self, method: &str, path: &str, auth: &AuthContext, _meta: &RequestMeta<'_>, ) -> Result<(), PluginError>
Richer variant of [
on_request] that also receives per-request
metadata (peer IP today; more fields may be added later). The
default implementation delegates to on_request so existing
plugins keep working without changes. Plugins that care about
IP — notably rate limiting — override this hook.Source§fn on_session_create(&self, _user_id: &str, _token: &str)
fn on_session_create(&self, _user_id: &str, _token: &str)
Called when a new session is created.
Source§fn entities(&self) -> Vec<ManifestEntity>
fn entities(&self) -> Vec<ManifestEntity>
Additional manifest entities this plugin contributes.
Auto Trait Implementations§
impl !Freeze for VersioningPlugin
impl RefUnwindSafe for VersioningPlugin
impl Send for VersioningPlugin
impl Sync for VersioningPlugin
impl Unpin for VersioningPlugin
impl UnsafeUnpin for VersioningPlugin
impl UnwindSafe for VersioningPlugin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more