Skip to main content
Glama
default.rs2.02 kB
use dal::{ DalContext, Prop, Schema, SchemaId, SchemaVariant, schema::variant::root_prop::RootPropChild, workspace_snapshot::traits::prop::PropExt, }; use si_frontend_mv_types::luminork_default_variant::LuminorkDefaultVariant as LuminorkDefaultVariantMv; use telemetry::prelude::*; use super::build_func_details; #[instrument( name = "dal_materialized_views.luminork.schema.variant.default", level = "debug", skip_all )] pub async fn assemble( ctx: DalContext, schema_id: SchemaId, ) -> crate::Result<LuminorkDefaultVariantMv> { let default_variant_id = Schema::default_variant_id(&ctx, schema_id).await?; let schema_variant = SchemaVariant::get_by_id(&ctx, default_variant_id).await?; let mut variant_func_ids = SchemaVariant::all_func_ids(&ctx, default_variant_id).await?; let overlay_func_ids = Schema::all_overlay_func_ids(&ctx, schema_id).await?; let func_details = build_func_details( &ctx, schema_id, schema_variant.id(), &variant_func_ids, &overlay_func_ids, ) .await?; variant_func_ids.extend(overlay_func_ids); let domain_props = { let domain = Prop::find_prop_by_path(&ctx, default_variant_id, &RootPropChild::Domain.prop_path()) .await?; let prop_schema_tree = ctx .workspace_snapshot()? .build_prop_schema_tree(&ctx, domain.id) .await?; Some(prop_schema_tree) }; // Get the asset func ID let asset_func_id = schema_variant.asset_func_id_or_error()?; Ok(LuminorkDefaultVariantMv::new( schema_id, default_variant_id, schema_variant.display_name().into(), schema_variant.category().into(), schema_variant.color().into(), schema_variant.is_locked(), schema_variant.description(), schema_variant.link(), asset_func_id, variant_func_ids, func_details, domain_props, )) }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server