#![deny(warnings)]
#![allow(non_camel_case_types)]
use serde::{Serialize, Deserialize};
pub mod ffi_3_14_0 {
pub const SQLITE_DELETE: i32 = 9;
pub const SQLITE_INSERT: i32 = 18;
pub const SQLITE_UPDATE: i32 = 23;
}
use ffi_3_14_0 as ffi;
#[derive(Serialize, Deserialize, Clone, Copy, Debug, Eq, PartialEq)]
#[repr(i32)]
#[non_exhaustive]
#[allow(clippy::upper_case_acronyms)]
pub enum Action {
UNKNOWN = -1,
SQLITE_DELETE = ffi::SQLITE_DELETE,
SQLITE_INSERT = ffi::SQLITE_INSERT,
SQLITE_UPDATE = ffi::SQLITE_UPDATE,
}
impl From<i32> for Action {
#[inline]
fn from(code: i32) -> Action {
match code {
ffi::SQLITE_DELETE => Action::SQLITE_DELETE,
ffi::SQLITE_INSERT => Action::SQLITE_INSERT,
ffi::SQLITE_UPDATE => Action::SQLITE_UPDATE,
_ => Action::UNKNOWN,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum Notification {
Update {
action: Action,
database: String,
table: String,
row_id: i64,
},
}