pub struct PluginVersion {
pub id: Uuid,
pub plugin_id: Uuid,
pub version: String,
pub download_url: String,
pub checksum: String,
pub file_size: i64,
pub min_mockforge_version: Option<String>,
pub yanked: bool,
pub downloads: i32,
pub published_at: DateTime<Utc>,
pub sbom_json: Option<Value>,
}Fields§
§id: Uuid§plugin_id: Uuid§version: String§download_url: String§checksum: String§file_size: i64§min_mockforge_version: Option<String>§yanked: bool§downloads: i32§published_at: DateTime<Utc>§sbom_json: Option<Value>Optional Software Bill of Materials (typically CycloneDX JSON) submitted at publish time. Used by the vulnerability-scan step of the plugin security worker. Absent on versions published before SBOM support shipped.
Implementations§
Source§impl PluginVersion
impl PluginVersion
Sourcepub async fn get_by_plugin(
pool: &Pool<Postgres>,
plugin_id: Uuid,
) -> Result<Vec<PluginVersion>, Error>
pub async fn get_by_plugin( pool: &Pool<Postgres>, plugin_id: Uuid, ) -> Result<Vec<PluginVersion>, Error>
Get all versions for a plugin
Sourcepub async fn find(
pool: &Pool<Postgres>,
plugin_id: Uuid,
version: &str,
) -> Result<Option<PluginVersion>, Error>
pub async fn find( pool: &Pool<Postgres>, plugin_id: Uuid, version: &str, ) -> Result<Option<PluginVersion>, Error>
Find specific version
Sourcepub async fn create(
pool: &Pool<Postgres>,
plugin_id: Uuid,
version: &str,
download_url: &str,
checksum: &str,
file_size: i64,
min_mockforge_version: Option<&str>,
sbom_json: Option<&Value>,
) -> Result<PluginVersion, Error>
pub async fn create( pool: &Pool<Postgres>, plugin_id: Uuid, version: &str, download_url: &str, checksum: &str, file_size: i64, min_mockforge_version: Option<&str>, sbom_json: Option<&Value>, ) -> Result<PluginVersion, Error>
Create new version
Sourcepub async fn increment_downloads(
pool: &Pool<Postgres>,
version_id: Uuid,
) -> Result<(), Error>
pub async fn increment_downloads( pool: &Pool<Postgres>, version_id: Uuid, ) -> Result<(), Error>
Increment download count
Trait Implementations§
Source§impl Clone for PluginVersion
impl Clone for PluginVersion
Source§fn clone(&self) -> PluginVersion
fn clone(&self) -> PluginVersion
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PluginVersion
impl Debug for PluginVersion
Source§impl<'de> Deserialize<'de> for PluginVersion
impl<'de> Deserialize<'de> for PluginVersion
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginVersion, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginVersion, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a, R> FromRow<'a, R> for PluginVersionwhere
R: Row,
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
String: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
i64: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<String>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
bool: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
i32: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
DateTime<Utc>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<Value>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
impl<'a, R> FromRow<'a, R> for PluginVersionwhere
R: Row,
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
String: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
i64: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<String>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
bool: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
i32: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
DateTime<Utc>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<Value>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Source§impl Serialize for PluginVersion
impl Serialize for PluginVersion
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for PluginVersion
impl RefUnwindSafe for PluginVersion
impl Send for PluginVersion
impl Sync for PluginVersion
impl Unpin for PluginVersion
impl UnsafeUnpin for PluginVersion
impl UnwindSafe for PluginVersion
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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 moreCreates a shared type from an unshared type.