feat: add admin work visibility controls

This commit is contained in:
kdletters
2026-05-28 00:49:45 +08:00
parent 8e96c8a67c
commit dbbd48083a
38 changed files with 1807 additions and 89 deletions

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;
}