#![allow(unused_imports, dead_code)]
use crate::app_context::AppContext;
use anyhow::{Context, Result};
use common::types::EntityId;
use direct_access::{
CreateUserInterfaceDto, UpdateUserInterfaceDto, UserInterfaceDto, user_interface_controller,
};
pub fn create_orphan_user_interface(
ctx: &AppContext,
stack_id: Option<u64>,
dto: &CreateUserInterfaceDto,
) -> Result<UserInterfaceDto> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::create_orphan(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dto,
)
.context("creating user_interface")
}
pub fn create_user_interface(
ctx: &AppContext,
stack_id: Option<u64>,
dto: &CreateUserInterfaceDto,
owner_id: EntityId,
index: i32,
) -> Result<UserInterfaceDto> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::create(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dto,
owner_id,
index,
)
.context("creating user_interface")
}
pub fn create_orphan_user_interface_multi(
ctx: &AppContext,
stack_id: Option<u64>,
dtos: &[CreateUserInterfaceDto],
) -> Result<Vec<UserInterfaceDto>> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::create_orphan_multi(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dtos,
)
.context("creating user_interface entities")
}
pub fn create_user_interface_multi(
ctx: &AppContext,
stack_id: Option<u64>,
dtos: &[CreateUserInterfaceDto],
owner_id: EntityId,
index: i32,
) -> Result<Vec<UserInterfaceDto>> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::create_multi(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dtos,
owner_id,
index,
)
.context("creating user_interface entities")
}
pub fn get_user_interface(ctx: &AppContext, id: &EntityId) -> Result<Option<UserInterfaceDto>> {
user_interface_controller::get(&ctx.db_context, id).context("getting user_interface")
}
pub fn get_user_interface_multi(
ctx: &AppContext,
ids: &[EntityId],
) -> Result<Vec<Option<UserInterfaceDto>>> {
user_interface_controller::get_multi(&ctx.db_context, ids)
.context("getting user_interface entities")
}
pub fn get_all_user_interface(ctx: &AppContext) -> Result<Vec<UserInterfaceDto>> {
user_interface_controller::get_all(&ctx.db_context)
.context("getting all user_interface entities")
}
pub fn update_user_interface(
ctx: &AppContext,
stack_id: Option<u64>,
dto: &UpdateUserInterfaceDto,
) -> Result<UserInterfaceDto> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::update(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dto,
)
.context("updating user_interface")
}
pub fn update_user_interface_multi(
ctx: &AppContext,
stack_id: Option<u64>,
dtos: &[UpdateUserInterfaceDto],
) -> Result<Vec<UserInterfaceDto>> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::update_multi(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dtos,
)
.context("updating user_interface entities")
}
pub fn update_user_interface_with_relationships(
ctx: &AppContext,
stack_id: Option<u64>,
dto: &UserInterfaceDto,
) -> Result<UserInterfaceDto> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::update_with_relationships(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dto,
)
.context("updating user_interface with relationships")
}
pub fn update_user_interface_with_relationships_multi(
ctx: &AppContext,
stack_id: Option<u64>,
dtos: &[UserInterfaceDto],
) -> Result<Vec<UserInterfaceDto>> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::update_with_relationships_multi(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
dtos,
)
.context("updating user_interface entities with relationships")
}
pub fn remove_user_interface(ctx: &AppContext, stack_id: Option<u64>, id: &EntityId) -> Result<()> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::remove(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
id,
)
.context("removing user_interface")
}
pub fn remove_user_interface_multi(
ctx: &AppContext,
stack_id: Option<u64>,
ids: &[EntityId],
) -> Result<()> {
let mut undo_redo_manager = ctx.undo_redo_manager.lock().unwrap();
user_interface_controller::remove_multi(
&ctx.db_context,
&ctx.event_hub,
&mut undo_redo_manager,
stack_id,
ids,
)
.context("removing user_interface entities")
}