pub struct SqliteCustomerRepository { /* private fields */ }Available on crate feature
sqlite only.Expand description
SQLite implementation of CustomerRepository
Implementations§
Source§impl SqliteCustomerRepository
impl SqliteCustomerRepository
pub const fn new(pool: Pool<SqliteConnectionManager>) -> Self
Trait Implementations§
Source§impl CustomerRepository for SqliteCustomerRepository
impl CustomerRepository for SqliteCustomerRepository
Source§fn update(&self, id: CustomerId, input: UpdateCustomer) -> Result<Customer>
fn update(&self, id: CustomerId, input: UpdateCustomer) -> Result<Customer>
Update a customer
Source§fn add_address(&self, input: CreateCustomerAddress) -> Result<CustomerAddress>
fn add_address(&self, input: CreateCustomerAddress) -> Result<CustomerAddress>
Add address for customer
Source§fn get_addresses(&self, customer_id: CustomerId) -> Result<Vec<CustomerAddress>>
fn get_addresses(&self, customer_id: CustomerId) -> Result<Vec<CustomerAddress>>
Get customer addresses
Source§fn update_address(
&self,
address_id: Uuid,
input: CreateCustomerAddress,
) -> Result<CustomerAddress>
fn update_address( &self, address_id: Uuid, input: CreateCustomerAddress, ) -> Result<CustomerAddress>
Update address
Source§fn set_default_address(
&self,
customer_id: CustomerId,
address_id: Uuid,
address_type: AddressType,
) -> Result<()>
fn set_default_address( &self, customer_id: CustomerId, address_id: Uuid, address_type: AddressType, ) -> Result<()>
Set default address
Source§fn create_batch(
&self,
inputs: Vec<CreateCustomer>,
) -> Result<BatchResult<Customer>>
fn create_batch( &self, inputs: Vec<CreateCustomer>, ) -> Result<BatchResult<Customer>>
Create multiple customers - partial success allowed
Source§fn create_batch_atomic(
&self,
inputs: Vec<CreateCustomer>,
) -> Result<Vec<Customer>>
fn create_batch_atomic( &self, inputs: Vec<CreateCustomer>, ) -> Result<Vec<Customer>>
Create multiple customers - atomic (all-or-nothing)
Source§fn update_batch(
&self,
updates: Vec<(CustomerId, UpdateCustomer)>,
) -> Result<BatchResult<Customer>>
fn update_batch( &self, updates: Vec<(CustomerId, UpdateCustomer)>, ) -> Result<BatchResult<Customer>>
Update multiple customers - partial success allowed
Source§fn update_batch_atomic(
&self,
updates: Vec<(CustomerId, UpdateCustomer)>,
) -> Result<Vec<Customer>>
fn update_batch_atomic( &self, updates: Vec<(CustomerId, UpdateCustomer)>, ) -> Result<Vec<Customer>>
Update multiple customers - atomic (all-or-nothing)
Source§fn delete_batch(&self, ids: Vec<CustomerId>) -> Result<BatchResult<CustomerId>>
fn delete_batch(&self, ids: Vec<CustomerId>) -> Result<BatchResult<CustomerId>>
Delete multiple customers - partial success allowed
Source§fn delete_batch_atomic(&self, ids: Vec<CustomerId>) -> Result<()>
fn delete_batch_atomic(&self, ids: Vec<CustomerId>) -> Result<()>
Delete multiple customers - atomic (all-or-nothing)
Auto Trait Implementations§
impl !RefUnwindSafe for SqliteCustomerRepository
impl !UnwindSafe for SqliteCustomerRepository
impl Freeze for SqliteCustomerRepository
impl Send for SqliteCustomerRepository
impl Sync for SqliteCustomerRepository
impl Unpin for SqliteCustomerRepository
impl UnsafeUnpin for SqliteCustomerRepository
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