merge: admin work visibility controls
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user