Enrich external API failure audit metadata
This commit is contained in:
@@ -66,7 +66,10 @@ fn upsert_auth_snapshot_row(
|
||||
.find(&snapshot_id)
|
||||
.is_some()
|
||||
{
|
||||
ctx.db.auth_store_snapshot().snapshot_id().delete(&snapshot_id);
|
||||
ctx.db
|
||||
.auth_store_snapshot()
|
||||
.snapshot_id()
|
||||
.delete(&snapshot_id);
|
||||
}
|
||||
|
||||
ctx.db.auth_store_snapshot().insert(AuthStoreSnapshot {
|
||||
@@ -106,7 +109,10 @@ fn auth_store_snapshot_wechat_row_id(provider_uid: &str, user_id: &str) -> Strin
|
||||
}
|
||||
|
||||
fn auth_store_snapshot_union_row_id(union_id: &str, user_id: &str) -> String {
|
||||
prefixed_snapshot_id(AUTH_STORE_SNAPSHOT_UNION_PREFIX, &format!("{union_id}|{user_id}"))
|
||||
prefixed_snapshot_id(
|
||||
AUTH_STORE_SNAPSHOT_UNION_PREFIX,
|
||||
&format!("{union_id}|{user_id}"),
|
||||
)
|
||||
}
|
||||
|
||||
fn snapshot_has_user_rows(snapshot: &PersistentAuthStoreSnapshot) -> bool {
|
||||
@@ -202,13 +208,7 @@ fn import_auth_store_snapshot_json_value_tx(
|
||||
for stored_user in parsed.users_by_username.into_values() {
|
||||
let user = stored_user.user;
|
||||
let user_id = user.id.clone();
|
||||
if ctx
|
||||
.db
|
||||
.user_account()
|
||||
.user_id()
|
||||
.find(&user_id)
|
||||
.is_some()
|
||||
{
|
||||
if ctx.db.user_account().user_id().find(&user_id).is_some() {
|
||||
ctx.db.user_account().user_id().delete(&user_id);
|
||||
}
|
||||
ctx.db.user_account().insert(UserAccount {
|
||||
@@ -644,10 +644,7 @@ mod tests {
|
||||
|
||||
PersistentAuthStoreSnapshot {
|
||||
next_user_id: 43,
|
||||
users_by_username: std::collections::HashMap::from([(
|
||||
"phone_42".to_string(),
|
||||
user,
|
||||
)]),
|
||||
users_by_username: std::collections::HashMap::from([("phone_42".to_string(), user)]),
|
||||
phone_to_user_id: std::collections::HashMap::from([(
|
||||
"+8613800008000".to_string(),
|
||||
"user_00000042".to_string(),
|
||||
|
||||
@@ -2603,7 +2603,7 @@ fn is_same_agent_draft_profile_candidate(
|
||||
) -> bool {
|
||||
row.owner_user_id == owner_user_id
|
||||
&& row.deleted_at.is_none()
|
||||
&& row.visible
|
||||
&& row.visible
|
||||
&& row.publication_status == CustomWorldPublicationStatus::Draft
|
||||
&& row.source_agent_session_id.as_deref() == Some(source_agent_session_id)
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ use crate::jump_hop::tables::{
|
||||
jump_hop_agent_session, jump_hop_event, jump_hop_runtime_run, jump_hop_work_profile,
|
||||
};
|
||||
use crate::match3d::tables::{
|
||||
match3d_agent_message, match3d_agent_session, match3d_runtime_run, match_3_d_work_profile,
|
||||
match_3_d_work_profile, match3d_agent_message, match3d_agent_session, match3d_runtime_run,
|
||||
};
|
||||
use crate::puzzle::{
|
||||
puzzle_agent_message, puzzle_agent_session, puzzle_event, puzzle_leaderboard_entry,
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
pub mod analytics_date_dimension;
|
||||
mod admin_work_visibility;
|
||||
pub mod analytics_date_dimension;
|
||||
mod browse_history;
|
||||
pub mod creation_entry_config;
|
||||
mod profile;
|
||||
mod settings;
|
||||
mod snapshots;
|
||||
|
||||
pub use analytics_date_dimension::*;
|
||||
pub use admin_work_visibility::*;
|
||||
pub use analytics_date_dimension::*;
|
||||
pub use browse_history::*;
|
||||
pub use creation_entry_config::*;
|
||||
pub use profile::*;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::*;
|
||||
use crate::puzzle::{PuzzleWorkProfileRow, puzzle_work_profile};
|
||||
use crate::*;
|
||||
use module_custom_world::CustomWorldPublicationStatus;
|
||||
use module_puzzle::PuzzlePublicationStatus;
|
||||
|
||||
@@ -93,7 +93,9 @@ fn update_work_visibility_tx(
|
||||
update_wooden_fish_work_visibility(ctx, &profile_id, input.visible)
|
||||
}
|
||||
SOURCE_TYPE_MATCH3D => update_match3d_work_visibility(ctx, &profile_id, input.visible),
|
||||
SOURCE_TYPE_SQUARE_HOLE => update_square_hole_work_visibility(ctx, &profile_id, input.visible),
|
||||
SOURCE_TYPE_SQUARE_HOLE => {
|
||||
update_square_hole_work_visibility(ctx, &profile_id, input.visible)
|
||||
}
|
||||
SOURCE_TYPE_VISUAL_NOVEL => {
|
||||
update_visual_novel_work_visibility(ctx, &profile_id, input.visible)
|
||||
}
|
||||
@@ -158,7 +160,9 @@ fn puzzle_work_visibility_snapshot(row: &PuzzleWorkProfileRow) -> AdminWorkVisib
|
||||
subtitle: "拼图关卡".to_string(),
|
||||
cover_image_src: row.cover_image_src.clone(),
|
||||
visible: row.visible,
|
||||
published_at_micros: row.published_at.map(|value| value.to_micros_since_unix_epoch()),
|
||||
published_at_micros: row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch()),
|
||||
updated_at_micros: sort_time,
|
||||
}
|
||||
}
|
||||
@@ -234,7 +238,9 @@ fn custom_world_work_visibility_snapshot(row: &CustomWorldProfile) -> AdminWorkV
|
||||
subtitle: row.subtitle.clone(),
|
||||
cover_image_src: row.cover_image_src.clone(),
|
||||
visible: row.visible,
|
||||
published_at_micros: row.published_at.map(|value| value.to_micros_since_unix_epoch()),
|
||||
published_at_micros: row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch()),
|
||||
updated_at_micros: sort_time,
|
||||
}
|
||||
}
|
||||
@@ -287,7 +293,9 @@ fn jump_hop_work_visibility_snapshot(row: &JumpHopWorkProfileRow) -> AdminWorkVi
|
||||
subtitle: "跳一跳".to_string(),
|
||||
cover_image_src: Some(row.cover_image_src.clone()).filter(|value| !value.is_empty()),
|
||||
visible: row.visible,
|
||||
published_at_micros: row.published_at.map(|value| value.to_micros_since_unix_epoch()),
|
||||
published_at_micros: row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch()),
|
||||
updated_at_micros: sort_time,
|
||||
}
|
||||
}
|
||||
@@ -342,7 +350,9 @@ fn wooden_fish_work_visibility_snapshot(
|
||||
subtitle: "敲木鱼".to_string(),
|
||||
cover_image_src: Some(row.cover_image_src.clone()).filter(|value| !value.is_empty()),
|
||||
visible: row.visible,
|
||||
published_at_micros: row.published_at.map(|value| value.to_micros_since_unix_epoch()),
|
||||
published_at_micros: row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch()),
|
||||
updated_at_micros: sort_time,
|
||||
}
|
||||
}
|
||||
@@ -395,7 +405,9 @@ fn match3d_work_visibility_snapshot(row: &Match3DWorkProfileRow) -> AdminWorkVis
|
||||
subtitle: "抓大鹅".to_string(),
|
||||
cover_image_src: Some(row.cover_image_src.clone()).filter(|value| !value.is_empty()),
|
||||
visible: row.visible,
|
||||
published_at_micros: row.published_at.map(|value| value.to_micros_since_unix_epoch()),
|
||||
published_at_micros: row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch()),
|
||||
updated_at_micros: sort_time,
|
||||
}
|
||||
}
|
||||
@@ -450,7 +462,9 @@ fn square_hole_work_visibility_snapshot(
|
||||
subtitle: "方洞挑战".to_string(),
|
||||
cover_image_src: Some(row.cover_image_src.clone()).filter(|value| !value.is_empty()),
|
||||
visible: row.visible,
|
||||
published_at_micros: row.published_at.map(|value| value.to_micros_since_unix_epoch()),
|
||||
published_at_micros: row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch()),
|
||||
updated_at_micros: sort_time,
|
||||
}
|
||||
}
|
||||
@@ -505,7 +519,9 @@ fn visual_novel_work_visibility_snapshot(
|
||||
subtitle: "视觉小说".to_string(),
|
||||
cover_image_src: Some(row.cover_image_src.clone()).filter(|value| !value.is_empty()),
|
||||
visible: row.visible,
|
||||
published_at_micros: row.published_at.map(|value| value.to_micros_since_unix_epoch()),
|
||||
published_at_micros: row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch()),
|
||||
updated_at_micros: sort_time,
|
||||
}
|
||||
}
|
||||
@@ -544,10 +560,10 @@ fn update_big_fish_work_visibility(
|
||||
Ok(snapshot)
|
||||
}
|
||||
|
||||
fn big_fish_work_visibility_snapshot(
|
||||
row: &BigFishCreationSession,
|
||||
) -> AdminWorkVisibilitySnapshot {
|
||||
let published_at = row.published_at.map(|value| value.to_micros_since_unix_epoch());
|
||||
fn big_fish_work_visibility_snapshot(row: &BigFishCreationSession) -> AdminWorkVisibilitySnapshot {
|
||||
let published_at = row
|
||||
.published_at
|
||||
.map(|value| value.to_micros_since_unix_epoch());
|
||||
let updated_at = timestamp_sort_micros(row.published_at, row.updated_at);
|
||||
AdminWorkVisibilitySnapshot {
|
||||
source_type: SOURCE_TYPE_BIG_FISH.to_string(),
|
||||
|
||||
Reference in New Issue
Block a user