pub struct PostgresAssetRepository { /* private fields */ }Expand description
PostgreSQL implementation of AssetRepository
Implementations§
Trait Implementations§
Source§impl AssetRepository for PostgresAssetRepository
impl AssetRepository for PostgresAssetRepository
Source§fn create<'life0, 'async_trait>(
&'life0 self,
asset: Asset,
) -> Pin<Box<dyn Future<Output = DbResult<Asset>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create<'life0, 'async_trait>(
&'life0 self,
asset: Asset,
) -> Pin<Box<dyn Future<Output = DbResult<Asset>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create a new asset in the repository Read more
Source§fn find_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<Option<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<Option<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Find an asset by its unique ID Read more
Source§fn find_by_name_and_version<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 Version,
) -> Pin<Box<dyn Future<Output = DbResult<Option<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn find_by_name_and_version<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 Version,
) -> Pin<Box<dyn Future<Output = DbResult<Option<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Find an asset by name and version Read more
Source§fn find_by_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [AssetId],
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_by_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [AssetId],
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Find multiple assets by their IDs Read more
Source§fn search<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 SearchQuery,
) -> Pin<Box<dyn Future<Output = DbResult<SearchResults>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn search<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 SearchQuery,
) -> Pin<Box<dyn Future<Output = DbResult<SearchResults>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Search for assets using query parameters Read more
Source§fn update<'life0, 'async_trait>(
&'life0 self,
asset: Asset,
) -> Pin<Box<dyn Future<Output = DbResult<Asset>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update<'life0, 'async_trait>(
&'life0 self,
asset: Asset,
) -> Pin<Box<dyn Future<Output = DbResult<Asset>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Update an existing asset Read more
Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete an asset by ID Read more
Source§fn list_versions<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_versions<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List all versions of an asset by name Read more
Source§fn list_dependencies<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_dependencies<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all direct dependencies of an asset Read more
Source§fn list_reverse_dependencies<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_reverse_dependencies<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<Vec<Asset>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all assets that depend on this asset (reverse dependencies) Read more
Source§fn add_tag<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
tag: &'life2 str,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn add_tag<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
tag: &'life2 str,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Add a tag to an asset Read more
Source§fn remove_tag<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
tag: &'life2 str,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove_tag<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 AssetId,
tag: &'life2 str,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Remove a tag from an asset Read more
Get all tags for an asset Read more
Find all unique tags in the repository Read more
Source§fn add_dependency<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
asset_id: &'life1 AssetId,
dependency_id: &'life2 AssetId,
version_constraint: Option<&'life3 str>,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn add_dependency<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
asset_id: &'life1 AssetId,
dependency_id: &'life2 AssetId,
version_constraint: Option<&'life3 str>,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Add a dependency relationship between assets Read more
Source§fn remove_dependency<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
asset_id: &'life1 AssetId,
dependency_id: &'life2 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove_dependency<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
asset_id: &'life1 AssetId,
dependency_id: &'life2 AssetId,
) -> Pin<Box<dyn Future<Output = DbResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Remove a dependency relationship Read more
Source§fn count_assets<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DbResult<i64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count_assets<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DbResult<i64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Count total assets in the repository Read more
Source§impl Clone for PostgresAssetRepository
impl Clone for PostgresAssetRepository
Source§fn clone(&self) -> PostgresAssetRepository
fn clone(&self) -> PostgresAssetRepository
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PostgresAssetRepository
impl !RefUnwindSafe for PostgresAssetRepository
impl Send for PostgresAssetRepository
impl Sync for PostgresAssetRepository
impl Unpin for PostgresAssetRepository
impl !UnwindSafe for PostgresAssetRepository
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more