merge: admin work visibility controls

This commit is contained in:
kdletters
2026-05-28 01:01:25 +08:00
55 changed files with 1988 additions and 84 deletions

View File

@@ -14,9 +14,10 @@ pub use mapper::{
BigFishDraftCompileRecordInput, BigFishGameDraftRecord, BigFishInputSubmitRecordInput,
BigFishLevelBlueprintRecord, BigFishLikeReportRecordInput, BigFishMessageFinalizeRecordInput,
BigFishMessageSubmitRecordInput, BigFishPlayReportRecordInput, BigFishRunStartRecordInput,
BigFishRuntimeEntityRecord, BigFishRuntimeParamsRecord, BigFishRuntimeRunRecord,
BigFishSessionCreateRecordInput, BigFishSessionRecord, BigFishVector2Record,
BigFishWorkRemixRecordInput, BigFishWorkSummaryRecord, CreationEntryConfigRecord,
AdminWorkVisibilityRecord, BigFishRuntimeEntityRecord, BigFishRuntimeParamsRecord,
BigFishRuntimeRunRecord, BigFishSessionCreateRecordInput, BigFishSessionRecord,
BigFishVector2Record, BigFishWorkRemixRecordInput, BigFishWorkSummaryRecord,
CreationEntryConfigRecord,
CustomWorldAgentActionExecuteRecord, CustomWorldAgentActionExecuteRecordInput,
CustomWorldAgentCheckpointRecord, CustomWorldAgentMessageFinalizeRecordInput,
CustomWorldAgentMessageRecord, CustomWorldAgentMessageSubmitRecordInput,

View File

@@ -115,6 +115,7 @@ pub use self::puzzle::{
PuzzleWorkProfileRecord, PuzzleWorkRemixRecordInput, PuzzleWorkUpsertRecordInput,
};
pub use self::runtime::{
AdminWorkVisibilityRecord,
BigFishGameDraftRecord, BigFishRuntimeEntityRecord, BigFishRuntimeParamsRecord,
BigFishRuntimeRunRecord, CreationEntryConfigRecord,
};
@@ -193,7 +194,9 @@ pub(crate) use self::puzzle::{
parse_puzzle_agent_stage_record,
};
pub(crate) use self::runtime::{
build_creation_entry_config_record_from_rows, map_creation_entry_config_procedure_result,
build_admin_work_visibility_list_input, build_admin_work_visibility_update_input,
build_creation_entry_config_record_from_rows, map_admin_work_visibility_list_procedure_result,
map_admin_work_visibility_procedure_result, map_creation_entry_config_procedure_result,
map_runtime_setting_procedure_result, map_runtime_snapshot_delete_procedure_result,
map_runtime_snapshot_procedure_result, map_runtime_snapshot_required_procedure_result,
map_runtime_tracking_event_batch_procedure_result, map_runtime_tracking_event_procedure_result,

View File

@@ -18,6 +18,61 @@ impl From<module_runtime::CreationEntryTypeAdminUpsertInput> for CreationEntryTy
}
}
impl From<module_runtime::AdminWorkVisibilityListInput> for AdminWorkVisibilityListInput {
fn from(input: module_runtime::AdminWorkVisibilityListInput) -> Self {
Self {
admin_user_id: input.admin_user_id,
}
}
}
impl From<module_runtime::AdminWorkVisibilityUpdateInput> for AdminWorkVisibilityUpdateInput {
fn from(input: module_runtime::AdminWorkVisibilityUpdateInput) -> Self {
Self {
admin_user_id: input.admin_user_id,
source_type: input.source_type,
profile_id: input.profile_id,
visible: input.visible,
}
}
}
pub(crate) fn build_admin_work_visibility_list_input(
admin_user_id: String,
) -> Result<module_runtime::AdminWorkVisibilityListInput, String> {
let admin_user_id = admin_user_id.trim().to_string();
if admin_user_id.is_empty() {
return Err("adminUserId 不能为空".to_string());
}
Ok(module_runtime::AdminWorkVisibilityListInput { admin_user_id })
}
pub(crate) fn build_admin_work_visibility_update_input(
admin_user_id: String,
source_type: String,
profile_id: String,
visible: bool,
) -> Result<module_runtime::AdminWorkVisibilityUpdateInput, String> {
let admin_user_id = admin_user_id.trim().to_string();
if admin_user_id.is_empty() {
return Err("adminUserId 不能为空".to_string());
}
let source_type = source_type.trim().to_string();
if source_type.is_empty() {
return Err("sourceType 不能为空".to_string());
}
let profile_id = profile_id.trim().to_string();
if profile_id.is_empty() {
return Err("profileId 不能为空".to_string());
}
Ok(module_runtime::AdminWorkVisibilityUpdateInput {
admin_user_id,
source_type,
profile_id,
visible,
})
}
impl From<module_runtime::RuntimeSettingGetInput> for RuntimeSettingGetInput {
fn from(input: module_runtime::RuntimeSettingGetInput) -> Self {
Self {
@@ -114,6 +169,7 @@ impl From<module_runtime::RuntimeTrackingEventInput> for RuntimeTrackingEventInp
pub type CreationEntryConfigRecord =
shared_contracts::creation_entry_config::CreationEntryConfigResponse;
pub type AdminWorkVisibilityRecord = shared_contracts::admin::AdminWorkVisibilityEntryPayload;
pub(crate) fn map_creation_entry_config_procedure_result(
result: CreationEntryConfigProcedureResult,
@@ -131,6 +187,51 @@ pub(crate) fn map_creation_entry_config_procedure_result(
))
}
pub(crate) fn map_admin_work_visibility_list_procedure_result(
result: AdminWorkVisibilityListProcedureResult,
) -> Result<Vec<AdminWorkVisibilityRecord>, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
Ok(result
.entries
.into_iter()
.map(map_admin_work_visibility_snapshot)
.collect())
}
pub(crate) fn map_admin_work_visibility_procedure_result(
result: AdminWorkVisibilityProcedureResult,
) -> Result<AdminWorkVisibilityRecord, SpacetimeClientError> {
if !result.ok {
return Err(SpacetimeClientError::procedure_failed(result.error_message));
}
result
.record
.map(map_admin_work_visibility_snapshot)
.ok_or_else(|| SpacetimeClientError::missing_snapshot("后台作品可见性快照"))
}
fn map_admin_work_visibility_snapshot(
snapshot: AdminWorkVisibilitySnapshot,
) -> AdminWorkVisibilityRecord {
AdminWorkVisibilityRecord {
source_type: snapshot.source_type,
work_id: snapshot.work_id,
profile_id: snapshot.profile_id,
source_session_id: snapshot.source_session_id,
public_work_code: snapshot.public_work_code,
owner_user_id: snapshot.owner_user_id,
author_display_name: snapshot.author_display_name,
title: snapshot.title,
subtitle: snapshot.subtitle,
cover_image_src: snapshot.cover_image_src,
visible: snapshot.visible,
published_at_micros: snapshot.published_at_micros,
updated_at_micros: snapshot.updated_at_micros,
}
}
pub(crate) fn build_creation_entry_config_record_from_rows(
header: CreationEntryConfig,
mut creation_types: Vec<CreationEntryTypeConfig>,

View File

@@ -14,10 +14,17 @@ pub mod admin_list_profile_invite_codes_procedure;
pub mod admin_list_profile_recharge_products_procedure;
pub mod admin_list_profile_redeem_codes_procedure;
pub mod admin_list_profile_task_configs_procedure;
pub mod admin_list_work_visibility_procedure;
pub mod admin_update_work_visibility_procedure;
pub mod admin_upsert_profile_invite_code_procedure;
pub mod admin_upsert_profile_recharge_product_procedure;
pub mod admin_upsert_profile_redeem_code_procedure;
pub mod admin_upsert_profile_task_config_procedure;
pub mod admin_work_visibility_list_input_type;
pub mod admin_work_visibility_list_procedure_result_type;
pub mod admin_work_visibility_procedure_result_type;
pub mod admin_work_visibility_snapshot_type;
pub mod admin_work_visibility_update_input_type;
pub mod advance_puzzle_next_level_procedure;
pub mod ai_result_reference_input_type;
pub mod ai_result_reference_kind_type;
@@ -1046,10 +1053,17 @@ pub use admin_list_profile_invite_codes_procedure::admin_list_profile_invite_cod
pub use admin_list_profile_recharge_products_procedure::admin_list_profile_recharge_products;
pub use admin_list_profile_redeem_codes_procedure::admin_list_profile_redeem_codes;
pub use admin_list_profile_task_configs_procedure::admin_list_profile_task_configs;
pub use admin_list_work_visibility_procedure::admin_list_work_visibility;
pub use admin_update_work_visibility_procedure::admin_update_work_visibility;
pub use admin_upsert_profile_invite_code_procedure::admin_upsert_profile_invite_code;
pub use admin_upsert_profile_recharge_product_procedure::admin_upsert_profile_recharge_product;
pub use admin_upsert_profile_redeem_code_procedure::admin_upsert_profile_redeem_code;
pub use admin_upsert_profile_task_config_procedure::admin_upsert_profile_task_config;
pub use admin_work_visibility_list_input_type::AdminWorkVisibilityListInput;
pub use admin_work_visibility_list_procedure_result_type::AdminWorkVisibilityListProcedureResult;
pub use admin_work_visibility_procedure_result_type::AdminWorkVisibilityProcedureResult;
pub use admin_work_visibility_snapshot_type::AdminWorkVisibilitySnapshot;
pub use admin_work_visibility_update_input_type::AdminWorkVisibilityUpdateInput;
pub use advance_puzzle_next_level_procedure::advance_puzzle_next_level;
pub use ai_result_reference_input_type::AiResultReferenceInput;
pub use ai_result_reference_kind_type::AiResultReferenceKind;

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::admin_work_visibility_list_input_type::AdminWorkVisibilityListInput;
use super::admin_work_visibility_list_procedure_result_type::AdminWorkVisibilityListProcedureResult;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct AdminListWorkVisibilityArgs {
pub input: AdminWorkVisibilityListInput,
}
impl __sdk::InModule for AdminListWorkVisibilityArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `admin_list_work_visibility`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait admin_list_work_visibility {
fn admin_list_work_visibility(&self, input: AdminWorkVisibilityListInput) {
self.admin_list_work_visibility_then(input, |_, _| {});
}
fn admin_list_work_visibility_then(
&self,
input: AdminWorkVisibilityListInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<AdminWorkVisibilityListProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl admin_list_work_visibility for super::RemoteProcedures {
fn admin_list_work_visibility_then(
&self,
input: AdminWorkVisibilityListInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<AdminWorkVisibilityListProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, AdminWorkVisibilityListProcedureResult>(
"admin_list_work_visibility",
AdminListWorkVisibilityArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,59 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::admin_work_visibility_procedure_result_type::AdminWorkVisibilityProcedureResult;
use super::admin_work_visibility_update_input_type::AdminWorkVisibilityUpdateInput;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
struct AdminUpdateWorkVisibilityArgs {
pub input: AdminWorkVisibilityUpdateInput,
}
impl __sdk::InModule for AdminUpdateWorkVisibilityArgs {
type Module = super::RemoteModule;
}
#[allow(non_camel_case_types)]
/// Extension trait for access to the procedure `admin_update_work_visibility`.
///
/// Implemented for [`super::RemoteProcedures`].
pub trait admin_update_work_visibility {
fn admin_update_work_visibility(&self, input: AdminWorkVisibilityUpdateInput) {
self.admin_update_work_visibility_then(input, |_, _| {});
}
fn admin_update_work_visibility_then(
&self,
input: AdminWorkVisibilityUpdateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<AdminWorkVisibilityProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
);
}
impl admin_update_work_visibility for super::RemoteProcedures {
fn admin_update_work_visibility_then(
&self,
input: AdminWorkVisibilityUpdateInput,
__callback: impl FnOnce(
&super::ProcedureEventContext,
Result<AdminWorkVisibilityProcedureResult, __sdk::InternalError>,
) + Send
+ 'static,
) {
self.imp
.invoke_procedure_with_callback::<_, AdminWorkVisibilityProcedureResult>(
"admin_update_work_visibility",
AdminUpdateWorkVisibilityArgs { input },
__callback,
);
}
}

View File

@@ -0,0 +1,15 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct AdminWorkVisibilityListInput {
pub admin_user_id: String,
}
impl __sdk::InModule for AdminWorkVisibilityListInput {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::admin_work_visibility_snapshot_type::AdminWorkVisibilitySnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct AdminWorkVisibilityListProcedureResult {
pub ok: bool,
pub entries: Vec<AdminWorkVisibilitySnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for AdminWorkVisibilityListProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,19 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
use super::admin_work_visibility_snapshot_type::AdminWorkVisibilitySnapshot;
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct AdminWorkVisibilityProcedureResult {
pub ok: bool,
pub record: Option<AdminWorkVisibilitySnapshot>,
pub error_message: Option<String>,
}
impl __sdk::InModule for AdminWorkVisibilityProcedureResult {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,27 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct AdminWorkVisibilitySnapshot {
pub source_type: String,
pub work_id: String,
pub profile_id: String,
pub source_session_id: Option<String>,
pub public_work_code: String,
pub owner_user_id: String,
pub author_display_name: String,
pub title: String,
pub subtitle: String,
pub cover_image_src: Option<String>,
pub visible: bool,
pub published_at_micros: Option<i64>,
pub updated_at_micros: i64,
}
impl __sdk::InModule for AdminWorkVisibilitySnapshot {
type Module = super::RemoteModule;
}

View File

@@ -0,0 +1,18 @@
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
#![allow(unused, clippy::all)]
use spacetimedb_sdk::__codegen::{self as __sdk, __lib, __sats, __ws};
#[derive(__lib::ser::Serialize, __lib::de::Deserialize, Clone, PartialEq, Debug)]
#[sats(crate = __lib)]
pub struct AdminWorkVisibilityUpdateInput {
pub admin_user_id: String,
pub source_type: String,
pub profile_id: String,
pub visible: bool,
}
impl __sdk::InModule for AdminWorkVisibilityUpdateInput {
type Module = super::RemoteModule;
}

View File

@@ -19,6 +19,7 @@ pub struct BarkBattlePublishedConfigRow {
pub created_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
pub published_at: __sdk::Timestamp,
pub visible: bool,
}
impl __sdk::InModule for BarkBattlePublishedConfigRow {
@@ -41,6 +42,7 @@ pub struct BarkBattlePublishedConfigRowCols {
pub created_at: __sdk::__query_builder::Col<BarkBattlePublishedConfigRow, __sdk::Timestamp>,
pub updated_at: __sdk::__query_builder::Col<BarkBattlePublishedConfigRow, __sdk::Timestamp>,
pub published_at: __sdk::__query_builder::Col<BarkBattlePublishedConfigRow, __sdk::Timestamp>,
pub visible: __sdk::__query_builder::Col<BarkBattlePublishedConfigRow, bool>,
}
impl __sdk::__query_builder::HasCols for BarkBattlePublishedConfigRow {
@@ -65,6 +67,7 @@ impl __sdk::__query_builder::HasCols for BarkBattlePublishedConfigRow {
created_at: __sdk::__query_builder::Col::new(table_name, "created_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -26,6 +26,7 @@ pub struct BigFishCreationSession {
pub remix_count: u32,
pub like_count: u32,
pub published_at: Option<__sdk::Timestamp>,
pub visible: bool,
}
impl __sdk::InModule for BigFishCreationSession {
@@ -53,6 +54,7 @@ pub struct BigFishCreationSessionCols {
pub remix_count: __sdk::__query_builder::Col<BigFishCreationSession, u32>,
pub like_count: __sdk::__query_builder::Col<BigFishCreationSession, u32>,
pub published_at: __sdk::__query_builder::Col<BigFishCreationSession, Option<__sdk::Timestamp>>,
pub visible: __sdk::__query_builder::Col<BigFishCreationSession, bool>,
}
impl __sdk::__query_builder::HasCols for BigFishCreationSession {
@@ -82,6 +84,7 @@ impl __sdk::__query_builder::HasCols for BigFishCreationSession {
remix_count: __sdk::__query_builder::Col::new(table_name, "remix_count"),
like_count: __sdk::__query_builder::Col::new(table_name, "like_count"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -26,6 +26,7 @@ pub struct CustomWorldGalleryEntry {
pub like_count: u32,
pub published_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
pub visible: bool,
}
impl __sdk::InModule for CustomWorldGalleryEntry {
@@ -53,6 +54,7 @@ pub struct CustomWorldGalleryEntryCols {
pub like_count: __sdk::__query_builder::Col<CustomWorldGalleryEntry, u32>,
pub published_at: __sdk::__query_builder::Col<CustomWorldGalleryEntry, __sdk::Timestamp>,
pub updated_at: __sdk::__query_builder::Col<CustomWorldGalleryEntry, __sdk::Timestamp>,
pub visible: __sdk::__query_builder::Col<CustomWorldGalleryEntry, bool>,
}
impl __sdk::__query_builder::HasCols for CustomWorldGalleryEntry {
@@ -82,6 +84,7 @@ impl __sdk::__query_builder::HasCols for CustomWorldGalleryEntry {
like_count: __sdk::__query_builder::Col::new(table_name, "like_count"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -32,6 +32,7 @@ pub struct CustomWorldProfile {
pub deleted_at: Option<__sdk::Timestamp>,
pub created_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
pub visible: bool,
}
impl __sdk::InModule for CustomWorldProfile {
@@ -65,6 +66,7 @@ pub struct CustomWorldProfileCols {
pub deleted_at: __sdk::__query_builder::Col<CustomWorldProfile, Option<__sdk::Timestamp>>,
pub created_at: __sdk::__query_builder::Col<CustomWorldProfile, __sdk::Timestamp>,
pub updated_at: __sdk::__query_builder::Col<CustomWorldProfile, __sdk::Timestamp>,
pub visible: __sdk::__query_builder::Col<CustomWorldProfile, bool>,
}
impl __sdk::__query_builder::HasCols for CustomWorldProfile {
@@ -105,6 +107,7 @@ impl __sdk::__query_builder::HasCols for CustomWorldProfile {
deleted_at: __sdk::__query_builder::Col::new(table_name, "deleted_at"),
created_at: __sdk::__query_builder::Col::new(table_name, "created_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -31,6 +31,7 @@ pub struct JumpHopWorkProfileRow {
pub play_count: u32,
pub updated_at: __sdk::Timestamp,
pub published_at: Option<__sdk::Timestamp>,
pub visible: bool,
}
impl __sdk::InModule for JumpHopWorkProfileRow {
@@ -65,6 +66,7 @@ pub struct JumpHopWorkProfileRowCols {
pub play_count: __sdk::__query_builder::Col<JumpHopWorkProfileRow, u32>,
pub updated_at: __sdk::__query_builder::Col<JumpHopWorkProfileRow, __sdk::Timestamp>,
pub published_at: __sdk::__query_builder::Col<JumpHopWorkProfileRow, Option<__sdk::Timestamp>>,
pub visible: __sdk::__query_builder::Col<JumpHopWorkProfileRow, bool>,
}
impl __sdk::__query_builder::HasCols for JumpHopWorkProfileRow {
@@ -104,6 +106,7 @@ impl __sdk::__query_builder::HasCols for JumpHopWorkProfileRow {
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -25,6 +25,7 @@ pub struct Match3DWorkProfileRow {
pub updated_at: __sdk::Timestamp,
pub published_at: Option<__sdk::Timestamp>,
pub generated_item_assets_json: Option<String>,
pub visible: bool,
}
impl __sdk::InModule for Match3DWorkProfileRow {
@@ -54,6 +55,7 @@ pub struct Match3DWorkProfileRowCols {
pub published_at: __sdk::__query_builder::Col<Match3DWorkProfileRow, Option<__sdk::Timestamp>>,
pub generated_item_assets_json:
__sdk::__query_builder::Col<Match3DWorkProfileRow, Option<String>>,
pub visible: __sdk::__query_builder::Col<Match3DWorkProfileRow, bool>,
}
impl __sdk::__query_builder::HasCols for Match3DWorkProfileRow {
@@ -84,6 +86,7 @@ impl __sdk::__query_builder::HasCols for Match3DWorkProfileRow {
table_name,
"generated_item_assets_json",
),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -33,6 +33,7 @@ pub struct PuzzleWorkProfileRow {
pub like_count: u32,
pub point_incentive_total_half_points: u64,
pub point_incentive_claimed_points: u64,
pub visible: bool,
}
impl __sdk::InModule for PuzzleWorkProfileRow {
@@ -68,6 +69,7 @@ pub struct PuzzleWorkProfileRowCols {
pub like_count: __sdk::__query_builder::Col<PuzzleWorkProfileRow, u32>,
pub point_incentive_total_half_points: __sdk::__query_builder::Col<PuzzleWorkProfileRow, u64>,
pub point_incentive_claimed_points: __sdk::__query_builder::Col<PuzzleWorkProfileRow, u64>,
pub visible: __sdk::__query_builder::Col<PuzzleWorkProfileRow, bool>,
}
impl __sdk::__query_builder::HasCols for PuzzleWorkProfileRow {
@@ -107,6 +109,7 @@ impl __sdk::__query_builder::HasCols for PuzzleWorkProfileRow {
table_name,
"point_incentive_claimed_points",
),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -25,6 +25,7 @@ pub struct SquareHoleWorkProfileRow {
pub play_count: u32,
pub updated_at: __sdk::Timestamp,
pub published_at: Option<__sdk::Timestamp>,
pub visible: bool,
}
impl __sdk::InModule for SquareHoleWorkProfileRow {
@@ -54,6 +55,7 @@ pub struct SquareHoleWorkProfileRowCols {
pub updated_at: __sdk::__query_builder::Col<SquareHoleWorkProfileRow, __sdk::Timestamp>,
pub published_at:
__sdk::__query_builder::Col<SquareHoleWorkProfileRow, Option<__sdk::Timestamp>>,
pub visible: __sdk::__query_builder::Col<SquareHoleWorkProfileRow, bool>,
}
impl __sdk::__query_builder::HasCols for SquareHoleWorkProfileRow {
@@ -81,6 +83,7 @@ impl __sdk::__query_builder::HasCols for SquareHoleWorkProfileRow {
play_count: __sdk::__query_builder::Col::new(table_name, "play_count"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -24,6 +24,7 @@ pub struct VisualNovelWorkProfileRow {
pub created_at: __sdk::Timestamp,
pub updated_at: __sdk::Timestamp,
pub published_at: Option<__sdk::Timestamp>,
pub visible: bool,
}
impl __sdk::InModule for VisualNovelWorkProfileRow {
@@ -52,6 +53,7 @@ pub struct VisualNovelWorkProfileRowCols {
pub updated_at: __sdk::__query_builder::Col<VisualNovelWorkProfileRow, __sdk::Timestamp>,
pub published_at:
__sdk::__query_builder::Col<VisualNovelWorkProfileRow, Option<__sdk::Timestamp>>,
pub visible: __sdk::__query_builder::Col<VisualNovelWorkProfileRow, bool>,
}
impl __sdk::__query_builder::HasCols for VisualNovelWorkProfileRow {
@@ -81,6 +83,7 @@ impl __sdk::__query_builder::HasCols for VisualNovelWorkProfileRow {
created_at: __sdk::__query_builder::Col::new(table_name, "created_at"),
updated_at: __sdk::__query_builder::Col::new(table_name, "updated_at"),
published_at: __sdk::__query_builder::Col::new(table_name, "published_at"),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -29,6 +29,7 @@ pub struct WoodenFishWorkProfileRow {
pub published_at: Option<__sdk::Timestamp>,
pub background_asset_json: Option<String>,
pub back_button_asset_json: Option<String>,
pub visible: bool,
}
impl __sdk::InModule for WoodenFishWorkProfileRow {
@@ -65,6 +66,7 @@ pub struct WoodenFishWorkProfileRowCols {
__sdk::__query_builder::Col<WoodenFishWorkProfileRow, Option<String>>,
pub back_button_asset_json:
__sdk::__query_builder::Col<WoodenFishWorkProfileRow, Option<String>>,
pub visible: __sdk::__query_builder::Col<WoodenFishWorkProfileRow, bool>,
}
impl __sdk::__query_builder::HasCols for WoodenFishWorkProfileRow {
@@ -114,6 +116,7 @@ impl __sdk::__query_builder::HasCols for WoodenFishWorkProfileRow {
table_name,
"back_button_asset_json",
),
visible: __sdk::__query_builder::Col::new(table_name, "visible"),
}
}
}

View File

@@ -87,6 +87,61 @@ impl SpacetimeClient {
Ok(config)
}
pub async fn admin_list_work_visibility(
&self,
admin_user_id: String,
) -> Result<Vec<shared_contracts::admin::AdminWorkVisibilityEntryPayload>, SpacetimeClientError>
{
let procedure_input = build_admin_work_visibility_list_input(admin_user_id)
.map_err(SpacetimeClientError::validation_failed)?
.into();
self.call_after_connect("admin_list_work_visibility", move |connection, sender| {
connection
.procedures()
.admin_list_work_visibility_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_admin_work_visibility_list_procedure_result);
send_once(&sender, mapped);
});
})
.await
}
pub async fn admin_update_work_visibility(
&self,
admin_user_id: String,
source_type: String,
profile_id: String,
visible: bool,
) -> Result<shared_contracts::admin::AdminWorkVisibilityEntryPayload, SpacetimeClientError>
{
let procedure_input = build_admin_work_visibility_update_input(
admin_user_id,
source_type,
profile_id,
visible,
)
.map_err(SpacetimeClientError::validation_failed)?
.into();
self.call_after_connect(
"admin_update_work_visibility",
move |connection, sender| {
connection
.procedures()
.admin_update_work_visibility_then(procedure_input, move |_, result| {
let mapped = result
.map_err(SpacetimeClientError::from_sdk_error)
.and_then(map_admin_work_visibility_procedure_result);
send_once(&sender, mapped);
});
},
)
.await
}
pub async fn get_runtime_settings(
&self,
user_id: String,