mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Increment the thumbnail version when cube_data or color_data is modified.
This commit is contained in:
@@ -5,6 +5,12 @@ pub struct Id {
|
||||
pub id: i32,
|
||||
}
|
||||
|
||||
#[derive(FromQueryResult)]
|
||||
pub struct IdAndThumbnailVersion {
|
||||
pub id: i32,
|
||||
pub thumbnail_version: i32,
|
||||
}
|
||||
|
||||
#[derive(FromQueryResult)]
|
||||
pub struct SingleColumn<T: sea_orm::TryGetable> {
|
||||
pub column: T,
|
||||
|
||||
@@ -359,13 +359,17 @@ impl Database {
|
||||
let id_opt = crate::schema::garage::Entity::find()
|
||||
.select_only()
|
||||
.column(crate::schema::garage::Column::Id)
|
||||
.column(crate::schema::garage::Column::ThumbnailVersion)
|
||||
.filter(crate::schema::garage::Column::UserId.eq(user_id))
|
||||
.filter(crate::schema::garage::Column::Slot.eq(slot))
|
||||
.into_model::<crate::schema::common_query::Id>()
|
||||
.into_model::<crate::schema::common_query::IdAndThumbnailVersion>()
|
||||
.one(self.orm.as_ref())
|
||||
.await?;
|
||||
if let Some(id) = id_opt {
|
||||
entity.id = sea_orm::ActiveValue::Set(id.id);
|
||||
if entity.robot_data.is_set() || entity.colour_data.is_set() {
|
||||
entity.thumbnail_version = sea_orm::ActiveValue::Set(id.thumbnail_version.wrapping_add(1));
|
||||
}
|
||||
Ok(Some(crate::schema::garage::Entity::update(entity)
|
||||
.exec(self.orm.as_ref())
|
||||
.await?))
|
||||
|
||||
Reference in New Issue
Block a user